package pneumaticCraft.common.semiblock; import net.minecraft.item.Item; import net.minecraftforge.common.MinecraftForge; import pneumaticCraft.PneumaticCraft; import pneumaticCraft.common.item.Itemss; import pneumaticCraft.lib.ModIds; import cpw.mods.fml.common.FMLCommonHandler; import cpw.mods.fml.common.Loader; public class SemiBlockInitializer{ public static void init(){ MinecraftForge.EVENT_BUS.register(SemiBlockManager.getServerInstance()); FMLCommonHandler.instance().bus().register(SemiBlockManager.getServerInstance()); Class requesterClass = Loader.isModLoaded(ModIds.AE2) ? SemiBlockRequesterAE.class : SemiBlockRequester.class; registerSemiBlock(SemiBlockActiveProvider.ID, SemiBlockActiveProvider.class, false); registerSemiBlock(SemiBlockPassiveProvider.ID, SemiBlockPassiveProvider.class, false); registerSemiBlock(SemiBlockStorage.ID, SemiBlockStorage.class, false); registerSemiBlock(SemiBlockDefaultStorage.ID, SemiBlockDefaultStorage.class, false); registerSemiBlock(SemiBlockRequester.ID, requesterClass, false); registerSemiBlock("heatFrame", SemiBlockHeatFrame.class); PneumaticCraft.proxy.registerSemiBlockRenderer((ItemSemiBlockBase)Itemss.logisticsFrameRequester); SemiBlockManager.registerSemiBlockToItemMapping(requesterClass, Itemss.logisticsFrameRequester); PneumaticCraft.proxy.registerSemiBlockRenderer((ItemSemiBlockBase)Itemss.logisticsFrameDefaultStorage); SemiBlockManager.registerSemiBlockToItemMapping(SemiBlockDefaultStorage.class, Itemss.logisticsFrameDefaultStorage); PneumaticCraft.proxy.registerSemiBlockRenderer((ItemSemiBlockBase)Itemss.logisticsFrameStorage); SemiBlockManager.registerSemiBlockToItemMapping(SemiBlockStorage.class, Itemss.logisticsFrameStorage); PneumaticCraft.proxy.registerSemiBlockRenderer((ItemSemiBlockBase)Itemss.logisticsFramePassiveProvider); SemiBlockManager.registerSemiBlockToItemMapping(SemiBlockPassiveProvider.class, Itemss.logisticsFramePassiveProvider); PneumaticCraft.proxy.registerSemiBlockRenderer((ItemSemiBlockBase)Itemss.logisticsFrameActiveProvider); SemiBlockManager.registerSemiBlockToItemMapping(SemiBlockActiveProvider.class, Itemss.logisticsFrameActiveProvider); } private static Item registerSemiBlock(String key, Class<? extends ISemiBlock> semiBlock){ return registerSemiBlock(key, semiBlock, true); } private static Item registerSemiBlock(String key, Class<? extends ISemiBlock> semiBlock, boolean addItem){ Item item = SemiBlockManager.registerSemiBlock(key, semiBlock, addItem); if(item != null) item.setCreativeTab(PneumaticCraft.tabPneumaticCraft); return item; } }