Skip to content

Commit 8669fd3

Browse files
committed
integration -> addon and fix a few bugs
1 parent c1964f2 commit 8669fd3

18 files changed

Lines changed: 174 additions & 83 deletions

src/main/java/co/runed/multicharacter/MultiCharacterMod.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package co.runed.multicharacter;
22

3-
import co.runed.multicharacter.api.IMultiCharacterIntegration;
3+
import co.runed.multicharacter.addons.minecraft.MinecraftAddon;
44
import co.runed.multicharacter.api.MultiCharacterAPI;
55
import co.runed.multicharacter.character.CharacterManager;
6-
import co.runed.multicharacter.integration.minecraft.MinecraftIntegration;
76
import co.runed.multicharacter.proxy.CommonProxy;
87
import net.minecraftforge.fml.common.Mod;
98
import net.minecraftforge.fml.common.Mod.EventHandler;
@@ -38,7 +37,9 @@ public void preInit(FMLPreInitializationEvent event)
3837
logger = event.getModLog();
3938

4039
this.characterManager = new CharacterManager();
41-
MultiCharacterAPI.addIntegration(new MinecraftIntegration());
40+
MultiCharacterAPI.addAddon(new MinecraftAddon());
41+
42+
MultiCharacterAPI.addAddonIfModLoaded("moreplayermodels", "co.runed.multicharacter.addons.mpm.MPMAddon");
4243

4344
proxy.preInit();
4445
}
@@ -53,13 +54,6 @@ public void init(FMLInitializationEvent event)
5354
public void postInit(FMLPostInitializationEvent event)
5455
{
5556
proxy.postInit();
56-
57-
MultiCharacterAPI.addIntegrationIfModLoaded("moreplayermodels", "co.runed.multicharacter.integration.mpm.MPMIntegration");
58-
59-
for (IMultiCharacterIntegration integration : MultiCharacterAPI.getIntegrations())
60-
{
61-
integration.init();
62-
}
6357
}
6458

6559
public static MultiCharacterMod getInstance()

src/main/java/co/runed/multicharacter/integration/minecraft/CharacterLoadingTeleporter.java renamed to src/main/java/co/runed/multicharacter/addons/minecraft/CharacterLoadingTeleporter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package co.runed.multicharacter.integration.minecraft;
1+
package co.runed.multicharacter.addons.minecraft;
22

33
import net.minecraft.entity.Entity;
44
import net.minecraft.entity.player.EntityPlayerMP;

src/main/java/co/runed/multicharacter/integration/minecraft/MinecraftIntegration.java renamed to src/main/java/co/runed/multicharacter/addons/minecraft/MinecraftAddon.java

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
package co.runed.multicharacter.integration.minecraft;
1+
package co.runed.multicharacter.addons.minecraft;
22

33
import co.runed.multicharacter.MultiCharacterMod;
4-
import co.runed.multicharacter.api.IMultiCharacterIntegration;
4+
import co.runed.multicharacter.api.Addon;
55
import co.runed.multicharacter.api.MultiCharacterAPI;
66
import co.runed.multicharacter.character.Character;
77
import co.runed.multicharacter.character.CharacterManager;
@@ -22,7 +22,7 @@
2222
import java.io.FileInputStream;
2323
import java.io.IOException;
2424

25-
public class MinecraftIntegration implements IMultiCharacterIntegration
25+
public class MinecraftAddon extends Addon
2626
{
2727
public static final String PLAYER_DATA_NBT_KEY = "PlayerData";
2828

@@ -32,12 +32,6 @@ public void init()
3232

3333
}
3434

35-
@Override
36-
public void clientInit()
37-
{
38-
39-
}
40-
4135
@Override
4236
public void onPreLoad(EntityPlayer player)
4337
{
@@ -139,7 +133,7 @@ public void onSave(EntityPlayer player)
139133
{
140134
// WRITE PLAYER.DAT NBT TO CHARACTER NBT
141135
NBTTagCompound nbt = activeCharacter.getNbt();
142-
nbt.setTag(MinecraftIntegration.PLAYER_DATA_NBT_KEY, player.writeToNBT(new NBTTagCompound()));
136+
nbt.setTag(MinecraftAddon.PLAYER_DATA_NBT_KEY, player.writeToNBT(new NBTTagCompound()));
143137

144138
activeCharacter.setNbt(nbt);
145139
}

src/main/java/co/runed/multicharacter/integration/mpm/MPMIntegration.java renamed to src/main/java/co/runed/multicharacter/addons/mpm/MPMAddon.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,28 @@
1-
package co.runed.multicharacter.integration.mpm;
1+
package co.runed.multicharacter.addons.mpm;
22

33
import co.runed.multicharacter.MultiCharacterMod;
4-
import co.runed.multicharacter.api.IMultiCharacterIntegration;
4+
import co.runed.multicharacter.addons.mpm.packets.CPacketUpdateMPM;
5+
import co.runed.multicharacter.addons.mpm.packets.SPacketSaveMPM;
6+
import co.runed.multicharacter.api.Addon;
57
import co.runed.multicharacter.character.Character;
68
import co.runed.multicharacter.character.CharacterManager;
79
import co.runed.multicharacter.network.PacketDispatcher;
810
import net.minecraft.entity.player.EntityPlayer;
911
import net.minecraft.nbt.NBTTagCompound;
10-
import net.minecraftforge.common.MinecraftForge;
1112
import net.minecraftforge.fml.relauncher.Side;
1213
import noppes.mpm.ModelData;
1314

14-
public class MPMIntegration implements IMultiCharacterIntegration
15+
public class MPMAddon extends Addon
1516
{
1617
public static final String NBT_DATA_KEY = "MorePlayerModels";
1718

1819
@Override
1920
public void init()
2021
{
22+
this.setClientAddon(new MPMClientAddon());
23+
2124
PacketDispatcher.registerPacket(CPacketUpdateMPM.Handler.class, CPacketUpdateMPM.class, Side.CLIENT);
2225
PacketDispatcher.registerPacket(SPacketSaveMPM.Handler.class, SPacketSaveMPM.class, Side.SERVER);
23-
24-
MinecraftForge.EVENT_BUS.register(this);
25-
}
26-
27-
@Override
28-
public void clientInit()
29-
{
3026
}
3127

3228
@Override
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
package co.runed.multicharacter.addons.mpm;
2+
3+
import co.runed.multicharacter.addons.mpm.packets.SPacketSaveMPM;
4+
import co.runed.multicharacter.api.ClientAddon;
5+
import co.runed.multicharacter.events.client.GuiCloseEvent;
6+
import co.runed.multicharacter.network.PacketDispatcher;
7+
import net.minecraft.client.gui.GuiScreen;
8+
import net.minecraftforge.common.MinecraftForge;
9+
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
10+
import noppes.mpm.client.gui.GuiMPM;
11+
12+
public class MPMClientAddon extends ClientAddon
13+
{
14+
@Override
15+
public void init()
16+
{
17+
MinecraftForge.EVENT_BUS.register(this);
18+
}
19+
20+
@SubscribeEvent
21+
public void onCloseGui(GuiCloseEvent event)
22+
{
23+
GuiScreen gui = event.getGui();
24+
25+
// TODO: MOVE TO MPM INTEGRATION
26+
if (gui != null && gui.getClass() == GuiMPM.class)
27+
{
28+
PacketDispatcher.sendToServer(new SPacketSaveMPM(((GuiMPM) gui).playerdata));
29+
}
30+
}
31+
}

src/main/java/co/runed/multicharacter/integration/mpm/MPMUtil.java renamed to src/main/java/co/runed/multicharacter/addons/mpm/MPMUtil.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package co.runed.multicharacter.integration.mpm;
1+
package co.runed.multicharacter.addons.mpm;
22

33
import co.runed.multicharacter.MultiCharacterMod;
4+
import co.runed.multicharacter.addons.mpm.packets.CPacketUpdateMPM;
45
import co.runed.multicharacter.character.Character;
56
import co.runed.multicharacter.network.PacketDispatcher;
67
import co.runed.multicharacter.util.Scheduler;
@@ -37,7 +38,7 @@ public static ModelData setModelData(EntityPlayer player, ModelData modelData)
3738
if (character != null)
3839
{
3940
NBTTagCompound nbt = character.getNbt();
40-
nbt.setTag(MPMIntegration.NBT_DATA_KEY, data.writeToNBT());
41+
nbt.setTag(MPMAddon.NBT_DATA_KEY, data.writeToNBT());
4142
character.setNbt(nbt);
4243
}
4344
}

src/main/java/co/runed/multicharacter/integration/mpm/CPacketUpdateMPM.java renamed to src/main/java/co/runed/multicharacter/addons/mpm/packets/CPacketUpdateMPM.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
package co.runed.multicharacter.integration.mpm;
1+
package co.runed.multicharacter.addons.mpm.packets;
22

3+
import co.runed.multicharacter.addons.mpm.MPMUtil;
34
import io.netty.buffer.ByteBuf;
45
import net.minecraft.client.Minecraft;
56
import net.minecraft.nbt.NBTTagCompound;

src/main/java/co/runed/multicharacter/integration/mpm/SPacketSaveMPM.java renamed to src/main/java/co/runed/multicharacter/addons/mpm/packets/SPacketSaveMPM.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
package co.runed.multicharacter.integration.mpm;
1+
package co.runed.multicharacter.addons.mpm.packets;
22

33
import co.runed.multicharacter.MultiCharacterMod;
4+
import co.runed.multicharacter.addons.mpm.MPMUtil;
45
import io.netty.buffer.ByteBuf;
56
import net.minecraft.nbt.NBTTagCompound;
67
import net.minecraftforge.fml.common.network.ByteBufUtils;
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package co.runed.multicharacter.api;
2+
3+
public abstract class Addon implements IAddon
4+
{
5+
IClientAddon clientAddon;
6+
7+
@Override
8+
public IClientAddon getClientAddon()
9+
{
10+
return this.clientAddon;
11+
}
12+
13+
@Override
14+
public void setClientAddon(IClientAddon clientAddon)
15+
{
16+
this.clientAddon = clientAddon;
17+
}
18+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
package co.runed.multicharacter.api;
2+
3+
public abstract class ClientAddon implements IClientAddon
4+
{
5+
}

0 commit comments

Comments
 (0)