diff --git a/src/main/java/storagecraft/SC.java b/src/main/java/storagecraft/SC.java index 5bc5d030e..c7b224e2d 100644 --- a/src/main/java/storagecraft/SC.java +++ b/src/main/java/storagecraft/SC.java @@ -1,21 +1,17 @@ package storagecraft; -import cpw.mods.fml.client.registry.ClientRegistry; import cpw.mods.fml.common.Mod; import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.SidedProxy; import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; import cpw.mods.fml.common.event.FMLPreInitializationEvent; import cpw.mods.fml.common.network.NetworkRegistry; import cpw.mods.fml.common.network.simpleimpl.SimpleNetworkWrapper; -import cpw.mods.fml.common.registry.GameRegistry; -import cpw.mods.fml.relauncher.Side; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.init.Items; import net.minecraft.item.Item; -import storagecraft.network.MessageTileUpdate; -import storagecraft.render.CableRenderer; -import storagecraft.tile.TileCable; -import storagecraft.tile.TileController; +import storagecraft.proxy.CommonProxy; @Mod(modid = SC.ID, version = SC.VERSION) public class SC { @@ -28,23 +24,21 @@ public class SC { return Items.emerald; } }; + @SidedProxy(clientSide = "storagecraft.proxy.ClientProxy", serverSide = "storagecraft.proxy.ServerProxy") + public static CommonProxy PROXY; @EventHandler - public void preInit(FMLPreInitializationEvent event) { - NETWORK.registerMessage(MessageTileUpdate.class, MessageTileUpdate.class, 0, Side.CLIENT); - - if (event.getSide() == Side.CLIENT) { - ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new CableRenderer()); - } - - GameRegistry.registerTileEntity(TileController.class, "controller"); - GameRegistry.registerTileEntity(TileCable.class, "cable"); - - GameRegistry.registerBlock(SCBlocks.CONTROLLER, "controller"); - GameRegistry.registerBlock(SCBlocks.CABLE, "cable"); + public void preInit(FMLPreInitializationEvent e) { + PROXY.preInit(e); } @EventHandler - public void init(FMLInitializationEvent event) { + public void init(FMLInitializationEvent e) { + PROXY.init(e); + } + + @EventHandler + public void postInit(FMLPostInitializationEvent e) { + PROXY.postInit(e); } } diff --git a/src/main/java/storagecraft/proxy/ClientProxy.java b/src/main/java/storagecraft/proxy/ClientProxy.java new file mode 100644 index 000000000..120f97ba8 --- /dev/null +++ b/src/main/java/storagecraft/proxy/ClientProxy.java @@ -0,0 +1,15 @@ +package storagecraft.proxy; + +import cpw.mods.fml.client.registry.ClientRegistry; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import storagecraft.render.CableRenderer; +import storagecraft.tile.TileCable; + +public class ClientProxy extends CommonProxy { + @Override + public void preInit(FMLPreInitializationEvent e) { + super.preInit(e); + + ClientRegistry.bindTileEntitySpecialRenderer(TileCable.class, new CableRenderer()); + } +} diff --git a/src/main/java/storagecraft/proxy/CommonProxy.java b/src/main/java/storagecraft/proxy/CommonProxy.java new file mode 100644 index 000000000..48ecbf7b7 --- /dev/null +++ b/src/main/java/storagecraft/proxy/CommonProxy.java @@ -0,0 +1,30 @@ +package storagecraft.proxy; + +import cpw.mods.fml.common.event.FMLInitializationEvent; +import cpw.mods.fml.common.event.FMLPostInitializationEvent; +import cpw.mods.fml.common.event.FMLPreInitializationEvent; +import cpw.mods.fml.common.registry.GameRegistry; +import cpw.mods.fml.relauncher.Side; +import static storagecraft.SC.NETWORK; +import storagecraft.SCBlocks; +import storagecraft.network.MessageTileUpdate; +import storagecraft.tile.TileCable; +import storagecraft.tile.TileController; + +public class CommonProxy { + public void preInit(FMLPreInitializationEvent e) { + NETWORK.registerMessage(MessageTileUpdate.class, MessageTileUpdate.class, 0, Side.CLIENT); + + GameRegistry.registerTileEntity(TileController.class, "controller"); + GameRegistry.registerTileEntity(TileCable.class, "cable"); + + GameRegistry.registerBlock(SCBlocks.CONTROLLER, "controller"); + GameRegistry.registerBlock(SCBlocks.CABLE, "cable"); + } + + public void init(FMLInitializationEvent e) { + } + + public void postInit(FMLPostInitializationEvent e) { + } +} diff --git a/src/main/java/storagecraft/proxy/ServerProxy.java b/src/main/java/storagecraft/proxy/ServerProxy.java new file mode 100644 index 000000000..9e987e072 --- /dev/null +++ b/src/main/java/storagecraft/proxy/ServerProxy.java @@ -0,0 +1,4 @@ +package storagecraft.proxy; + +public class ServerProxy extends CommonProxy { +} diff --git a/src/main/resources/assets/storagecraft/textures/items/cable.png b/src/main/resources/assets/storagecraft/textures/items/cable.png new file mode 100644 index 000000000..a8e8dbf51 Binary files /dev/null and b/src/main/resources/assets/storagecraft/textures/items/cable.png differ