diff options
Diffstat (limited to 'src/main/java/gregtech/loaders/load')
5 files changed, 7807 insertions, 0 deletions
diff --git a/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java b/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java new file mode 100644 index 0000000000..37f626ef90 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java @@ -0,0 +1,11 @@ +package gregtech.loaders.load; + +import gregtech.api.util.GT_Log; + +public class GT_CoverBehaviorLoader implements Runnable { + + @Override + public void run() { + GT_Log.out.println("GT_Mod: Adding Cover Behaviors"); + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java new file mode 100644 index 0000000000..0343362c77 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -0,0 +1,180 @@ +package gregtech.loaders.load; + +import static gregtech.api.enums.Mods.BloodMagic; +import static gregtech.api.enums.Mods.EnderIO; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import gregtech.api.enums.FluidState; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.fluid.GT_FluidFactory; +import gregtech.api.recipe.RecipeMaps; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_RecipeConstants; + +public class GT_FuelLoader implements Runnable { + + @Override + public void run() { + GT_Log.out.println("GT_Mod: Initializing various Fuels."); + ItemList.sBlueVitriol = GT_FluidFactory + .of("solution.bluevitriol", "Blue Vitriol water solution", null, FluidState.LIQUID, 295); + ItemList.sNickelSulfate = GT_FluidFactory + .of("solution.nickelsulfate", "Nickel sulfate water solution", null, FluidState.LIQUID, 295); + ItemList.sGreenVitriol = GT_FluidFactory + .of("solution.greenvitriol", "Green Vitriol water solution", null, FluidState.LIQUID, 295); + ItemList.sIndiumConcentrate = GT_FluidFactory + .of("indiumconcentrate", "Indium Concentrate", null, FluidState.LIQUID, 295); // TODO CHECK NEW x3 + ItemList.sLeadZincSolution = GT_FluidFactory + .of("leadzincsolution", "Lead-Zinc solution", null, FluidState.LIQUID, 295); + ItemList.sRocketFuel = GT_FluidFactory.of("rocket_fuel", "Rocket Fuel", null, FluidState.LIQUID, 295); + new GT_Recipe( + new ItemStack(Items.lava_bucket), + new ItemStack(Blocks.obsidian), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Copper, 1L), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tin, 1L), + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Electrum, 1L), + 30, + 2); + + RecipeMaps.smallNaquadahReactorFuels.addRecipe( + true, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, + null, + null, + null, + 0, + 0, + 50000); + RecipeMaps.largeNaquadahReactorFuels.addRecipe( + true, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, + null, + null, + null, + 0, + 0, + 250000); + RecipeMaps.hugeNaquadahReactorFuels.addRecipe( + true, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L) }, + null, + null, + null, + 0, + 0, + 500000); + RecipeMaps.extremeNaquadahReactorFuels.addRecipe( + true, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, + null, + null, + null, + 0, + 0, + 250000); + RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe( + true, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, + null, + null, + null, + 0, + 0, + 1000000); + RecipeMaps.fluidNaquadahReactorFuels.addRecipe( + true, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L) }, + new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naquadah, 1L) }, + null, + null, + null, + 0, + 0, + 1400000); + + // BloodMagic + RecipeMaps.magicFuels.addRecipe( + true, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L) }, + null, + null, + null, + 0, + 0, + 400); + RecipeMaps.magicFuels.addRecipe( + true, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, + null, + null, + null, + 0, + 0, + 1000); + RecipeMaps.magicFuels.addRecipe( + true, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, + null, + null, + null, + 0, + 0, + 8000); + RecipeMaps.magicFuels.addRecipe( + true, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27) }, + new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, + null, + null, + null, + 0, + 0, + 20000); + + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4)) + .metadata(FUEL_VALUE, 4) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.experience_bottle, 1)) + .metadata(FUEL_VALUE, 10) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.ghast_tear, 1)) + .metadata(FUEL_VALUE, 50) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.beacon, 1)) + .metadata(FUEL_VALUE, Materials.NetherStar.mFuelPower * 2) + .metadata(FUEL_TYPE, Materials.NetherStar.mFuelType) + .addTo(GT_RecipeConstants.Fuel); + GT_Values.RA.stdBuilder() + .itemInputs(GT_ModHandler.getModItem(EnderIO.ID, "bucketRocket_fuel", 1)) + .metadata(FUEL_VALUE, 250) + .metadata(FUEL_TYPE, 1) + .addTo(GT_RecipeConstants.Fuel); + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java new file mode 100644 index 0000000000..26534f5414 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java @@ -0,0 +1,309 @@ +package gregtech.loaders.load; + +import static gregtech.api.recipe.RecipeMaps.cannerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; +import static gregtech.api.util.GT_RecipeBuilder.WILDCARD; +import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE; + +import net.minecraft.block.Block; +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.Item; +import net.minecraft.item.ItemFood; +import net.minecraft.item.ItemStack; +import net.minecraftforge.fluids.IFluidContainerItem; + +import buildcraft.api.tools.IToolWrench; +import gregtech.api.GregTech_API; +import gregtech.api.enums.GT_Values; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OreDictNames; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.items.GT_Generic_Item; +import gregtech.api.util.GT_Log; +import gregtech.api.util.GT_ModHandler; +import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_RecipeBuilder; +import gregtech.api.util.GT_RecipeConstants; +import gregtech.api.util.GT_Utility; +import mods.railcraft.api.core.items.IToolCrowbar; + +public class GT_ItemIterator implements Runnable { + + @Override + public void run() { + GT_Log.out.println("GT_Mod: Scanning for certain kinds of compatible Machineblocks."); + ItemStack tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L); + ItemStack tStack = GT_ModHandler + .getRecipeOutput(tStack2, tStack2, tStack2, tStack2, null, tStack2, tStack2, tStack2, tStack2); + + if (null != tStack) { + GT_Values.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GT_ModHandler.addSmeltingRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); + } + tStack2 = GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Bronze, 1L); + tStack = GT_ModHandler + .getRecipeOutput(tStack2, tStack2, tStack2, tStack2, null, tStack2, tStack2, tStack2, tStack2); + + if (null != tStack) { + GT_OreDictUnificator.registerOre(OreDictNames.craftingRawMachineTier00, tStack); + + GT_Values.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + GT_ModHandler.addSmeltingRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); + } + + ItemStack tStack3 = new ItemStack(Blocks.glass, 1, 0); + tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L); + tStack = GT_ModHandler.getRecipeOutput( + tStack2, + tStack3, + tStack2, + tStack3, + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1L), + tStack3, + tStack2, + tStack3, + tStack2); + + if (null != (tStack)) { + GT_Values.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L)) + .outputChances(10000, 1000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + } + + tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L); + tStack3 = new ItemStack(Blocks.glass, 1, 0); + tStack = GT_ModHandler.getRecipeOutput( + tStack2, + tStack3, + tStack2, + tStack3, + GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1L), + tStack3, + tStack2, + tStack3, + tStack2); + if (null != tStack) { + GT_Values.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs( + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 4L), + GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L)) + .outputChances(10000, 1000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + } + GT_Log.out.println("GT_Mod: Registering various Tools to be usable on GregTech Machines"); + GregTech_API.registerScrewdriver( + GT_ModHandler + .getRecipeOutput(null, new ItemStack(Items.iron_ingot, 1), null, new ItemStack(Items.stick, 1))); + GregTech_API.registerScrewdriver( + GT_ModHandler + .getRecipeOutput(new ItemStack(Items.iron_ingot, 1), null, null, null, new ItemStack(Items.stick, 1))); + + GT_Log.out.println( + "GT_Mod: Adding Food Recipes to the Automatic Canning Machine. (also during the following Item Iteration)"); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.rotten_flesh, 2, WILDCARD), ItemList.IC2_Food_Can_Empty.get(1L)) + .itemOutputs(ItemList.IC2_Food_Can_Spoiled.get(1L)) + .duration(10 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.spider_eye, 2, WILDCARD), ItemList.IC2_Food_Can_Empty.get(1L)) + .itemOutputs(ItemList.IC2_Food_Can_Spoiled.get(1L)) + .duration(5 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(ItemList.Food_Poisonous_Potato.get(2L), ItemList.IC2_Food_Can_Empty.get(1L)) + .itemOutputs(ItemList.IC2_Food_Can_Spoiled.get(1L)) + .duration(5 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.cake, 1, WILDCARD), ItemList.IC2_Food_Can_Empty.get(12L)) + .itemOutputs(ItemList.IC2_Food_Can_Filled.get(12L)) + .duration(30 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(Items.mushroom_stew, 1, WILDCARD), ItemList.IC2_Food_Can_Empty.get(6L)) + .itemOutputs(ItemList.IC2_Food_Can_Filled.get(6L), new ItemStack(Items.bowl, 1)) + .duration(15 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + + GT_Log.out.println("GT_Mod: Scanning ItemList."); + + try { + /* (tName.equals("tile.sedimentaryStone")) || **/ + for (Object o : Item.itemRegistry) { + Object tObject; + + if (!(((tObject = o) instanceof Item) && (!(tObject instanceof GT_Generic_Item)))) { + continue; + } + + Item tItem = (Item) tObject; + String tName; + if ((tName = tItem.getUnlocalizedName()) == null) { + continue; + } + + if ((tItem instanceof IToolCrowbar)) { + if ((tItem.isDamageable()) || (GT_ModHandler.isElectricItem(new ItemStack(tItem, 1, 0)))) { + if (GregTech_API.registerCrowbar(new ItemStack(tItem, 1, WILDCARD))) { + GT_Log.out.println("GT_Mod: Registered valid RC Crowbar: " + tName); + } + } + } + if ((tItem instanceof IToolWrench)) { + if ((tItem.isDamageable()) || (GT_ModHandler.isElectricItem(new ItemStack(tItem, 1, 0)))) { + if (GregTech_API.registerWrench(new ItemStack(tItem, 1, WILDCARD))) { + GT_Log.out.println("GT_Mod: Registered valid BC Wrench: " + tName); + } + } + } + Block tBlock = GT_Utility.getBlockFromStack(new ItemStack(tItem, 1, 0)); + if (tBlock != null) { + if (tName.endsWith("beehives")) { + tBlock.setHarvestLevel("scoop", 0); + gregtech.common.tools.GT_Tool_Scoop.sBeeHiveMaterial = tBlock.getMaterial(); + } + if (OrePrefixes.stone.mDefaultStackSize < tItem.getItemStackLimit(new ItemStack(tItem, 1, 0))) { + if ((tBlock.isReplaceableOreGen(GT_Values.DW, 0, 0, 0, Blocks.stone)) + || (tBlock.isReplaceableOreGen(GT_Values.DW, 0, 0, 0, Blocks.netherrack)) + || (tBlock.isReplaceableOreGen(GT_Values.DW, 0, 0, 0, Blocks.end_stone))) { + tItem.setMaxStackSize(OrePrefixes.stone.mDefaultStackSize); + } + } + } + if (((tItem instanceof ItemFood)) && (tItem != ItemList.IC2_Food_Can_Filled.getItem()) + && (tItem != ItemList.IC2_Food_Can_Spoiled.getItem())) { + int tFoodValue = ((ItemFood) tItem).func_150905_g(new ItemStack(tItem, 1, 0)); + if (tFoodValue > 0) { + GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder(); + recipeBuilder + .itemInputs(new ItemStack(tItem, 1, WILDCARD), ItemList.IC2_Food_Can_Empty.get(tFoodValue)); + if (GT_Utility.getContainerItem(new ItemStack(tItem, 1, 0), true) == null) { + recipeBuilder.itemOutputs(ItemList.IC2_Food_Can_Filled.get(tFoodValue)); + } else { + recipeBuilder.itemOutputs( + ItemList.IC2_Food_Can_Filled.get(tFoodValue), + GT_Utility.getContainerItem(new ItemStack(tItem, 1, 0), true)); + } + recipeBuilder.duration(tFoodValue * 5 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + } + } + if ((tItem instanceof IFluidContainerItem)) { + GT_OreDictUnificator.addToBlacklist(new ItemStack(tItem, 1, WILDCARD)); + } + + switch (tName) { + // twilight forest + case "item.fieryBlood", "item.fieryTears" -> GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(tItem, 1, 0)) + .metadata(FUEL_VALUE, 2048) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + + // twilight forest + case "tile.TFRoots" -> { + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(tItem, 1, 0)) + .itemOutputs(new ItemStack(Items.stick, 2), new ItemStack(Items.stick, 1)) + .outputChances(10000, 3000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + GT_ModHandler.addSawmillRecipe( + new ItemStack(tItem, 1, 0), + new ItemStack(Items.stick, 4), + new ItemStack(Items.stick, 2)); + GT_Values.RA.stdBuilder() + .itemInputs(new ItemStack(tItem, 1, 1)) + .itemOutputs(new ItemStack(Items.stick, 4)) + .metadata(FUEL_VALUE, 32) + .metadata(FUEL_TYPE, 5) + .addTo(GT_RecipeConstants.Fuel); + } + + // tinker construct + case "item.tconstruct.manual" -> GT_OreDictUnificator + .registerOre("bookTinkersManual", new ItemStack(tItem, 1, WILDCARD)); + + // buildcraft + case "item.blueprintItem" -> GT_OreDictUnificator + .registerOre("paperBlueprint", new ItemStack(tItem, 1, WILDCARD)); + + // Thaumcraft + case "item.ItemThaumonomicon" -> GT_OreDictUnificator + .registerOre("bookThaumonomicon", new ItemStack(tItem, 1, WILDCARD)); + + // BoP + case "tile.bop.redRocks" -> { + GT_OreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 2)); + } + + // Thaumcraft + case "tile.blockCosmeticSolid" -> { + GT_OreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Obsidian, new ItemStack(tItem, 1, 0)); + GT_OreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Obsidian, new ItemStack(tItem, 1, 1)); + GT_OreDictUnificator + .registerOre(OrePrefixes.block, Materials.Thaumium, new ItemStack(tItem, 1, 4)); + } + + // minecraft + case "tile.enderchest" -> GT_OreDictUnificator + .registerOre(OreDictNames.enderChest, new ItemStack(tItem, 1, WILDCARD)); + + // buildcraft + case "tile.autoWorkbenchBlock" -> GT_OreDictUnificator + .registerOre(OreDictNames.craftingWorkBench, new ItemStack(tItem, 1, 0)); + + // buildcraft + case "tile.pumpBlock" -> GT_OreDictUnificator + .registerOre(OreDictNames.craftingPump, new ItemStack(tItem, 1, 0)); + + // buildcraft + case "tile.tankBlock" -> GT_OreDictUnificator + .registerOre(OreDictNames.craftingTank, new ItemStack(tItem, 1, 0)); + + } + } + } catch (Throwable e) { + /**/ + } + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java new file mode 100644 index 0000000000..6fe3d273f6 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java @@ -0,0 +1,7148 @@ +package gregtech.loaders.load; + +import static gregtech.api.enums.MetaTileEntityIDs.ALLOY_SMELTER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ALLOY_SMELTER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ALLOY_SMELTER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ALLOY_SMELTER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ALLOY_SMELTER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.ARC_FURNACE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ARC_FURNACE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ARC_FURNACE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ARC_FURNACE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ARC_FURNACE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.ASSEMBLER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ASSEMBLER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ASSEMBLER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ASSEMBLER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ASSEMBLER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.AUTOCLAVE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.AUTOCLAVE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.AUTOCLAVE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.AUTOCLAVE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.AUTOCLAVE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.BENDING_MACHINE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.BENDING_MACHINE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.BENDING_MACHINE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.BENDING_MACHINE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.BENDING_MACHINE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CANNER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.CANNER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.CANNER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.CANNER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.CANNER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CENTRIFUGE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.CENTRIFUGE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.CENTRIFUGE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.CENTRIFUGE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.CENTRIFUGE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_BATH_EV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_BATH_HV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_BATH_IV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_BATH_LV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_BATH_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_REACTOR_EV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_REACTOR_HV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_REACTOR_IV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_REACTOR_LV; +import static gregtech.api.enums.MetaTileEntityIDs.CHEMICAL_REACTOR_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_LuV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_UV; +import static gregtech.api.enums.MetaTileEntityIDs.CIRCUIT_ASSEMBLER_ZPM; +import static gregtech.api.enums.MetaTileEntityIDs.COMPRESSOR_EV; +import static gregtech.api.enums.MetaTileEntityIDs.COMPRESSOR_HV; +import static gregtech.api.enums.MetaTileEntityIDs.COMPRESSOR_IV; +import static gregtech.api.enums.MetaTileEntityIDs.COMPRESSOR_LV; +import static gregtech.api.enums.MetaTileEntityIDs.COMPRESSOR_MV; +import static gregtech.api.enums.MetaTileEntityIDs.CUTTING_MACHINE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.CUTTING_MACHINE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.CUTTING_MACHINE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.CUTTING_MACHINE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.CUTTING_MACHINE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.DISTILLERY_EV; +import static gregtech.api.enums.MetaTileEntityIDs.DISTILLERY_HV; +import static gregtech.api.enums.MetaTileEntityIDs.DISTILLERY_IV; +import static gregtech.api.enums.MetaTileEntityIDs.DISTILLERY_LV; +import static gregtech.api.enums.MetaTileEntityIDs.DISTILLERY_MV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTRIC_FURNACE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTRIC_FURNACE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTRIC_FURNACE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTRIC_FURNACE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTRIC_FURNACE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROLYSER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROLYSER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROLYSER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROLYSER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROLYSER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROMAGNETIC_SEPARATOR_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROMAGNETIC_SEPARATOR_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROMAGNETIC_SEPARATOR_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROMAGNETIC_SEPARATOR_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ELECTROMAGNETIC_SEPARATOR_MV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRACTOR_EV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRACTOR_HV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRACTOR_IV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRACTOR_LV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRACTOR_MV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRUDER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRUDER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRUDER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRUDER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.EXTRUDER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FERMENTER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FERMENTER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FERMENTER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FERMENTER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FERMENTER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_CANNER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_CANNER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_CANNER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_CANNER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_CANNER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_EXTRACTOR_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_EXTRACTOR_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_EXTRACTOR_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_EXTRACTOR_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_EXTRACTOR_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_HEATER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_HEATER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_HEATER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_HEATER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_HEATER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_SOLIDIFIER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_SOLIDIFIER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_SOLIDIFIER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_SOLIDIFIER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FLUID_SOLIDIFIER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FORGE_HAMMER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FORGE_HAMMER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FORGE_HAMMER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FORGE_HAMMER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FORGE_HAMMER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.FORMING_PRESS_EV; +import static gregtech.api.enums.MetaTileEntityIDs.FORMING_PRESS_HV; +import static gregtech.api.enums.MetaTileEntityIDs.FORMING_PRESS_IV; +import static gregtech.api.enums.MetaTileEntityIDs.FORMING_PRESS_LV; +import static gregtech.api.enums.MetaTileEntityIDs.FORMING_PRESS_MV; +import static gregtech.api.enums.MetaTileEntityIDs.LASER_ENGRAVER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.LASER_ENGRAVER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.LASER_ENGRAVER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.LASER_ENGRAVER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.LASER_ENGRAVER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.LATHE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.LATHE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.LATHE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.LATHE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.LATHE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.MACERATOR_EV; +import static gregtech.api.enums.MetaTileEntityIDs.MACERATOR_HV; +import static gregtech.api.enums.MetaTileEntityIDs.MACERATOR_IV; +import static gregtech.api.enums.MetaTileEntityIDs.MACERATOR_LV; +import static gregtech.api.enums.MetaTileEntityIDs.MACERATOR_MV; +import static gregtech.api.enums.MetaTileEntityIDs.MATTER_AMPLIFIER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.MATTER_AMPLIFIER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.MATTER_AMPLIFIER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.MATTER_AMPLIFIER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.MATTER_AMPLIFIER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.MICROWAVE_OVEN_EV; +import static gregtech.api.enums.MetaTileEntityIDs.MICROWAVE_OVEN_HV; +import static gregtech.api.enums.MetaTileEntityIDs.MICROWAVE_OVEN_IV; +import static gregtech.api.enums.MetaTileEntityIDs.MICROWAVE_OVEN_LV; +import static gregtech.api.enums.MetaTileEntityIDs.MICROWAVE_OVEN_MV; +import static gregtech.api.enums.MetaTileEntityIDs.MIXER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.MIXER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.MIXER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.MIXER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.MIXER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.ORE_WASHER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.ORE_WASHER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.ORE_WASHER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.ORE_WASHER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.ORE_WASHER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.OVEN_EV; +import static gregtech.api.enums.MetaTileEntityIDs.OVEN_HV; +import static gregtech.api.enums.MetaTileEntityIDs.OVEN_IV; +import static gregtech.api.enums.MetaTileEntityIDs.OVEN_LV; +import static gregtech.api.enums.MetaTileEntityIDs.OVEN_MV; +import static gregtech.api.enums.MetaTileEntityIDs.PLASMA_ARC_FURNACE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.PLASMA_ARC_FURNACE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.PLASMA_ARC_FURNACE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.PLASMA_ARC_FURNACE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.PLASMA_ARC_FURNACE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.POLARIZER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.POLARIZER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.POLARIZER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.POLARIZER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.POLARIZER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_LuV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_UV; +import static gregtech.api.enums.MetaTileEntityIDs.PRINTER_ZPM; +import static gregtech.api.enums.MetaTileEntityIDs.RECYCLER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.RECYCLER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.RECYCLER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.RECYCLER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.RECYCLER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.SIFTER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.SIFTER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.SIFTER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.SIFTER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.SIFTER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.SLICER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.SLICER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.SLICER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.SLICER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.SLICER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.THERMAL_CENTRIFUGE_EV; +import static gregtech.api.enums.MetaTileEntityIDs.THERMAL_CENTRIFUGE_HV; +import static gregtech.api.enums.MetaTileEntityIDs.THERMAL_CENTRIFUGE_IV; +import static gregtech.api.enums.MetaTileEntityIDs.THERMAL_CENTRIFUGE_LV; +import static gregtech.api.enums.MetaTileEntityIDs.THERMAL_CENTRIFUGE_MV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_EV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_HV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_IV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_LV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_LuV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_MV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_UV; +import static gregtech.api.enums.MetaTileEntityIDs.UNPACKAGER_ZPM; +import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_EV; +import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_HV; +import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_IV; +import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_LV; +import static gregtech.api.enums.MetaTileEntityIDs.WIREMILL_MV; +import static gregtech.api.enums.Mods.BuildCraftFactory; +import static gregtech.api.enums.Mods.Forestry; +import static gregtech.api.enums.Mods.GalacticraftCore; +import static gregtech.api.enums.Mods.Gendustry; +import static gregtech.api.enums.Mods.IndustrialCraft2; +import static gregtech.api.enums.Mods.NotEnoughItems; +import static gregtech.api.enums.Mods.Thaumcraft; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.util.GT_RecipeBuilder.SECONDS; + +import net.minecraft.init.Blocks; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +import codechicken.nei.api.API; +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; |
