From f74c7cc297d1d19d38a19683cd277ad9ce605d3a Mon Sep 17 00:00:00 2001 From: miozune Date: Mon, 4 Dec 2023 05:34:27 +0900 Subject: Refactor RecipeMap (#2345) * Remove deprecated and unused things * Move recipemap subclasses * Move GT_Recipe_Map to outside and rename to RecipeMap * Move recipemap instances to separated class & remove prepending s * Remove useless GT_Recipe constructors * Always use ModularUI * Rename IGT_RecipeMap -> IRecipeMap * Add RecipeMapBuilder * Remove more deprecated and unused things * Fix RecipeMap type parameters * Use multimap for recipe index * Fix bending recipe error in dev env * Remove mUniqueIdentifier * Update AE2FC * Less edgy texture for NEI recipe background * Add replicator fluid output slot for NEI and machine GUI * Fix fluid fuels not having fuel value in large boilers * Remove GT_RectHandler and NEI_TransferRectHost * Remove RecipeMapHandler * Move NEI energy description from RecipeMapFrontend to Power * Refactor the way to filter fusion recipes * Check restriction for some properties * Remove showVoltageAmperage * Make Power accept GT_Recipe * Fix NPE * Move NEI duration description to Power from Frontend * Directly implement IRecipeProcessingAwareHatch for GT_MetaTileEntity_Hatch_InputBus_ME * Make Power integrated with GT_OverclockCalculator * Rename Power -> OverclockDescriber * Don't modify recipe find logic until postload finishes * Reformat reserved MTE ids * Fix check for too few inputs on recipe addition * Move replicator logic to backend * Stop un-hiding assline recipes * Allow setting custom recipe comparator & implement for fusion * Update AE2FC * Rename getRecipeList and getRecipes -> getRecipeMap * Automatically register recipe catalysts * Cleanup the way to detect recipe collision * Make use of BasicUIProperties for basic machines * Make use of BasicUIProperties for UIHelper * Rename specialHandler -> recipeTransformer * Add way to automatically register handler info * Add recipe category * Add some APIs for addons * Rename blastRecipes -> blastFurnaceRecipes * Remove GT_MetaTileEntity_BasicMachine_GT_Recipe#mSharedTank and #mRequiresFluidForFiltering * Don't require setting duration and EU/t for fuel recipes * Don't require setting EU/t for primitive blast furnace recipes * Revert change to addMultiblockChemicalRecipe * Fix large boiler general desc recipe not being added * Hide duration and EU/t from large boiler * Cleanup recipe stacktrace draw * Extend metadata usage of recipe builder to recipe itself * Implement metadata handling & NEI comparator for PCB factory * Some rename around NEIRecipeInfo * Some toString implementations * Add more APIs for addons & some rename * Infer handler icon from recipe catalyst if one is not set * Also shrink recipe title when OC is not used * Remove rare earth centrifuge recipe * Use metadata for replicator backend * Adjust geothermal generator output slot * Allow having multiple transferrects * Store recipemap reference in backend * Rename vacuumRecipes -> vacuumFreezerRecipes * Add config to tweak visibility of recipe categories * Remove mHideRecyclingRecipes in favor of recipe category config * Fix typo fluidSolidfierRecipes -> fluidSolidifierRecipes * Refactor findRecipe and ProcessingLogic to use Stream * Fix BBF handler icon & remove bronze blast furnace * Add fluent API for findRecipe * Add way to stop adding progressbar * Change arg order for special texture * Avoid overwriting interesting failure with NO_RECIPE * Some changes for FuelBackend * Set space project icon * Remove localization from TT * Remove CNC recipe adder * Move recipe extractor from AE2FC * Minor internal change for ProcessingLogic#applyRecipe * More javadoc on #getAvailableRecipeMaps * Better implementation of #ofSupplier * Move replicator exponent config to GT_Proxy * Remove RC & IC2 macerator handling * Rename StreamUtil -> GT_StreamUtil * Refactor code around RecipeMetadataStorage * Revise #compileRecipe javadoc * Switch extreme diesel recipe loader to downstream recipe map * Optimize #reMap * Rename reload -> reloadNEICache * Minor tweak for drawEnergyInfo * a bit more doc * Adjust recipe catalysts * Add toString implementation for GT_Fluid for debug * Minor revision for OilCrackerBackend * Index replicator recipes by material --------- Co-authored-by: Glease <4586901+Glease@users.noreply.github.com> --- .../java/gregtech/loaders/load/GT_FuelLoader.java | 31 +- .../gregtech/loaders/load/GT_ItemIterator.java | 30 +- .../load/GT_Loader_MetaTileEntities_Recipes.java | 888 ++++---------- .../gregtech/loaders/misc/GT_Achievements.java | 16 +- .../loaders/oreprocessing/ProcessingArrows.java | 12 +- .../loaders/oreprocessing/ProcessingBeans.java | 4 +- .../loaders/oreprocessing/ProcessingBlock.java | 30 +- .../loaders/oreprocessing/ProcessingCell.java | 20 +- .../loaders/oreprocessing/ProcessingCrafting.java | 106 +- .../loaders/oreprocessing/ProcessingCrate.java | 20 +- .../loaders/oreprocessing/ProcessingCrop.java | 36 +- .../oreprocessing/ProcessingCrushedOre.java | 18 +- .../oreprocessing/ProcessingCrystallized.java | 8 +- .../loaders/oreprocessing/ProcessingDirty.java | 20 +- .../loaders/oreprocessing/ProcessingDust.java | 92 +- .../loaders/oreprocessing/ProcessingDye.java | 6 +- .../loaders/oreprocessing/ProcessingFoil.java | 4 +- .../loaders/oreprocessing/ProcessingFood.java | 24 +- .../loaders/oreprocessing/ProcessingGear.java | 6 +- .../loaders/oreprocessing/ProcessingGem.java | 98 +- .../loaders/oreprocessing/ProcessingIngot.java | 42 +- .../loaders/oreprocessing/ProcessingLens.java | 14 +- .../loaders/oreprocessing/ProcessingLog.java | 72 +- .../loaders/oreprocessing/ProcessingNugget.java | 15 +- .../loaders/oreprocessing/ProcessingOre.java | 22 +- .../loaders/oreprocessing/ProcessingOrePoor.java | 8 +- .../oreprocessing/ProcessingOreSmelting.java | 33 +- .../loaders/oreprocessing/ProcessingPipe.java | 8 +- .../loaders/oreprocessing/ProcessingPlank.java | 30 +- .../loaders/oreprocessing/ProcessingPlate.java | 68 +- .../loaders/oreprocessing/ProcessingPure.java | 8 +- .../loaders/oreprocessing/ProcessingRecycling.java | 4 +- .../loaders/oreprocessing/ProcessingRotor.java | 16 +- .../loaders/oreprocessing/ProcessingRound.java | 4 +- .../loaders/oreprocessing/ProcessingSand.java | 4 +- .../loaders/oreprocessing/ProcessingSaplings.java | 12 +- .../loaders/oreprocessing/ProcessingScrew.java | 4 +- .../loaders/oreprocessing/ProcessingShaping.java | 133 ++- .../loaders/oreprocessing/ProcessingSlab.java | 4 +- .../loaders/oreprocessing/ProcessingStick.java | 20 +- .../loaders/oreprocessing/ProcessingStickLong.java | 12 +- .../loaders/oreprocessing/ProcessingStone.java | 76 +- .../oreprocessing/ProcessingStoneCobble.java | 4 +- .../loaders/oreprocessing/ProcessingToolHead.java | 46 +- .../oreprocessing/ProcessingTransforming.java | 24 +- .../loaders/oreprocessing/ProcessingWax.java | 2 - .../loaders/oreprocessing/ProcessingWire.java | 68 +- .../postload/GT_ExtremeDieselFuelLoader.java | 22 - .../gregtech/loaders/postload/GT_PostLoad.java | 221 ++-- .../postload/GT_ProcessingArrayRecipeLoader.java | 92 +- .../loaders/postload/GT_UUMRecipeLoader.java | 7 - .../postload/chains/GT_BauxiteRefineChain.java | 50 +- .../loaders/postload/chains/GT_NaniteChain.java | 4 +- .../postload/chains/GT_PCBFactoryRecipes.java | 487 ++++---- .../postload/recipes/AlloySmelterRecipes.java | 12 +- .../postload/recipes/ArcFurnaceRecipes.java | 47 + .../loaders/postload/recipes/AssemblerRecipes.java | 1260 ++++++++++---------- .../loaders/postload/recipes/AutoclaveRecipes.java | 48 +- .../loaders/postload/recipes/BenderRecipes.java | 88 +- .../postload/recipes/BlastFurnaceRecipes.java | 130 +- .../loaders/postload/recipes/BreweryRecipes.java | 118 +- .../loaders/postload/recipes/CannerRecipes.java | 14 +- .../postload/recipes/CentrifugeRecipes.java | 182 ++- .../postload/recipes/ChemicalBathRecipes.java | 82 +- .../loaders/postload/recipes/ChemicalRecipes.java | 410 +++---- .../postload/recipes/CircuitAssemblerRecipes.java | 42 +- .../postload/recipes/CompressorRecipes.java | 36 +- .../postload/recipes/CropProcessingRecipes.java | 8 +- .../loaders/postload/recipes/CuttingRecipes.java | 14 +- .../postload/recipes/DistilleryRecipes.java | 140 +-- .../postload/recipes/ElectrolyzerRecipes.java | 62 +- .../recipes/ElectromagneticSeparatorRecipes.java | 6 +- .../loaders/postload/recipes/ExtractorRecipes.java | 4 +- .../loaders/postload/recipes/ExtruderRecipes.java | 6 +- .../loaders/postload/recipes/FermenterRecipes.java | 80 +- .../postload/recipes/FluidCannerRecipes.java | 22 +- .../postload/recipes/FluidExtractorRecipes.java | 171 +-- .../postload/recipes/FluidHeaterRecipes.java | 20 +- .../postload/recipes/FluidSolidifierRecipes.java | 130 +- .../postload/recipes/ForgeHammerRecipes.java | 38 +- .../postload/recipes/FormingPressRecipes.java | 40 +- .../loaders/postload/recipes/FuelRecipes.java | 34 - .../postload/recipes/FusionReactorRecipes.java | 72 +- .../recipes/ImplosionCompressorRecipes.java | 14 +- .../postload/recipes/LaserEngraverRecipes.java | 12 +- .../loaders/postload/recipes/LatheRecipes.java | 6 +- .../postload/recipes/MatterAmplifierRecipes.java | 6 +- .../loaders/postload/recipes/MixerRecipes.java | 302 ++--- .../loaders/postload/recipes/PackagerRecipes.java | 10 +- .../postload/recipes/PlasmaForgeRecipes.java | 6 +- .../loaders/postload/recipes/PrinterRecipes.java | 12 +- .../loaders/postload/recipes/Pulverizer.java | 128 +- .../loaders/postload/recipes/PyrolyseRecipes.java | 26 +- .../loaders/postload/recipes/SifterRecipes.java | 6 +- .../loaders/postload/recipes/SlicerRecipes.java | 10 +- .../postload/recipes/ThermalCentrifugeRecipes.java | 4 +- .../recipes/TranscendentPlasmaMixerRecipes.java | 14 +- .../postload/recipes/VacuumFreezerRecipes.java | 100 +- .../loaders/postload/recipes/WiremillRecipes.java | 18 +- .../preload/GT_Loader_Item_Block_And_Fluid.java | 36 +- .../preload/GT_Loader_MetaTileEntities.java | 9 - .../java/gregtech/loaders/preload/GT_PreLoad.java | 53 +- 102 files changed, 3408 insertions(+), 3785 deletions(-) delete mode 100644 src/main/java/gregtech/loaders/postload/GT_ExtremeDieselFuelLoader.java delete mode 100644 src/main/java/gregtech/loaders/postload/GT_UUMRecipeLoader.java (limited to 'src/main/java/gregtech/loaders') diff --git a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java index ad9b890cc1..0343362c77 100644 --- a/src/main/java/gregtech/loaders/load/GT_FuelLoader.java +++ b/src/main/java/gregtech/loaders/load/GT_FuelLoader.java @@ -16,6 +16,7 @@ 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; @@ -47,7 +48,7 @@ public class GT_FuelLoader implements Runnable { 30, 2); - GT_Recipe.GT_Recipe_Map.sSmallNaquadahReactorFuels.addRecipe( + RecipeMaps.smallNaquadahReactorFuels.addRecipe( true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.NaquadahEnriched, 1L) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, @@ -57,7 +58,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 50000); - GT_Recipe.GT_Recipe_Map.sLargeNaquadahReactorFuels.addRecipe( + RecipeMaps.largeNaquadahReactorFuels.addRecipe( true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.NaquadahEnriched, 1L) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, @@ -67,7 +68,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 250000); - GT_Recipe.GT_Recipe_Map.sHugeNaquadahReactorFuels.addRecipe( + RecipeMaps.hugeNaquadahReactorFuels.addRecipe( true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.NaquadahEnriched, 1L) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Naquadah, 1L) }, @@ -77,7 +78,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 500000); - GT_Recipe.GT_Recipe_Map.sExtremeNaquadahReactorFuels.addRecipe( + RecipeMaps.extremeNaquadahReactorFuels.addRecipe( true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadria, 1L) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Naquadah, 1L) }, @@ -87,7 +88,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 250000); - GT_Recipe.GT_Recipe_Map.sUltraHugeNaquadahReactorFuels.addRecipe( + RecipeMaps.ultraHugeNaquadahReactorFuels.addRecipe( true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadria, 1L) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Naquadah, 1L) }, @@ -97,7 +98,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 1000000); - GT_Recipe.GT_Recipe_Map.sFluidNaquadahReactorFuels.addRecipe( + RecipeMaps.fluidNaquadahReactorFuels.addRecipe( true, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NaquadahEnriched, 1L) }, new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Naquadah, 1L) }, @@ -109,7 +110,7 @@ public class GT_FuelLoader implements Runnable { 1400000); // BloodMagic - GT_Recipe.GT_Recipe_Map.sMagicFuels.addRecipe( + RecipeMaps.magicFuels.addRecipe( true, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "blankSlate", 1L) }, @@ -119,7 +120,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 400); - GT_Recipe.GT_Recipe_Map.sMagicFuels.addRecipe( + RecipeMaps.magicFuels.addRecipe( true, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "reinforcedSlate", 1L) }, @@ -129,7 +130,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 1000); - GT_Recipe.GT_Recipe_Map.sMagicFuels.addRecipe( + RecipeMaps.magicFuels.addRecipe( true, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "imbuedSlate", 1L) }, @@ -139,7 +140,7 @@ public class GT_FuelLoader implements Runnable { 0, 0, 8000); - GT_Recipe.GT_Recipe_Map.sMagicFuels.addRecipe( + RecipeMaps.magicFuels.addRecipe( true, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "bloodMagicBaseItems", 1L, 27) }, new ItemStack[] { GT_ModHandler.getModItem(BloodMagic.ID, "demonicSlate", 1L) }, @@ -154,36 +155,26 @@ public class GT_FuelLoader implements Runnable { .itemInputs(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1L, 4)) .metadata(FUEL_VALUE, 4) .metadata(FUEL_TYPE, 5) - .duration(0) - .eut(0) .addTo(GT_RecipeConstants.Fuel); GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.experience_bottle, 1)) .metadata(FUEL_VALUE, 10) .metadata(FUEL_TYPE, 5) - .duration(0) - .eut(0) .addTo(GT_RecipeConstants.Fuel); GT_Values.RA.stdBuilder() .itemInputs(new ItemStack(Items.ghast_tear, 1)) .metadata(FUEL_VALUE, 50) .metadata(FUEL_TYPE, 5) - .duration(0) - .eut(0) .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) - .duration(0) - .eut(0) .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) - .duration(0) - .eut(0) .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 index b50fe65dc5..9098144114 100644 --- a/src/main/java/gregtech/loaders/load/GT_ItemIterator.java +++ b/src/main/java/gregtech/loaders/load/GT_ItemIterator.java @@ -1,7 +1,7 @@ package gregtech.loaders.load; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; +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; @@ -47,7 +47,7 @@ public class GT_ItemIterator implements Runnable { .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L)) .duration(20 * SECONDS) .eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); GT_ModHandler.addSmeltingRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); } @@ -63,7 +63,7 @@ public class GT_ItemIterator implements Runnable { .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Bronze, 8L)) .duration(20 * SECONDS) .eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); GT_ModHandler.addSmeltingRecipe(tStack, GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Bronze, 8L)); } @@ -89,7 +89,7 @@ public class GT_ItemIterator implements Runnable { .outputChances(10000, 1000) .duration(20 * SECONDS) .eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); } tStack2 = GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 1L); @@ -113,7 +113,7 @@ public class GT_ItemIterator implements Runnable { .outputChances(10000, 1000) .duration(20 * SECONDS) .eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); } GT_Log.out.println("GT_Mod: Registering various Tools to be usable on GregTech Machines"); GregTech_API.registerScrewdriver( @@ -130,31 +130,31 @@ public class GT_ItemIterator implements Runnable { .itemOutputs(ItemList.IC2_Food_Can_Spoiled.get(1L)) .duration(10 * SECONDS) .eut(1) - .addTo(sCannerRecipes); + .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(sCannerRecipes); + .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(sCannerRecipes); + .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(sCannerRecipes); + .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(sCannerRecipes); + .addTo(cannerRecipes); GT_Log.out.println("GT_Mod: Scanning ItemList."); @@ -225,7 +225,7 @@ public class GT_ItemIterator implements Runnable { } recipeBuilder.duration(tFoodValue * 5 * SECONDS) .eut(1) - .addTo(sCannerRecipes); + .addTo(cannerRecipes); } } if ((tItem instanceof IFluidContainerItem)) { @@ -238,8 +238,6 @@ public class GT_ItemIterator implements Runnable { .itemInputs(new ItemStack(tItem, 1, 0)) .metadata(FUEL_VALUE, 2048) .metadata(FUEL_TYPE, 5) - .duration(0) - .eut(0) .addTo(GT_RecipeConstants.Fuel); // twilight forest @@ -250,7 +248,7 @@ public class GT_ItemIterator implements Runnable { .outputChances(10000, 3000) .duration(20 * SECONDS) .eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); GT_ModHandler.addSawmillRecipe( new ItemStack(tItem, 1, 0), new ItemStack(Items.stick, 4), @@ -260,8 +258,6 @@ public class GT_ItemIterator implements Runnable { .itemOutputs(new ItemStack(Items.stick, 4)) .metadata(FUEL_VALUE, 32) .metadata(FUEL_TYPE, 5) - .duration(0) - .eut(0) .addTo(GT_RecipeConstants.Fuel); } 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 index d29d323dc2..8ee6b07714 100644 --- a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java +++ b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java @@ -225,7 +225,7 @@ 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.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import net.minecraft.init.Blocks; @@ -247,11 +247,11 @@ import gregtech.api.enums.SoundResource; import gregtech.api.enums.TierEU; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; +import gregtech.api.recipe.RecipeMaps; 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_Recipe; import gregtech.api.util.GT_Utility; import gregtech.loaders.postload.GT_PCBFactoryMaterialLoader; import gregtech.loaders.postload.GT_ProcessingArrayRecipeLoader; @@ -326,13 +326,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Alloy Smelter", 1, MachineType.ALLOY_SMELTER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes, + RecipeMaps.alloySmelterRecipes, 2, 1, false, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ALLOY_SMELTER", new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', @@ -347,13 +345,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Alloy Smelter", 2, MachineType.ALLOY_SMELTER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes, + RecipeMaps.alloySmelterRecipes, 2, 1, false, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ALLOY_SMELTER", new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', @@ -368,13 +364,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Alloy Smelter II", 3, MachineType.ALLOY_SMELTER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes, + RecipeMaps.alloySmelterRecipes, 2, 1, false, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ALLOY_SMELTER", new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', @@ -389,13 +383,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Alloy Smelter III", 4, MachineType.ALLOY_SMELTER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes, + RecipeMaps.alloySmelterRecipes, 2, 1, false, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ALLOY_SMELTER", new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', @@ -410,13 +402,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Alloy Smelter IV", 5, MachineType.ALLOY_SMELTER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes, + RecipeMaps.alloySmelterRecipes, 2, 1, false, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ALLOY_SMELTER", new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M', @@ -434,13 +424,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Arc Furnace", 1, MachineType.ARC_FURNACE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes, + RecipeMaps.arcFurnaceRecipes, 1, 4, true, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ARC_FURNACE", new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, @@ -456,13 +444,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Arc Furnace", 2, MachineType.ARC_FURNACE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes, + RecipeMaps.arcFurnaceRecipes, 1, 4, true, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ARC_FURNACE", new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, @@ -477,13 +463,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Arc Furnace II", 3, MachineType.ARC_FURNACE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes, + RecipeMaps.arcFurnaceRecipes, 1, 4, true, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ARC_FURNACE", new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, @@ -499,13 +483,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Arc Furnace III", 4, MachineType.ARC_FURNACE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes, + RecipeMaps.arcFurnaceRecipes, 1, 9, true, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ARC_FURNACE", new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, @@ -521,13 +503,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Arc Furnace IV", 5, MachineType.ARC_FURNACE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes, + RecipeMaps.arcFurnaceRecipes, 1, 9, true, SoundResource.IC2_MACHINES_INDUCTION_LOOP, - false, - false, SpecialEffects.NONE, "ARC_FURNACE", new Object[] { "WGW", aTextCableHull, aTextPlate, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, @@ -545,13 +525,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Assembling Machine", 1, MachineType.ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAssemblerRecipes, + RecipeMaps.assemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "ASSEMBLER", new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -566,13 +544,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Assembling Machine", 2, MachineType.ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAssemblerRecipes, + RecipeMaps.assemblerRecipes, 9, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "ASSEMBLER", new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -587,13 +563,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Assembling Machine II", 3, MachineType.ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAssemblerRecipes, + RecipeMaps.assemblerRecipes, 9, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "ASSEMBLER", new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -608,13 +582,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Assembling Machine III", 4, MachineType.ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAssemblerRecipes, + RecipeMaps.assemblerRecipes, 9, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "ASSEMBLER", new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -629,13 +601,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Assembling Machine IV", 5, MachineType.ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAssemblerRecipes, + RecipeMaps.assemblerRecipes, 9, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "ASSEMBLER", new Object[] { "ACA", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -653,13 +623,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Autoclave", 1, MachineType.AUTOCLAVE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes, + RecipeMaps.autoclaveRecipes, 2, 2, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "AUTOCLAVE", new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -675,13 +643,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Autoclave", 2, MachineType.AUTOCLAVE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes, + RecipeMaps.autoclaveRecipes, 2, 2, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "AUTOCLAVE", new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -697,13 +663,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Autoclave II", 3, MachineType.AUTOCLAVE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes, + RecipeMaps.autoclaveRecipes, 2, 3, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "AUTOCLAVE", new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -719,13 +683,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Autoclave III", 4, MachineType.AUTOCLAVE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes, + RecipeMaps.autoclaveRecipes, 2, 4, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "AUTOCLAVE", new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -741,13 +703,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Autoclave IV", 5, MachineType.AUTOCLAVE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes, + RecipeMaps.autoclaveRecipes, 2, 4, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "AUTOCLAVE", new Object[] { "IGI", "IMI", "CPC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -766,13 +726,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Bending Machine", 1, MachineType.BENDING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sBenderRecipes, + RecipeMaps.benderRecipes, 2, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "BENDER", new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', @@ -788,13 +746,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Bending Machine", 2, MachineType.BENDING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sBenderRecipes, + RecipeMaps.benderRecipes, 2, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "BENDER", new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', @@ -810,13 +766,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Bending Machine II", 3, MachineType.BENDING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sBenderRecipes, + RecipeMaps.benderRecipes, 2, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "BENDER", new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', @@ -832,13 +786,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Bending Machine III", 4, MachineType.BENDING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sBenderRecipes, + RecipeMaps.benderRecipes, 2, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "BENDER", new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', @@ -854,13 +806,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Bending Machine IV", 5, MachineType.BENDING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sBenderRecipes, + RecipeMaps.benderRecipes, 2, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "BENDER", new Object[] { aTextPlateWrench, aTextCableHull, aTextMotorWire, 'M', @@ -879,13 +829,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Canning Machine", 1, MachineType.CANNER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCannerRecipes, + RecipeMaps.cannerRecipes, 2, 2, false, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CANNER", new Object[] { aTextWirePump, aTextCableHull, "GGG", 'M', @@ -901,13 +849,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Canning Machine", 2, MachineType.CANNER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCannerRecipes, + RecipeMaps.cannerRecipes, 2, 2, false, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CANNER", new Object[] { aTextWirePump, aTextCableHull, "GGG", 'M', @@ -923,13 +869,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Canning Machine II", 3, MachineType.CANNER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCannerRecipes, + RecipeMaps.cannerRecipes, 2, 2, false, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CANNER", new Object[] { aTextWirePump, aTextCableHull, "GGG", 'M', @@ -945,13 +889,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Canning Machine III", 4, MachineType.CANNER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCannerRecipes, + RecipeMaps.cannerRecipes, 2, 2, false, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CANNER", new Object[] { aTextWirePump, aTextCableHull, "GGG", 'M', @@ -967,13 +909,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Canning Machine IV", 5, MachineType.CANNER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCannerRecipes, + RecipeMaps.cannerRecipes, 2, 2, false, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CANNER", new Object[] { aTextWirePump, aTextCableHull, "GGG", 'M', @@ -992,13 +932,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Centrifuge", 1, MachineType.CENTRIFUGE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes, + RecipeMaps.centrifugeRecipes, 2, 6, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CENTRIFUGE", new Object[] { "CEC", aTextWireHull, "CEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', @@ -1012,13 +950,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Centrifuge", 2, MachineType.CENTRIFUGE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes, + RecipeMaps.centrifugeRecipes, 2, 6, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CENTRIFUGE", new Object[] { "CEC", aTextWireHull, "CEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', @@ -1032,13 +968,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Turbo Centrifuge", 3, MachineType.CENTRIFUGE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes, + RecipeMaps.centrifugeRecipes, 2, 6, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CENTRIFUGE", new Object[] { "CEC", aTextWireHull, "CEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', @@ -1052,13 +986,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Molecular Separator", 4, MachineType.CENTRIFUGE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes, + RecipeMaps.centrifugeRecipes, 2, 6, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CENTRIFUGE", new Object[] { "CEC", aTextWireHull, "CEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', @@ -1072,13 +1004,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Molecular Cyclone", 5, MachineType.CENTRIFUGE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes, + RecipeMaps.centrifugeRecipes, 2, 6, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CENTRIFUGE", new Object[] { "CEC", aTextWireHull, "CEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', @@ -1095,13 +1025,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Chemical Bath", 1, MachineType.CHEMICAL_BATH.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes, + RecipeMaps.chemicalBathRecipes, 1, 3, true, SoundResource.NONE, - false, - true, SpecialEffects.NONE, "CHEMICAL_BATH", new Object[] { "VGW", "PGV", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -1117,13 +1045,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Bath", 2, MachineType.CHEMICAL_BATH.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes, + RecipeMaps.chemicalBathRecipes, 1, 3, true, SoundResource.NONE, - false, - true, SpecialEffects.NONE, "CHEMICAL_BATH", new Object[] { "VGW", "PGV", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -1139,13 +1065,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Bath II", 3, MachineType.CHEMICAL_BATH.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes, + RecipeMaps.chemicalBathRecipes, 1, 3, true, SoundResource.NONE, - false, - true, SpecialEffects.NONE, "CHEMICAL_BATH", new Object[] { "VGW", "PGV", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -1161,13 +1085,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Bath III", 4, MachineType.CHEMICAL_BATH.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes, + RecipeMaps.chemicalBathRecipes, 1, 3, true, SoundResource.NONE, - false, - true, SpecialEffects.NONE, "CHEMICAL_BATH", new Object[] { "VGW", "PGV", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -1183,13 +1105,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Bath IV", 5, MachineType.CHEMICAL_BATH.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes, + RecipeMaps.chemicalBathRecipes, 1, 3, true, SoundResource.NONE, - false, - true, SpecialEffects.NONE, "CHEMICAL_BATH", new Object[] { "VGW", "PGV", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P', @@ -1208,13 +1128,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Chemical Reactor", 1, MachineType.CHEMICAL_REACTOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalRecipes, + RecipeMaps.chemicalReactorRecipes, 2, 2, true, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CHEMICAL_REACTOR", new Object[] { "GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', @@ -1230,13 +1148,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Reactor", 2, MachineType.CHEMICAL_REACTOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalRecipes, + RecipeMaps.chemicalReactorRecipes, 2, 2, true, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CHEMICAL_REACTOR", new Object[] { "GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', @@ -1252,13 +1168,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Reactor II", 3, MachineType.CHEMICAL_REACTOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalRecipes, + RecipeMaps.chemicalReactorRecipes, 2, 2, true, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CHEMICAL_REACTOR", new Object[] { "GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', @@ -1274,13 +1188,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Reactor III", 4, MachineType.CHEMICAL_REACTOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalRecipes, + RecipeMaps.chemicalReactorRecipes, 2, 2, true, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CHEMICAL_REACTOR", new Object[] { "GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', @@ -1296,13 +1208,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Chemical Reactor IV", 5, MachineType.CHEMICAL_REACTOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sChemicalRecipes, + RecipeMaps.chemicalReactorRecipes, 2, 2, true, SoundResource.IC2_MACHINES_EXTRACTOR_OP, - false, - false, SpecialEffects.NONE, "CHEMICAL_REACTOR", new Object[] { "GRG", "WEW", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R', @@ -1321,13 +1231,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Circuit Assembler", 1, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1343,13 +1251,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler", 2, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1365,13 +1271,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler II", 3, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1387,13 +1291,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler III", 4, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1409,13 +1311,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler IV", 5, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1431,13 +1331,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler V", 6, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1453,13 +1351,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler VI", 7, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1475,13 +1371,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Circuit Assembler VII", 8, MachineType.CIRCUIT_ASSEMBLER.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes, + RecipeMaps.circuitAssemblerRecipes, 6, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CIRCUITASSEMBLER", new Object[] { "ACE", "VMV", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'V', @@ -1500,13 +1394,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Compressor", 1, MachineType.COMPRESSOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCompressorRecipes, + RecipeMaps.compressorRecipes, 1, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "COMPRESSOR", new Object[] { aTextWireCoil, aTextPlateMotor, aTextWireCoil, 'M', @@ -1521,13 +1413,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Compressor", 2, MachineType.COMPRESSOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCompressorRecipes, + RecipeMaps.compressorRecipes, 1, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "COMPRESSOR", new Object[] { aTextWireCoil, aTextPlateMotor, aTextWireCoil, 'M', @@ -1542,13 +1432,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Compressor II", 3, MachineType.COMPRESSOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCompressorRecipes, + RecipeMaps.compressorRecipes, 1, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "COMPRESSOR", new Object[] { aTextWireCoil, aTextPlateMotor, aTextWireCoil, 'M', @@ -1563,13 +1451,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Compressor III", 4, MachineType.COMPRESSOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCompressorRecipes, + RecipeMaps.compressorRecipes, 1, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "COMPRESSOR", new Object[] { aTextWireCoil, aTextPlateMotor, aTextWireCoil, 'M', @@ -1584,13 +1470,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Singularity Compressor", 5, MachineType.COMPRESSOR.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCompressorRecipes, + RecipeMaps.compressorRecipes, 1, 1, false, SoundResource.IC2_MACHINES_COMPRESSOR_OP, - false, - false, SpecialEffects.NONE, "COMPRESSOR", new Object[] { aTextWireCoil, aTextPlateMotor, aTextWireCoil, 'M', @@ -1608,13 +1492,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Basic Cutting Machine", 1, MachineType.CUTTING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCutterRecipes, + RecipeMaps.cutterRecipes, 1, 2, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CUTTER", new Object[] { "WCG", "VMB", "CWE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E', @@ -1631,13 +1513,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable { "Advanced Cutting Machine", 2, MachineType.CUTTING_MACHINE.tooltipDescription(), - GT_Recipe.GT_Recipe_Map.sCutterRecipes, + RecipeMaps.cutterRecipes, 2, 2, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "CUTTER", new Object[] { "WCG", "VMB", "C