From 1b820de08a05070909a267e17f033fcf58ac8710 Mon Sep 17 00:00:00 2001 From: NotAPenguin Date: Mon, 2 Sep 2024 23:17:17 +0200 Subject: The Great Renaming (#3014) * move kekztech to a single root dir * move detrav to a single root dir * move gtnh-lanthanides to a single root dir * move tectech and delete some gross reflection in gt++ * remove more reflection inside gt5u * delete more reflection in gt++ * fix imports * move bartworks and bwcrossmod * fix proxies * move galactigreg and ggfab * move gtneioreplugin * try to fix gt++ bee loader * apply the rename rules to BW * apply rename rules to bwcrossmod * apply rename rules to detrav scanner mod * apply rename rules to galacticgreg * apply rename rules to ggfab * apply rename rules to goodgenerator * apply rename rules to gtnh-lanthanides * apply rename rules to gt++ * apply rename rules to kekztech * apply rename rules to kubatech * apply rename rules to tectech * apply rename rules to gt apply the rename rules to gt * fix tt import * fix mui hopefully * fix coremod except intergalactic * rename assline recipe class * fix a class name i stumbled on * rename StructureUtility to GTStructureUtility to prevent conflict with structurelib * temporary rename of GTTooltipDataCache to old name * fix gt client/server proxy names --- .../gregtech/loaders/load/CoverBehaviorLoader.java | 11 + .../java/gregtech/loaders/load/FuelLoader.java | 146 + .../java/gregtech/loaders/load/GTItemIterator.java | 306 ++ .../loaders/load/GT_CoverBehaviorLoader.java | 11 - .../java/gregtech/loaders/load/GT_FuelLoader.java | 146 - .../gregtech/loaders/load/GT_ItemIterator.java | 305 -- .../load/GT_Loader_MetaTileEntities_Recipes.java | 4675 -------------------- .../gregtech/loaders/load/GT_SonictronLoader.java | 159 - .../gregtech/loaders/load/MTERecipeLoader.java | 4386 ++++++++++++++++++ .../gregtech/loaders/load/SonictronLoader.java | 159 + 10 files changed, 5008 insertions(+), 5296 deletions(-) create mode 100644 src/main/java/gregtech/loaders/load/CoverBehaviorLoader.java create mode 100644 src/main/java/gregtech/loaders/load/FuelLoader.java create mode 100644 src/main/java/gregtech/loaders/load/GTItemIterator.java delete mode 100644 src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java delete mode 100644 src/main/java/gregtech/loaders/load/GT_FuelLoader.java delete mode 100644 src/main/java/gregtech/loaders/load/GT_ItemIterator.java delete mode 100644 src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java delete mode 100644 src/main/java/gregtech/loaders/load/GT_SonictronLoader.java create mode 100644 src/main/java/gregtech/loaders/load/MTERecipeLoader.java create mode 100644 src/main/java/gregtech/loaders/load/SonictronLoader.java (limited to 'src/main/java/gregtech/loaders/load') diff --git a/src/main/java/gregtech/loaders/load/CoverBehaviorLoader.java b/src/main/java/gregtech/loaders/load/CoverBehaviorLoader.java new file mode 100644 index 0000000000..77fc7f4b30 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/CoverBehaviorLoader.java @@ -0,0 +1,11 @@ +package gregtech.loaders.load; + +import gregtech.api.util.GTLog; + +public class CoverBehaviorLoader implements Runnable { + + @Override + public void run() { + GTLog.out.println("GTMod: Adding Cover Behaviors"); + } +} diff --git a/src/main/java/gregtech/loaders/load/FuelLoader.java b/src/main/java/gregtech/loaders/load/FuelLoader.java new file mode 100644 index 0000000000..639b5359a3 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/FuelLoader.java @@ -0,0 +1,146 @@ +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.recipe.RecipeMaps.extremeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.magicFuels; +import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels; +import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels; +import static gregtech.api.util.GTRecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GTRecipeConstants.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.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.fluid.GTFluidFactory; +import gregtech.api.util.GTLog; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTRecipeConstants; + +public class FuelLoader implements Runnable { + + @Override + public void run() { + GTLog.out.println("GTMod: Initializing various Fuels."); + ItemList.sBlueVitriol = GTFluidFactory + .of("solution.bluevitriol", "Blue Vitriol water solution", null, FluidState.LIQUID, 295); + ItemList.sNickelSulfate = GTFluidFactory + .of("solution.nickelsulfate", "Nickel sulfate water solution", null, FluidState.LIQUID, 295); + ItemList.sGreenVitriol = GTFluidFactory + .of("solution.greenvitriol", "Green Vitriol water solution", null, FluidState.LIQUID, 295); + ItemList.sIndiumConcentrate = GTFluidFactory + .of("indiumconcentrate", "Indium Concentrate", null, FluidState.LIQUID, 295); // TODO CHECK NEW x3 + ItemList.sLeadZincSolution = GTFluidFactory + .of("leadzincsolution", "Lead-Zinc solution", null, FluidState.LIQUID, 295); + ItemList.sRocketFuel = GTFluidFactory.of("rocket_fuel", "Rocket Fuel", null, FluidState.LIQUID, 295); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 50_000) + .addTo(smallNaquadahReactorFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(largeNaquadahReactorFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 500_000) + .addTo(hugeNaquadahReactorFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 250_000) + .addTo(extremeNaquadahReactorFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTOreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1_000_000) + .addTo(ultraHugeNaquadahReactorFuels); + + // BloodMagic + GTValues.RA.stdBuilder() + .itemInputs(GTModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .itemOutputs(GTModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 400) + .addTo(magicFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .itemOutputs(GTModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 1000) + .addTo(magicFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .itemOutputs(GTModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 8000) + .addTo(magicFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27)) + .itemOutputs(GTModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) + .duration(0) + .eut(0) + .metadata(FUEL_VALUE, 20000) + .addTo(magicFuels); + + GTValues.RA.stdBuilder() + .itemInputs(GTModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4)) + .metadata(FUEL_VALUE, 4) + .metadata(FUEL_TYPE, 5) + .addTo(GTRecipeConstants.Fuel); + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(Items.experience_bottle, 1)) + .metadata(FUEL_VALUE, 10) + .metadata(FUEL_TYPE, 5) + .addTo(GTRecipeConstants.Fuel); + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(Items.ghast_tear, 1)) + .metadata(FUEL_VALUE, 50) + .metadata(FUEL_TYPE, 5) + .addTo(GTRecipeConstants.Fuel); + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(Blocks.beacon, 1)) + .metadata(FUEL_VALUE, Materials.NetherStar.mFuelPower * 2) + .metadata(FUEL_TYPE, Materials.NetherStar.mFuelType) + .addTo(GTRecipeConstants.Fuel); + GTValues.RA.stdBuilder() + .itemInputs(GTModHandler.getModItem(EnderIO.ID, "bucketRocket_fuel", 1)) + .metadata(FUEL_VALUE, 250) + .metadata(FUEL_TYPE, 1) + .addTo(GTRecipeConstants.Fuel); + } +} diff --git a/src/main/java/gregtech/loaders/load/GTItemIterator.java b/src/main/java/gregtech/loaders/load/GTItemIterator.java new file mode 100644 index 0000000000..63ac59b7c2 --- /dev/null +++ b/src/main/java/gregtech/loaders/load/GTItemIterator.java @@ -0,0 +1,306 @@ +package gregtech.loaders.load; + +import static gregtech.api.recipe.RecipeMaps.cannerRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.util.GTRecipeBuilder.SECONDS; +import static gregtech.api.util.GTRecipeBuilder.WILDCARD; +import static gregtech.api.util.GTRecipeConstants.FUEL_TYPE; +import static gregtech.api.util.GTRecipeConstants.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.GregTechAPI; +import gregtech.api.enums.GTValues; +import gregtech.api.enums.ItemList; +import gregtech.api.enums.Materials; +import gregtech.api.enums.OreDictNames; +import gregtech.api.enums.OrePrefixes; +import gregtech.api.items.GTGenericItem; +import gregtech.api.util.GTLog; +import gregtech.api.util.GTModHandler; +import gregtech.api.util.GTOreDictUnificator; +import gregtech.api.util.GTRecipeBuilder; +import gregtech.api.util.GTRecipeConstants; +import gregtech.api.util.GTUtility; +import gregtech.common.tools.ToolScoop; +import mods.railcraft.api.core.items.IToolCrowbar; + +public class GTItemIterator implements Runnable { + + @Override + public void run() { + GTLog.out.println("GTMod: Scanning for certain kinds of compatible Machineblocks."); + ItemStack tStack2 = GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 1L); + ItemStack tStack = GTModHandler + .getRecipeOutput(tStack2, tStack2, tStack2, tStack2, null, tStack2, tStack2, tStack2, tStack2); + + if (null != tStack) { + GTValues.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + + GTModHandler.addSmeltingRecipe(tStack, GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); + } + tStack2 = GTOreDictUnificator.get(OrePrefixes.plate, Materials.Bronze, 1L); + tStack = GTModHandler + .getRecipeOutput(tStack2, tStack2, tStack2, tStack2, null, tStack2, tStack2, tStack2, tStack2); + + if (null != tStack) { + GTOreDictUnificator.registerOre(OreDictNames.craftingRawMachineTier00, tStack); + + GTValues.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs(GTOreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L)) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + GTModHandler.addSmeltingRecipe(tStack, GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); + } + + ItemStack tStack3 = new ItemStack(Blocks.glass, 1, 0); + tStack2 = GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 1L); + tStack = GTModHandler.getRecipeOutput( + tStack2, + tStack3, + tStack2, + tStack3, + GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1L), + tStack3, + tStack2, + tStack3, + tStack2); + + if (null != (tStack)) { + GTValues.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 4L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L)) + .outputChances(10000, 1000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + } + + tStack2 = GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L); + tStack3 = new ItemStack(Blocks.glass, 1, 0); + tStack = GTModHandler.getRecipeOutput( + tStack2, + tStack3, + tStack2, + tStack3, + GTOreDictUnificator.get(OrePrefixes.ingot, Materials.Gold, 1L), + tStack3, + tStack2, + tStack3, + tStack2); + if (null != tStack) { + GTValues.RA.stdBuilder() + .itemInputs(tStack) + .itemOutputs( + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 4L), + GTOreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1L)) + .outputChances(10000, 1000) + .duration(20 * SECONDS) + .eut(2) + .addTo(maceratorRecipes); + } + GTLog.out.println("GTMod: Registering various Tools to be usable on GregTech Machines"); + GregTechAPI.registerScrewdriver( + GTModHandler + .getRecipeOutput(null, new ItemStack(Items.iron_ingot, 1), null, new ItemStack(Items.stick, 1))); + GregTechAPI.registerScrewdriver( + GTModHandler + .getRecipeOutput(new ItemStack(Items.iron_ingot, 1), null, null, null, new ItemStack(Items.stick, 1))); + + GTLog.out.println( + "GTMod: Adding Food Recipes to the Automatic Canning Machine. (also during the following Item Iteration)"); + GTValues.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); + GTValues.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); + GTValues.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); + GTValues.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); + GTValues.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); + + GTLog.out.println("GTMod: Scanning ItemList."); + + try { + /* (tName.equals("tile.sedimentaryStone")) || **/ + for (Object o : Item.itemRegistry) { + Object tObject; + + if (!(((tObject = o) instanceof Item) && (!(tObject instanceof GTGenericItem)))) { + continue; + } + + Item tItem = (Item) tObject; + String tName; + if ((tName = tItem.getUnlocalizedName()) == null) { + continue; + } + + if ((tItem instanceof IToolCrowbar)) { + if ((tItem.isDamageable()) || (GTModHandler.isElectricItem(new ItemStack(tItem, 1, 0)))) { + if (GregTechAPI.registerCrowbar(new ItemStack(tItem, 1, WILDCARD))) { + GTLog.out.println("GTMod: Registered valid RC Crowbar: " + tName); + } + } + } + if ((tItem instanceof IToolWrench)) { + if ((tItem.isDamageable()) || (GTModHandler.isElectricItem(new ItemStack(tItem, 1, 0)))) { + if (GregTechAPI.registerWrench(new ItemStack(tItem, 1, WILDCARD))) { + GTLog.out.println("GTMod: Registered valid BC Wrench: " + tName); + } + } + } + Block tBlock = GTUtility.getBlockFromStack(new ItemStack(tItem, 1, 0)); + if (tBlock != null) { + if (tName.endsWith("beehives")) { + tBlock.setHarvestLevel("scoop", 0); + ToolScoop.sBeeHiveMaterial = tBlock.getMaterial(); + } + if (OrePrefixes.stone.mDefaultStackSize < tItem.getItemStackLimit(new ItemStack(tItem, 1, 0))) { + if ((tBlock.isReplaceableOreGen(GTValues.DW, 0, 0, 0, Blocks.stone)) + || (tBlock.isReplaceableOreGen(GTValues.DW, 0, 0, 0, Blocks.netherrack)) + || (tBlock.isReplaceableOreGen(GTValues.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) { + GTRecipeBuilder recipeBuilder = GTValues.RA.stdBuilder(); + recipeBuilder + .itemInputs(new ItemStack(tItem, 1, WILDCARD), ItemList.IC2_Food_Can_Empty.get(tFoodValue)); + if (GTUtility.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), + GTUtility.getContainerItem(new ItemStack(tItem, 1, 0), true)); + } + recipeBuilder.duration(tFoodValue * 5 * SECONDS) + .eut(1) + .addTo(cannerRecipes); + } + } + if ((tItem instanceof IFluidContainerItem)) { + GTOreDictUnificator.addToBlacklist(new ItemStack(tItem, 1, WILDCARD)); + } + + switch (tName) { + // twilight forest + case "item.fieryBlood", "item.fieryTears" -> GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(tItem, 1, 0)) + .metadata(FUEL_VALUE, 2048) + .metadata(FUEL_TYPE, 5) + .addTo(GTRecipeConstants.Fuel); + + // twilight forest + case "tile.TFRoots" -> { + GTValues.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); + GTValues.RA.stdBuilder() + .itemInputs(new ItemStack(tItem, 1, 1)) + .itemOutputs(new ItemStack(Items.stick, 4)) + .metadata(FUEL_VALUE, 32) + .metadata(FUEL_TYPE, 5) + .addTo(GTRecipeConstants.Fuel); + } + + // tinker construct + case "item.tconstruct.manual" -> GTOreDictUnificator + .registerOre("bookTinkersManual", new ItemStack(tItem, 1, WILDCARD)); + + // buildcraft + case "item.blueprintItem" -> GTOreDictUnificator + .registerOre("paperBlueprint", new ItemStack(tItem, 1, WILDCARD)); + + // Thaumcraft + case "item.ItemThaumonomicon" -> GTOreDictUnificator + .registerOre("bookThaumonomicon", new ItemStack(tItem, 1, WILDCARD)); + + // BoP + case "tile.bop.redRocks" -> { + GTOreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 0)); + GTOreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 1)); + GTOreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Redrock, new ItemStack(tItem, 1, 2)); + } + + // Thaumcraft + case "tile.blockCosmeticSolid" -> { + GTOreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Obsidian, new ItemStack(tItem, 1, 0)); + GTOreDictUnificator + .registerOre(OrePrefixes.stone, Materials.Obsidian, new ItemStack(tItem, 1, 1)); + GTOreDictUnificator + .registerOre(OrePrefixes.block, Materials.Thaumium, new ItemStack(tItem, 1, 4)); + } + + // minecraft + case "tile.enderchest" -> GTOreDictUnificator + .registerOre(OreDictNames.enderChest, new ItemStack(tItem, 1, WILDCARD)); + + // buildcraft + case "tile.autoWorkbenchBlock" -> GTOreDictUnificator + .registerOre(OreDictNames.craftingWorkBench, new ItemStack(tItem, 1, 0)); + + // buildcraft + case "tile.pumpBlock" -> GTOreDictUnificator + .registerOre(OreDictNames.craftingPump, new ItemStack(tItem, 1, 0)); + + // buildcraft + case "tile.tankBlock" -> GTOreDictUnificator + .registerOre(OreDictNames.craftingTank, new ItemStack(tItem, 1, 0)); + + } + } + } catch (Throwable e) { + /**/ + } + } +} diff --git a/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java b/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java deleted file mode 100644 index 37f626ef90..0000000000 --- a/src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java +++ /dev/null @@ -1,11 +0,0 @@ -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 deleted file mode 100644 index bed97ca010..0000000000 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ /dev/null @@ -1,146 +0,0 @@ -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.recipe.RecipeMaps.extremeNaquadahReactorFuels; -import static gregtech.api.recipe.RecipeMaps.hugeNaquadahReactorFuels; -import static gregtech.api.recipe.RecipeMaps.largeNaquadahReactorFuels; -import static gregtech.api.recipe.RecipeMaps.magicFuels; -import static gregtech.api.recipe.RecipeMaps.smallNaquadahReactorFuels; -import static gregtech.api.recipe.RecipeMaps.ultraHugeNaquadahReactorFuels; -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.util.GT_Log; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -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); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 50_000) - .addTo(smallNaquadahReactorFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 250_000) - .addTo(largeNaquadahReactorFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 500_000) - .addTo(hugeNaquadahReactorFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 250_000) - .addTo(extremeNaquadahReactorFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L)) - .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 1_000_000) - .addTo(ultraHugeNaquadahReactorFuels); - - // BloodMagic - GT_Values.RA.stdBuilder() - .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) - .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 400) - .addTo(magicFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) - .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 1000) - .addTo(magicFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) - .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 8000) - .addTo(magicFuels); - - GT_Values.RA.stdBuilder() - .itemInputs(GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27)) - .itemOutputs(GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L)) - .duration(0) - .eut(0) - .metadata(FUEL_VALUE, 20000) - .addTo(magicFuels); - - 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 deleted file mode 100644 index a44b411ba0..0000000000 --- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java +++ /dev/null @@ -1,305 +0,0 @@ -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_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 deleted file mode 100644 index 1c90187ee2..0000000000 --- a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java +++ /dev/null @@ -1,4675 +0,0 @@ -package gregtech.loaders.load; - -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; -import gregtech.api.enums.Dyes; -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.enums.TierEU; -import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; -import gregtech.api.util.ExternalMaterials; -import gregtech.api.util.GT_Log; -import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_OreDictUnificator; -import gregtech.api.util.GT_Utility; -import gregtech.loaders.postload.GT_PCBFactoryMaterialLoader; -import gregtech.loaders.postload.GT_ProcessingArrayRecipeLoader; -import ic2.core.Ic2Items; - -public class GT_Loader_MetaTileEntities_Recipes implements Runnable { - - private static final String aTextPlate = "PPP"; - private static final String aTextPlateWrench = "PwP"; - private static final String aTextPlateMotor = "PMP"; - private static final String aTextCableHull = "CMC"; - private static final String aTextWireHull = "WMW"; - private static final String aTextWireChest = "WTW"; - private static final String aTextWireCoil = "WCW"; - private static final String aTextMotorWire = "EWE"; - private static final String aTextWirePump = "WPW"; - - private static final long bits = GT_ModHandler.RecipeBits.NOT_REMOVABLE | GT_ModHandler.RecipeBits.REVERSIBLE - | GT_ModHandler.RecipeBits.BUFFERED; - private static final long bitsd = GT_ModHandler.RecipeBits.DISMANTLEABLE | bits; - - private static void registerMachineTypes() { - registerAlloySmelter(); - registerArcFurnace(); - registerAutoclave(); - registerAssembler(); - registerBendingMachine(); - registerCanner(); - registerCentrifuge(); - registerCompressor(); - registerChemicalBath(); - registerChemicalReactor(); - registerCircuitAssembler(); - registerCuttingMachine(); - registerDistillery(); - registerElectricFurnace(); - registerElectrolyser(); - registerElectromagneticSeparator(); - registerExtractor(); - registerExtruder(); - registerFermenter(); - registerFluidCanner(); - registerFluidExtractor(); - registerFluidHeater(); - registerFluidSolidifier(); - registerForgeHammer(); - registerFormingPress(); - registerLathe(); - registerLaserEngraver(); - registerMacerator(); - registerMatterAmplifier(); - registerMicrowave(); - registerMixer(); - registerOreWasher(); - registerOven(); - registerPlasmaArcFurnace(); - registerPolarizer(); - registerPrinter(); - registerRecycler(); - registerSifter(); - registerSlicer(); - registerThermalCentrifuge(); - registerUnpackager(); - registerWiremill(); - } - - private static void registerAlloySmelter() { - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_LV_AlloySmelter.get(1), - bitsd, - new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, - 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING_DOUBLE }, - 1); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_MV_AlloySmelter.get(1), - bitsd, - new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, - 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING_DOUBLE }, - 2); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_HV_AlloySmelter.get(1), - bitsd, - new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, - 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING_DOUBLE }, - 3); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_EV_AlloySmelter.get(1), - bitsd, - new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, - 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING_DOUBLE }, - 4); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_IV_AlloySmelter.get(1), - bitsd, - new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, - 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.COIL_HEATING_DOUBLE }, - 5); - - } - - private static void registerArcFurnace() { - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_LV_ArcFurnace.get(1), - bitsd, - new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4, 'G', OrePrefixes.cell.get(Materials.Graphite) }, - 1); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_MV_ArcFurnace.get(1), - bitsd, - new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4, 'G', OrePrefixes.cell.get(Materials.Graphite) }, - 2); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_HV_ArcFurnace.get(1), - bitsd, - new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4, 'G', OrePrefixes.cell.get(Materials.Graphite) }, - 3); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_EV_ArcFurnace.get(1), - bitsd, - new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4, 'G', OrePrefixes.cell.get(Materials.Graphite) }, - 4); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_IV_ArcFurnace.get(1), - bitsd, - new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE4, 'G', OrePrefixes.cell.get(Materials.Graphite) }, - 5); - - } - - private static void registerAssembler() { - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_LV_Assembler.get(1), - bitsd, - new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'A', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 1); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_MV_Assembler.get(1), - bitsd, - new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'A', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 2); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_HV_Assembler.get(1), - bitsd, - new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'A', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 3); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_EV_Assembler.get(1), - bitsd, - new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'A', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 4); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_IV_Assembler.get(1), - bitsd, - new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CONVEYOR, 'A', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 5); - } - - private static void registerAutoclave() { - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_LV_Autoclave.get(1), - bitsd, - new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'I', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, - 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS }, - 1); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_MV_Autoclave.get(1), - bitsd, - new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'I', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, - 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS }, - 2); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_HV_Autoclave.get(1), - bitsd, - new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'I', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, - 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS }, - 3); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_EV_Autoclave.get(1), - bitsd, - new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'I', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, - 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS }, - 4); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_IV_Autoclave.get(1), - bitsd, - new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PUMP, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE, 'I', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PLATE, - 'G', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.GLASS }, - 5); - - } - - private static void registerBendingMachine() { - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_LV_Bender.get(1), - bitsd, - new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, - 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 1); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_MV_Bender.get(1), - bitsd, - new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, - 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 2); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_HV_Bender.get(1), - bitsd, - new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, - 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT, 'W', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.WIRE }, - 3); - - GT_ModHandler.addMachineCraftingRecipe( - ItemList.Machine_EV_Bender.get(1), - bitsd, - new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', - GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.MOTOR, - 'P', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.PISTON, 'C', - GT_MetaTileEntity_Basic