aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/loaders/load
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/loaders/load')
-rw-r--r--src/main/java/gregtech/loaders/load/GT_CoverBehaviorLoader.java11
-rw-r--r--src/main/java/gregtech/loaders/load/GT_FuelLoader.java180
-rw-r--r--src/main/java/gregtech/loaders/load/GT_ItemIterator.java309
-rw-r--r--src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java7148
-rw-r--r--src/main/java/gregtech/loaders/load/GT_SonictronLoader.java159
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;