diff --git a/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java b/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java index e21d027f8..4df432805 100644 --- a/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java +++ b/src/main/java/com/hbm/handler/imc/IMCHandlerNHNEI.java @@ -11,64 +11,10 @@ import net.minecraft.nbt.NBTTagCompound; import java.util.ArrayList; +import static com.hbm.main.ClientProxy.handlerList; + public class IMCHandlerNHNEI { - - public static ArrayList handlerList() { - ArrayList handlers = new ArrayList<>(); - - handlers.add(new AlloyFurnaceRecipeHandler()); - handlers.add(new ShredderRecipeHandler()); - handlers.add(new PressRecipeHandler()); - handlers.add(new CentrifugeRecipeHandler()); - handlers.add(new GasCentrifugeRecipeHandler()); - handlers.add(new BreederRecipeHandler()); - handlers.add(new CyclotronRecipeHandler()); - handlers.add(new AssemblerRecipeHandler()); - handlers.add(new RefineryRecipeHandler()); - handlers.add(new VacuumRecipeHandler()); - handlers.add(new CrackingHandler()); - handlers.add(new ReformingHandler()); - handlers.add(new HydrotreatingHandler()); - handlers.add(new BoilerRecipeHandler()); - handlers.add(new ChemplantRecipeHandler()); - handlers.add(new CrystallizerRecipeHandler()); - handlers.add(new BookRecipeHandler()); - handlers.add(new FusionRecipeHandler()); - handlers.add(new HadronRecipeHandler()); - handlers.add(new SILEXRecipeHandler()); - handlers.add(new SmithingRecipeHandler()); - handlers.add(new AnvilRecipeHandler()); - handlers.add(new FuelPoolHandler()); - handlers.add(new FluidRecipeHandler()); - handlers.add(new RadiolysisRecipeHandler()); - handlers.add(new CrucibleSmeltingHandler()); - handlers.add(new CrucibleAlloyingHandler()); - handlers.add(new CrucibleCastingHandler()); - handlers.add(new ToolingHandler()); - handlers.add(new ConstructionHandler()); - //universal boyes - handlers.add(new ZirnoxRecipeHandler()); - if(VersatileConfig.rtgDecay()) { - handlers.add(new RTGRecipeHandler()); - } - handlers.add(new LiquefactionHandler()); - handlers.add(new SolidificationHandler()); - handlers.add(new CokingHandler()); - handlers.add(new FractioningHandler()); - handlers.add(new BoilingHandler()); - handlers.add(new CombinationHandler()); - handlers.add(new SawmillHandler()); - handlers.add(new MixerHandler()); - handlers.add(new OutgasserHandler()); - handlers.add(new ElectrolyserFluidHandler()); - handlers.add(new ElectrolyserMetalHandler()); - handlers.add(new AshpitHandler()); - handlers.add(new ArcWelderHandler()); - handlers.add(new ExposureChamberHandler()); - - return handlers; - } public static void IMCSender() { for (TemplateRecipeHandler handler: handlerList()) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index d0beabbc7..7e54077a5 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1,5 +1,10 @@ package com.hbm.main; +import codechicken.nei.recipe.TemplateRecipeHandler; +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.config.VersatileConfig; +import com.hbm.handler.imc.IMCHandlerNHNEI; +import com.hbm.handler.nei.*; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -155,7 +160,12 @@ public class ClientProxy extends ServerProxy { MinecraftForge.EVENT_BUS.register(handler); FMLCommonHandler.instance().bus().register(handler); } - + + @Override + public void handleNHNEICompat(){ + IMCHandlerNHNEI.IMCSender(); + } + @Override public void registerTileEntitySpecialRenderer() { //test crap @@ -2150,4 +2160,62 @@ public class ClientProxy extends ServerProxy { if(amplify) color = ColorUtil.amplifyColor(color); return color; } + + public static ArrayList handlerList() { + ArrayList handlers = new ArrayList<>(); + + handlers.add(new AlloyFurnaceRecipeHandler()); + handlers.add(new ShredderRecipeHandler()); + handlers.add(new PressRecipeHandler()); + handlers.add(new CentrifugeRecipeHandler()); + handlers.add(new GasCentrifugeRecipeHandler()); + handlers.add(new BreederRecipeHandler()); + handlers.add(new CyclotronRecipeHandler()); + handlers.add(new AssemblerRecipeHandler()); + handlers.add(new RefineryRecipeHandler()); + handlers.add(new VacuumRecipeHandler()); + handlers.add(new CrackingHandler()); + handlers.add(new ReformingHandler()); + handlers.add(new HydrotreatingHandler()); + handlers.add(new BoilerRecipeHandler()); + handlers.add(new ChemplantRecipeHandler()); + handlers.add(new CrystallizerRecipeHandler()); + handlers.add(new BookRecipeHandler()); + handlers.add(new FusionRecipeHandler()); + handlers.add(new HadronRecipeHandler()); + handlers.add(new SILEXRecipeHandler()); + handlers.add(new SmithingRecipeHandler()); + handlers.add(new AnvilRecipeHandler()); + handlers.add(new FuelPoolHandler()); + handlers.add(new FluidRecipeHandler()); + handlers.add(new RadiolysisRecipeHandler()); + handlers.add(new CrucibleSmeltingHandler()); + handlers.add(new CrucibleAlloyingHandler()); + handlers.add(new CrucibleCastingHandler()); + handlers.add(new ToolingHandler()); + handlers.add(new ConstructionHandler()); + + //universal boyes + handlers.add(new ZirnoxRecipeHandler()); + if(VersatileConfig.rtgDecay()) { + handlers.add(new RTGRecipeHandler()); + } + handlers.add(new LiquefactionHandler()); + handlers.add(new SolidificationHandler()); + handlers.add(new CokingHandler()); + handlers.add(new FractioningHandler()); + handlers.add(new BoilingHandler()); + handlers.add(new CombinationHandler()); + handlers.add(new SawmillHandler()); + handlers.add(new MixerHandler()); + handlers.add(new OutgasserHandler()); + handlers.add(new ElectrolyserFluidHandler()); + handlers.add(new ElectrolyserMetalHandler()); + handlers.add(new AshpitHandler()); + handlers.add(new ArcWelderHandler()); + handlers.add(new ExposureChamberHandler()); + + for(CustomMachineConfigJSON.MachineConfiguration conf : CustomMachineConfigJSON.niceList) handlers.add(new CustomMachineHandler(conf)); + return handlers; + } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 2cbe13204..974b2a722 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -816,10 +816,9 @@ public class MainRegistry { IMCHandler.registerHandler("centrifuge", new IMCCentrifuge()); if (Loader.isModLoaded("NotEnoughItems")){ if (Loader.instance().getIndexedModList().get("NotEnoughItems").getVersion().contains("GTNH")) { - IMCHandlerNHNEI.IMCSender(); + proxy.handleNHNEICompat(); } } - } @EventHandler diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 0fdff6386..d161a3645 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -25,64 +25,14 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; +import static com.hbm.main.ClientProxy.handlerList; + public class NEIConfig implements IConfigureNEI { @Override public void loadConfig() { - registerHandler(new AlloyFurnaceRecipeHandler()); - registerHandler(new ShredderRecipeHandler()); - registerHandler(new PressRecipeHandler()); - registerHandler(new CentrifugeRecipeHandler()); - registerHandler(new GasCentrifugeRecipeHandler()); - registerHandler(new BreederRecipeHandler()); - registerHandler(new CyclotronRecipeHandler()); - registerHandler(new AssemblerRecipeHandler()); - registerHandler(new RefineryRecipeHandler()); - registerHandler(new VacuumRecipeHandler()); - registerHandler(new CrackingHandler()); - registerHandler(new ReformingHandler()); - registerHandler(new HydrotreatingHandler()); - registerHandler(new BoilerRecipeHandler()); - registerHandler(new ChemplantRecipeHandler()); - registerHandler(new CrystallizerRecipeHandler()); - registerHandler(new BookRecipeHandler()); - registerHandler(new FusionRecipeHandler()); - registerHandler(new HadronRecipeHandler()); - registerHandler(new SILEXRecipeHandler()); - registerHandler(new SmithingRecipeHandler()); - registerHandler(new AnvilRecipeHandler()); - registerHandler(new FuelPoolHandler()); - registerHandler(new RadiolysisRecipeHandler()); - registerHandler(new CrucibleSmeltingHandler()); - registerHandler(new CrucibleAlloyingHandler()); - registerHandler(new CrucibleCastingHandler()); - registerHandler(new ToolingHandler()); - registerHandler(new ConstructionHandler()); - - //universal boyes - registerHandler(new ZirnoxRecipeHandler()); - if(VersatileConfig.rtgDecay()) { - registerHandler(new RTGRecipeHandler()); + for (TemplateRecipeHandler handler: handlerList()) { + registerHandler(handler); } - registerHandler(new LiquefactionHandler()); - registerHandler(new SolidificationHandler()); - registerHandler(new CokingHandler()); - registerHandler(new FractioningHandler()); - registerHandler(new BoilingHandler()); - registerHandler(new CombinationHandler()); - registerHandler(new SawmillHandler()); - registerHandler(new MixerHandler()); - registerHandler(new OutgasserHandler()); - registerHandler(new ElectrolyserFluidHandler()); - registerHandler(new ElectrolyserMetalHandler()); - registerHandler(new AshpitHandler()); - registerHandler(new ArcWelderHandler()); - registerHandler(new ExposureChamberHandler()); - - for(MachineConfiguration conf : CustomMachineConfigJSON.niceList) registerHandlerBypass(new CustomMachineHandler(conf)); - - //fluids - registerHandler(new FluidRecipeHandler()); - //Some things are even beyond my control...or are they? API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory)); API.hideItem(ItemBattery.getFullBattery(ModItems.memory)); diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index 15b9203bd..3e48b8e15 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -34,6 +34,7 @@ public class ServerProxy { public void registerItemRenderer() { } public void registerEntityRenderer() { } public void registerBlockRenderer() { } + public void handleNHNEICompat() { } public void particleControl(double x, double y, double z, int type) { }