aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2023-12-04 05:34:27 +0900
committerGitHub <noreply@github.com>2023-12-03 21:34:27 +0100
commitf74c7cc297d1d19d38a19683cd277ad9ce605d3a (patch)
treeb2a5d66ec5a959099240fb1db239ffc0f9531839 /src
parentb08cde7de4ec93cba05fb070991ad1dffb800ce1 (diff)
downloadGT5-Unofficial-f74c7cc297d1d19d38a19683cd277ad9ce605d3a.tar.gz
GT5-Unofficial-f74c7cc297d1d19d38a19683cd277ad9ce605d3a.tar.bz2
GT5-Unofficial-f74c7cc297d1d19d38a19683cd277ad9ce605d3a.zip
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>
Diffstat (limited to 'src')
-rw-r--r--src/main/java/gregtech/GT_Mod.java44
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java43
-rw-r--r--src/main/java/gregtech/api/enums/Element.java3
-rw-r--r--src/main/java/gregtech/api/enums/ItemList.java1
-rw-r--r--src/main/java/gregtech/api/enums/MachineType.java4
-rw-r--r--src/main/java/gregtech/api/enums/MetaTileEntityIDs.java1
-rw-r--r--src/main/java/gregtech/api/gui/modularui/GT_UITextures.java7
-rw-r--r--src/main/java/gregtech/api/interfaces/IRecipeMap.java (renamed from src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java)16
-rw-r--r--src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java26
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java8
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IOverclockDescriptionProvider.java15
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/IRecipeLockable.java5
-rw-r--r--src/main/java/gregtech/api/interfaces/tileentity/RecipeMapWorkable.java49
-rw-r--r--src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java4
-rw-r--r--src/main/java/gregtech/api/logic/ComplexParallelProcessingLogic.java7
-rw-r--r--src/main/java/gregtech/api/logic/ProcessingLogic.java174
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java4
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java22
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java325
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java14
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java278
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java8
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java31
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java10
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java17
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java107
-rw-r--r--src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java4
-rw-r--r--src/main/java/gregtech/api/objects/overclockdescriber/EUNoOverclockDescriber.java110
-rw-r--r--src/main/java/gregtech/api/objects/overclockdescriber/EUOverclockDescriber.java80
-rw-r--r--src/main/java/gregtech/api/objects/overclockdescriber/FusionOverclockDescriber.java69
-rw-r--r--src/main/java/gregtech/api/objects/overclockdescriber/OverclockDescriber.java106
-rw-r--r--src/main/java/gregtech/api/objects/overclockdescriber/SteamOverclockDescriber.java64
-rw-r--r--src/main/java/gregtech/api/recipe/BasicUIProperties.java251
-rw-r--r--src/main/java/gregtech/api/recipe/BasicUIPropertiesBuilder.java264
-rw-r--r--src/main/java/gregtech/api/recipe/FindRecipeQuery.java178
-rw-r--r--src/main/java/gregtech/api/recipe/NEIRecipeProperties.java89
-rw-r--r--src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java100
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeCategories.java56
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeCategory.java81
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeCategoryHolder.java13
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeCategorySetting.java52
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMap.java395
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMapBackend.java461
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMapBackendProperties.java77
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMapBackendPropertiesBuilder.java119
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMapBuilder.java522
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMapFrontend.java395
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMaps.java1177
-rw-r--r--src/main/java/gregtech/api/recipe/RecipeMetadataKey.java84
-rw-r--r--src/main/java/gregtech/api/recipe/check/FindRecipeResult.java125
-rw-r--r--src/main/java/gregtech/api/recipe/check/RecipeValidator.java80
-rw-r--r--src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java25
-rw-r--r--src/main/java/gregtech/api/recipe/maps/AssemblerBackend.java35
-rw-r--r--src/main/java/gregtech/api/recipe/maps/AssemblyLineFrontend.java76
-rw-r--r--src/main/java/gregtech/api/recipe/maps/DistillationTowerFrontend.java38
-rw-r--r--src/main/java/gregtech/api/recipe/maps/FluidCannerBackend.java73
-rw-r--r--src/main/java/gregtech/api/recipe/maps/FluidOnlyFrontend.java33
-rw-r--r--src/main/java/gregtech/api/recipe/maps/FormingPressBackend.java92
-rw-r--r--src/main/java/gregtech/api/recipe/maps/FuelBackend.java75
-rw-r--r--src/main/java/gregtech/api/recipe/maps/FurnaceBackend.java52
-rw-r--r--src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java132
-rw-r--r--src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelFrontend.java25
-rw-r--r--src/main/java/gregtech/api/recipe/maps/LargeNEIFrontend.java65
-rw-r--r--src/main/java/gregtech/api/recipe/maps/MicrowaveBackend.java145
-rw-r--r--src/main/java/gregtech/api/recipe/maps/NonGTBackend.java52
-rw-r--r--src/main/java/gregtech/api/recipe/maps/OilCrackerBackend.java41
-rw-r--r--src/main/java/gregtech/api/recipe/maps/PrinterBackend.java142
-rw-r--r--src/main/java/gregtech/api/recipe/maps/RecyclerBackend.java51
-rw-r--r--src/main/java/gregtech/api/recipe/maps/ReplicatorBackend.java100
-rw-r--r--src/main/java/gregtech/api/recipe/maps/SpaceProjectFrontend.java131
-rw-r--r--src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java56
-rw-r--r--src/main/java/gregtech/api/recipe/maps/UnpackagerBackend.java53
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/EmptyRecipeMetadataStorage.java50
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/IRecipeMetadataStorage.java34
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/PCBFactoryTierKey.java30
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgrade.java7
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgradeKey.java32
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/RecipeMetadataStorage.java56
-rw-r--r--src/main/java/gregtech/api/recipe/metadata/SimpleRecipeMetadataKey.java27
-rw-r--r--src/main/java/gregtech/api/util/FieldsAreNonnullByDefault.java18
-rw-r--r--src/main/java/gregtech/api/util/GT_Config.java14
-rw-r--r--src/main/java/gregtech/api/util/GT_Forestry_Compat.java25
-rw-r--r--src/main/java/gregtech/api/util/GT_LanguageManager.java1
-rw-r--r--src/main/java/gregtech/api/util/GT_ModHandler.java34
-rw-r--r--src/main/java/gregtech/api/util/GT_OverclockCalculator.java34
-rw-r--r--src/main/java/gregtech/api/util/GT_ParallelHelper.java66
-rw-r--r--src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java8
-rw-r--r--src/main/java/gregtech/api/util/GT_Recipe.java5789
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeBuilder.java257
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeConstants.java125
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeMapUtil.java28
-rw-r--r--src/main/java/gregtech/api/util/GT_RecipeRegistrator.java113
-rw-r--r--src/main/java/gregtech/api/util/GT_StreamUtil.java44
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java27
-rw-r--r--src/main/java/gregtech/api/util/MethodsReturnNonnullByDefault.java22
-rw-r--r--src/main/java/gregtech/api/util/VoidProtectionHelper.java22
-rw-r--r--src/main/java/gregtech/client/GT_GUI_ClientConfig.java10
-rw-r--r--src/main/java/gregtech/common/GT_Client.java42
-rw-r--r--src/main/java/gregtech/common/GT_Proxy.java35
-rw-r--r--src/main/java/gregtech/common/GT_RecipeAdder.java369
-rw-r--r--src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java22
-rw-r--r--src/main/java/gregtech/common/fluid/GT_Fluid.java9
-rw-r--r--src/main/java/gregtech/common/gui/modularui/UIHelper.java82
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java125
-rw-r--r--src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java62
-rw-r--r--src/main/java/gregtech/common/items/ItemComb.java12
-rw-r--r--src/main/java/gregtech/common/items/ItemDrop.java10
-rw-r--r--src/main/java/gregtech/common/items/ItemPropolis.java8
-rw-r--r--src/main/java/gregtech/common/misc/spaceprojects/SpaceProjectManager.java18
-rw-r--r--src/main/java/gregtech/common/power/BasicMachineEUPower.java74
-rw-r--r--src/main/java/gregtech/common/power/EUPower.java58
-rw-r--r--src/main/java/gregtech/common/power/FusionPower.java52
-rw-r--r--src/main/java/gregtech/common/power/Power.java73
-rw-r--r--src/main/java/gregtech/common/power/SteamPower.java54
-rw-r--r--src/main/java/gregtech/common/power/UnspecifiedEUPower.java28
-rw-r--r--src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_RecipeFilter.java67
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java20
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/IRecipeProcessingAwareHatch.java21
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java11
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java31
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java97
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java26
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_PotionBrewer.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java94
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_RockBreaker.java9
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java20
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java80
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java4
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java18
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java8
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java58
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer1.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer2.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer3.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java13
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java15
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java16
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_GasAdvanced.java16
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java21
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java3
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java20
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java14
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java10
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java6
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/multiblock/Macerator.java5
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java7
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java13
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java13
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java7
-rw-r--r--src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java5
-rw-r--r--src/main/java/gregtech/loaders/load/GT_FuelLoader.java31
-rw-r--r--src/main/java/gregtech/loaders/load/GT_ItemIterator.java30
-rw-r--r--src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java888
-rw-r--r--src/main/java/gregtech/loaders/misc/GT_Achievements.java16
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java12
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java30
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java106
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java36
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java18
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java8
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java92
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java24
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java6
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java98
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java42
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java14
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java72
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java15
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java22
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java8
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java33
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java8
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java30
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java68
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java8
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRotor.java16
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java12
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java133
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java20
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java12
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java76
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java4
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java46
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java24
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java2
-rw-r--r--src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java68
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_ExtremeDieselFuelLoader.java22
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_PostLoad.java221
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java92
-rw-r--r--src/main/java/gregtech/loaders/postload/GT_UUMRecipeLoader.java7
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java50
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java4
-rw-r--r--src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java487
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java12
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java47
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java1260
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java48
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java88
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java130
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java118
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java14
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java182
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java82
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java410
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java42
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java36
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java8
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java14
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java140
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java62
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java4
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java80
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java22
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java171
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java20
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java130
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java38
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java40
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java34
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java72
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java14
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java12
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java302
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java10
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java12
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java128
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java26
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java6
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java10
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java4
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java14
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java100
-rw-r--r--src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java18
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java36
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java9
-rw-r--r--src/main/java/gregtech/loaders/preload/GT_PreLoad.java53
-rw-r--r--src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java21
-rw-r--r--src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java878
-rw-r--r--src/main/java/gregtech/nei/HeatingCoilSpecialValueFormatter.java22
-rw-r--r--src/main/java/gregtech/nei/IMCForNEI.java71
-rw-r--r--src/main/java/gregtech/nei/INEISpecialInfoFormatter.java21
-rw-r--r--src/main/java/gregtech/nei/NEIRecipeInfo.java45
-rw-r--r--src/main/java/gregtech/nei/NEI_GT_Config.java149
-rw-r--r--src/main/java/gregtech/nei/NEI_TransferRectHost.java14
-rw-r--r--src/main/java/gregtech/nei/RecipeDisplayInfo.java99
-rw-r--r--src/main/java/gregtech/nei/RecipeMapHandler.java39
-rw-r--r--src/main/java/gregtech/nei/formatter/DefaultSpecialValueFormatter.java36
-rw-r--r--src/main/java/gregtech/nei/formatter/FuelSpecialValueFormatter.java27
-rw-r--r--src/main/java/gregtech/nei/formatter/FusionSpecialValueFormatter.java (renamed from src/main/java/gregtech/nei/FusionSpecialValueFormatter.java)25
-rw-r--r--src/main/java/gregtech/nei/formatter/HeatingCoilSpecialValueFormatter.java30
-rw-r--r--src/main/java/gregtech/nei/formatter/INEISpecialInfoFormatter.java24
-rw-r--r--src/main/java/gregtech/nei/formatter/SimpleSpecialValueFormatter.java49
-rw-r--r--src/main/resources/assets/gregtech/lang/en_US.lang59
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/background/nei_single_recipe.pngbin0 -> 150 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_molding.pngbin0 -> 448 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_recycling.pngbin0 -> 350 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/arc_furnace_recycling.pngbin0 -> 325 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/fluid_extractor_recycling.pngbin0 -> 336 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/forge_hammer_recycling.pngbin0 -> 344 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/macerator_recycling.pngbin0 -> 284 bytes
-rw-r--r--src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.pngbin0 -> 325 bytes
305 files changed, 12587 insertions, 12877 deletions
diff --git a/src/main/java/gregtech/GT_Mod.java b/src/main/java/gregtech/GT_Mod.java
index b1146a10bb..59ee674e75 100644
--- a/src/main/java/gregtech/GT_Mod.java
+++ b/src/main/java/gregtech/GT_Mod.java
@@ -31,6 +31,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import com.google.common.base.Stopwatch;
+import com.google.common.collect.SetMultimap;
import appeng.api.AEApi;
import cpw.mods.fml.common.FMLCommonHandler;
@@ -63,6 +64,7 @@ import gregtech.api.metatileentity.BaseMetaPipeEntity;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.ItemData;
import gregtech.api.objects.XSTR;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.threads.GT_Runnable_MachineBlockUpdate;
import gregtech.api.util.GT_Assemblyline_Server;
import gregtech.api.util.GT_Forestry_Compat;
@@ -100,7 +102,6 @@ import gregtech.loaders.postload.GT_BlockResistanceLoader;
import gregtech.loaders.postload.GT_BookAndLootLoader;
import gregtech.loaders.postload.GT_CraftingRecipeLoader;
import gregtech.loaders.postload.GT_CropLoader;
-import gregtech.loaders.postload.GT_ExtremeDieselFuelLoader;
import gregtech.loaders.postload.GT_FakeRecipeLoader;
import gregtech.loaders.postload.GT_ItemMaxStacksizeLoader;
import gregtech.loaders.postload.GT_MachineRecipeLoader;
@@ -118,7 +119,6 @@ import gregtech.loaders.preload.GT_Loader_MultiTileEntities;
import gregtech.loaders.preload.GT_Loader_OreDictionary;
import gregtech.loaders.preload.GT_Loader_OreProcessing;
import gregtech.loaders.preload.GT_PreLoad;
-import gregtech.nei.IMCForNEI;
import ic2.api.recipe.IRecipeInput;
import ic2.api.recipe.RecipeOutput;
@@ -362,7 +362,6 @@ public class GT_Mod implements IGT_Mod {
if (Mods.HoloInventory.isModLoaded()) {
HoloInventory.init();
}
- IMCForNEI.IMCSender();
GregTech_API.sLoadFinished = true;
GT_Log.out.println("GT_Mod: Load-Phase finished!");
GT_Log.ore.println("GT_Mod: Load-Phase finished!");
@@ -522,7 +521,6 @@ public class GT_Mod implements IGT_Mod {
.forEach(GT_ModHandler::removeRecipeByOutputDelayed);
GT_PostLoad.nerfVanillaTools();
- new GT_ExtremeDieselFuelLoader().run();
/*
* Until this point most crafting recipe additions, and removals, have been buffered. Go through, execute the
@@ -579,6 +577,7 @@ public class GT_Mod implements IGT_Mod {
@Mod.EventHandler
public void onLoadComplete(FMLLoadCompleteEvent aEvent) {
+ gregtechproxy.onLoadComplete();
for (Runnable tRunnable : GregTech_API.sGTCompleteLoad) {
try {
tRunnable.run();
@@ -612,33 +611,17 @@ public class GT_Mod implements IGT_Mod {
gregtechproxy.onServerStarting();
// Check for more IC2 recipes on ServerStart to also catch MineTweaker additions
- GT_ModHandler.addIC2RecipesToGT(
- GT_ModHandler.getMaceratorRecipeList(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
- true,
- true,
- true);
- GT_ModHandler.addIC2RecipesToGT(
- GT_ModHandler.getCompressorRecipeList(),
- GT_Recipe.GT_Recipe_Map.sCompressorRecipes,
- true,
- true,
- true);
- GT_ModHandler.addIC2RecipesToGT(
- GT_ModHandler.getExtractorRecipeList(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
- true,
- true,
- true);
- GT_ModHandler.addIC2RecipesToGT(
- GT_ModHandler.getOreWashingRecipeList(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
- false,
- true,
- true);
+ GT_ModHandler
+ .addIC2RecipesToGT(GT_ModHandler.getMaceratorRecipeList(), RecipeMaps.maceratorRecipes, true, true, true);
+ GT_ModHandler
+ .addIC2RecipesToGT(GT_ModHandler.getCompressorRecipeList(), RecipeMaps.compressorRecipes, true, true, true);
+ GT_ModHandler
+ .addIC2RecipesToGT(GT_ModHandler.getExtractorRecipeList(), RecipeMaps.extractorRecipes, true, true, true);
+ GT_ModHandler
+ .addIC2RecipesToGT(GT_ModHandler.getOreWashingRecipeList(), RecipeMaps.oreWasherRecipes, false, true, true);
GT_ModHandler.addIC2RecipesToGT(
GT_ModHandler.getThermalCentrifugeRecipeList(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
true,
true,
true);
@@ -814,6 +797,9 @@ public class GT_Mod implements IGT_Mod {
for (Map<? extends GT_ItemStack, ?> gt_itemStackMap : GregTech_API.sItemStackMappings) {
GT_Utility.reMap(gt_itemStackMap);
}
+ for (SetMultimap<? extends GT_ItemStack, ?> gt_itemStackMap : GregTech_API.itemStackMultiMaps) {
+ GT_Utility.reMap(gt_itemStackMap);
+ }
} catch (Throwable e) {
e.printStackTrace(GT_Log.err);
}
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index 6848c66a38..c5e27aebca 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -36,6 +36,7 @@ import net.minecraft.world.World;
import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
+import com.google.common.collect.SetMultimap;
import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
@@ -107,6 +108,7 @@ public class GregTech_API {
* Fixes the HashMap Mappings for ItemStacks once the Server started
*/
public static final Collection<Map<? extends GT_ItemStack, ?>> sItemStackMappings = new ArrayList<>();
+ public static final Collection<SetMultimap<? extends GT_ItemStack, ?>> itemStackMultiMaps = new ArrayList<>();
/**
* The MetaTileEntity-ID-List-Length
@@ -121,17 +123,36 @@ public class GregTech_API {
/**
* A List of all registered MetaTileEntities
* <p/>
- * 0 - 749 are used by GregTech. 750 - 999 are reserved for Alkalus. 1000 - 2047 are used by GregTech. 2048 - 2559
- * are reserved for OvermindDL. 2560 - 3071 are reserved for Immibis. 3072 - 3583 are reserved for LinusPhoenix.
- * 3584 - 4095 are reserved for BloodyAsp. 4096 - 5095 are used for GregTech Frames. 5096 - 6099 are used for
- * GregTech Pipes. 6100 - 8191 are used for GregTech Decoration Blocks. 8192 - 8703 are reserved for ZL123. 8704 -
- * 9215 are reserved for Mr10Movie. 9216 - 9727 are used for GregTech Automation Machines. 9728 - 10239 are reserved
- * for 28Smiles. 10240 - 10751 are reserved for VirMan. 10752 - 11263 are reserved for Briareos81. 11264 - 12000 are
- * reserved for Quantum64. 12001 - 12500 are reserved for RedMage17. 12501 - 13000 are reserved for bartimaeusnek.
- * 13001 - 13100 are reserved for Techlone 13101 - 13500 are reserved for kekzdealer 13501 - 14000 are reserved for
- * glee8e. 14001 - 14100 are reserved for glowredman 14101 - 14200 are reserved for MuXiu1997. 14201 - 14300 are
- * reserved for kuba6000. 14301 - 14999 are currently free. 15000 - 16999 are reserved for TecTech. 17000 - 29999
- * are currently free. 30000 - 31999 are reserved for Alkalus. 32001 - 32766 are reserved for Glod.
+ * 0 - 749 are used by GregTech.
+ * 750 - 999 are reserved for Alkalus.
+ * 1000 - 2047 are used by GregTech.
+ * 2048 - 2559 are reserved for OvermindDL.
+ * 2560 - 3071 are reserved for Immibis.
+ * 3072 - 3583 are reserved for LinusPhoenix.
+ * 3584 - 4095 are reserved for BloodyAsp.
+ * 4096 - 5095 are used for GregTech Frames.
+ * 5096 - 6099 are used for GregTech Pipes.
+ * 6100 - 8191 are used for GregTech Decoration Blocks.
+ * 8192 - 8703 are reserved for ZL123.
+ * 8704 - 9215 are reserved for Mr10Movie.
+ * 9216 - 9727 are used for GregTech Automation Machines.
+ * 9728 - 10239 are reserved for 28Smiles.
+ * 10240 - 10751 are reserved for VirMan.
+ * 10752 - 11263 are reserved for Briareos81.
+ * 11264 - 12000 are reserved for Quantum64.
+ * 12001 - 12500 are reserved for RedMage17.
+ * 12501 - 13000 are reserved for bartimaeusnek.
+ * 13001 - 13100 are reserved for Techlone.
+ * 13101 - 13500 are reserved for kekzdealer.
+ * 13501 - 14000 are reserved for glee8e.
+ * 14001 - 14100 are reserved for glowredman.
+ * 14101 - 14200 are reserved for MuXiu1997.
+ * 14201 - 14300 are reserved for kuba6000.
+ * 14301 - 14999 are currently free.
+ * 15000 - 16999 are reserved for TecTech.
+ * 17000 - 29999 are currently free.
+ * 30000 - 31999 are reserved for Alkalus.
+ * 32001 - 32766 are reserved for Glod.
* <p/>
* Contact me if you need a free ID-Range, which doesn't conflict with other Addons. You could make an ID-Config,
* but we all know what "stupid" customers think about conflicting ID's
diff --git a/src/main/java/gregtech/api/enums/Element.java b/src/main/java/gregtech/api/enums/Element.java
index a0f8e6c0b1..0931663b0b 100644
--- a/src/main/java/gregtech/api/enums/Element.java
+++ b/src/main/java/gregtech/api/enums/Element.java
@@ -4,6 +4,8 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
+import javax.annotation.Nonnull;
+
/**
* This is some kind of Periodic Table, which I use to determine Properties of the Materials.
*/
@@ -308,6 +310,7 @@ public enum Element {
Companion.VALUES.put(name(), this);
}
+ @Nonnull
public static Element get(String aMaterialName) {
return Companion.VALUES.getOrDefault(aMaterialName, _NULL);
}
diff --git a/src/main/java/gregtech/api/enums/ItemList.java b/src/main/java/gregtech/api/enums/ItemList.java
index ed2cad0ce1..5ecf39a722 100644
--- a/src/main/java/gregtech/api/enums/ItemList.java
+++ b/src/main/java/gregtech/api/enums/ItemList.java
@@ -807,7 +807,6 @@ public enum ItemList implements IItemContainer {
Machine_Bronze_Hammer,
Machine_Bronze_Compressor,
Machine_Bronze_AlloySmelter,
- Machine_Bronze_BlastFurnace,
Machine_Bricked_BlastFurnace,
Machine_Steel_Boiler_Lava,
Machine_Steel_Boiler,
diff --git a/src/main/java/gregtech/api/enums/MachineType.java b/src/main/java/gregtech/api/enums/MachineType.java
index 7868d80f8f..14e1781350 100644
--- a/src/main/java/gregtech/api/enums/MachineType.java
+++ b/src/main/java/gregtech/api/enums/MachineType.java
@@ -10,7 +10,7 @@ public enum MachineType {
ASSEMBLER(FunnyTexts.ASSEMBLER, "gt.recipe.assembler"),
AUTOCLAVE(FunnyTexts.AUTOCLAVE, "gt.recipe.autoclave"),
BENDING_MACHINE(FunnyTexts.BENDING_MACHINE, "gt.recipe.metalbender"),
- BREWERY(FunnyTexts.BREWERY, "gt.recipe.brewery"),
+ BREWERY(FunnyTexts.BREWERY, "gt.recipe.brewer"),
CANNER(FunnyTexts.CANNER, "gt.recipe.canner"),
CENTRIFUGE(FunnyTexts.CENTRIFUGE, "gt.recipe.centrifuge"),
CHEMICAL_BATH(FunnyTexts.CHEMICAL_BATH, "gt.recipe.chemicalbath"),
@@ -62,7 +62,7 @@ public enum MachineType {
static final String ASSEMBLER = "gt.recipe.assembler.description";
static final String AUTOCLAVE = "gt.recipe.autoclave.description";
static final String BENDING_MACHINE = "gt.recipe.metalbender.description";
- static final String BREWERY = "gt.recipe.brewery.description";
+ static final String BREWERY = "gt.recipe.brewer.description";
static final String CANNER = "gt.recipe.canner.description";
static final String CENTRIFUGE = "gt.recipe.centrifuge.description";
static final String CHEMICAL_BATH = "gt.recipe.chemicalbath.description";
diff --git a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
index ace5f620d4..3994a02085 100644
--- a/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
+++ b/src/main/java/gregtech/api/enums/MetaTileEntityIDs.java
@@ -108,7 +108,6 @@ public enum MetaTileEntityIDs {
SIMPLE_SOLAR_BOILER(105),
STEAM_MACERATOR(106),
HP_STEAM_MACERATOR(107),
- BRONZE_BLAST_FURNACE_CONTROLLER(108),
STEAM_EXTRACTOR(109),
HP_STEAM_EXTRACTOR(110),
AUTO_MAINTENANCE_HATCH(111),
diff --git a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
index 1a47e41e8c..1dd7c9f6d2 100644
--- a/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
+++ b/src/main/java/gregtech/api/gui/modularui/GT_UITextures.java
@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream;
import com.gtnewhorizons.modularui.api.drawable.AdaptableUITexture;
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
import com.gtnewhorizons.modularui.api.drawable.UITexture;
public class GT_UITextures {
@@ -23,6 +24,8 @@ public class GT_UITextures {
.of(GregTech.ID, "gui/background/text_field", 142, 28, 1);
public static final AdaptableUITexture BACKGROUND_TEXT_FIELD_LIGHT_GRAY = AdaptableUITexture
.of(GregTech.ID, "gui/background/text_field_light_gray", 61, 12, 1);
+ public static final AdaptableUITexture BACKGROUND_NEI_SINGLE_RECIPE = AdaptableUITexture
+ .of(GregTech.ID, "gui/background/nei_single_recipe.png", 64, 64, 2);
public static final SteamTexture SLOT_ITEM_STEAM = SteamTexture.fullImage(GregTech.ID, "gui/slot/item_%s");
public static final SteamTexture SLOT_FLUID_STEAM = SteamTexture.fullImage(GregTech.ID, "gui/slot/fluid_%s");
@@ -200,6 +203,10 @@ public class GT_UITextures {
public static final UITexture PROGRESSBAR_STORED_EU = UITexture.fullImage(GregTech.ID, "gui/progressbar/stored_eu");
public static final UITexture PROGRESSBAR_WIREMILL = UITexture.fullImage(GregTech.ID, "gui/progressbar/wiremill");
+ public static FallbackableUITexture fallbackableProgressbar(String name, UITexture fallback) {
+ return new FallbackableUITexture(UITexture.fullImage(GregTech.ID, "gui/progressbar/" + name), fallback);
+ }
+
public static final UITexture TAB_COVER_NORMAL = UITexture.fullImage(GregTech.ID, "gui/tab/cover_normal");
public static final UITexture TAB_COVER_HIGHLIGHT = UITexture.fullImage(GregTech.ID, "gui/tab/cover_highlight");
public static final UITexture TAB_COVER_DISABLED = UITexture.fullImage(GregTech.ID, "gui/tab/cover_disabled");
diff --git a/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java b/src/main/java/gregtech/api/interfaces/IRecipeMap.java
index 2c5259882a..ce48b29927 100644
--- a/src/main/java/gregtech/api/interfaces/IGT_RecipeMap.java
+++ b/src/main/java/gregtech/api/interfaces/IRecipeMap.java
@@ -14,7 +14,7 @@ import gregtech.api.util.GT_Utility;
/**
* Represents the target of a recipe adding action, usually, but not necessarily, is a recipe map itself.
*/
-public interface IGT_RecipeMap {
+public interface IRecipeMap {
/**
* Add a downstream recipe map that will get to handle the original builder.
@@ -27,7 +27,7 @@ public interface IGT_RecipeMap {
*
* @param downstream the downstream recipe map to add
*/
- void addDownstream(IGT_RecipeMap downstream);
+ void addDownstream(IRecipeMap downstream);
/**
* Actually add the recipe represented by the builder. CAN modify the builder's internal states!!!
@@ -41,17 +41,17 @@ public interface IGT_RecipeMap {
* <p>
* The returned recipe map will not have any downstreams, but can accept new downstreams.
*/
- default IGT_RecipeMap deepCopyInput() {
+ default IRecipeMap deepCopyInput() {
return newRecipeMap(b -> doAdd(b.copy()));
}
- static IGT_RecipeMap newRecipeMap(Function<? super GT_RecipeBuilder, Collection<GT_Recipe>> func) {
- return new IGT_RecipeMap() {
+ static IRecipeMap newRecipeMap(Function<? super GT_RecipeBuilder, Collection<GT_Recipe>> func) {
+ return new IRecipeMap() {
- private final Collection<IGT_RecipeMap> downstreams = new ArrayList<>();
+ private final Collection<IRecipeMap> downstreams = new ArrayList<>();
@Override
- public void addDownstream(IGT_RecipeMap downstream) {
+ public void addDownstream(IRecipeMap downstream) {
downstreams.add(downstream);
}
@@ -63,7 +63,7 @@ public interface IGT_RecipeMap {
ret.add(out);
builder.clearInvalid();
if (!out.isEmpty()) {
- for (IGT_RecipeMap downstream : downstreams) {
+ for (IRecipeMap downstream : downstreams) {
ret.add(downstream.doAdd(builder));
}
}
diff --git a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
index 361e391a9b..e7abfea98f 100644
--- a/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
+++ b/src/main/java/gregtech/api/interfaces/internal/IGT_RecipeAdder.java
@@ -321,17 +321,6 @@ public interface IGT_RecipeAdder {
boolean hidden);
/**
- * Adds a CNC-Machine Recipe
- *
- * @param aInput1 must be != null
- * @param aOutput1 must be != null
- * @param aDuration must be > 0
- * @param aEUt should be > 0
- */
- @Deprecated
- boolean addCNCRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt);
-
- /**
* Adds an Assembler Recipe
*
* @param aInput1 must be != null
@@ -1047,21 +1036,6 @@ public interface IGT_RecipeAdder {
FluidStack[] aFluidOutputs, int[] aChances, int aDuration, int aEUt, int aSpecialValue);
/**
- * Add a Board Manufacturer Recipe. The Board Manufacturer's main use is to make the circuit boards needed to make
- * circuits.
- *
- * @param aInputs must not be null
- * @param aFluidInputs must not be null
- * @param aOutputs must not be null
- * @param aDuration recipe duration
- * @param aEUt recipe EU/t expenditure
- * @param aSpecialValue defines the tier of the board manufacturer required.
- */
- @Deprecated
- boolean addPCBFactoryRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, int aDuration,
- int aEUt, int aSpecialValue);
-
- /**
* Add a breeder cell.
*
* @param input raw stack. should be undamaged.
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
index ba164352aa..04522b1012 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
@@ -38,7 +38,6 @@ import gregtech.api.interfaces.tileentity.IMachineBlockUpdateable;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_Util;
-import gregtech.common.power.Power;
/**
* Warning, this Interface has just been made to be able to add multiple kinds of MetaTileEntities (Cables, Pipes,
@@ -366,13 +365,6 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
String getSpecialVoltageToolTip();
/**
- * @return Power object used for displaying in NEI
- */
- default Power getPower() {
- return null;
- }
-
- /**
* Icon of the Texture. If this returns null then it falls back to getTextureIndex.
*
* @param side is the Side of the Block
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IOverclockDescriptionProvider.java b/src/main/java/gregtech/api/interfaces/tileentity/IOverclockDescriptionProvider.java
new file mode 100644
index 0000000000..495cd9def4
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IOverclockDescriptionProvider.java
@@ -0,0 +1,15 @@
+package gregtech.api.interfaces.tileentity;
+
+import javax.annotation.Nullable;
+
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+
+/**
+ * Classes implementing this interface can provide {@link OverclockDescriber} to provide overclock behavior and NEI
+ * description.
+ */
+public interface IOverclockDescriptionProvider {
+
+ @Nullable
+ OverclockDescriber getOverclockDescriber();
+}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/IRecipeLockable.java b/src/main/java/gregtech/api/interfaces/tileentity/IRecipeLockable.java
index f793221a50..54d178af3c 100644
--- a/src/main/java/gregtech/api/interfaces/tileentity/IRecipeLockable.java
+++ b/src/main/java/gregtech/api/interfaces/tileentity/IRecipeLockable.java
@@ -1,12 +1,11 @@
package gregtech.api.interfaces.tileentity;
import gregtech.api.recipe.check.SingleRecipeCheck;
-import gregtech.api.util.GT_Recipe;
/**
* Machines implementing this interface can have logic to lock to a single recipe.
*/
-public interface IRecipeLockable {
+public interface IRecipeLockable extends RecipeMapWorkable {
/**
* @return if this machine supports single recipe locking.
@@ -29,6 +28,4 @@ public interface IRecipeLockable {
}
default void setSingleRecipeCheck(SingleRecipeCheck recipeCheck) {}
-
- GT_Recipe.GT_Recipe_Map getRecipeMap();
}
diff --git a/src/main/java/gregtech/api/interfaces/tileentity/RecipeMapWorkable.java b/src/main/java/gregtech/api/interfaces/tileentity/RecipeMapWorkable.java
new file mode 100644
index 0000000000..7d4db4396c
--- /dev/null
+++ b/src/main/java/gregtech/api/interfaces/tileentity/RecipeMapWorkable.java
@@ -0,0 +1,49 @@
+package gregtech.api.interfaces.tileentity;
+
+import java.util.Collection;
+import java.util.Collections;
+
+import javax.annotation.Nonnull;
+
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.recipe.RecipeMap;
+
+/**
+ * Machines implementing this interface are capable of executing certain recipes provided by {@link RecipeMap}.
+ * They will also be automatically registered as NEI recipe catalyst for the corresponding recipemaps.
+ */
+public interface RecipeMapWorkable {
+
+ /**
+ * @return RecipeMap this machine currently can execute. In general, it's allowed to be null.
+ */
+ RecipeMap<?> getRecipeMap();
+
+ /**
+ * @return ItemStack form of this machine.
+ */
+ ItemStack getStackForm(long amount);
+
+ /**
+ * If the machine supports multiple recipemaps by switching mode, override this method so that it will be displayed
+ * as NEI recipe catalyst on all the supported recipemaps.
+ *
+ * @return List of possible {@link RecipeMap}s this machine can execute. Must not contain null element.
+ */
+ @Nonnull
+ default Collection<RecipeMap<?>> getAvailableRecipeMaps() {
+ RecipeMap<?> recipeMap = getRecipeMap();
+ if (recipeMap != null) {
+ return Collections.singletonList(recipeMap);
+ }
+ return Collections.emptyList();
+ }
+
+ /**
+ * @return Priority for NEI recipe catalyst. Higher priority comes first.
+ */
+ default int getRecipeCatalystPriority() {
+ return 0;
+ }
+}
diff --git a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java
index 828fab4368..465c4bc9d6 100644
--- a/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java
+++ b/src/main/java/gregtech/api/items/GT_MetaGenerated_Item.java
@@ -3,7 +3,7 @@ package gregtech.api.items;
import static gregtech.api.enums.GT_Values.D1;
import static gregtech.api.enums.Mods.AppleCore;
import static gregtech.api.enums.Mods.GregTech;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.cannerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import java.util.ArrayList;
@@ -153,7 +153,7 @@ public abstract class GT_MetaGenerated_Item extends GT_MetaBase_Item implements
: ItemList.IC2_Food_Can_Filled.get(tFoodValue))
.duration(tFoodValue * 5 * SECONDS)
.eut(1)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
}
}
tUseOreDict = false;
diff --git a/src/main/java/gregtech/api/logic/ComplexParallelProcessingLogic.java b/src/main/java/gregtech/api/logic/ComplexParallelProcessingLogic.java
index 05d39cd02c..3c7974db9e 100644
--- a/src/main/java/gregtech/api/logic/ComplexParallelProcessingLogic.java
+++ b/src/main/java/gregtech/api/logic/ComplexParallelProcessingLogic.java
@@ -6,6 +6,7 @@ import net.minecraft.item.ItemStack;
import net.minecraftforge.fluids.FluidStack;
import gregtech.api.multitileentity.multiblock.base.Controller;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_ParallelHelper;
import gregtech.api.util.GT_Recipe;
@@ -13,7 +14,7 @@ import gregtech.api.util.GT_Recipe;
public class ComplexParallelProcessingLogic {
protected Controller<?> tileEntity;
- protected GT_Recipe.GT_Recipe_Map recipeMap;
+ protected RecipeMap<?> recipeMap;
protected boolean hasPerfectOverclock;
protected final int maxComplexParallels;
protected final ItemStack[][] outputItems;
@@ -30,7 +31,7 @@ public class ComplexParallelProcessingLogic {
this(null, maxComplexParallels);
}
- public ComplexParallelProcessingLogic(GT_Recipe.GT_Recipe_Map recipeMap, int maxComplexParallels) {
+ public ComplexParallelProcessingLogic(RecipeMap<?> recipeMap, int maxComplexParallels) {
this.maxComplexParallels = maxComplexParallels;
this.recipeMap = recipeMap;
inputItems = new ItemStack[maxComplexParallels][];
@@ -44,7 +45,7 @@ public class ComplexParallelProcessingLogic {
isFluidVoidProtected = new boolean[maxComplexParallels];
}
- public ComplexParallelProcessingLogic setRecipeMap(GT_Recipe.GT_Recipe_Map recipeMap) {
+ public ComplexParallelProcessingLogic setRecipeMap(RecipeMap<?> recipeMap) {
this.recipeMap = recipeMap;
return this;
}
diff --git a/src/main/java/gregtech/api/logic/ProcessingLogic.java b/src/main/java/gregtech/api/logic/ProcessingLogic.java
index 803abafbe3..6b9f2d454f 100644
--- a/src/main/java/gregtech/api/logic/ProcessingLogic.java
+++ b/src/main/java/gregtech/api/logic/ProcessingLogic.java
@@ -2,6 +2,7 @@ package gregtech.api.logic;
import java.util.List;
import java.util.function.Supplier;
+import java.util.stream.Stream;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
@@ -13,15 +14,13 @@ import org.jetbrains.annotations.NotNull;
import gregtech.api.interfaces.tileentity.IRecipeLockable;
import gregtech.api.interfaces.tileentity.IVoidable;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
-import gregtech.api.recipe.check.FindRecipeResult;
-import gregtech.api.recipe.check.RecipeValidator;
import gregtech.api.recipe.check.SingleRecipeCheck;
import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_ParallelHelper;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
/**
* Logic class to calculate result of recipe check from inputs, based on recipemap.
@@ -31,9 +30,9 @@ public class ProcessingLogic {
protected IVoidable machine;
protected IRecipeLockable recipeLockableMachine;
- protected Supplier<GT_Recipe_Map> recipeMapSupplier;
+ protected Supplier<RecipeMap<?>> recipeMapSupplier;
protected GT_Recipe lastRecipe;
- protected GT_Recipe_Map lastRecipeMap;
+ protected RecipeMap<?> lastRecipeMap;
protected ItemStack specialSlotItem;
protected ItemStack[] inputItems;
protected ItemStack[] outputItems;
@@ -146,11 +145,11 @@ public class ProcessingLogic {
return this;
}
- public ProcessingLogic setRecipeMap(GT_Recipe_Map recipeMap) {
+ public ProcessingLogic setRecipeMap(RecipeMap<?> recipeMap) {
return setRecipeMapSupplier(() -> recipeMap);
}
- public ProcessingLogic setRecipeMapSupplier(Supplier<GT_Recipe_Map> supplier) {
+ public ProcessingLogic setRecipeMapSupplier(Supplier<RecipeMap<?>> supplier) {
this.recipeMapSupplier = supplier;
return this;
}
@@ -263,7 +262,7 @@ public class ProcessingLogic {
*/
@Nonnull
public CheckRecipeResult process() {
- GT_Recipe_Map recipeMap;
+ RecipeMap<?> recipeMap;
if (recipeMapSupplier == null) {
recipeMap = null;
} else {
@@ -278,6 +277,13 @@ public class ProcessingLogic {
maxParallel = maxParallelSupplier.get();
}
+ if (inputItems == null) {
+ inputItems = new ItemStack[0];
+ }
+ if (inputFluids == null) {
+ inputFluids = new FluidStack[0];
+ }
+
if (isRecipeLocked && recipeLockableMachine != null && recipeLockableMachine.getSingleRecipeCheck() != null) {
// Recipe checker is already built, we'll use it
SingleRecipeCheck singleRecipeCheck = recipeLockableMachine.getSingleRecipeCheck();
@@ -287,55 +293,39 @@ public class ProcessingLogic {
return CheckRecipeResultRegistry.NO_RECIPE;
}
- return processRecipe(
+ return validateAndCalculateRecipe(
recipeLockableMachine.getSingleRecipeCheck()
- .getRecipe());
+ .getRecipe()).checkRecipeResult;
}
- FindRecipeResult findRecipeResult = findRecipe(recipeMap);
- // If processRecipe is not overridden, advanced recipe validation logic is used, and we can reuse calculations.
- if (findRecipeResult.hasRecipeValidator()) {
- RecipeValidator recipeValidator = findRecipeResult.getRecipeValidator();
-
- // There are two cases:
- // 1 - there are actually no matching recipes
- // 2 - there are some matching recipes, but we rejected it due to our advanced validation (e.g. OUTPUT_FULL)
- if (findRecipeResult.getState() == FindRecipeResult.State.NOT_FOUND
- && recipeValidator.getFirstCheckResult() != null) {
- // Here we're handling case 2
- // If there are matching recipes but our validation rejected them,
- // we should return a first one to display a proper error in the machine GUI
- return recipeValidator.getFirstCheckResult();
+ Stream<GT_Recipe> matchedRecipes = findRecipeMatches(recipeMap);
+ Iterable<GT_Recipe> recipeIterable = matchedRecipes::iterator;
+ CheckRecipeResult checkRecipeResult = CheckRecipeResultRegistry.NO_RECIPE;
+ for (GT_Recipe matchedRecipe : recipeIterable) {
+ CalculationResult foundResult = validateAndCalculateRecipe(matchedRecipe);
+ if (foundResult.successfullyConsumedInputs) {
+ // Successfully found and set recipe, so return it
+ return foundResult.checkRecipeResult;
}
-
- // If everything is ok, reuse our calculations
- if (recipeValidator.isExecutedAtLeastOnce() && findRecipeResult.isSuccessful()) {
- return applyRecipe(
- findRecipeResult.getRecipeNonNull(),
- recipeValidator.getLastParallelHelper(),
- recipeValidator.getLastOverclockCalculator(),
- recipeValidator.getLastCheckResult());
+ if (foundResult.checkRecipeResult != CheckRecipeResultRegistry.NO_RECIPE) {
+ // Recipe failed in interesting way, so remember that and continue searching
+ checkRecipeResult = foundResult.checkRecipeResult;
}
}
-
- if (!findRecipeResult.isSuccessful()) {
- return CheckRecipeResultRegistry.NO_RECIPE;
- }
-
- return processRecipe(findRecipeResult.getRecipeNonNull());
+ return checkRecipeResult;
}
/**
- * Checks if supplied recipe is valid for process.
- * If so, additionally performs input consumption, output calculation with parallel, and overclock calculation.
+ * Checks if supplied recipe is valid for process. This involves voltage check, output full check. If successful,
+ * additionally performs input consumption, output calculation with parallel, and overclock calculation.
*
* @param recipe The recipe which will be checked and processed
*/
@Nonnull
- protected CheckRecipeResult processRecipe(@Nonnull GT_Recipe recipe) {
+ private CalculationResult validateAndCalculateRecipe(@Nonnull GT_Recipe recipe) {
CheckRecipeResult result = validateRecipe(recipe);
if (!result.wasSuccessful()) {
- return result;
+ return CalculationResult.ofFailure(result);
}
GT_ParallelHelper helper = createParallelHelper(recipe);
@@ -343,19 +333,20 @@ public class ProcessingLogic {
helper.setCalculator(calculator);
helper.build();
- return applyRecipe(recipe, helper, calculator, result);
+ if (!helper.getResult()
+ .wasSuccessful()) {
+ return CalculationResult.ofFailure(helper.getResult());
+ }
+
+ return CalculationResult.ofSuccess(applyRecipe(recipe, helper, calculator, result));
}
/**
- * Applies the recipe and calculated parameters
+ * Check has been succeeded, so it applies the recipe and calculated parameters.
+ * At this point, inputs have been already consumed.
*/
private CheckRecipeResult applyRecipe(@NotNull GT_Recipe recipe, GT_ParallelHelper helper,
GT_OverclockCalculator calculator, CheckRecipeResult result) {
- if (!helper.getResult()
- .wasSuccessful()) {
- return helper.getResult();
- }
-
if (recipe.mCanBeBuffered) {
lastRecipe = recipe;
} else {
@@ -398,30 +389,31 @@ public class ProcessingLogic {
}
/**
- * Override if you don't work with regular gt recipe maps
+ * Finds a list of matched recipes. At this point no additional check to the matched recipe has been done.
+ * <p>
+ * Override {@link #validateRecipe} to have custom check.
+ * <p>
+ * Override this method if it doesn't work with normal recipemaps.
*/
@Nonnull
- protected FindRecipeResult findRecipe(@Nullable GT_Recipe_Map map) {
- if (map == null) return FindRecipeResult.NOT_FOUND;
-
- RecipeValidator recipeValidator = new RecipeValidator(
- this::validateRecipe,
- this::createParallelHelper,
- this::createOverclockCalculator);
-
- FindRecipeResult findRecipeResult = map.findRecipeWithResult(
- lastRecipe,
- recipeValidator,
- false,
- false,
- amperageOC ? availableVoltage * availableAmperage : availableVoltage,
- inputFluids,
- specialSlotItem,
- inputItems);
-
- findRecipeResult.setRecipeValidator(recipeValidator);
+ protected Stream<GT_Recipe> findRecipeMatches(@Nullable RecipeMap<?> map) {
+ if (map == null) {
+ return Stream.empty();
+ }
+ return map.findRecipeQuery()
+ .items(inputItems)
+ .fluids(inputFluids)
+ .specialSlot(specialSlotItem)
+ .cachedRecipe(lastRecipe)
+ .findAll();
+ }
- return findRecipeResult;
+ /**
+ * Override to do additional check for found recipe if needed.
+ */
+ @Nonnull
+ protected CheckRecipeResult validateRecipe(@Nonnull GT_Recipe recipe) {
+ return CheckRecipeResultRegistry.SUCCESSFUL;
}
/**
@@ -443,24 +435,6 @@ public class ProcessingLogic {
}
/**
- * Override to do additional check for finding recipe if needed, mainly for special value of the recipe.
- */
- @Nonnull
- protected CheckRecipeResult validateRecipe(@Nonnull GT_Recipe recipe) {
- return CheckRecipeResultRegistry.SUCCESSFUL;
- }
-
- /**
- * Use {@link #createOverclockCalculator(GT_Recipe)}
- */
- @Nonnull
- @Deprecated
- protected GT_OverclockCalculator createOverclockCalculator(@Nonnull GT_Recipe recipe,
- @Nullable GT_ParallelHelper helper) {
- return createOverclockCalculator(recipe);
- }
-
- /**
* Override to tweak overclock logic if needed.
*/
@Nonnull
@@ -514,4 +488,28 @@ public class ProcessingLogic {
}
// endregion
+
+ /**
+ * Represents the status of check recipe calculation. {@link #successfullyConsumedInputs} does not necessarily mean
+ * {@link #checkRecipeResult} being successful, when duration or power is overflowed. Being failure means
+ * recipe cannot meet requirements and recipe search should be continued if possible.
+ */
+ protected final static class CalculationResult {
+
+ public final boolean successfullyConsumedInputs;
+ public final CheckRecipeResult checkRecipeResult;
+
+ public static CalculationResult ofSuccess(CheckRecipeResult checkRecipeResult) {
+ return new CalculationResult(true, checkRecipeResult);
+ }
+
+ public static CalculationResult ofFailure(CheckRecipeResult checkRecipeResult) {
+ return new CalculationResult(false, checkRecipeResult);
+ }
+
+ private CalculationResult(boolean successfullyConsumedInputs, CheckRecipeResult checkRecipeResult) {
+ this.successfullyConsumedInputs = successfullyConsumedInputs;
+ this.checkRecipeResult = checkRecipeResult;
+ }
+ }
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java
index f17626cdd8..399c536b9f 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Frame.java
@@ -1,6 +1,6 @@
package gregtech.api.metatileentity.implementations;
-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 static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -54,7 +54,7 @@ public class GT_MetaPipeEntity_Frame extends MetaPipeEntity {
.itemOutputs(getStackForm(1))
.duration(3 * SECONDS + 4 * TICKS)
.eut(calculateRecipeEU(aMaterial, 7))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
index 93bbdd2d18..897f9dad6f 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicGenerator.java
@@ -15,14 +15,17 @@ import gregtech.api.enums.Textures;
import gregtech.api.gui.modularui.GT_UIInfos;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.interfaces.tileentity.RecipeMapWorkable;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.maps.FuelBackend;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gregtech.common.GT_Pollution;
-public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity_BasicTank {
+public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity_BasicTank
+ implements RecipeMapWorkable {
public GT_MetaTileEntity_BasicGenerator(int aID, String aName, String aNameRegional, int aTier, String aDescription,
ITexture... aTextures) {
@@ -273,7 +276,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
public abstract int getPollution();
- public abstract GT_Recipe_Map getRecipes();
+ @Override
+ public abstract RecipeMap<?> getRecipeMap();
public abstract int getEfficiency();
@@ -287,8 +291,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
}
public long getFuelValue(FluidStack aLiquid, boolean aLong) {
- GT_Recipe_Map tRecipes = getRecipes();
- if (aLiquid == null || !(tRecipes instanceof GT_Recipe.GT_Recipe_Map_Fuel tFuels)) return 0;
+ RecipeMap<?> tRecipes = getRecipeMap();
+ if (aLiquid == null || !(tRecipes.getBackend() instanceof FuelBackend tFuels)) return 0;
GT_Recipe tFuel = tFuels.findFuel(aLiquid);
if (tFuel == null) return 0;
@@ -301,8 +305,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
}
public long getFuelValue(ItemStack aStack, boolean aLong) {
- if (GT_Utility.isStackInvalid(aStack) || getRecipes() == null) return 0;
- GT_Recipe tFuel = getRecipes().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack);
+ if (GT_Utility.isStackInvalid(aStack) || getRecipeMap() == null) return 0;
+ GT_Recipe tFuel = getRecipeMap().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack);
if (tFuel == null) return 0;
long liters = 10L; // 1000mb/100
@@ -310,8 +314,8 @@ public abstract class GT_MetaTileEntity_BasicGenerator extends GT_MetaTileEntity
}
public ItemStack getEmptyContainer(ItemStack aStack) {
- if (GT_Utility.isStackInvalid(aStack) || getRecipes() == null) return null;
- GT_Recipe tFuel = getRecipes().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack);
+ if (GT_Utility.isStackInvalid(aStack) || getRecipeMap() == null) return null;
+ GT_Recipe tFuel = getRecipeMap().findRecipe(getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack);
if (tFuel != null) return GT_Utility.copyOrNull(tFuel.getOutput(0));
return GT_Utility.getContainerItem(aStack, true);
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
index 0e86829027..ba8c865301 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine.java
@@ -14,6 +14,8 @@ import static gregtech.api.metatileentity.BaseTileEntity.STALLED_STUTTERING_TOOL
import static gregtech.api.metatileentity.BaseTileEntity.STALLED_VENT_TOOLTIP;
import static gregtech.api.metatileentity.BaseTileEntity.TOOLTIP_DELAY;
import static gregtech.api.metatileentity.BaseTileEntity.UNUSED_SLOT_TOOLTIP;
+import static gregtech.api.util.GT_RecipeConstants.EXPLODE;
+import static gregtech.api.util.GT_RecipeConstants.ON_FIRE;
import static gregtech.api.util.GT_Utility.moveMultipleItemStacks;
import static net.minecraftforge.common.util.ForgeDirection.DOWN;
import static net.minecraftforge.common.util.ForgeDirection.UNKNOWN;
@@ -23,6 +25,8 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.List;
+import javax.annotation.Nonnull;
+
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.player.EntityPlayerMP;
import net.minecraft.item.ItemStack;
@@ -39,7 +43,6 @@ import net.minecraftforge.fluids.IFluidHandler;
import org.apache.commons.lang3.tuple.Pair;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
-import com.gtnewhorizons.modularui.api.drawable.UITexture;
import com.gtnewhorizons.modularui.api.math.Pos2d;
import com.gtnewhorizons.modularui.api.math.Size;
import com.gtnewhorizons.modularui.api.screen.ModularWindow;
@@ -65,21 +68,24 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.modularui.IAddGregtechLogo;
import gregtech.api.interfaces.modularui.IAddUIWidgets;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.interfaces.tileentity.IOverclockDescriptionProvider;
+import gregtech.api.interfaces.tileentity.RecipeMapWorkable;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.recipe.check.FindRecipeResult;
+import gregtech.api.objects.overclockdescriber.EUOverclockDescriber;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.recipe.BasicUIProperties;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ClientPreference;
import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_TooltipDataCache;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.GT_Waila;
import gregtech.common.gui.modularui.UIHelper;
-import gregtech.common.power.BasicMachineEUPower;
-import gregtech.common.power.Power;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
@@ -89,8 +95,8 @@ import mcp.mobius.waila.api.IWailaDataAccessor;
* This is the main construct for my Basic Machines such as the Automatic Extractor Extend this class to make a simple
* Machine
*/
-public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_BasicTank
- implements IConfigurationCircuitSupport, IAddGregtechLogo, IAddUIWidgets {
+public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_BasicTank implements RecipeMapWorkable,
+ IConfigurationCircuitSupport, IOverclockDescriptionProvider, IAddGregtechLogo, IAddUIWidgets {
/**
* return values for checkRecipe()
@@ -108,9 +114,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
public int mProgresstime = 0, mMaxProgresstime = 0, mEUt = 0, mOutputBlocked = 0;
public ForgeDirection mMainFacing = ForgeDirection.WEST;
public FluidStack mOutputFluid;
- @Deprecated
- public String mGUIName = "", mNEIName = "";
- protected final Power mPower;
+ protected final OverclockDescriber overclockDescriber;
/**
* Contains the Recipe which has been previously used, or null if there was no previous Recipe, which could have
@@ -147,29 +151,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mPower = buildPower();
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(int, String, String, int, int, String, int, int,
- * ITexture...)}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage,
- String aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName,
- ITexture... aOverlays) {
- super(
- aID,
- aName,
- aNameRegional,
- aTier,
- OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1,
- aDescription,
- aOverlays);
- mInputSlotCount = Math.max(0, aInputSlotCount);
- mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
- mAmperage = aAmperage;
- mPower = buildPower();
+ overclockDescriber = createOverclockDescriber();
}
/**
@@ -188,42 +170,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mPower = buildPower();
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(int, String, String, int, int, String[], int, int,
- * ITexture...)}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine(int aID, String aName, String aNameRegional, int aTier, int aAmperage,
- String[] aDescription, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName,
- ITexture... aOverlays) {
- super(
- aID,
- aName,
- aNameRegional,
- aTier,
- OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1,
- aDescription,
- aOverlays);
- mInputSlotCount = Math.max(0, aInputSlotCount);
- mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
- mAmperage = aAmperage;
- mPower = buildPower();
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(String, int, int, String[], ITexture[][][], int, int)}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String aDescription,
- ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) {
- super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
- mInputSlotCount = Math.max(0, aInputSlotCount);
- mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
- mAmperage = aAmperage;
- mPower = buildPower();
+ overclockDescriber = createOverclockDescriber();
}
/**
@@ -235,27 +182,14 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
mInputSlotCount = Math.max(0, aInputSlotCount);
mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
mAmperage = aAmperage;
- mPower = buildPower();
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine(String, int, int, String[], ITexture[][][], int, int)}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine(String aName, int aTier, int aAmperage, String[] aDescription,
- ITexture[][][] aTextures, int aInputSlotCount, int aOutputSlotCount, String aGUIName, String aNEIName) {
- super(aName, aTier, OTHER_SLOT_COUNT + aInputSlotCount + aOutputSlotCount + 1, aDescription, aTextures);
- mInputSlotCount = Math.max(0, aInputSlotCount);
- mOutputItems = new ItemStack[Math.max(0, aOutputSlotCount)];
- mAmperage = aAmperage;
- mPower = buildPower();
+ overclockDescriber = createOverclockDescriber();
}
/**
- * To be called by the constructor to initialize this instance's Power
+ * To be called by the constructor to initialize this instance's overclock behavior
*/
- protected Power buildPower() {
- return new BasicMachineEUPower(mTier, mAmperage);
+ protected OverclockDescriber createOverclockDescriber() {
+ return new EUOverclockDescriber(mTier, mAmperage);
}
protected boolean isValidMainFacing(ForgeDirection side) {
@@ -502,7 +436,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
@Override
public boolean isFluidInputAllowed(FluidStack aFluid) {
- return getFillableStack() != null || (getRecipeList() != null && getRecipeList().containsInput(aFluid));
+ return getFillableStack() != null || (getRecipeMap() != null && getRecipeMap().containsInput(aFluid));
}
@Override
@@ -780,20 +714,30 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
return getBaseMetaTileEntity().decreaseStoredEnergyUnits(aEUt, false);
}
- protected void calculateOverclockedNess(GT_Recipe aRecipe) {
- calculateOverclockedNess(aRecipe.mEUt, aRecipe.mDuration);
+ /**
+ * Calculates overclock based on {@link #overclockDescriber}.
+ */
+ protected void calculateCustomOverclock(GT_Recipe recipe) {
+ GT_OverclockCalculator calculator = overclockDescriber.createCalculator(
+ new GT_OverclockCalculator().setRecipeEUt(recipe.mEUt)
+ .setDuration(recipe.mDuration)
+ .setOneTickDiscount(true),
+ recipe);
+ calculator.calculate();
+ mEUt = (int) calculator.getConsumption();
+ mMaxProgresstime = calculator.getDuration();
}
/**
- * Calcualtes overclocked ness using long integers
- *
- * @param aEUt - recipe EUt
- * @param aDuration - recipe Duration
+ * Helper method for calculating simple overclock.
*/
- protected void calculateOverclockedNess(int aEUt, int aDuration) {
- mPower.computePowerUsageAndDuration(aEUt, aDuration);
- mEUt = mPower.getEuPerTick();
- mMaxProgresstime = mPower.getDurationTicks();
+ protected void calculateOverclockedNess(int eut, int duration) {
+ GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(eut)
+ .setDuration(duration)
+ .setOneTickDiscount(true)
+ .calculate();
+ mEUt = (int) calculator.getConsumption();
+ mMaxProgresstime = calculator.getDuration();
}
protected ItemStack getSpecialSlot() {
@@ -1063,10 +1007,8 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
return GregTech_API.getConfigurationCircuitList(mTier);
}
- /**
- * @return the Recipe List which is used for this Machine, this is a useful Default Handler
- */
- public GT_Recipe_Map getRecipeList() {
+ @Override
+ public RecipeMap<?> getRecipeMap() {
return null;
}
@@ -1115,26 +1057,26 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
* FOUND_AND_SUCCESSFULLY_USED_RECIPE = 2;
*/
public int checkRecipe(boolean skipOC) {
- GT_Recipe_Map tMap = getRecipeList();
+ RecipeMap<?> tMap = getRecipeMap();
if (tMap == null) return DID_NOT_FIND_RECIPE;
- FindRecipeResult result = tMap.findRecipeWithResult(
- mLastRecipe,
- false,
- false,
- V[mTier],
- new FluidStack[] { getFillableStack() },
- getSpecialSlot(),
- getAllInputs());
- if (result.getState() == FindRecipeResult.State.EXPLODE && getBaseMetaTileEntity() != null) {
+ GT_Recipe tRecipe = tMap.findRecipeQuery()
+ .items(getAllInputs())
+ .fluids(getFillableStack())
+ .specialSlot(getSpecialSlot())
+ .voltage(V[mTier])
+ .cachedRecipe(mLastRecipe)
+ .find();
+ if (tRecipe == null) {
+ return DID_NOT_FIND_RECIPE;
+ }
+ if (tRecipe.getMetadataOrDefault(EXPLODE, false) && getBaseMetaTileEntity() != null) {
getBaseMetaTileEntity().doExplosion(V[mTier] * 4);
return DID_NOT_FIND_RECIPE;
}
- if (result.getState() == FindRecipeResult.State.ON_FIRE && getBaseMetaTileEntity() != null) {
+ if (tRecipe.getMetadataOrDefault(ON_FIRE, false) && getBaseMetaTileEntity() != null) {
getBaseMetaTileEntity().setOnFire();
return DID_NOT_FIND_RECIPE;
}
- if (!result.isSuccessful()) return DID_NOT_FIND_RECIPE;
- GT_Recipe tRecipe = result.getRecipeNonNull();
if (GT_Mod.gregtechproxy.mLowGravProcessing && (tRecipe.mSpecialValue == -100 || tRecipe.mSpecialValue == -300)
&& !isValidForLowGravity(tRecipe, getBaseMetaTileEntity().getWorld().provider.dimensionId))
@@ -1169,7 +1111,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
}
mOutputFluid = tRecipe.getFluidOutput(0);
if (!skipOC) {
- calculateOverclockedNess(tRecipe);
+ calculateCustomOverclock(tRecipe);
// In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
@@ -1317,16 +1259,17 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
}
}
+ @Nonnull
@Override
- public Power getPower() {
- return mPower;
+ public OverclockDescriber getOverclockDescriber() {
+ return overclockDescriber;
}
// GUI stuff
@Override
public boolean useModularUI() {
- return getRecipeList() != null && getRecipeList().useModularUI;
+ return getRecipeMap() != null;
}
@Override
@@ -1341,8 +1284,9 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
@Override
public void addGregTechLogo(ModularWindow.Builder builder) {
- if (getRecipeList() != null) {
- getRecipeList().addGregTechLogoUI(builder, new Pos2d(0, 0));
+ if (getRecipeMap() != null) {
+ getRecipeMap().getFrontend()
+ .addGregTechLogo(builder, new Pos2d(0, 0));
} else {
builder.widget(
new DrawableWidget().setDrawable(getGUITextureSet().getGregTechLogo())
@@ -1358,22 +1302,13 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
builder.widget(createItemAutoOutputButton());
}
- addIOSlots(builder);
+ BasicUIProperties uiProperties = getUIProperties();
+ addIOSlots(builder, uiProperties);
builder.widget(createChargerSlot(79, 62));
- if (getRecipeList() != null) {
- builder.widget(
- setNEITransferRect(
- createProgressBar(
- isSteampowered() ? getRecipeList().getProgressBarTextureSteam(getSteamVariant())
- : getRecipeList().getProgressBarTexture(),
- getRecipeList().getProgressBarImageSize(),
- getRecipeList().progressBarDirection,
- getRecipeList().progressBarPos,
- getRecipeList().progressBarSize),
- getRecipeList().mNEIName));
- addProgressBarSpecialTextures(builder);
- }
+
+ addProgressBar(builder, uiProperties);
+
builder.widget(
createErrorStatusArea(
builder,
@@ -1381,29 +1316,82 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
}
/**
+ * Override to specify UI properties if this machine doesn't work with recipemap.
+ */
+ protected BasicUIProperties getUIProperties() {
+ if (getRecipeMap() != null) {
+ BasicUIProperties originalProperties = getRecipeMap().getFrontend()
+ .getUIProperties();
+ return originalProperties.toBuilder()
+ .maxItemInputs(mInputSlotCount)
+ .maxItemOutputs(mOutputItems.length)
+ .maxFluidInputs(Math.min(originalProperties.maxFluidInputs, 1))
+ .maxFluidOutputs(Math.min(originalProperties.maxFluidOutputs, 1))
+ .build();
+ }
+ return BasicUIProperties.builder()
+ .maxItemInputs(mInputSlotCount)
+ .maxItemOutputs(mOutputItems.length)
+ .maxFluidInputs(getCapacity() != 0 ? 1 : 0)
+ .maxFluidOutputs(0)
+ .build();
+ }
+
+ /**
* Adds item I/O, special item, and fluid I/O slots.
*/
- protected void addIOSlots(ModularWindow.Builder builder) {
- final boolean hasFluidInput = getRecipeList() != null ? (getRecipeList().hasFluidInputs())
- : (getCapacity() != 0);
- final boolean hasFluidOutput = getRecipeList() != null && getRecipeList().hasFluidOutputs();
+ protected void addIOSlots(ModularWindow.Builder builder, BasicUIProperties uiProperties) {
UIHelper.forEachSlots(
(i, backgrounds, pos) -> builder.widget(createItemInputSlot(i, backgrounds, pos)),
(i, backgrounds, pos) -> builder.widget(createItemOutputSlot(i, backgrounds, pos)),
- (i, backgrounds, pos) -> builder.widget(createSpecialSlot(backgrounds, pos)),
+ (i, backgrounds, pos) -> builder.widget(createSpecialSlot(backgrounds, pos, uiProperties)),
(i, backgrounds, pos) -> builder.widget(createFluidInputSlot(backgrounds, pos)),
(i, backgrounds, pos) -> builder.widget(createFluidOutputSlot(backgrounds, pos)),
getGUITextureSet().getItemSlot(),
getGUITextureSet().getFluidSlot(),
- getRecipeList(),
- mInputSlotCount,
- mOutputItems.length,
- hasFluidInput ? 1 : 0,
- hasFluidOutput ? 1 : 0,
+ uiProperties,
+ uiProperties.maxItemInputs,
+ uiProperties.maxItemOutputs,
+ uiProperties.maxFluidInputs,
+ uiProperties.maxFluidOutputs,
getSteamVariant(),
Pos2d.ZERO);
}
+ protected void addProgressBar(ModularWindow.Builder builder, BasicUIProperties uiProperties) {
+ boolean isSteamPowered = isSteampowered();
+ RecipeMap<?> recipeMap = getRecipeMap();
+ if (!isSteamPowered && uiProperties.progressBarTexture == null) {
+ if (recipeMap != null) {
+ // Require progress bar texture for machines working with recipemap, otherwise permit
+ throw new RuntimeException("Missing progressbar texture for " + recipeMap.unlocalizedName);
+ } else {
+ return;
+ }
+ }
+ if (isSteamPowered && uiProperties.progressBarTextureSteam == null) {
+ if (recipeMap != null) {
+ throw new RuntimeException("Missing steam progressbar texture for " + recipeMap.unlocalizedName);
+ } else {
+ return;
+ }
+ }
+
+ builder.widget(
+ setNEITransferRect(
+ new ProgressBar()
+ .setProgress(() -> maxProgresstime() != 0 ? (float) getProgresstime() / maxProgresstime() : 0)
+ .setTexture(
+ isSteamPowered ? uiProperties.progressBarTextureSteam.get(getSteamVariant())
+ : uiProperties.progressBarTexture.get(),
+ uiProperties.progressBarImageSize)
+ .setDirection(uiProperties.progressBarDirection)
+ .setPos(uiProperties.progressBarPos)
+ .setSize(uiProperties.progressBarSize),
+ uiProperties.neiTransferRectId));
+ addProgressBarSpecialTextures(builder, uiProperties);
+ }
+
/**
* Override this as needed instead of calling.
*/
@@ -1425,13 +1413,11 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
/**
* Override this as needed instead of calling.
*/
- protected SlotWidget createSpecialSlot(IDrawable[] backgrounds, Pos2d pos) {
+ protected SlotWidget createSpecialSlot(IDrawable[] backgrounds, Pos2d pos, BasicUIProperties uiProperties) {
return (SlotWidget) new SlotWidget(inventoryHandler, getSpecialSlotIndex()).setAccess(true, true)
.disableShiftInsert()
.setGTTooltip(
- () -> mTooltipCache.getData(
- getRecipeList() != null && getRecipeList().usesSpecialSlot() ? SPECIAL_SLOT_TOOLTIP
- : UNUSED_SLOT_TOOLTIP))
+ () -> mTooltipCache.getData(uiProperties.useSpecialSlot ? SPECIAL_SLOT_TOOLTIP : UNUSED_SLOT_TOOLTIP))
.setTooltipShowUpDelay(TOOLTIP_DELAY)
.setBackground(backgrounds)
.setPos(pos);
@@ -1478,40 +1464,25 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
.setSize(18, 18);
}
- protected ProgressBar createProgressBar(UITexture texture, int imageSize, ProgressBar.Direction direction,
- Pos2d pos, Size size) {
- final ProgressBar ret = new ProgressBar();
- ret.setProgress(() -> maxProgresstime() != 0 ? (float) getProgresstime() / maxProgresstime() : 0)
- .setTexture(texture, imageSize)
- .setDirection(direction)
- .setPos(pos)
- .setSize(size);
- return ret;
- }
-
- public boolean hasNEITransferRect() {
- return getRecipeList() != null;
- }
-
protected Widget setNEITransferRect(Widget widget, String transferRectID) {
- if (hasNEITransferRect()) {
- final Power powerInfo = getPower();
- final String transferRectTooltip;
- if (isSteampowered()) {
- transferRectTooltip = StatCollector
- .translateToLocalFormatted(NEI_TRANSFER_STEAM_TOOLTIP, powerInfo.getTierString());
- } else {
- transferRectTooltip = StatCollector
- .translateToLocalFormatted(NEI_TRANSFER_VOLTAGE_TOOLTIP, powerInfo.getTierString());
- }
- widget.setNEITransferRect(transferRectID, new Object[] { powerInfo }, transferRectTooltip);
+ if (GT_Utility.isStringInvalid(transferRectID)) {
+ return widget;
+ }
+ final String transferRectTooltip;
+ if (isSteampowered()) {
+ transferRectTooltip = StatCollector
+ .translateToLocalFormatted(NEI_TRANSFER_STEAM_TOOLTIP, overclockDescriber.getTierString());
+ } else {
+ transferRectTooltip = StatCollector
+ .translateToLocalFormatted(NEI_TRANSFER_VOLTAGE_TOOLTIP, overclockDescriber.getTierString());
}
+ widget.setNEITransferRect(transferRectID, new Object[] { overclockDescriber }, transferRectTooltip);
return widget;
}
- protected void addProgressBarSpecialTextures(ModularWindow.Builder builder) {
+ protected void addProgressBarSpecialTextures(ModularWindow.Builder builder, BasicUIProperties uiProperties) {
if (isSteampowered()) {
- for (Pair<SteamTexture, Pair<Size, Pos2d>> specialTexture : getRecipeList().specialTexturesSteam) {
+ for (Pair<SteamTexture, Pair<Size, Pos2d>> specialTexture : uiProperties.specialTexturesSteam) {
builder.widget(
new DrawableWidget().setDrawable(
specialTexture.getLeft()
@@ -1524,7 +1495,7 @@ public abstract class GT_MetaTileEntity_BasicMachine extends GT_MetaTileEntity_B
.getRight()));
}
} else {
- for (Pair<IDrawable, Pair<Size, Pos2d>> specialTexture : getRecipeList().specialTextures) {
+ for (Pair<IDrawable, Pair<Size, Pos2d>> specialTexture : uiProperties.specialTextures) {
builder.widget(
new DrawableWidget().setDrawable(specialTexture.getLeft())
.setSize(
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
index e1321c144f..5eb648d560 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Bronze.java
@@ -35,13 +35,13 @@ import gregtech.api.gui.modularui.GUITextureSet;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.objects.overclockdescriber.SteamOverclockDescriber;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
-import gregtech.common.power.Power;
-import gregtech.common.power.SteamPower;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@@ -70,8 +70,8 @@ public abstract class GT_MetaTileEntity_BasicMachine_Bronze extends GT_MetaTileE
}
@Override
- public Power buildPower() {
- return new SteamPower(mTier, 1, 2);
+ public OverclockDescriber createOverclockDescriber() {
+ return new SteamOverclockDescriber(SteamVariant.BRONZE, 1, 2);
}
@Override
@@ -189,11 +189,11 @@ public abstract class GT_MetaTileEntity_BasicMachine_Bronze extends GT_MetaTileE
@Override
public int checkRecipe() {
- GT_Recipe tRecipe = getRecipeList().findRecipe(getBaseMetaTileEntity(), false, TierEU.LV, null, getAllInputs());
+ GT_Recipe tRecipe = getRecipeMap().findRecipe(getBaseMetaTileEntity(), false, TierEU.LV, null, getAllInputs());
if ((tRecipe != null) && (canOutput(tRecipe.mOutputs))
&& (tRecipe.isRecipeInputEqual(true, null, getAllInputs()))) {
this.mOutputItems[0] = tRecipe.getOutput(0);
- calculateOverclockedNess(tRecipe);
+ calculateCustomOverclock(tRecipe);
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
return DID_NOT_FIND_RECIPE;
@@ -380,7 +380,7 @@ public abstract class GT_MetaTileEntity_BasicMachine_Bronze extends GT_MetaTileE
String[] description = Arrays.copyOf(mDescriptionArray, mDescriptionArray.length + 1);
description[mDescriptionArray.length] = StatCollector.translateToLocal(TT_machineType) + ": "
+ EnumChatFormatting.YELLOW
- + StatCollector.translateToLocal(this.getRecipeList().mUnlocalizedName)
+ + StatCollector.translateToLocal(this.getRecipeMap().unlocalizedName)
+ EnumChatFormatting.RESET;
return description;
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
index 3297490b51..8bba0fee25 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_GT_Recipe.java
@@ -5,7 +5,6 @@ import static gregtech.api.enums.GT_Values.VN;
import static gregtech.api.enums.GT_Values.W;
import static gregtech.api.enums.GT_Values.ticksBetweenSounds;
import static gregtech.api.enums.Mods.BartWorks;
-import static gregtech.api.enums.Mods.GregTech;
import static gregtech.api.objects.XSTR.XSTR_INSTANCE;
import static net.minecraftforge.common.util.ForgeDirection.UP;
@@ -21,9 +20,6 @@ import net.minecraftforge.oredict.OreDictionary;
import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
import com.gtnewhorizons.modularui.api.drawable.UITexture;
-import com.gtnewhorizons.modularui.api.math.Pos2d;
-import com.gtnewhorizons.modularui.api.math.Size;
-import com.gtnewhorizons.modularui.common.widget.ProgressBar;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
@@ -39,10 +35,11 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.BaseMetaTileEntity;
+import gregtech.api.recipe.BasicUIProperties;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.ExternalMaterials;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
import ic2.core.Ic2Items;
@@ -55,20 +52,19 @@ import ic2.core.Ic2Items;
*/
public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_BasicMachine {
- private final GT_Recipe.GT_Recipe_Map mRecipes;
+ private final RecipeMap<?> mRecipes;
private final int mTankCapacity;
private final SpecialEffects mSpecialEffect;
private final ResourceLocation mSoundResourceLocation;
- private final boolean mSharedTank, mRequiresFluidForFiltering;
private FallbackableUITexture progressBarTexture;
+ private int recipeCatalystPriority;
/**
* Registers machine with single-line description, specific tank capacity, and sound specified by ResourceLocation.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- ResourceLocation aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
- String aOverlays, Object[] aRecipe) {
+ String aDescription, RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
+ ResourceLocation aSound, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
this(
aID,
aName,
@@ -80,8 +76,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aOutputSlots,
aTankCapacity,
aSound,
- aSharedTank,
- aRequiresFluidForFiltering,
aSpecialEffect,
aOverlays,
aRecipe);
@@ -91,15 +85,14 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
* Registers machine with multi-line descriptions, specific tank capacity, and sound specified by ResourceLocation.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- ResourceLocation aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
- String aOverlays, Object[] aRecipe) {
+ String[] aDescription, RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
+ ResourceLocation aSound, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
super(
aID,
aName,
aNameRegional,
aTier,
- aRecipes.mAmperage,
+ aRecipes.getAmperage(),
aDescription,
aInputSlots,
aOutputSlots,
@@ -176,13 +169,12 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
"basicmachines/" + aOverlays.toLowerCase(Locale.ENGLISH) + "/OVERLAY_BOTTOM_GLOW")))
.glow()
.build()));
- this.mSharedTank = aSharedTank;
this.mTankCapacity = aTankCapacity;
this.mSpecialEffect = aSpecialEffect;
- this.mRequiresFluidForFiltering = aRequiresFluidForFiltering;
this.mRecipes = aRecipes;
this.mSoundResourceLocation = aSound;
- this.progressBarTexture = mRecipes.getProgressBarTextureRaw();
+ this.progressBarTexture = mRecipes.getFrontend()
+ .getUIProperties().progressBarTexture;
// TODO: CHECK
if (aRecipe != null) {
@@ -447,9 +439,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
* Registers machine with single-line description, auto-scaled fluid tank, and sound specified by SoundResource.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
- SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
- String aOverlays, Object[] aRecipe) {
+ String aDescription, RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
+ SoundResource aSound, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
this(
aID,
aName,
@@ -461,35 +452,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aOutputSlots,
usesFluids ? getCapacityForTier(aTier) : 0,
aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
- aSpecialEffect,
- aOverlays,
- aRecipe);
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String,
- * GT_Recipe.GT_Recipe_Map, int, int, boolean, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
- this(
- aID,
- aName,
- aNameRegional,
- aTier,
- aDescription,
- aRecipes,
- aInputSlots,
- aOutputSlots,
- usesFluids ? getCapacityForTier(aTier) : 0,
- aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
aSpecialEffect,
aOverlays,
aRecipe);
@@ -499,9 +461,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
* Registers machine with multi-line descriptions, auto-scaled fluid tank, and sound specified by SoundResource.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
- SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
- String aOverlays, Object[] aRecipe) {
+ String[] aDescription, RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
+ SoundResource aSound, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
this(
aID,
aName,
@@ -513,35 +474,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aOutputSlots,
usesFluids ? getCapacityForTier(aTier) : 0,
aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
- aSpecialEffect,
- aOverlays,
- aRecipe);
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String[],
- * GT_Recipe.GT_Recipe_Map, int, int, boolean, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, boolean usesFluids,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
- this(
- aID,
- aName,
- aNameRegional,
- aTier,
- aDescription,
- aRecipes,
- aInputSlots,
- aOutputSlots,
- usesFluids ? getCapacityForTier(aTier) : 0,
- aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
aSpecialEffect,
aOverlays,
aRecipe);
@@ -551,9 +483,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
* Registers machine with single-line description, specific tank capacity, and sound specified by SoundResource.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
- String aOverlays, Object[] aRecipe) {
+ String aDescription, RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
+ SoundResource aSound, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
this(
aID,
aName,
@@ -565,35 +496,6 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aOutputSlots,
aTankCapacity,
aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
- aSpecialEffect,
- aOverlays,
- aRecipe);
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String,
- * GT_Recipe.GT_Recipe_Map, int, int, int, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
- this(
- aID,
- aName,
- aNameRegional,
- aTier,
- aDescription,
- aRecipes,
- aInputSlots,
- aOutputSlots,
- aTankCapacity,
- aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
aSpecialEffect,
aOverlays,
aRecipe);
@@ -603,36 +505,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
* Registers machine with multi-line descriptions, specific tank capacity, and sound specified by SoundResource.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- SoundResource aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect,
- String aOverlays, Object[] aRecipe) {
- this(
- aID,
- aName,
- aNameRegional,
- aTier,
- aDescription,
- aRecipes,
- aInputSlots,
- aOutputSlots,
- aTankCapacity,
- aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
- aSpecialEffect,
- aOverlays,
- aRecipe);
- }
-
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String[],
- * GT_Recipe.GT_Recipe_Map, int, int, int, SoundResource, boolean, boolean, SpecialEffects, String, Object[])}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String[] aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, SoundResource aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
+ String[] aDescription, RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
+ SoundResource aSound, SpecialEffects aSpecialEffect, String aOverlays, Object[] aRecipe) {
this(
aID,
aName,
@@ -644,52 +518,20 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
aOutputSlots,
aTankCapacity,
aSound.resourceLocation,
- aSharedTank,
- aRequiresFluidForFiltering,
aSpecialEffect,
aOverlays,
aRecipe);
}
/**
- * @deprecated Use {@link #GT_MetaTileEntity_BasicMachine_GT_Recipe(int, String, String, int, String,
- * GT_Recipe.GT_Recipe_Map, int, int, int, ResourceLocation, boolean, boolean, SpecialEffects, String, Object[])}
- */
- @Deprecated
- public GT_MetaTileEntity_BasicMachine_GT_Recipe(int aID, String aName, String aNameRegional, int aTier,
- String aDescription, GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity,
- int aGUIParameterA, int aGUIParameterB, String aGUIName, String aSound, boolean aSharedTank,
- boolean aRequiresFluidForFiltering, int aSpecialEffect, String aOverlays, Object[] aRecipe) {
- this(
- aID,
- aName,
- aNameRegional,
- aTier,
- aDescription,
- aRecipes,
- aInputSlots,
- aOutputSlots,
- aTankCapacity,
- new ResourceLocation(aSound),
- aSharedTank,
- aRequiresFluidForFiltering,
- SpecialEffects.fromId(aSpecialEffect),
- aOverlays,
- aRecipe);
- }
-
- /**
* For {@link #newMetaEntity}.
*/
public GT_MetaTileEntity_BasicMachine_GT_Recipe(String aName, int aTier, String[] aDescription,
- GT_Recipe.GT_Recipe_Map aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity, int aAmperage,
- ITexture[][][] aTextures, ResourceLocation aSound, boolean aSharedTank, boolean aRequiresFluidForFiltering,
- SpecialEffects aSpecialEffect) {
+ RecipeMap<?> aRecipes, int aInputSlots, int aOutputSlots, int aTankCapacity, int aAmperage,
+ ITexture[][][] aTextures, ResourceLocation aSound, SpecialEffects aSpecialEffect) {
super(aName, aTier, aAmperage, aDescription, aTextures, aInputSlots, aOutputSlots);
- this.mSharedTank = aSharedTank;
this.mTankCapacity = aTankCapacity;
this.mSpecialEffect = aSpecialEffect;
- this.mRequiresFluidForFiltering = aRequiresFluidForFiltering;
this.mRecipes = aRecipes;
this.mSoundResourceLocation = aSound;
}
@@ -707,9 +549,8 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
this.mAmperage,
this.mTextures,
this.mSoundResourceLocation,
- this.mSharedTank,
- this.mRequiresFluidForFiltering,
- this.mSpecialEffect).setProgressBarTexture(this.progressBarTexture);
+ this.mSpecialEffect).setProgressBarTexture(this.progressBarTexture)
+ .setRecipeCatalystPriority(this.recipeCatalystPriority);
}
public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTexture(FallbackableUITexture progressBarTexture) {
@@ -718,8 +559,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTextureName(String name, UITexture fallback) {
- return setProgressBarTexture(
- new FallbackableUITexture(UITexture.fullImage(GregTech.ID, "gui/progressbar/" + name), fallback));
+ return setProgressBarTexture(GT_UITextures.fallbackableProgressbar(name, fallback));
}
public GT_MetaTileEntity_BasicMachine_GT_Recipe setProgressBarTextureName(String name) {
@@ -735,9 +575,9 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
return false;
}
case 1 -> {
- if (this.getFillableStack() == null) return !this.mRequiresFluidForFiltering && this.getRecipeList()
+ if (this.getFillableStack() == null) return this.getRecipeMap()
.containsInput(aStack);
- else return this.getRecipeList()
+ else return this.getRecipeMap()
.findRecipe(
this.getBaseMetaTileEntity(),
this.mLastRecipe,
@@ -750,25 +590,23 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
!= null;
}
case 2 -> {
- return (!this.mRequiresFluidForFiltering || this.getFillableStack() != null)
- && (((this.getInputAt(0) != null && this.getInputAt(1) != null)
- || (this.getInputAt(0) == null && this.getInputAt(1) == null ? this.getRecipeList()
+ return ((this.getInputAt(0) != null && this.getInputAt(1) != null)
+ || (this.getInputAt(0) == null && this.getInputAt(1) == null ? this.getRecipeMap()
+ .containsInput(aStack)
+ : (this.getRecipeMap()
.containsInput(aStack)
- : (this.getRecipeList()
- .containsInput(aStack)
- && this.getRecipeList()
- .findRecipe(
- this.getBaseMetaTileEntity(),
- this.mLastRecipe,
- true,
- true,
- V[this.mTier],
- new FluidStack[] { this.getFillableStack() },
- this.getSpecialSlot(),
- aIndex == this.getInputSlot()
- ? appendSelectedCircuit(aStack, this.getInputAt(1))
- : appendSelectedCircuit(this.getInputAt(0), aStack))
- != null))));
+ && this.getRecipeMap()
+ .findRecipe(
+ this.getBaseMetaTileEntity(),
+ this.mLastRecipe,
+ true,
+ true,
+ V[this.mTier],
+ new FluidStack[] { this.getFillableStack() },
+ this.getSpecialSlot(),
+ aIndex == this.getInputSlot() ? appendSelectedCircuit(aStack, this.getInputAt(1))
+ : appendSelectedCircuit(this.getInputAt(0), aStack))
+ != null)));
}
default -> {
int tID = this.getBaseMetaTileEntity()
@@ -786,7 +624,7 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
.startsWith("circuit")) return true;
}
}
- return this.getRecipeList()
+ return this.getRecipeMap()
.containsInput(aStack);
}
}
@@ -889,11 +727,21 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
+ public RecipeMap<?> getRecipeMap() {
return this.mRecipes;
}
@Override
+ public int getRecipeCatalystPriority() {
+ return recipeCatalystPriority;
+ }
+
+ public GT_MetaTileEntity_BasicMachine_GT_Recipe setRecipeCatalystPriority(int recipeCatalystPriority) {
+ this.recipeCatalystPriority = recipeCatalystPriority;
+ return this;
+ }
+
+ @Override
public int getCapacity() {
return this.mTankCapacity;
}
@@ -922,20 +770,10 @@ public class GT_MetaTileEntity_BasicMachine_GT_Recipe extends GT_MetaTileEntity_
}
@Override
- public FluidStack getFillableStack() {
- return this.mSharedTank ? this.getDrainableStack() : super.getFillableStack();
- }
-
- @Override
- public FluidStack setFillableStack(FluidStack aFluid) {
- return this.mSharedTank ? this.setDrainableStack(aFluid) : super.setFillableStack(aFluid);
- }
-
- @Override
- protected ProgressBar createProgressBar(UITexture texture, int imageSize, ProgressBar.Direction direction,
- Pos2d pos, Size size) {
- return super.createProgressBar(texture, imageSize, direction, pos, size)
- .setTexture(progressBarTexture.get(), mRecipes.getProgressBarImageSize());
+ protected BasicUIProperties getUIProperties() {
+ return super.getUIProperties().toBuilder()
+ .progressBarTexture(progressBarTexture)
+ .build();
}
public enum X {
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java
index eae713d28a..d6ae385430 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_BasicMachine_Steel.java
@@ -12,9 +12,9 @@ import gregtech.api.enums.Dyes;
import gregtech.api.enums.SteamVariant;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.modularui.IGetTitleColor;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.objects.overclockdescriber.SteamOverclockDescriber;
import gregtech.api.render.TextureFactory;
-import gregtech.common.power.Power;
-import gregtech.common.power.SteamPower;
/**
* NEVER INCLUDE THIS FILE IN YOUR MOD!!!
@@ -36,8 +36,8 @@ public abstract class GT_MetaTileEntity_BasicMachine_Steel extends GT_MetaTileEn
}
@Override
- public Power buildPower() {
- return new SteamPower(mTier, 2, 1);
+ public OverclockDescriber createOverclockDescriber() {
+ return new SteamOverclockDescriber(SteamVariant.STEEL, 2, 1);
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java
index 85fb98cafd..6f351fb5ab 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_ExtendedPowerMultiBlockBase.java
@@ -20,6 +20,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.util.GT_ExoticEnergyInputHelper;
+import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_Utility;
/**
@@ -54,29 +55,13 @@ public abstract class GT_MetaTileEntity_ExtendedPowerMultiBlockBase<T extends GT
@Override
protected void calculateOverclockedNessMultiInternal(long aEUt, int aDuration, int mAmperage, long maxInputVoltage,
boolean perfectOC) {
- // 5% space for cable loss
- long zMaxInputVoltage = maxInputVoltage / 100L * 95L;
- long zTime = aDuration;
- long zEUt = aEUt;
- while (zEUt < zMaxInputVoltage) {
- zEUt = zEUt << 2;
- zTime = zTime >> (perfectOC ? 2 : 1);
- if (zTime <= 0) {
- break;
- }
- }
- if (zTime <= 0) {
- zTime = 1;
- }
- if (zEUt > zMaxInputVoltage) {
- zEUt = zEUt >> 2;
- zTime = zTime << (perfectOC ? 2 : 1);
- }
- if (zTime > Integer.MAX_VALUE - 1) {
- zTime = Integer.MAX_VALUE - 1;
- }
- this.lEUt = zEUt;
- this.mMaxProgresstime = (int) zTime;
+ GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(aEUt)
+ .setEUt(maxInputVoltage * mAmperage)
+ .setDuration(aDuration)
+ .setDurationDecreasePerOC(perfectOC ? 2 : 1)
+ .calculate();
+ lEUt = calculator.getConsumption();
+ mMaxProgresstime = calculator.getDuration();
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java
index b6eb19b5aa..18aef371b6 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Input.java
@@ -14,13 +14,13 @@ import gregtech.api.gui.modularui.GT_UIInfos;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
- public GT_Recipe_Map mRecipeMap = null;
+ public RecipeMap<?> mRecipeMap = null;
public GT_MetaTileEntity_Hatch_Input(int aID, String aName, String aNameRegional, int aTier) {
this(
@@ -112,13 +112,15 @@ public class GT_MetaTileEntity_Hatch_Input extends GT_MetaTileEntity_Hatch {
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
- if (mRecipeMap != null) aNBT.setString("recipeMap", mRecipeMap.mUniqueIdentifier);
+ if (mRecipeMap != null) {
+ aNBT.setString("recipeMap", mRecipeMap.unlocalizedName);
+ }
}
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
- mRecipeMap = GT_Recipe_Map.sIndexedMappings.getOrDefault(aNBT.getString("recipeMap"), null);
+ mRecipeMap = RecipeMap.getFromOldIdentifier(aNBT.getString("recipeMap"));
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java
index 5769cd82c2..f4c4eb6a14 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBus.java
@@ -30,23 +30,22 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.modularui.IAddUIWidgets;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ClientPreference;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_TooltipDataCache;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.extensions.ArrayExt;
-import gregtech.common.tileentities.machines.IRecipeProcessingAwareHatch;
public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch
- implements IConfigurationCircuitSupport, IAddUIWidgets, IRecipeProcessingAwareHatch {
+ implements IConfigurationCircuitSupport, IAddUIWidgets {
private static final String SORTING_MODE_TOOLTIP = "GT5U.machines.sorting_mode.tooltip";
private static final String ONE_STACK_LIMIT_TOOLTIP = "GT5U.machines.one_stack_limit.tooltip";
private static final int BUTTON_SIZE = 18;
- public GT_Recipe_Map mRecipeMap = null;
+ public RecipeMap<?> mRecipeMap = null;
public boolean disableSort;
public boolean disableFilter = true;
public boolean disableLimited = true;
@@ -204,7 +203,9 @@ public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch
aNBT.setBoolean("disableSort", disableSort);
aNBT.setBoolean("disableFilter", disableFilter);
aNBT.setBoolean("disableLimited", disableLimited);
- if (mRecipeMap != null) aNBT.setString("recipeMap", mRecipeMap.mUniqueIdentifier);
+ if (mRecipeMap != null) {
+ aNBT.setString("recipeMap", mRecipeMap.unlocalizedName);
+ }
}
@Override
@@ -212,8 +213,10 @@ public class GT_MetaTileEntity_Hatch_InputBus extends GT_MetaTileEntity_Hatch
super.loadNBTData(aNBT);
disableSort = aNBT.getBoolean("disableSort");
disableFilter = aNBT.getBoolean("disableFilter");
- if (aNBT.hasKey("disableLimited")) disableLimited = aNBT.getBoolean("disableLimited");
- mRecipeMap = GT_Recipe_Map.sIndexedMappings.getOrDefault(aNBT.getString("recipeMap"), null);
+ if (aNBT.hasKey("disableLimited")) {
+ disableLimited = aNBT.getBoolean("disableLimited");
+ }
+ mRecipeMap = RecipeMap.getFromOldIdentifier(aNBT.getString("recipeMap"));
}
@Override
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 767695658c..d2d3c347a0 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -72,15 +72,16 @@ import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SingleRecipeCheck;
import gregtech.api.util.GT_ClientPreference;
import gregtech.api.util.GT_ExoticEnergyInputHelper;
import gregtech.api.util.GT_Log;
+import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_ParallelHelper;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.GT_Waila;
import gregtech.api.util.OutputHatchWrapper;
@@ -785,9 +786,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
IDualInputInventory slot = it.next();
processingLogic.setInputItems(slot.getItemInputs());
processingLogic.setInputFluids(slot.getFluidInputs());
- result = processingLogic.process();
- if (result.wasSuccessful()) {
- return result;
+ CheckRecipeResult foundResult = processingLogic.process();
+ if (foundResult.wasSuccessful()) {
+ return foundResult;
+ }
+ if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) {
+ // Recipe failed in interesting way, so remember that and continue searching
+ result = foundResult;
}
}
}
@@ -808,9 +813,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
inputItems.add(getControllerSlot());
}
processingLogic.setInputItems(inputItems.toArray(new ItemStack[0]));
- result = processingLogic.process();
- if (result.wasSuccessful()) {
- return result;
+ CheckRecipeResult foundResult = processingLogic.process();
+ if (foundResult.wasSuccessful()) {
+ return foundResult;
+ }
+ if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) {
+ // Recipe failed in interesting way, so remember that and continue searching
+ result = foundResult;
}
}
} else {
@@ -819,7 +828,14 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
inputItems.add(getControllerSlot());
}
processingLogic.setInputItems(inputItems);
- result = processingLogic.process();
+ CheckRecipeResult foundResult = processingLogic.process();
+ if (foundResult.wasSuccessful()) {
+ return foundResult;
+ }
+ if (foundResult != CheckRecipeResultRegistry.NO_RECIPE) {
+ // Recipe failed in interesting way, so remember that
+ result = foundResult;
+ }
}
return result;
}
@@ -1119,50 +1135,13 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
*/
protected void calculateOverclockedNessMultiInternal(long aEUt, int aDuration, int mAmperage, long maxInputVoltage,
boolean perfectOC) {
- byte mTier = (byte) Math.max(0, GT_Utility.getTier(maxInputVoltage));
- if (mTier == 0) {
- // Long time calculation
- long xMaxProgresstime = ((long) aDuration) << 1;
- if (xMaxProgresstime > Integer.MAX_VALUE - 1) {
- // make impossible if too long
- mEUt = Integer.MAX_VALUE - 1;
- mMaxProgresstime = Integer.MAX_VALUE - 1;
- } else {
- mEUt = GT_Utility.safeInt(aEUt >> 2);
- mMaxProgresstime = (int) xMaxProgresstime;
- }
- } else {
- // Long EUt calculation
- long xEUt = aEUt;
- // Isnt too low EUt check?
- long tempEUt = Math.max(xEUt, V[1]);
-
- mMaxProgresstime = aDuration;
-
- final int ocTimeShift = perfectOC ? 2 : 1;
-
- while (tempEUt <= V[mTier - 1] * mAmperage) {
- tempEUt <<= 2; // this actually controls overclocking
- // xEUt *= 4;//this is effect of everclocking
- int oldTime = mMaxProgresstime;
- mMaxProgresstime >>= ocTimeShift; // this is effect of overclocking
- if (mMaxProgresstime < 1) {
- if (oldTime == 1) break;
- xEUt *= (long) oldTime * (perfectOC ? 1 : 2);
- break;
- } else {
- xEUt <<= 2;
- }
- }
- if (xEUt > Integer.MAX_VALUE - 1) {
- mEUt = Integer.MAX_VALUE - 1;
- mMaxProgresstime = Integer.MAX_VALUE - 1;
- } else {
- mEUt = (int) xEUt;
- if (mEUt == 0) mEUt = 1;
- if (mMaxProgresstime == 0) mMaxProgresstime = 1; // set time to 1 tick
- }
- }
+ GT_OverclockCalculator calculator = new GT_OverclockCalculator().setRecipeEUt(aEUt)
+ .setEUt(maxInputVoltage * mAmperage)
+ .setDuration(aDuration)
+ .setDurationDecreasePerOC(perfectOC ? 2 : 1)
+ .calculate();
+ mEUt = (int) calculator.getConsumption();
+ mMaxProgresstime = calculator.getDuration();
}
@Deprecated
@@ -1234,7 +1213,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
public boolean depleteInput(FluidStack aLiquid, boolean simulate) {
if (aLiquid == null) return false;
for (GT_MetaTileEntity_Hatch_Input tHatch : filterValidMTEs(mInputHatches)) {
- tHatch.mRecipeMap = getRecipeMap();
+ setHatchRecipeMap(tHatch);
FluidStack tLiquid = tHatch.drain(ForgeDirection.UNKNOWN, aLiquid, false);
if (tLiquid != null && tLiquid.amount >= aLiquid.amount) {
if (simulate) {
@@ -1274,7 +1253,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
FluidStack aLiquid = GT_Utility.getFluidForFilledItem(aStack, true);
if (aLiquid != null) return depleteInput(aLiquid);
for (GT_MetaTileEntity_Hatch_Input tHatch : filterValidMTEs(mInputHatches)) {
- tHatch.mRecipeMap = getRecipeMap();
+ setHatchRecipeMap(tHatch);
if (GT_Utility.areStacksEqual(
aStack,
tHatch.getBaseMetaTileEntity()
@@ -1336,7 +1315,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
ArrayList<FluidStack> rList = new ArrayList<>();
for (GT_MetaTileEntity_Hatch_Input tHatch : filterValidMTEs(mInputHatches)) {
- tHatch.mRecipeMap = getRecipeMap();
+ setHatchRecipeMap(tHatch);
if (tHatch instanceof GT_MetaTileEntity_Hatch_MultiInput) {
for (FluidStack tFluid : ((GT_MetaTileEntity_Hatch_MultiInput) tHatch).getStoredFluid()) {
if (tFluid != null) {
@@ -1393,7 +1372,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
}
@Override
- public GT_Recipe_Map getRecipeMap() {
+ public RecipeMap<?> getRecipeMap() {
return null;
}
@@ -1414,7 +1393,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
protected void startRecipeProcessing() {
for (GT_MetaTileEntity_Hatch_InputBus hatch : filterValidMTEs(mInputBusses)) {
- hatch.startRecipeProcessing();
+ if (hatch instanceof IRecipeProcessingAwareHatch aware) {
+ aware.startRecipeProcessing();
+ }
}
for (GT_MetaTileEntity_Hatch_Input hatch : filterValidMTEs(mInputHatches)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
@@ -1431,7 +1412,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
};
for (GT_MetaTileEntity_Hatch_InputBus hatch : filterValidMTEs(mInputBusses)) {
- setResultIfFailure.accept(hatch.endRecipeProcessing(this));
+ if (hatch instanceof IRecipeProcessingAwareHatch aware) {
+ setResultIfFailure.accept(aware.endRecipeProcessing(this));
+ }
}
for (GT_MetaTileEntity_Hatch_Input hatch : filterValidMTEs(mInputHatches)) {
if (hatch instanceof IRecipeProcessingAwareHatch aware) {
@@ -1453,7 +1436,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
return mDualInputHatches.add(hatch);
}
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) {
- ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = getRecipeMap();
+ setHatchRecipeMap((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity);
return mInputHatches.add((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity);
}
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) {
@@ -1587,7 +1570,7 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input hatch) {
hatch.updateTexture(aBaseCasingIndex);
hatch.updateCraftingIcon(this.getMachineCraftingIcon());
- hatch.mRecipeMap = getRecipeMap();
+ setHatchRecipeMap(hatch);
return mInputHatches.add(hatch);
}
return false;
@@ -1605,6 +1588,10 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
return false;
}
+ protected void setHatchRecipeMap(GT_MetaTileEntity_Hatch_Input hatch) {
+ hatch.mRecipeMap = getRecipeMap();
+ }
+
@Override
public String[] getInfoData() {
int mPollutionReduction = 0;
diff --git a/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java b/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java
index 24c057251e..00201171a8 100644
--- a/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java
+++ b/src/main/java/gregtech/api/multitileentity/multiblock/base/Controller.java
@@ -209,10 +209,10 @@ import gregtech.api.multitileentity.machine.MultiTileBasicMachine;
import gregtech.api.multitileentity.multiblock.casing.FunctionalCasing;
import gregtech.api.multitileentity.multiblock.casing.UpgradeCasing;
import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.GT_Waila;
import gregtech.common.tileentities.casings.upgrade.Inventory;
@@ -2184,7 +2184,7 @@ public abstract class Controller<T extends Controller<T>> extends MultiTileBasic
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ public RecipeMap<?> getRecipeMap() {
return null;
}
diff --git a/src/main/java/gregtech/api/objects/overclockdescriber/EUNoOverclockDescriber.java b/src/main/java/gregtech/api/objects/overclockdescriber/EUNoOverclockDescriber.java
new file mode 100644
index 0000000000..1e29e2d812
--- /dev/null
+++ b/src/main/java/gregtech/api/objects/overclockdescriber/EUNoOverclockDescriber.java
@@ -0,0 +1,110 @@
+package gregtech.api.objects.overclockdescriber;
+
+import static gregtech.api.util.GT_Utility.trans;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.util.GT_OverclockCalculator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class EUNoOverclockDescriber extends OverclockDescriber {
+
+ /**
+ * Amperage of the recipemap.
+ */
+ protected final int amperage;
+
+ public EUNoOverclockDescriber(byte tier, int amperage) {
+ super(tier);
+ if (amperage < 1) {
+ throw new IllegalArgumentException("Amperage cannot be lower than 1");
+ }
+ this.amperage = amperage;
+ }
+
+ @Override
+ public GT_OverclockCalculator createCalculator(GT_OverclockCalculator template, GT_Recipe recipe) {
+ return GT_OverclockCalculator.ofNoOverclock(recipe);
+ }
+
+ @Override
+ public String getTierString() {
+ return GT_Utility.getColoredTierNameFromTier(tier);
+ }
+
+ @Override
+ public final void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {
+ if (recipeInfo.calculator.getDuration() > 0 && recipeInfo.calculator.getConsumption() > 0) {
+ recipeInfo.drawText(trans("152", "Total: ") + getTotalPowerString(recipeInfo.calculator));
+ }
+ drawEnergyInfoImpl(recipeInfo);
+ }
+
+ /**
+ * Override this to draw custom info about the energy this object can handle on NEI recipe GUI, minus total
+ * power usage.
+ */
+ protected void drawEnergyInfoImpl(RecipeDisplayInfo recipeInfo) {
+ if (recipeInfo.calculator.getConsumption() <= 0) {
+ return;
+ }
+ recipeInfo.drawText(trans("153", "Usage: ") + getEUtDisplay(recipeInfo.calculator));
+ if (shouldShowAmperage(recipeInfo.calculator)) {
+ recipeInfo.drawText(trans("154", "Voltage: ") + getVoltageString(recipeInfo.calculator));
+ recipeInfo.drawText(trans("155", "Amperage: ") + getAmperageString(recipeInfo.calculator));
+ }
+ }
+
+ protected String getTotalPowerString(GT_OverclockCalculator calculator) {
+ return GT_Utility.formatNumbers(calculator.getConsumption() * calculator.getDuration()) + " EU";
+ }
+
+ /**
+ * @return If amperage should be shown on NEI.
+ */
+ protected boolean shouldShowAmperage(GT_OverclockCalculator calculator) {
+ return amperage != 1;
+ }
+
+ /**
+ * @return Whole EU/t usage, without tier display.
+ */
+ protected String getEUtWithoutTier(GT_OverclockCalculator calculator) {
+ return GT_Utility.formatNumbers(calculator.getConsumption()) + " EU/t";
+ }
+
+ /**
+ * @return Whole EU/t usage, with tier display.
+ */
+ protected String getEUtWithTier(GT_OverclockCalculator calculator) {
+ return getEUtWithoutTier(calculator) + GT_Utility.getTierNameWithParentheses(calculator.getConsumption());
+ }
+
+ /**
+ * @return Whole EU/t usage. Also displays voltage tier if it should be shown.
+ */
+ protected String getEUtDisplay(GT_OverclockCalculator calculator) {
+ return shouldShowAmperage(calculator) ? getEUtWithoutTier(calculator) : getEUtWithTier(calculator);
+ }
+
+ /**
+ * @return EU/t usage, divided by amperage. With tier display.
+ */
+ protected String getVoltageString(GT_OverclockCalculator calculator) {
+ long voltage = computeVoltageForEURate(calculator.getConsumption());
+ return GT_Utility.formatNumbers(voltage) + " EU/t" + GT_Utility.getTierNameWithParentheses(voltage);
+ }
+
+ protected String getAmperageString(GT_OverclockCalculator calculator) {
+ return GT_Utility.formatNumbers(amperage);
+ }
+
+ protected long computeVoltageForEURate(long euPerTick) {
+ return euPerTick / amperage;
+ }
+}
diff --git a/src/main/java/gregtech/api/objects/overclockdescriber/EUOverclockDescriber.java b/src/main/java/gregtech/api/objects/overclockdescriber/EUOverclockDescriber.java
new file mode 100644
index 0000000000..9d53711515
--- /dev/null
+++ b/src/main/java/gregtech/api/objects/overclockdescriber/EUOverclockDescriber.java
@@ -0,0 +1,80 @@
+package gregtech.api.objects.overclockdescriber;
+
+import static gregtech.api.enums.GT_Values.V;
+import static gregtech.api.util.GT_Utility.trans;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.google.common.primitives.Ints;
+
+import gregtech.GT_Mod;
+import gregtech.api.util.GT_OverclockCalculator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class EUOverclockDescriber extends EUNoOverclockDescriber {
+
+ public EUOverclockDescriber(byte tier, int amperage) {
+ super(tier, amperage);
+ }
+
+ @Override
+ public GT_OverclockCalculator createCalculator(GT_OverclockCalculator template, GT_Recipe recipe) {
+ return template.setEUt(Ints.saturatedCast(V[tier] * amperage));
+ }
+
+ @Override
+ protected void drawEnergyInfoImpl(RecipeDisplayInfo recipeInfo) {
+ if (!wasOverclocked(recipeInfo.calculator)) {
+ super.drawEnergyInfoImpl(recipeInfo);
+ return;
+ }
+
+ recipeInfo.drawText(trans("153", "Usage: ") + getEUtDisplay(recipeInfo.calculator));
+ if (shouldShowAmperage(recipeInfo.calculator)) {
+ recipeInfo.drawText(trans("154", "Voltage: ") + getVoltageString(recipeInfo.calculator));
+ }
+ if (GT_Mod.gregtechproxy.mNEIOriginalVoltage) {
+ EUNoOverclockDescriber originalPower = new EUNoOverclockDescriber(tier, amperage);
+ GT_OverclockCalculator originalPowerCalculator = GT_OverclockCalculator.ofNoOverclock(recipeInfo.recipe)
+ .calculate();
+ recipeInfo
+ .drawText(trans("275", "Original usage: ") + originalPower.getEUtDisplay(originalPowerCalculator));
+ }
+ if (shouldShowAmperage(recipeInfo.calculator)) {
+ recipeInfo.drawText(trans("155", "Amperage: ") + getAmperageString(recipeInfo.calculator));
+ }
+ }
+
+ @Override
+ protected String getEUtWithoutTier(GT_OverclockCalculator calculator) {
+ return decorateWithOverclockLabel(super.getEUtWithoutTier(calculator), calculator);
+ }
+
+ @Override
+ protected String getEUtWithTier(GT_OverclockCalculator calculator) {
+ return this.getEUtWithoutTier(calculator) + GT_Utility.getTierNameWithParentheses(calculator.getConsumption());
+ }
+
+ @Override
+ protected String getVoltageString(GT_OverclockCalculator calculator) {
+ long voltage = computeVoltageForEURate(calculator.getConsumption());
+ return decorateWithOverclockLabel(GT_Utility.formatNumbers(voltage) + " EU/t", calculator)
+ + GT_Utility.getTierNameWithParentheses(voltage);
+ }
+
+ protected String decorateWithOverclockLabel(String s, GT_OverclockCalculator calculator) {
+ if (wasOverclocked(calculator)) {
+ s += " (OC)";
+ }
+ return s;
+ }
+
+ protected boolean wasOverclocked(GT_OverclockCalculator calculator) {
+ return calculator.getPerformedOverclocks() > 0;
+ }
+}
diff --git a/src/main/java/gregtech/api/objects/overclockdescriber/FusionOverclockDescriber.java b/src/main/java/gregtech/api/objects/overclockdescriber/FusionOverclockDescriber.java
new file mode 100644
index 0000000000..43ce1c8760
--- /dev/null
+++ b/src/main/java/gregtech/api/objects/overclockdescriber/FusionOverclockDescriber.java
@@ -0,0 +1,69 @@
+package gregtech.api.objects.overclockdescriber;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.EnumChatFormatting;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_OverclockCalculator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class FusionOverclockDescriber extends EUOverclockDescriber {
+
+ protected final long capableStartup;
+
+ public FusionOverclockDescriber(byte energyTier, long capableStartup) {
+ super(energyTier, 1);
+ this.capableStartup = capableStartup;
+ }
+
+ @Override
+ public GT_OverclockCalculator createCalculator(GT_OverclockCalculator template, GT_Recipe recipe) {
+ return super.createCalculator(template, recipe).limitOverclockCount(overclock(recipe.mSpecialValue))
+ .setEUtIncreasePerOC(getEUtIncreasePerOC())
+ .setDurationDecreasePerOC(getDurationDecreasePerOC());
+ }
+
+ protected int getEUtIncreasePerOC() {
+ return 1;
+ }
+
+ protected int getDurationDecreasePerOC() {
+ return 1;
+ }
+
+ @Override
+ public String getTierString() {
+ return GT_Values.TIER_COLORS[tier] + "MK " + getFusionTier() + EnumChatFormatting.RESET;
+ }
+
+ @Override
+ public boolean canHandle(GT_Recipe recipe) {
+ byte tier = GT_Utility.getTier(recipe.mEUt);
+ if (this.tier < tier) {
+ return false;
+ }
+ return this.capableStartup >= recipe.mSpecialValue;
+ }
+
+ protected int overclock(int startEnergy) {
+ return switch (getFusionTier()) {
+ case 1 -> 0;
+ case 2 -> (startEnergy <= 160000000) ? 1 : 0;
+ case 3 -> (startEnergy <= 160000000) ? 2 : ((startEnergy <= 320000000) ? 1 : 0);
+ case 4 -> (startEnergy <= 160000000) ? 3
+ : (startEnergy <= 320000000) ? 2 : (startEnergy <= 640000000) ? 1 : 0;
+ case 5 -> (startEnergy <= 160000000) ? 4
+ : (startEnergy <= 320000000) ? 3 : (startEnergy <= 640000000) ? 2 : (startEnergy <= 1280000000) ? 1 : 0;
+ default -> throw new IllegalStateException("Unexpected fusion tier: " + getFusionTier());
+ };
+ }
+
+ protected int getFusionTier() {
+ return this.tier - 5; // Mk1 <-> LuV
+ }
+}
diff --git a/src/main/java/gregtech/api/objects/overclockdescriber/OverclockDescriber.java b/src/main/java/gregtech/api/objects/overclockdescriber/OverclockDescriber.java
new file mode 100644
index 0000000000..0b253c95fa
--- /dev/null
+++ b/src/main/java/gregtech/api/objects/overclockdescriber/OverclockDescriber.java
@@ -0,0 +1,106 @@
+package gregtech.api.objects.overclockdescriber;
+
+import static gregtech.api.util.GT_Utility.trans;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.GT_Mod;
+import gregtech.api.util.GT_OverclockCalculator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Provides an overclock behavior that will run on machines with the ability to draw information about it on NEI.
+ * <p>
+ * Implement {@link gregtech.api.interfaces.tileentity.IOverclockDescriptionProvider} for corresponding machine to use
+ * derivative of this class when looking up NEI recipe catalyst.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public abstract class OverclockDescriber {
+
+ /**
+ * Tier of the (maybe virtual) machine this object belongs to.
+ */
+ protected final byte tier;
+
+ public OverclockDescriber(byte tier) {
+ this.tier = tier;
+ }
+
+ /**
+ * @return Tier of this object. Used to limit recipes shown on NEI, based on recipe EU/t.
+ */
+ public final byte getTier() {
+ return tier;
+ }
+
+ /**
+ * @return Tier display of this object, shown on NEI header in a form of {@code Machine Name (tier)}
+ */
+ public abstract String getTierString();
+
+ /**
+ * Creates overclock calculator from given template. This template should be used instead of building from the
+ * ground to avoid issues coming from different caller using different templates, but it's not applicable when using
+ * {@link GT_OverclockCalculator#ofNoOverclock(GT_Recipe)}.
+ *
+ * @param template Calculator that can be used as template. Recipe EU/t and duration are already set.
+ * @param recipe Recipe to calculate.
+ */
+ public abstract GT_OverclockCalculator createCalculator(GT_OverclockCalculator template, GT_Recipe recipe);
+
+ /**
+ * Draws info about the energy this object can handle on NEI recipe GUI.
+ */
+ public abstract void drawEnergyInfo(RecipeDisplayInfo recipeInfo);
+
+ public void drawDurationInfo(RecipeDisplayInfo recipeInfo) {
+ if (getDurationTicks(recipeInfo.calculator) <= 0) return;
+
+ String textToDraw = trans("158", "Time: ");
+ if (GT_Mod.gregtechproxy.mNEIRecipeSecondMode) {
+ textToDraw += getDurationStringSeconds(recipeInfo.calculator);
+ if (getDurationSeconds(recipeInfo.calculator) <= 1.0d) {
+ textToDraw += String.format(" (%s)", getDurationStringTicks(recipeInfo.calculator));
+ }
+ } else {
+ textToDraw += getDurationStringTicks(recipeInfo.calculator);
+ }
+ recipeInfo.drawText(textToDraw);
+ }
+
+ /**
+ * Used to limit the shown recipes when searching recipes with NEI recipe catalyst. Unless overridden, this method
+ * doesn't do anything special (except for a bit worse performance).
+ * <p>
+ * In order to make use of this method, {@link gregtech.api.recipe.RecipeMapBuilder#useCustomFilterForNEI}
+ * should be enabled for the recipemap.
+ *
+ * @return If this object can handle the supplied recipe
+ */
+ public boolean canHandle(GT_Recipe recipe) {
+ byte tier = GT_Utility.getTier(recipe.mEUt);
+ return this.tier >= tier;
+ }
+
+ private int getDurationTicks(GT_OverclockCalculator calculator) {
+ return calculator.getDuration();
+ }
+
+ private double getDurationSeconds(GT_OverclockCalculator calculator) {
+ return 0.05d * getDurationTicks(calculator);
+ }
+
+ private String getDurationStringSeconds(GT_OverclockCalculator calculator) {
+ return GT_Utility.formatNumbers(getDurationSeconds(calculator)) + GT_Utility.trans("161", " secs");
+ }
+
+ private String getDurationStringTicks(GT_OverclockCalculator calculator) {
+ String ticksString = getDurationTicks(calculator) == 1 ? GT_Utility.trans("209.1", " tick")
+ : GT_Utility.trans("209", " ticks");
+ return GT_Utility.formatNumbers(getDurationTicks(calculator)) + ticksString;
+ }
+}
diff --git a/src/main/java/gregtech/api/objects/overclockdescriber/SteamOverclockDescriber.java b/src/main/java/gregtech/api/objects/overclockdescriber/SteamOverclockDescriber.java
new file mode 100644
index 0000000000..5da64d4028
--- /dev/null
+++ b/src/main/java/gregtech/api/objects/overclockdescriber/SteamOverclockDescriber.java
@@ -0,0 +1,64 @@
+package gregtech.api.objects.overclockdescriber;
+
+import static gregtech.api.util.GT_Utility.trans;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.StatCollector;
+
+import gregtech.api.enums.SteamVariant;
+import gregtech.api.util.GT_OverclockCalculator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class SteamOverclockDescriber extends OverclockDescriber {
+
+ private final SteamVariant steamVariant;
+ private final int euPerTickMultiplier;
+ private final int durationMultiplier;
+
+ public SteamOverclockDescriber(SteamVariant steamVariant, int euPerTickMultiplier, int durationMultiplier) {
+ super((byte) 1); // recipe tier is always LV
+ this.steamVariant = steamVariant;
+ this.euPerTickMultiplier = euPerTickMultiplier;
+ this.durationMultiplier = durationMultiplier;
+ }
+
+ @Override
+ public String getTierString() {
+ return StatCollector.translateToLocal("GT5U.steam_variant." + steamVariant.toString());
+ }
+
+ @Override
+ public GT_OverclockCalculator createCalculator(GT_OverclockCalculator template, GT_Recipe recipe) {
+ return GT_OverclockCalculator.ofNoOverclock(recipe)
+ .setEUtDiscount(euPerTickMultiplier)
+ .setSpeedBoost(durationMultiplier);
+ }
+
+ @Override
+ public void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {
+ if (recipeInfo.calculator.getConsumption() <= 0) return;
+
+ recipeInfo.drawText(trans("152", "Total: ") + getTotalPowerString(recipeInfo.calculator));
+ recipeInfo.drawText(trans("153", "Usage: ") + getSteamUsageString(recipeInfo.calculator));
+ }
+
+ private String getTotalPowerString(GT_OverclockCalculator calculator) {
+ return GT_Utility.formatNumbers(convertEUToSteam(calculator.getConsumption() * calculator.getDuration()))
+ + " Steam";
+ }
+
+ private String getSteamUsageString(GT_OverclockCalculator calculator) {
+ return GT_Utility.formatNumbers(20 * convertEUToSteam(calculator.getConsumption())) + " L/s Steam";
+ }
+
+ private static long convertEUToSteam(long eu) {
+ // 2L normal steam == 1EU
+ return 2 * eu;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/BasicUIProperties.java b/src/main/java/gregtech/api/recipe/BasicUIProperties.java
new file mode 100644
index 0000000000..fde86785b2
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/BasicUIProperties.java
@@ -0,0 +1,251 @@
+package gregtech.api.recipe;
+
+import java.awt.Rectangle;
+import java.util.List;
+import java.util.function.IntFunction;
+import java.util.function.Supplier;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.apache.commons.lang3.tuple.Pair;
+
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+
+import gregtech.api.gui.modularui.FallbackableSteamTexture;
+import gregtech.api.gui.modularui.SteamTexture;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Data object to store properties, used to draw both basic machine GUI and NEI recipe GUI, mainly GUI widgets.
+ * Not all the info used to draw NEI are listed here, see also {@link NEIRecipeProperties}.
+ * <p>
+ * Use {@link #builder()} for creation.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public final class BasicUIProperties {
+
+ /**
+ * Starts constructing BasicUIProperties.
+ */
+ public static BasicUIPropertiesBuilder builder() {
+ return new BasicUIPropertiesBuilder();
+ }
+
+ /**
+ * Creates new builder from this instance.
+ */
+ public BasicUIPropertiesBuilder toBuilder() {
+ return new BasicUIPropertiesBuilder().maxItemInputs(maxItemInputs)
+ .maxItemOutputs(maxItemOutputs)
+ .maxFluidInputs(maxFluidInputs)
+ .maxFluidOutputs(maxFluidOutputs)
+ .slotOverlays(slotOverlays)
+ .slotOverlaysSteam(slotOverlaysSteam)
+ .progressBarTexture(progressBarTexture)
+ .progressBarTextureSteam(progressBarTextureSteam)
+ .progressBarDirection(progressBarDirection)
+ .progressBarSize(progressBarSize)
+ .progressBarPos(progressBarPos)
+ .useProgressBar(useProgressBar)
+ .useSpecialSlot(useSpecialSlot)
+ .neiTransferRect(neiTransferRect)
+ .neiTransferRectId(neiTransferRectId)
+ .specialTextures(specialTextures)
+ .specialTexturesSteam(specialTexturesSteam)
+ .logo(logo)
+ .logoSize(logoSize)
+ .logoPos(logoPos)
+ .itemInputPositionsGetter(itemInputPositionsGetter)
+ .itemOutputPositionsGetter(itemOutputPositionsGetter)
+ .specialItemPositionGetter(specialItemPositionGetter)
+ .fluidInputPositionsGetter(fluidInputPositionsGetter)
+ .fluidOutputPositionsGetter(fluidOutputPositionsGetter)
+ .amperage(amperage);
+ }
+
+ /**
+ * How many item inputs does this recipemap usually has at most.
+ * It does not actually restrict number of items used in the recipe.
+ */
+ public final int maxItemInputs;
+ /**
+ * How many item outputs does this recipemap usually has at most.
+ * It does not actually restrict number of items used in the recipe.
+ */
+ public final int maxItemOutputs;
+ /**
+ * How many fluid inputs does this recipemap usually has at most.
+ * It does not actually restrict number of items used in the recipe.
+ */
+ public final int maxFluidInputs;
+ /**
+ * How many fluid outputs does this recipemap usually has at most.
+ * It does not actually restrict number of items used in the recipe.
+ */
+ public final int maxFluidOutputs;
+
+ private final SlotOverlayGetter<IDrawable> slotOverlays;
+ private final SlotOverlayGetter<SteamTexture> slotOverlaysSteam;
+
+ /**
+ * Progressbar used for BasicMachine GUI and NEI.
+ */
+ @Nullable
+ public final FallbackableUITexture progressBarTexture;
+ /**
+ * Progressbar used for steam machine GUI.
+ */
+ @Nullable
+ public final FallbackableSteamTexture progressBarTextureSteam;
+ /**
+ * Direction of progressbar animation.
+ */
+ public final ProgressBar.Direction progressBarDirection;
+ /**
+ * Size of the progressbar. (20, 36) by default.
+ */
+ public final Size progressBarSize;
+ /**
+ * Position of the progressbar. (78, 24) by default.
+ */
+ public final Pos2d progressBarPos;
+ /**
+ * Image size in the direction of progressbar. Used for non-smooth rendering.
+ */
+ public final int progressBarImageSize;
+
+ /**
+ * If progressbar should be added.
+ */
+ public final boolean useProgressBar;
+
+ /**
+ * If special slot has its usage for this GUI.
+ */
+ public final boolean useSpecialSlot;
+
+ /**
+ * GUI area where clicking shows up all the recipes available.
+ */
+ public final List<Rectangle> neiTransferRect;
+ /**
+ * ID used to open NEI recipe GUI when progressbar is clicked.
+ */
+ @Nullable
+ public final String neiTransferRectId;
+
+ /**
+ * Additional textures shown on GUI.
+ */
+ public final List<Pair<IDrawable, Pair<Size, Pos2d>>> specialTextures;
+ /**
+ * Additional textures shown on steam machine GUI.
+ */
+ public final List<Pair<SteamTexture, Pair<Size, Pos2d>>> specialTexturesSteam;
+
+ /**
+ * Logo shown on GUI. GregTech logo by default.
+ */
+ public final IDrawable logo;
+ /**
+ * Size of logo. (17, 17) by default.
+ */
+ public final Size logoSize;
+ /**
+ * Position of logo. (152, 63) by default.
+ */
+ public final Pos2d logoPos;
+
+ public final IntFunction<List<Pos2d>> itemInputPositionsGetter;
+ public final IntFunction<List<Pos2d>> itemOutputPositionsGetter;
+ public final Supplier<Pos2d> specialItemPositionGetter;
+ public final IntFunction<List<Pos2d>> fluidInputPositionsGetter;
+ public final IntFunction<List<Pos2d>> fluidOutputPositionsGetter;
+
+ /**
+ * Amperage for the recipemap. Even though this is placed at frontend because backend logic doesn't need it,
+ * some machine logic also use this variable.
+ */
+ public final int amperage;
+
+ BasicUIProperties(int maxItemInputs, int maxItemOutputs, int maxFluidInputs, int maxFluidOutputs,
+ SlotOverlayGetter<IDrawable> slotOverlays, SlotOverlayGetter<SteamTexture> slotOverlaysSteam,
+ @Nullable FallbackableUITexture progressBarTexture, @Nullable FallbackableSteamTexture progressBarTextureSteam,
+ ProgressBar.Direction progressBarDirection, Size progressBarSize, Pos2d progressBarPos, boolean useProgressBar,
+ boolean useSpecialSlot, List<Rectangle> neiTransferRect, @Nullable String neiTransferRectId,
+ List<Pair<IDrawable, Pair<Size, Pos2d>>> specialTextures,
+ List<Pair<SteamTexture, Pair<Size, Pos2d>>> specialTexturesSteam, IDrawable logo, Size logoSize, Pos2d logoPos,
+ IntFunction<List<Pos2d>> itemInputPositionsGetter, IntFunction<List<Pos2d>> itemOutputPositionsGetter,
+ Supplier<Pos2d> specialItemPositionGetter, IntFunction<List<Pos2d>> fluidInputPositionsGetter,
+ IntFunction<List<Pos2d>> fluidOutputPositionsGetter, int amperage) {
+ if (maxItemInputs < 0 || maxItemOutputs < 0 || maxFluidInputs < 0 || maxFluidOutputs < 0) {
+ throw new IllegalArgumentException(
+ "maxItemInputs, maxItemOutputs, maxFluidInputs and maxFluidOutputs cannot be negative");
+ }
+ if (amperage < 1) {
+ throw new IllegalArgumentException("Amperage cannot be lower than 1");
+ }
+ this.maxItemInputs = maxItemInputs;
+ this.maxItemOutputs = maxItemOutputs;
+ this.maxFluidInputs = maxFluidInputs;
+ this.maxFluidOutputs = maxFluidOutputs;
+ this.slotOverlays = slotOverlays;
+ this.slotOverlaysSteam = slotOverlaysSteam;
+ this.progressBarTexture = progressBarTexture;
+ this.progressBarTextureSteam = progressBarTextureSteam;
+ this.progressBarDirection = progressBarDirection;
+ this.progressBarSize = progressBarSize;
+ this.progressBarPos = progressBarPos;
+ this.useProgressBar = useProgressBar;
+ this.useSpecialSlot = useSpecialSlot;
+ this.neiTransferRect = neiTransferRect;
+ this.neiTransferRectId = neiTransferRectId;
+ this.specialTextures = specialTextures;
+ this.specialTexturesSteam = specialTexturesSteam;
+ this.logo = logo;
+ this.logoSize = logoSize;
+ this.logoPos = logoPos;
+ this.itemInputPositionsGetter = itemInputPositionsGetter;
+ this.itemOutputPositionsGetter = itemOutputPositionsGetter;
+ this.specialItemPositionGetter = specialItemPositionGetter;
+ this.fluidInputPositionsGetter = fluidInputPositionsGetter;
+ this.fluidOutputPositionsGetter = fluidOutputPositionsGetter;
+ this.amperage = amperage;
+
+ this.progressBarImageSize = switch (progressBarDirection) {
+ case UP, DOWN -> progressBarSize.height;
+ case CIRCULAR_CW -> Math.max(progressBarSize.width, progressBarSize.height);
+ default -> progressBarSize.width;
+ };
+ }
+
+ /**
+ * Retrieves overlay for slot, with given matching conditions.
+ */
+ @Nullable
+ public IDrawable getOverlayForSlot(int index, boolean isFluid, boolean isOutput, boolean isSpecial) {
+ return slotOverlays.apply(index, isFluid, isOutput, isSpecial);
+ }
+
+ /**
+ * Retrieves overlay for slot of steam machines, with given matching conditions.
+ */
+ @Nullable
+ public SteamTexture getOverlayForSlotSteam(int index, boolean isFluid, boolean isOutput, boolean isSpecial) {
+ return slotOverlaysSteam.apply(index, isFluid, isOutput, isSpecial);
+ }
+
+ public interface SlotOverlayGetter<T> {
+
+ @Nullable
+ T apply(int index, boolean isFluid, boolean isOutput, boolean isSpecial);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/BasicUIPropertiesBuilder.java b/src/main/java/gregtech/api/recipe/BasicUIPropertiesBuilder.java
new file mode 100644
index 0000000000..7be2c94b23
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/BasicUIPropertiesBuilder.java
@@ -0,0 +1,264 @@
+package gregtech.api.recipe;
+
+import java.awt.Rectangle;
+import java.util.Collections;
+import java.util.List;
+import java.util.function.IntFunction;
+import java.util.function.Supplier;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.apache.commons.lang3.tuple.ImmutablePair;
+import org.apache.commons.lang3.tuple.Pair;
+
+import com.google.common.collect.ImmutableList;
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+
+import gregtech.api.gui.modularui.FallbackableSteamTexture;
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.gui.modularui.SteamTexture;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+
+/**
+ * Builder class for {@link BasicUIProperties}.
+ */
+@SuppressWarnings("UnusedReturnValue")
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class BasicUIPropertiesBuilder {
+
+ private int maxItemInputs, maxItemOutputs, maxFluidInputs, maxFluidOutputs;
+
+ private BasicUIProperties.SlotOverlayGetter<IDrawable> slotOverlays = (index, isFluid, isOutput, isSpecial) -> null;
+ private BasicUIProperties.SlotOverlayGetter<SteamTexture> slotOverlaysSteam = (index, isFluid, isOutput,
+ isSpecial) -> null;
+
+ @Nullable
+ private FallbackableUITexture progressBarTexture;
+ @Nullable
+ private FallbackableSteamTexture progressBarTextureSteam;
+ private ProgressBar.Direction progressBarDirection = ProgressBar.Direction.RIGHT;
+ private Size progressBarSize = new Size(20, 18);
+ private Pos2d progressBarPos = new Pos2d(78, 24);
+
+ private boolean useProgressBar = true;
+
+ private boolean useSpecialSlot;
+
+ private final ImmutableList.Builder<Rectangle> neiTransferRect = ImmutableList.builder();
+ @Nullable
+ private String neiTransferRectId;
+
+ private final ImmutableList.Builder<Pair<IDrawable, Pair<Size, Pos2d>>> specialTextures = ImmutableList.builder();
+ private final ImmutableList.Builder<Pair<SteamTexture, Pair<Size, Pos2d>>> specialTexturesSteam = ImmutableList
+ .builder();
+
+ private IDrawable logo = GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT;
+ private Size logoSize = new Size(17, 17);
+ private Pos2d logoPos = new Pos2d(152, 63);
+
+ private IntFunction<List<Pos2d>> itemInputPositionsGetter = UIHelper::getItemInputPositions;
+ private IntFunction<List<Pos2d>> itemOutputPositionsGetter = UIHelper::getItemOutputPositions;
+ private Supplier<Pos2d> specialItemPositionGetter = UIHelper::getSpecialItemPosition;
+ private IntFunction<List<Pos2d>> fluidInputPositionsGetter = UIHelper::getFluidInputPositions;
+ private IntFunction<List<Pos2d>> fluidOutputPositionsGetter = UIHelper::getFluidOutputPositions;
+
+ private int amperage = 1;
+
+ BasicUIPropertiesBuilder() {}
+
+ public BasicUIProperties build() {
+ if (maxItemInputs == 0 && maxItemOutputs == 0 && maxFluidInputs == 0 && maxFluidOutputs == 0) {
+ throw new IllegalArgumentException("Set either of max I/O count");
+ }
+ List<Rectangle> builtNEITransferRect = neiTransferRect.build();
+ if (builtNEITransferRect.isEmpty()) {
+ builtNEITransferRect = Collections.singletonList(
+ new Rectangle(
+ progressBarPos.x - (16 / 2),
+ progressBarPos.y,
+ progressBarSize.width + 16,
+ progressBarSize.height));
+ }
+ return new BasicUIProperties(
+ maxItemInputs,
+ maxItemOutputs,
+ maxFluidInputs,
+ maxFluidOutputs,
+ slotOverlays,
+ slotOverlaysSteam,
+ progressBarTexture,
+ progressBarTextureSteam,
+ progressBarDirection,
+ progressBarSize,
+ progressBarPos,
+ useProgressBar,
+ useSpecialSlot,
+ builtNEITransferRect,
+ neiTransferRectId,
+ specialTextures.build(),
+ specialTexturesSteam.build(),
+ logo,
+ logoSize,
+ logoPos,
+ itemInputPositionsGetter,
+ itemOutputPositionsGetter,
+ specialItemPositionGetter,
+ fluidInputPositionsGetter,
+ fluidOutputPositionsGetter,
+ amperage);
+ }
+
+ public BasicUIPropertiesBuilder maxItemInputs(int maxItemInputs) {
+ this.maxItemInputs = maxItemInputs;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder maxItemOutputs(int maxItemOutputs) {
+ this.maxItemOutputs = maxItemOutputs;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder maxFluidInputs(int maxFluidInputs) {
+ this.maxFluidInputs = maxFluidInputs;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder maxFluidOutputs(int maxFluidOutputs) {
+ this.maxFluidOutputs = maxFluidOutputs;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder slotOverlays(BasicUIProperties.SlotOverlayGetter<IDrawable> slotOverlays) {
+ this.slotOverlays = slotOverlays;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder slotOverlaysSteam(
+ BasicUIProperties.SlotOverlayGetter<SteamTexture> slotOverlaysSteam) {
+ this.slotOverlaysSteam = slotOverlaysSteam;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder progressBarTexture(@Nullable FallbackableUITexture progressBarTexture) {
+ this.progressBarTexture = progressBarTexture;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder progressBarTextureSteam(
+ @Nullable FallbackableSteamTexture progressBarTextureSteam) {
+ this.progressBarTextureSteam = progressBarTextureSteam;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder progressBarDirection(ProgressBar.Direction progressBarDirection) {
+ this.progressBarDirection = progressBarDirection;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder progressBarSize(Size progressBarSize) {
+ this.progressBarSize = progressBarSize;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder progressBarPos(Pos2d progressBarPos) {
+ this.progressBarPos = progressBarPos;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder useProgressBar(boolean useProgressBar) {
+ this.useProgressBar = useProgressBar;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder useSpecialSlot(boolean useSpecialSlot) {
+ this.useSpecialSlot = useSpecialSlot;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder addNEITransferRect(Rectangle neiTransferRect) {
+ this.neiTransferRect.add(neiTransferRect);
+ return this;
+ }
+
+ BasicUIPropertiesBuilder neiTransferRect(List<Rectangle> neiTransferRect) {
+ this.neiTransferRect.addAll(neiTransferRect);
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder neiTransferRectId(@Nullable String neiTransferRectId) {
+ this.neiTransferRectId = neiTransferRectId;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder addSpecialTexture(Size size, Pos2d pos, IDrawable texture) {
+ this.specialTextures.add(new ImmutablePair<>(texture, new ImmutablePair<>(size, pos)));
+ return this;
+ }
+
+ BasicUIPropertiesBuilder specialTextures(List<Pair<IDrawable, Pair<Size, Pos2d>>> specialTextures) {
+ this.specialTextures.addAll(specialTextures);
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder addSpecialTextureSteam(Size size, Pos2d pos, SteamTexture texture) {
+ this.specialTexturesSteam.add(new ImmutablePair<>(texture, new ImmutablePair<>(size, pos)));
+ return this;
+ }
+
+ BasicUIPropertiesBuilder specialTexturesSteam(List<Pair<SteamTexture, Pair<Size, Pos2d>>> specialTextures) {
+ this.specialTexturesSteam.addAll(specialTextures);
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder logo(IDrawable logo) {
+ this.logo = logo;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder logoSize(Size logoSize) {
+ this.logoSize = logoSize;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder logoPos(Pos2d logoPos) {
+ this.logoPos = logoPos;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder itemInputPositionsGetter(IntFunction<List<Pos2d>> itemInputPositionsGetter) {
+ this.itemInputPositionsGetter = itemInputPositionsGetter;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder itemOutputPositionsGetter(IntFunction<List<Pos2d>> itemOutputPositionsGetter) {
+ this.itemOutputPositionsGetter = itemOutputPositionsGetter;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder specialItemPositionGetter(Supplier<Pos2d> specialItemPositionGetter) {
+ this.specialItemPositionGetter = specialItemPositionGetter;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder fluidInputPositionsGetter(IntFunction<List<Pos2d>> fluidInputPositionsGetter) {
+ this.fluidInputPositionsGetter = fluidInputPositionsGetter;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder fluidOutputPositionsGetter(IntFunction<List<Pos2d>> fluidOutputPositionsGetter) {
+ this.fluidOutputPositionsGetter = fluidOutputPositionsGetter;
+ return this;
+ }
+
+ public BasicUIPropertiesBuilder amperage(int amperage) {
+ this.amperage = amperage;
+ return this;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/FindRecipeQuery.java b/src/main/java/gregtech/api/recipe/FindRecipeQuery.java
new file mode 100644
index 0000000000..77c0648688
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/FindRecipeQuery.java
@@ -0,0 +1,178 @@
+package gregtech.api.recipe;
+
+import java.util.function.Predicate;
+import java.util.stream.Stream;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+// spotless:off spotless likes formatting @code to &#64;code
+/**
+ * Helper class for searching recipe. Retrieve instance with {@link RecipeMap#findRecipeQuery}.
+ * <p>
+ * It features fluent API, so you can find recipes like this:
+ *
+ * <pre>
+ * {@code
+ * GT_Recipe recipe = recipeMap.findRecipeQuery()
+ * .items(inputItems)
+ * .fluids(inputFluids)
+ * .find();
+ * }
+ * </pre>
+ */
+// spotless:on
+@SuppressWarnings("unused")
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class FindRecipeQuery {
+
+ private static final Predicate<GT_Recipe> ALWAYS = r -> true;
+
+ private final RecipeMap<?> recipeMap;
+
+ @Nullable
+ private ItemStack[] items;
+ @Nullable
+ private FluidStack[] fluids;
+ @Nullable
+ private ItemStack specialSlot;
+ private Predicate<GT_Recipe> filter = ALWAYS;
+ private long voltage = Integer.MAX_VALUE;
+ @Nullable
+ private GT_Recipe cachedRecipe;
+ private boolean notUnificated;
+ private boolean dontCheckStackSizes;
+ private boolean forCollisionCheck;
+
+ FindRecipeQuery(RecipeMap<?> recipeMap) {
+ this.recipeMap = recipeMap;
+ }
+
+ // region executors
+
+ /**
+ * @return The first matched recipe, or null if not found.
+ */
+ @Nullable
+ public GT_Recipe find() {
+ return findAll().findFirst()
+ .orElse(null);
+ }
+
+ /**
+ * @return All the matched recipes in the form of Stream.
+ */
+ public Stream<GT_Recipe> findAll() {
+ if (items == null) {
+ items = new ItemStack[0];
+ }
+ if (fluids == null) {
+ fluids = new FluidStack[0];
+ }
+
+ return recipeMap.getBackend()
+ .matchRecipeStream(
+ items,
+ fluids,
+ specialSlot,
+ cachedRecipe,
+ notUnificated,
+ dontCheckStackSizes,
+ forCollisionCheck)
+ .filter(recipe -> voltage * recipeMap.getAmperage() >= recipe.mEUt && filter.test(recipe));
+ }
+
+ /**
+ * Checks if given inputs conflict with already registered recipes.
+ *
+ * @return True if collision is found.
+ */
+ public boolean checkCollision() {
+ dontCheckStackSizes = true;
+ forCollisionCheck = true;
+ return findAll().findAny()
+ .isPresent();
+ }
+
+ // endregion
+
+ // region setters
+
+ /**
+ * @param items Item inputs.
+ */
+ public FindRecipeQuery items(@Nullable ItemStack... items) {
+ this.items = items;
+ return this;
+ }
+
+ /**
+ * @param fluids Fluid inputs.
+ */
+ public FindRecipeQuery fluids(@Nullable FluidStack... fluids) {
+ this.fluids = fluids;
+ return this;
+ }
+
+ /**
+ * @param specialSlot Content of the special slot. Normal recipemaps don't need this, but some do.
+ * Set {@link RecipeMapBuilder#specialSlotSensitive} to make it actually functional.
+ * Alternatively overriding {@link RecipeMapBackend#filterFindRecipe} will also work.
+ */
+ public FindRecipeQuery specialSlot(@Nullable ItemStack specialSlot) {
+ this.specialSlot = specialSlot;
+ return this;
+ }
+
+ /**
+ * @param filter Matched recipe will be tested by this function. If it returns false, the query will attempt to
+ * find next recipe.
+ */
+ public FindRecipeQuery filter(Predicate<GT_Recipe> filter) {
+ this.filter = filter;
+ return this;
+ }
+
+ /**
+ * @param voltage Recipes that exceed this voltage won't match. It will be automatically multiplied by amperage
+ * of the recipemap.
+ */
+ public FindRecipeQuery voltage(long voltage) {
+ this.voltage = voltage;
+ return this;
+ }
+
+ /**
+ * @param cachedRecipe If this is not null, the query tests it before all other recipes.
+ */
+ public FindRecipeQuery cachedRecipe(@Nullable GT_Recipe cachedRecipe) {
+ this.cachedRecipe = cachedRecipe;
+ return this;
+ }
+
+ /**
+ * @param notUnificated If this is set to true, item inputs will be unificated.
+ */
+ public FindRecipeQuery notUnificated(boolean notUnificated) {
+ this.notUnificated = notUnificated;
+ return this;
+ }
+
+ /**
+ * @param dontCheckStackSizes If this is set to true, the query won't check item count and fluid amount
+ * for the matched recipe.
+ */
+ public FindRecipeQuery dontCheckStackSizes(boolean dontCheckStackSizes) {
+ this.dontCheckStackSizes = dontCheckStackSizes;
+ return this;
+ }
+
+ // endregion
+}
diff --git a/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java b/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java
new file mode 100644
index 0000000000..2ba49f5da1
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/NEIRecipeProperties.java
@@ -0,0 +1,89 @@
+package gregtech.api.recipe;
+
+import java.util.Comparator;
+import java.util.function.UnaryOperator;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+
+import codechicken.nei.recipe.HandlerInfo;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.formatter.INEISpecialInfoFormatter;
+
+/**
+ * Data object storing info exclusively used to draw NEI recipe GUI. Not all the properties used to draw NEI
+ * are present here. See {@link BasicUIProperties} for the rest.
+ * <p>
+ * Use {@link #builder} for creation.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public final class NEIRecipeProperties {
+
+ static NEIRecipePropertiesBuilder builder() {
+ return new NEIRecipePropertiesBuilder();
+ }
+
+ /**
+ * Whether to register dedicated NEI recipe page for the recipemap.
+ */
+ public final boolean registerNEI;
+ @Nullable
+ public final UnaryOperator<HandlerInfo.Builder> handlerInfoCreator;
+
+ /**
+ * Size of background shown.
+ */
+ // todo make it final
+ public Size recipeBackgroundSize;
+ /**
+ * Offset of background shown.
+ */
+ public final Pos2d recipeBackgroundOffset;
+
+ /**
+ * Formats special description for the recipe, mainly {@link gregtech.api.util.GT_Recipe#mSpecialValue}.
+ */
+ public final INEISpecialInfoFormatter neiSpecialInfoFormatter;
+
+ /**
+ * Whether to show oredict equivalent item outputs.
+ */
+ public final boolean unificateOutput;
+ /**
+ * If a custom filter method {@link OverclockDescriber#canHandle} should be used to limit the shown recipes when
+ * searching recipes with recipe catalyst. Else, the voltage of the recipe is the only factor to filter recipes.
+ */
+ public final boolean useCustomFilter;
+ /**
+ * Whether to render the actual stack size of items or not.
+ */
+ public final boolean renderRealStackSizes;
+
+ /**
+ * Comparator for NEI recipe sort. {@link GT_Recipe#compareTo(GT_Recipe)} by default.
+ */
+ public final Comparator<GT_Recipe> comparator;
+
+ NEIRecipeProperties(boolean registerNEI, @Nullable UnaryOperator<HandlerInfo.Builder> handlerInfoCreator,
+ Size recipeBackgroundSize, Pos2d recipeBackgroundOffset, INEISpecialInfoFormatter neiSpecialInfoFormatter,
+ boolean unificateOutput, boolean useCustomFilter, boolean renderRealStackSizes,
+ Comparator<GT_Recipe> comparator) {
+ this.registerNEI = registerNEI;
+ this.handlerInfoCreator = handlerInfoCreator;
+ this.recipeBackgroundOffset = recipeBackgroundOffset;
+ this.recipeBackgroundSize = recipeBackgroundSize;
+ this.neiSpecialInfoFormatter = neiSpecialInfoFormatter;
+ this.unificateOutput = unificateOutput;
+ this.useCustomFilter = useCustomFilter;
+ this.renderRealStackSizes = renderRealStackSizes;
+ this.comparator = comparator;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java b/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java
new file mode 100644
index 0000000000..050a1c4920
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/NEIRecipePropertiesBuilder.java
@@ -0,0 +1,100 @@
+package gregtech.api.recipe;
+
+import java.util.Comparator;
+import java.util.function.UnaryOperator;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+
+import codechicken.nei.recipe.HandlerInfo;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.formatter.DefaultSpecialValueFormatter;
+import gregtech.nei.formatter.INEISpecialInfoFormatter;
+
+/**
+ * Builder class for {@link NEIRecipeProperties}.
+ */
+@SuppressWarnings("UnusedReturnValue")
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class NEIRecipePropertiesBuilder {
+
+ private boolean registerNEI = true;
+ @Nullable
+ private UnaryOperator<HandlerInfo.Builder> handlerInfoCreator;
+
+ private Size recipeBackgroundSize = new Size(170, 82);
+ private Pos2d recipeBackgroundOffset = new Pos2d(3, 3);
+
+ private INEISpecialInfoFormatter neiSpecialInfoFormatter = DefaultSpecialValueFormatter.INSTANCE;
+
+ private boolean unificateOutput = true;
+ private boolean useCustomFilter;
+ private boolean renderRealStackSizes = true;
+
+ private Comparator<GT_Recipe> comparator = GT_Recipe::compareTo;
+
+ NEIRecipePropertiesBuilder() {}
+
+ public NEIRecipeProperties build() {
+ return new NEIRecipeProperties(
+ registerNEI,
+ handlerInfoCreator,
+ recipeBackgroundSize,
+ recipeBackgroundOffset,
+ neiSpecialInfoFormatter,
+ unificateOutput,
+ useCustomFilter,
+ renderRealStackSizes,
+ comparator);
+ }
+
+ public NEIRecipePropertiesBuilder disableRegisterNEI() {
+ this.registerNEI = false;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder handlerInfoCreator(UnaryOperator<HandlerInfo.Builder> builderCreator) {
+ this.handlerInfoCreator = builderCreator;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder recipeBackgroundSize(Size recipeBackgroundSize) {
+ this.recipeBackgroundSize = recipeBackgroundSize;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder recipeBackgroundOffset(Pos2d recipeBackgroundOffset) {
+ this.recipeBackgroundOffset = recipeBackgroundOffset;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder neiSpecialInfoFormatter(INEISpecialInfoFormatter neiSpecialInfoFormatter) {
+ this.neiSpecialInfoFormatter = neiSpecialInfoFormatter;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder unificateOutput(boolean unificateOutput) {
+ this.unificateOutput = unificateOutput;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder useCustomFilter() {
+ this.useCustomFilter = true;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder disableRenderRealStackSizes() {
+ this.renderRealStackSizes = false;
+ return this;
+ }
+
+ public NEIRecipePropertiesBuilder recipeComparator(Comparator<GT_Recipe> comparator) {
+ this.comparator = comparator;
+ return this;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeCategories.java b/src/main/java/gregtech/api/recipe/RecipeCategories.java
new file mode 100644
index 0000000000..c2de890793
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeCategories.java
@@ -0,0 +1,56 @@
+package gregtech.api.recipe;
+
+import static gregtech.api.enums.Mods.GregTech;
+import static gregtech.api.recipe.RecipeCategory.createIcon;
+
+public final class RecipeCategories {
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory arcFurnaceRecycling = new RecipeCategory(
+ "gt.recipe.category.arc_furnace_recycling",
+ RecipeMaps.arcFurnaceRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "arc_furnace_recycling.png"))));
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory plasmaArcFurnaceRecycling = new RecipeCategory(
+ "gt.recipe.category.plasma_arc_furnace_recycling",
+ RecipeMaps.plasmaArcFurnaceRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "plasma_arc_furnace_recycling.png"))));
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory maceratorRecycling = new RecipeCategory(
+ "gt.recipe.category.macerator_recycling",
+ RecipeMaps.maceratorRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "macerator_recycling.png"))));
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory fluidExtractorRecycling = new RecipeCategory(
+ "gt.recipe.category.fluid_extractor_recycling",
+ RecipeMaps.fluidExtractionRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "fluid_extractor_recycling.png"))));
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory alloySmelterRecycling = new RecipeCategory(
+ "gt.recipe.category.alloy_smelter_recycling",
+ RecipeMaps.alloySmelterRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "alloy_smelter_recycling.png"))));
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory alloySmelterMolding = new RecipeCategory(
+ "gt.recipe.category.alloy_smelter_molding",
+ RecipeMaps.alloySmelterRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "alloy_smelter_molding.png"))));
+
+ @RecipeCategoryHolder
+ public static final RecipeCategory forgeHammerRecycling = new RecipeCategory(
+ "gt.recipe.category.forge_hammer_recycling",
+ RecipeMaps.hammerRecipes,
+ builder -> builder.setDisplayImage(
+ createIcon(GregTech.getResourcePath("textures", "gui", "picture", "forge_hammer_recycling.png"))));
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeCategory.java b/src/main/java/gregtech/api/recipe/RecipeCategory.java
new file mode 100644
index 0000000000..d7729ac493
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeCategory.java
@@ -0,0 +1,81 @@
+package gregtech.api.recipe;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.function.UnaryOperator;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import codechicken.nei.drawable.DrawableBuilder;
+import codechicken.nei.drawable.DrawableResource;
+import codechicken.nei.recipe.HandlerInfo;
+import cpw.mods.fml.common.Loader;
+import cpw.mods.fml.common.ModContainer;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Used to display recipes on NEI on different tabs.
+ * <p>
+ * Also apply {@link RecipeCategoryHolder} annotation to each instance to be picked up by GT config.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public final class RecipeCategory {
+
+ public static final Map<String, RecipeCategory> ALL_RECIPE_CATEGORIES = new HashMap<>();
+
+ public final String unlocalizedName;
+ public final RecipeMap<?> recipeMap;
+ public final ModContainer ownerMod;
+ @Nullable
+ public final UnaryOperator<HandlerInfo.Builder> handlerInfoCreator;
+
+ /**
+ * @param unlocalizedName Unlocalized name of this category. Must be unique.
+ * @param recipeMap RecipeMap this category belongs to.
+ * @param handlerInfoCreator Supplier of handler info for the NEI handler this category belongs to.
+ */
+ public RecipeCategory(String unlocalizedName, RecipeMap<?> recipeMap,
+ @Nullable UnaryOperator<HandlerInfo.Builder> handlerInfoCreator) {
+ this.unlocalizedName = unlocalizedName;
+ this.recipeMap = recipeMap;
+ this.ownerMod = Loader.instance()
+ .activeModContainer();
+ this.handlerInfoCreator = handlerInfoCreator;
+ if (ALL_RECIPE_CATEGORIES.containsKey(unlocalizedName)) {
+ throw new IllegalArgumentException(
+ "Cannot register recipe category with duplicated unlocalized name: " + unlocalizedName);
+ }
+ ALL_RECIPE_CATEGORIES.put(unlocalizedName, this);
+ }
+
+ RecipeCategory(RecipeMap<?> recipeMap) {
+ this(recipeMap.unlocalizedName, recipeMap, recipeMap.getFrontend().neiProperties.handlerInfoCreator);
+ }
+
+ @Override
+ public String toString() {
+ return "RecipeCategory{" + "unlocalizedName='"
+ + unlocalizedName
+ + '\''
+ + ", recipeMap="
+ + recipeMap.unlocalizedName
+ + ", ownerMod="
+ + ownerMod.getModId()
+ + '}';
+ }
+
+ /**
+ * Creates icon for recipe category. Size is 16px.
+ */
+ public static DrawableResource createIcon(String resourceLocation) {
+ return new DrawableBuilder(resourceLocation, 0, 0, 16, 16)
+ // GuiRecipeTab#drawForeground draws icon with 1px offset to make fuel icon (14px) prettier
+ .addPadding(-1, 0, -1, 0)
+ .setTextureSize(16, 16)
+ .build();
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeCategoryHolder.java b/src/main/java/gregtech/api/recipe/RecipeCategoryHolder.java
new file mode 100644
index 0000000000..0ad87e3f6f
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeCategoryHolder.java
@@ -0,0 +1,13 @@
+package gregtech.api.recipe;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Apply this annotation to each recipe category so that GT config will pick it up.
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface RecipeCategoryHolder {}
diff --git a/src/main/java/gregtech/api/recipe/RecipeCategorySetting.java b/src/main/java/gregtech/api/recipe/RecipeCategorySetting.java
new file mode 100644
index 0000000000..4920d64212
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeCategorySetting.java
@@ -0,0 +1,52 @@
+package gregtech.api.recipe;
+
+import java.util.Locale;
+import java.util.stream.Stream;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Specifies behaviors for {@link RecipeCategory}.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public enum RecipeCategorySetting {
+
+ /**
+ * Show the category in separated NEI tab.
+ */
+ ENABLE,
+ /**
+ * The category is merged to default one for the recipemap.
+ */
+ MERGE,
+ /**
+ * Recipes belonging to the category are hidden from NEI.
+ */
+ HIDE;
+
+ public static final RecipeCategorySetting[] VALUES = values();
+ public static final String[] NAMES = Stream.of(VALUES)
+ .map(RecipeCategorySetting::toName)
+ .toArray(String[]::new);
+
+ public static RecipeCategorySetting getDefault() {
+ return ENABLE;
+ }
+
+ public String toName() {
+ return toString().toLowerCase(Locale.ENGLISH);
+ }
+
+ public static RecipeCategorySetting find(String name) {
+ for (RecipeCategorySetting setting : VALUES) {
+ if (setting.toName()
+ .equals(name)) {
+ return setting;
+ }
+ }
+ return getDefault();
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMap.java b/src/main/java/gregtech/api/recipe/RecipeMap.java
new file mode 100644
index 0000000000..2ee2d3cb94
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMap.java
@@ -0,0 +1,395 @@
+package gregtech.api.recipe;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+import org.jetbrains.annotations.Unmodifiable;
+
+import gregtech.api.interfaces.IRecipeMap;
+import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Manages list of recipes. Its functionalities are split
+ * between {@link RecipeMapBackend} and {@link RecipeMapFrontend}.
+ *
+ * @param <B> Type of {@link RecipeMapBackend}
+ */
+@SuppressWarnings({ "unused", "UnusedReturnValue" })
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public final class RecipeMap<B extends RecipeMapBackend> implements IRecipeMap {
+
+ /**
+ * All the recipemap instances. key=unlocalized name, value=instance.
+ */
+ public static final Map<String, RecipeMap<?>> ALL_RECIPE_MAPS = new HashMap<>();
+
+ private final B backend;
+ private final RecipeMapFrontend frontend;
+
+ /**
+ * Unique unlocalized name of this recipemap. Used for identifier, localization key for NEI tab name, etc.
+ */
+ public final String unlocalizedName;
+
+ private final RecipeCategory defaultRecipeCategory;
+
+ /**
+ * Use {@link RecipeMapBuilder} to instantiate.
+ */
+ RecipeMap(String unlocalizedName, B backend, RecipeMapFrontend frontend) {
+ this.unlocalizedName = unlocalizedName;
+ this.backend = backend;
+ this.frontend = frontend;
+ this.defaultRecipeCategory = new RecipeCategory(this);
+ backend.setRecipeMap(this);
+ if (ALL_RECIPE_MAPS.containsKey(unlocalizedName)) {
+ throw new IllegalArgumentException(
+ "Cannot register recipemap with duplicated unlocalized name: " + unlocalizedName);
+ }
+ ALL_RECIPE_MAPS.put(unlocalizedName, this);
+ }
+
+ public B getBackend() {
+ return backend;
+ }
+
+ public RecipeMapFrontend getFrontend() {
+ return frontend;
+ }
+
+ /**
+ * @return All the recipes belonging to this recipemap.
+ */
+ @Unmodifiable
+ public Collection<GT_Recipe> getAllRecipes() {
+ return backend.getAllRecipes();
+ }
+
+ /**
+ * @return List of registered recipe categories associated with this recipemap.
+ */
+ public List<RecipeCategory> getAssociatedCategories() {
+ return RecipeCategory.ALL_RECIPE_CATEGORIES.values()
+ .stream()
+ .filter(category -> category.recipeMap == this)
+ .collect(Collectors.toList());
+ }
+
+ public RecipeCategory getDefaultRecipeCategory() {
+ return defaultRecipeCategory;
+ }
+
+ /**
+ * @return Amperage of this recipemap. Note that recipes store EU/t with amperage included,
+ * e.g. Arc Furnace recipe with 90 EU/t means 30 EU/t (LV) with 3 amperage.
+ */
+ public int getAmperage() {
+ return frontend.getUIProperties().amperage;
+ }
+
+ @Override
+ public void addDownstream(IRecipeMap downstream) {
+ backend.addDownstream(downstream);
+ }
+
+ // region add recipe
+
+ @Nullable
+ public GT_Recipe addRecipe(boolean aOptimize, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs,
+ @Nullable Object aSpecial, @Nullable int[] aOutputChances, @Nullable FluidStack[] aFluidInputs,
+ @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
+ return addRecipe(
+ new GT_Recipe(
+ aOptimize,
+ aInputs,
+ aOutputs,
+ aSpecial,
+ aOutputChances,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue));
+ }
+
+ @Nullable
+ public GT_Recipe addRecipe(@Nullable int[] aOutputChances, @Nullable FluidStack[] aFluidInputs,
+ @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
+ return addRecipe(
+ new GT_Recipe(
+ false,
+ null,
+ null,
+ null,
+ aOutputChances,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue),
+ false,
+ false,
+ false);
+ }
+
+ @Nullable
+ public GT_Recipe addRecipe(boolean aOptimize, @Nullable ItemStack[] aInputs, @Nullable ItemStack[] aOutputs,
+ @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs,
+ int aDuration, int aEUt, int aSpecialValue) {
+ return addRecipe(
+ new GT_Recipe(
+ aOptimize,
+ aInputs,
+ aOutputs,
+ aSpecial,
+ null,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue));
+ }
+
+ @Nullable
+ public GT_Recipe addRecipe(GT_Recipe aRecipe) {
+ return addRecipe(aRecipe, true, false, false);
+ }
+
+ @Nullable
+ public GT_Recipe addRecipe(GT_Recipe aRecipe, boolean aCheckForCollisions, boolean aFakeRecipe, boolean aHidden) {
+ aRecipe.mHidden = aHidden;
+ aRecipe.mFakeRecipe = aFakeRecipe;
+ if (aRecipe.mFluidInputs.length < backend.properties.minFluidInputs
+ && aRecipe.mInputs.length < backend.properties.minItemInputs) return null;
+ if (aCheckForCollisions && backend.checkCollision(aRecipe)) return null;
+ return backend.compileRecipe(aRecipe);
+ }
+
+ /**
+ * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes!
+ * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes
+ */
+ @Nullable
+ public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs,
+ @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable int[] aOutputChances,
+ @Nullable FluidStack[] aFluidInputs, @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt,
+ int aSpecialValue) {
+ return addFakeRecipe(
+ aCheckForCollisions,
+ new GT_Recipe(
+ false,
+ aInputs,
+ aOutputs,
+ aSpecial,
+ aOutputChances,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue));
+ }
+
+ /**
+ * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes!
+ * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes
+ */
+ @Nullable
+ public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs,
+ @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs,
+ @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
+ return addFakeRecipe(
+ aCheckForCollisions,
+ new GT_Recipe(
+ false,
+ aInputs,
+ aOutputs,
+ aSpecial,
+ null,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue));
+ }
+
+ @Nullable
+ public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs,
+ @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs,
+ @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, boolean hidden) {
+ return addFakeRecipe(
+ aCheckForCollisions,
+ new GT_Recipe(
+ false,
+ aInputs,
+ aOutputs,
+ aSpecial,
+ null,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue),
+ hidden);
+ }
+
+ @Nullable
+ public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, @Nullable ItemStack[] aInputs,
+ @Nullable ItemStack[] aOutputs, @Nullable Object aSpecial, @Nullable FluidStack[] aFluidInputs,
+ @Nullable FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue, ItemStack[][] aAlt,
+ boolean hidden) {
+ return addFakeRecipe(
+ aCheckForCollisions,
+ new GT_Recipe.GT_Recipe_WithAlt(
+ false,
+ aInputs,
+ aOutputs,
+ aSpecial,
+ null,
+ aFluidInputs,
+ aFluidOutputs,
+ aDuration,
+ aEUt,
+ aSpecialValue,
+ aAlt),
+ hidden);
+ }
+
+ /**
+ * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes!
+ * findRecipe won't find fake Recipes, containsInput WILL find fake Recipes
+ */
+ @Nullable
+ public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) {
+ return addRecipe(aRecipe, aCheckForCollisions, true, false);
+ }
+
+ @Nullable
+ public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe, boolean hidden) {
+ return addRecipe(aRecipe, aCheckForCollisions, true, hidden);
+ }
+
+ @Nonnull
+ @Override
+ public Collection<GT_Recipe> doAdd(GT_RecipeBuilder builder) {
+ return backend.doAdd(builder);
+ }
+
+ public GT_Recipe add(GT_Recipe aRecipe) {
+ return backend.compileRecipe(aRecipe);
+ }
+
+ // endregion
+
+ /**
+ * @return if this Item is a valid Input for any for the Recipes
+ */
+ public boolean containsInput(@Nullable ItemStack aStack) {
+ return aStack != null && backend.containsInput(aStack);
+ }
+
+ /**
+ * @return if this Fluid is a valid Input for any for the Recipes
+ */
+ public boolean containsInput(@Nullable FluidStack aFluid) {
+ return aFluid != null && containsInput(aFluid.getFluid());
+ }
+
+ /**
+ * @return if this Fluid is a valid Input for any for the Recipes
+ */
+ public boolean containsInput(@Nullable Fluid aFluid) {
+ return aFluid != null && backend.containsInput(aFluid);
+ }
+
+ // region find recipe
+
+ /**
+ * @return Entrypoint for fluent API for finding recipe.
+ */
+ public FindRecipeQuery findRecipeQuery() {
+ return new FindRecipeQuery(this);
+ }
+
+ @Nullable
+ public GT_Recipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, boolean aNotUnificated, long aVoltage,
+ @Nullable FluidStack[] aFluids, @Nullable ItemStack... aInputs) {
+ return findRecipe(aTileEntity, null, aNotUnificated, aVoltage, aFluids, null, aInputs);
+ }
+
+ @Nullable
+ public GT_Recipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, boolean aNotUnificated,
+ boolean aDontCheckStackSizes, long aVoltage, @Nullable FluidStack[] aFluids, @Nullable ItemStack... aInputs) {
+ return findRecipe(aTileEntity, null, aNotUnificated, aDontCheckStackSizes, aVoltage, aFluids, null, aInputs);
+ }
+
+ @Nullable
+ public GT_Recipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, @Nullable GT_Recipe aRecipe,
+ boolean aNotUnificated, long aVoltage, @Nullable FluidStack[] aFluids, @Nullable ItemStack aSpecialSlot,
+ @Nullable ItemStack... aInputs) {
+ return findRecipe(aTileEntity, aRecipe, aNotUnificated, false, aVoltage, aFluids, aSpecialSlot, aInputs);
+ }
+
+ @Nullable
+ public GT_Recipe findRecipe(@Nullable IHasWorldObjectAndCoords aTileEntity, @Nullable GT_Recipe aRecipe,
+ boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, @Nullable FluidStack[] aFluids,
+ @Nullable ItemStack aSpecialSlot, @Nullable ItemStack... aInputs) {
+ return findRecipeQuery().items(aInputs != null ? aInputs : new ItemStack[0])
+ .fluids(aFluids != null ? aFluids : new FluidStack[0])
+ .specialSlot(aSpecialSlot)
+ .voltage(aVoltage)
+ .cachedRecipe(aRecipe)
+ .notUnificated(aNotUnificated)
+ .dontCheckStackSizes(aDontCheckStackSizes)
+ .find();
+ }
+
+ // endregion
+
+ @Override
+ public String toString() {
+ return "RecipeMap{" + "unlocalizedName='"
+ + unlocalizedName
+ + '\''
+ + ", ownerMod="
+ + defaultRecipeCategory.ownerMod.getModId()
+ + '}';
+ }
+
+ private static final Pattern LEGACY_IDENTIFIER_PATTERN = Pattern.compile("(.+)_[0-9]+_[0-9]+_[0-9]+_[0-9]+_[0-9]+");
+
+ /**
+ * Gets recipemap instance from old mUniqueIdentifier format. This is only for backward compat, where tiles
+ * saved recipemap with mUniqueIdentifier.
+ *
+ * @param legacyIdentifier mUniqueIdentifier, in %s_%d_%d_%d_%d_%d format
+ * @return Found recipemap, can be null
+ */
+ @Nullable
+ public static RecipeMap<?> getFromOldIdentifier(String legacyIdentifier) {
+ Matcher matcher = LEGACY_IDENTIFIER_PATTERN.matcher(legacyIdentifier);
+ if (!matcher.find()) {
+ // It can be new format
+ return ALL_RECIPE_MAPS.get(legacyIdentifier);
+ }
+ return ALL_RECIPE_MAPS.get(matcher.group(1));
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMapBackend.java b/src/main/java/gregtech/api/recipe/RecipeMapBackend.java
new file mode 100644
index 0000000000..a20a99d3c3
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMapBackend.java
@@ -0,0 +1,461 @@
+package gregtech.api.recipe;
+
+import static gregtech.api.util.GT_RecipeBuilder.handleInvalidRecipe;
+import static gregtech.api.util.GT_RecipeBuilder.handleRecipeCollision;
+import static gregtech.api.util.GT_Utility.areStacksEqualOrNull;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+import org.jetbrains.annotations.Unmodifiable;
+
+import com.google.common.collect.HashMultimap;
+import com.google.common.collect.SetMultimap;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.interfaces.IRecipeMap;
+import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_StreamUtil;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Responsible for recipe addition / search for recipemap.
+ * <p>
+ * In order to bind custom backend to recipemap, use {@link RecipeMapBuilder#of(String, BackendCreator)}.
+ */
+@SuppressWarnings("unused")
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class RecipeMapBackend {
+
+ private RecipeMap<?> recipeMap;
+
+ /**
+ * Recipe index based on items.
+ */
+ private final SetMultimap<GT_ItemStack, GT_Recipe> itemIndex = HashMultimap.create();
+ /**
+ * Recipe index based on fluids.
+ */
+ private final SetMultimap<String, GT_Recipe> fluidIndex = HashMultimap.create();
+
+ /**
+ * All the recipes belonging to this backend, indexed by recipe category.
+ */
+ private final Map<RecipeCategory, Collection<GT_Recipe>> recipesByCategory = new HashMap<>();
+
+ /**
+ * List of recipemaps that also receive recipe addition from this backend.
+ */
+ private final List<IRecipeMap> downstreams = new ArrayList<>(0);
+
+ /**
+ * All the properties specific to this backend.
+ */
+ protected final RecipeMapBackendProperties properties;
+
+ public RecipeMapBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ this.properties = propertiesBuilder.build();
+ GregTech_API.itemStackMultiMaps.add(itemIndex);
+ }
+
+ void setRecipeMap(RecipeMap<?> recipeMap) {
+ this.recipeMap = recipeMap;
+ }
+
+ /**
+ * @return Properties specific to this backend.
+ */
+ public RecipeMapBackendProperties getProperties() {
+ return properties;
+ }
+
+ /**
+ * @return All the recipes belonging to this backend. Returned collection is immutable,
+ * use {@link #compileRecipe} to add / {@link #removeRecipes} to remove.
+ */
+ @Unmodifiable
+ public Collection<GT_Recipe> getAllRecipes() {
+ return Collections.unmodifiableCollection(allRecipes());
+ }
+
+ /**
+ * @return Raw recipe list
+ */
+ private Collection<GT_Recipe> allRecipes() {
+ return recipesByCategory.values()
+ .stream()
+ .flatMap(Collection::stream)
+ .collect(Collectors.toCollection(ArrayList::new));
+ }
+
+ /**
+ * @return All the recipes belonging to this backend, indexed by recipe category.
+ */
+ @Unmodifiable
+ public Collection<GT_Recipe> getRecipesByCategory(RecipeCategory recipeCategory) {
+ return Collections
+ .unmodifiableCollection(recipesByCategory.getOrDefault(recipeCategory, Collections.emptyList()));
+ }
+
+ @Unmodifiable
+ public Map<RecipeCategory, Collection<GT_Recipe>> getRecipeCategoryMap() {
+ return Collections.unmodifiableMap(recipesByCategory);
+ }
+
+ // region add recipe
+
+ /**
+ * Adds the supplied recipe to the recipe list and index, without any check.
+ *
+ * @return Supplied recipe.
+ */
+ public GT_Recipe compileRecipe(GT_Recipe recipe) {
+ if (recipe.getRecipeCategory() == null) {
+ recipe.setRecipeCategory(recipeMap.getDefaultRecipeCategory());
+ }
+ recipesByCategory.computeIfAbsent(recipe.getRecipeCategory(), v -> new ArrayList<>())
+ .add(recipe);
+ for (FluidStack fluid : recipe.mFluidInputs) {
+ if (fluid == null) continue;
+ fluidIndex.put(
+ fluid.getFluid()
+ .getName(),
+ recipe);
+ }
+ return addToItemMap(recipe);
+ }
+
+ /**
+ * Adds the supplied recipe to the item cache.
+ */
+ protected GT_Recipe addToItemMap(GT_Recipe recipe) {
+ for (ItemStack item : recipe.mInputs) {
+ if (item == null) continue;
+ itemIndex.put(new GT_ItemStack(item), recipe);
+ }
+ return recipe;
+ }
+
+ /**
+ * Builds recipe from supplied recipe builder and adds it.
+ */
+ protected Collection<GT_Recipe> doAdd(GT_RecipeBuilder builder) {
+ Iterable<? extends GT_Recipe> recipes = properties.recipeEmitter.apply(builder);
+ Collection<GT_Recipe> ret = new ArrayList<>();
+ for (GT_Recipe recipe : recipes) {
+ if (properties.recipeConfigCategory != null) {
+ assert properties.recipeConfigKeyConvertor != null;
+ String configKey = properties.recipeConfigKeyConvertor.apply(recipe);
+ if (configKey != null && (recipe.mDuration = GregTech_API.sRecipeFile
+ .get(properties.recipeConfigCategory, configKey, recipe.mDuration)) <= 0) {
+ continue;
+ }
+ }
+ if (recipe.mFluidInputs.length < properties.minFluidInputs
+ || recipe.mInputs.length < properties.minItemInputs) {
+ return Collections.emptyList();
+ }
+ if (properties.recipeTransformer != null) {
+ recipe = properties.recipeTransformer.apply(recipe);
+ }
+ if (recipe == null) continue;
+ if (builder.isCheckForCollision() && checkCollision(recipe)) {
+ handleCollision(recipe);
+ continue;
+ }
+ if (recipe.getRecipeCategory() != null && recipe.getRecipeCategory().recipeMap != this.recipeMap) {
+ handleInvalidRecipe();
+ continue;
+ }
+ ret.add(compileRecipe(recipe));
+ }
+ if (!ret.isEmpty()) {
+ builder.clearInvalid();
+ for (IRecipeMap downstream : downstreams) {
+ downstream.doAdd(builder);
+ }
+ }
+ return ret;
+ }
+
+ private void handleCollision(GT_Recipe recipe) {
+ StringBuilder errorInfo = new StringBuilder();
+ boolean hasAnEntry = false;
+ for (FluidStack fluid : recipe.mFluidInputs) {
+ if (fluid == null) {
+ continue;
+ }
+ String s = fluid.getLocalizedName();
+ if (s == null) {
+ continue;
+ }
+ if (hasAnEntry) {
+ errorInfo.append("+")
+ .append(s);
+ } else {
+ errorInfo.append(s);
+ }
+ hasAnEntry = true;
+ }
+ for (ItemStack item : recipe.mInputs) {
+ if (item == null) {
+ continue;
+ }
+ String itemName = item.getDisplayName();
+ if (hasAnEntry) {
+ errorInfo.append("+")
+ .append(itemName);
+ } else {
+ errorInfo.append(itemName);
+ }
+ hasAnEntry = true;
+ }
+ handleRecipeCollision(errorInfo.toString());
+ }
+
+ void addDownstream(IRecipeMap downstream) {
+ downstreams.add(downstream);
+ }
+
+ /**
+ * Removes supplied recipes from recipe list. Do not use unless absolute necessity!
+ */
+ public void removeRecipes(Collection<? extends GT_Recipe> recipesToRemove) {
+ for (Collection<GT_Recipe> recipes : recipesByCategory.values()) {
+ recipes.removeAll(recipesToRemove);
+ }
+ for (GT_ItemStack key : new HashMap<>(itemIndex.asMap()).keySet()) {
+ itemIndex.get(key)
+ .removeAll(recipesToRemove);
+ }
+ for (String key : new HashMap<>(fluidIndex.asMap()).keySet()) {
+ fluidIndex.get(key)
+ .removeAll(recipesToRemove);
+ }
+ }
+
+ /**
+ * Removes supplied recipe from recipe list. Do not use unless absolute necessity!
+ */
+ public void removeRecipe(GT_Recipe recipe) {
+ removeRecipes(Collections.singleton(recipe));
+ }
+
+ /**
+ * If you want to shoot your foot...
+ */
+ public void clearRecipes() {
+ recipesByCategory.clear();
+ }
+
+ // endregion
+
+ /**
+ * Re-unificates all the items present in recipes. Also reflects recipe removals.
+ */
+ public void reInit() {
+ itemIndex.clear();
+ for (GT_Recipe recipe : allRecipes()) {
+ GT_OreDictUnificator.setStackArray(true, recipe.mInputs);
+ GT_OreDictUnificator.setStackArray(true, recipe.mOutputs);
+ addToItemMap(recipe);
+ }
+ }
+
+ /**
+ * @return If supplied item is a valid input for any of the recipes
+ */
+ public boolean containsInput(ItemStack item) {
+ return itemIndex.containsKey(new GT_ItemStack(item)) || itemIndex.containsKey(new GT_ItemStack(item, true));
+ }
+
+ /**
+ * @return If supplied fluid is a valid input for any of the recipes
+ */
+ public boolean containsInput(Fluid fluid) {
+ return fluidIndex.containsKey(fluid.getName());
+ }
+
+ // region find recipe
+
+ /**
+ * Checks if given recipe conflicts with already registered recipes.
+ *
+ * @return True if collision is found.
+ */
+ boolean checkCollision(GT_Recipe recipe) {
+ return matchRecipeStream(recipe.mInputs, recipe.mFluidInputs, null, null, false, true, true).findAny()
+ .isPresent();
+ }
+
+ /**
+ * Overwrites {@link #matchRecipeStream} method. Also override {@link #doesOverwriteFindRecipe} to make it work.
+ */
+ @Nullable
+ protected GT_Recipe overwriteFindRecipe(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot,
+ @Nullable GT_Recipe cachedRecipe) {
+ return null;
+ }
+
+ /**
+ * @return Whether to use {@link #overwriteFindRecipe} for finding recipe.
+ */
+ protected boolean doesOverwriteFindRecipe() {
+ return false;
+ }
+
+ /**
+ * Modifies successfully found recipe. Make sure not to mutate the found recipe but use copy!
+ */
+ @Nullable
+ protected GT_Recipe modifyFoundRecipe(GT_Recipe recipe, ItemStack[] items, FluidStack[] fluids,
+ @Nullable ItemStack specialSlot) {
+ return recipe;
+ }
+
+ /**
+ * Called when {@link #matchRecipeStream} cannot find recipe.
+ */
+ @Nullable
+ protected GT_Recipe findFallback(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot) {
+ return null;
+ }
+
+ /**
+ * Returns all the matched recipes in the form of Stream, without any additional check for matches.
+ *
+ * @param rawItems Item inputs.
+ * @param fluids Fluid inputs.
+ * @param specialSlot Content of the special slot. Normal recipemaps don't need this, but some do.
+ * Set {@link RecipeMapBuilder#specialSlotSensitive} to make it actually functional.
+ * Alternatively overriding {@link #filterFindRecipe} will also work.
+ * @param cachedRecipe If this is not null, this method tests it before all other recipes.
+ * @param notUnificated If this is set to true, item inputs will be unificated.
+ * @param dontCheckStackSizes If this is set to true, this method won't check item count and fluid amount
+ * for the matched recipe.
+ * @param forCollisionCheck If this method is called to check collision with already registered recipes.
+ * @return Stream of matches recipes.
+ */
+ Stream<GT_Recipe> matchRecipeStream(ItemStack[] rawItems, FluidStack[] fluids, @Nullable ItemStack specialSlot,
+ @Nullable GT_Recipe cachedRecipe, boolean notUnificated, boolean dontCheckStackSizes,
+ boolean forCollisionCheck) {
+ if (doesOverwriteFindRecipe()) {
+ return GT_StreamUtil.ofNullable(overwriteFindRecipe(rawItems, fluids, specialSlot, cachedRecipe));
+ }
+
+ if (recipesByCategory.isEmpty()) {
+ return Stream.empty();
+ }
+
+ // Some recipe classes require a certain amount of inputs of certain kinds. Like "at least 1 fluid + 1 item"
+ // or "at least 2 items" before they start searching for recipes.
+ // This improves performance massively, especially when people leave things like programmed circuits,
+ // molds or shapes in their machines.
+ // For checking collision, we assume min inputs check already has been passed as of building the recipe.
+ if (!forCollisionCheck) {
+ if (properties.minFluidInputs > 0) {
+ int count = 0;
+ for (FluidStack fluid : fluids) if (fluid != null) count++;
+ if (count < properties.minFluidInputs) {
+ return Stream.empty();
+ }
+ }
+ if (properties.minItemInputs > 0) {
+ int count = 0;
+ for (ItemStack item : rawItems) if (item != null) count++;
+ if (count < properties.minItemInputs) {
+ return Stream.empty();
+ }
+ }
+ }
+
+ ItemStack[] items;
+ // Unification happens here in case the item input isn't already unificated.
+ if (notUnificated) {
+ items = GT_OreDictUnificator.getStackArray(true, (Object[]) rawItems);
+ } else {
+ items = rawItems;
+ }
+
+ return Stream.<Stream<GT_Recipe>>of(
+ // Check the recipe which has been used last time in order to not have to search for it again, if possible.
+ GT_StreamUtil.ofNullable(cachedRecipe)
+ .filter(recipe -> recipe.mCanBeBuffered)
+ .filter(recipe -> filterFindRecipe(recipe, items, fluids, specialSlot, dontCheckStackSizes))
+ .map(recipe -> modifyFoundRecipe(recipe, items, fluids, specialSlot))
+ .filter(Objects::nonNull),
+ // Now look for the recipes inside the item index, but only when the recipes actually can have items inputs.
+ GT_StreamUtil.ofConditional(!itemIndex.isEmpty(), items)
+ .filter(Objects::nonNull)
+ .flatMap(item -> Stream.of(new GT_ItemStack(item), new GT_ItemStack(item, true)))
+ .map(itemIndex::get)
+ .flatMap(Collection::stream)
+ .filter(recipe -> filterFindRecipe(recipe, items, fluids, specialSlot, dontCheckStackSizes))
+ .map(recipe -> modifyFoundRecipe(recipe, items, fluids, specialSlot))
+ .filter(Objects::nonNull),
+ // If the minimum amount of items required for the recipes is 0, then it could match to fluid-only recipes,
+ // so check fluid index too.
+ GT_StreamUtil.ofConditional(properties.minItemInputs == 0, fluids)
+ .filter(Objects::nonNull)
+ .map(
+ fluidStack -> fluidIndex.get(
+ fluidStack.getFluid()
+ .getName()))
+ .flatMap(Collection::stream)
+ .filter(recipe -> filterFindRecipe(recipe, items, fluids, specialSlot, dontCheckStackSizes))
+ .map(recipe -> modifyFoundRecipe(recipe, items, fluids, specialSlot))
+ .filter(Objects::nonNull),
+ // Lastly, find fallback.
+ forCollisionCheck ? Stream.empty()
+ : GT_StreamUtil.ofSupplier(() -> findFallback(items, fluids, specialSlot))
+ .filter(Objects::nonNull))
+ .flatMap(Function.identity());
+ }
+
+ /**
+ * The minimum filter required for recipe match logic. You can override this to have custom validation.
+ * <p>
+ * Other checks like machine voltage will be done in another places.
+ * <p>
+ * Note that this won't be called if {@link #doesOverwriteFindRecipe} is true.
+ */
+ protected boolean filterFindRecipe(GT_Recipe recipe, ItemStack[] items, FluidStack[] fluids,
+ @Nullable ItemStack specialSlot, boolean dontCheckStackSizes) {
+ if (recipe.mEnabled && !recipe.mFakeRecipe
+ && recipe.isRecipeInputEqual(false, dontCheckStackSizes, fluids, items)) {
+ return !properties.specialSlotSensitive
+ || areStacksEqualOrNull((ItemStack) recipe.mSpecialItems, specialSlot);
+ }
+ return false;
+ }
+
+ // endregion
+
+ @FunctionalInterface
+ public interface BackendCreator<B extends RecipeMapBackend> {
+
+ /**
+ * @see RecipeMapBackend#RecipeMapBackend
+ */
+ B create(RecipeMapBackendPropertiesBuilder propertiesBuilder);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMapBackendProperties.java b/src/main/java/gregtech/api/recipe/RecipeMapBackendProperties.java
new file mode 100644
index 0000000000..7262b794ab
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMapBackendProperties.java
@@ -0,0 +1,77 @@
+package gregtech.api.recipe;
+
+import java.util.function.Function;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Data object to store properties used for {@link RecipeMapBackend}. Use {@link #builder()} for creation.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public final class RecipeMapBackendProperties {
+
+ static RecipeMapBackendPropertiesBuilder builder() {
+ return new RecipeMapBackendPropertiesBuilder();
+ }
+
+ /**
+ * Minimum amount of item inputs required for the recipes.
+ */
+ public final int minItemInputs;
+ /**
+ * Minimum amount of fluid inputs required for the recipes.
+ */
+ public final int minFluidInputs;
+
+ /**
+ * Whether this backend should check for equality of special slot when searching recipe.
+ */
+ public final boolean specialSlotSensitive;
+
+ /**
+ * If recipe builder should stop optimizing inputs.
+ */
+ public final boolean disableOptimize;
+
+ /**
+ * Changes how recipes are emitted by a particular recipe builder.
+ */
+ public final Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter;
+
+ /**
+ * Runs a custom hook on all recipes added <b>via builder</b>.
+ */
+ @Nullable
+ public final Function<? super GT_Recipe, ? extends GT_Recipe> recipeTransformer;
+
+ @Nullable
+ public final String recipeConfigCategory;
+ @Nullable
+ public final Function<? super GT_Recipe, String> recipeConfigKeyConvertor;
+
+ RecipeMapBackendProperties(int minItemInputs, int minFluidInputs, boolean specialSlotSensitive,
+ boolean disableOptimize,
+ Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter,
+ @Nullable Function<? super GT_Recipe, ? extends GT_Recipe> recipeTransformer,
+ @Nullable String recipeConfigCategory, @Nullable Function<? super GT_Recipe, String> recipeConfigKeyConvertor) {
+ if (minItemInputs < 0 || minFluidInputs < 0) {
+ throw new IllegalArgumentException("minItemInputs and minFluidInputs cannot be negative");
+ }
+ this.minItemInputs = minItemInputs;
+ this.minFluidInputs = minFluidInputs;
+ this.specialSlotSensitive = specialSlotSensitive;
+ this.disableOptimize = disableOptimize;
+ this.recipeEmitter = recipeEmitter;
+ this.recipeTransformer = recipeTransformer;
+ this.recipeConfigCategory = recipeConfigCategory;
+ this.recipeConfigKeyConvertor = recipeConfigKeyConvertor;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMapBackendPropertiesBuilder.java b/src/main/java/gregtech/api/recipe/RecipeMapBackendPropertiesBuilder.java
new file mode 100644
index 0000000000..933ea1b06b
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMapBackendPropertiesBuilder.java
@@ -0,0 +1,119 @@
+package gregtech.api.recipe;
+
+import static gregtech.api.util.GT_RecipeMapUtil.buildOrEmpty;
+
+import java.util.function.Function;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.google.common.collect.Iterables;
+
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Builder class for {@link RecipeMapBackendProperties}.
+ */
+@SuppressWarnings({ "unused", "UnusedReturnValue" })
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class RecipeMapBackendPropertiesBuilder {
+
+ private int minItemInputs;
+ private int minFluidInputs;
+
+ private boolean specialSlotSensitive;
+
+ private boolean disableOptimize;
+
+ private Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter = this::defaultBuildRecipe;
+
+ @Nullable
+ private Function<? super GT_Recipe, ? extends GT_Recipe> recipeTransformer;
+
+ @Nullable
+ private String recipeConfigCategory;
+ @Nullable
+ private Function<? super GT_Recipe, String> recipeConfigKeyConvertor;
+
+ RecipeMapBackendPropertiesBuilder() {}
+
+ RecipeMapBackendProperties build() {
+ return new RecipeMapBackendProperties(
+ minItemInputs,
+ minFluidInputs,
+ specialSlotSensitive,
+ disableOptimize,
+ recipeEmitter,
+ recipeTransformer,
+ recipeConfigCategory,
+ recipeConfigKeyConvertor);
+ }
+
+ public RecipeMapBackendPropertiesBuilder minItemInputs(int minItemInputs) {
+ this.minItemInputs = minItemInputs;
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder minFluidInputs(int minFluidInputs) {
+ this.minFluidInputs = minFluidInputs;
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder specialSlotSensitive() {
+ this.specialSlotSensitive = true;
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder disableOptimize() {
+ this.disableOptimize = true;
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder recipeEmitter(
+ Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter) {
+ this.recipeEmitter = recipeEmitter;
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder combineRecipeEmitter(
+ Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> func) {
+ // move recipeEmitter to local variable, so lambda capture the function itself instead of this
+ Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> cur = this.recipeEmitter;
+ return recipeEmitter(b -> Iterables.concat(cur.apply(b), func.apply(b)));
+ }
+
+ public RecipeMapBackendPropertiesBuilder recipeTransformer(
+ Function<? super GT_Recipe, ? extends GT_Recipe> recipeTransformer) {
+ this.recipeTransformer = recipeTransformer;
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder chainRecipeTransformer(
+ Function<? super GT_Recipe, ? extends GT_Recipe> func) {
+ this.recipeTransformer = this.recipeTransformer == null ? func : this.recipeTransformer.andThen(func);
+ return this;
+ }
+
+ public RecipeMapBackendPropertiesBuilder recipeConfigFile(String category,
+ Function<? super GT_Recipe, String> keyConvertor) {
+ this.recipeConfigCategory = category;
+ this.recipeConfigKeyConvertor = keyConvertor;
+ return this;
+ }
+
+ private Iterable<? extends GT_Recipe> defaultBuildRecipe(GT_RecipeBuilder builder) {
+ // TODO sensible validation
+ GT_RecipeBuilder b = builder;
+ if (disableOptimize && builder.isOptimize()) {
+ b = copy(builder, b).noOptimize();
+ }
+ return buildOrEmpty(b);
+ }
+
+ private static GT_RecipeBuilder copy(GT_RecipeBuilder original, GT_RecipeBuilder b) {
+ return b == original ? b.copy() : b;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java b/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java
new file mode 100644
index 0000000000..8659018934
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMapBuilder.java
@@ -0,0 +1,522 @@
+package gregtech.api.recipe;
+
+import static gregtech.api.enums.Mods.GregTech;
+
+import java.awt.Rectangle;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.function.Consumer;
+import java.util.function.Function;
+import java.util.function.UnaryOperator;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.apache.commons.lang3.StringUtils;
+
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+
+import codechicken.nei.recipe.HandlerInfo;
+import gregtech.api.gui.modularui.FallbackableSteamTexture;
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.gui.modularui.SteamTexture;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.formatter.INEISpecialInfoFormatter;
+
+// spotless:off spotless likes formatting @code to &#64;code
+/**
+ * Builder class for constructing {@link RecipeMap}. Instantiate this class and call {@link #build}
+ * to retrieve RecipeMap. Smallest example:
+ *
+ * <pre>
+ * {@code
+ * RecipeMap<RecipeMapBackend> exampleRecipes = RecipeMapBuilder.of("example")
+ * .maxIO(9, 4, 1, 1)
+ * .build();
+ * }
+ * </pre>
+ *
+ * Note that {@link #maxIO} is required to build.
+ */
+// spotless:on
+@SuppressWarnings("unused")
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class RecipeMapBuilder<B extends RecipeMapBackend> {
+
+ private final String unlocalizedName;
+ private final RecipeMapBackendPropertiesBuilder backendPropertiesBuilder = RecipeMapBackendProperties.builder();
+ private final RecipeMapBackend.BackendCreator<B> backendCreator;
+ private final BasicUIPropertiesBuilder uiPropertiesBuilder;
+ private final NEIRecipePropertiesBuilder neiPropertiesBuilder = NEIRecipeProperties.builder();
+ private RecipeMapFrontend.FrontendCreator frontendCreator = RecipeMapFrontend::new;
+
+ /**
+ * Constructs builder object for {@link RecipeMap} with given backend logic. For custom frontend,
+ * call {@link #frontend} for the created builder object.
+ *
+ * @param unlocalizedName Unique identifier for the recipemap. This is also used as translation key
+ * for NEI recipe GUI header, so add localization for it if needed.
+ * @return New builder object.
+ */
+ public static <B extends RecipeMapBackend> RecipeMapBuilder<B> of(String unlocalizedName,
+ RecipeMapBackend.BackendCreator<B> backendCreator) {
+ return new RecipeMapBuilder<>(unlocalizedName, backendCreator);
+ }
+
+ /**
+ * Constructs builder object for {@link RecipeMap}.
+ *
+ * @param unlocalizedName Unique identifier for the recipemap. This is also used as translation key
+ * for NEI recipe GUI header, so add localization for it if needed.
+ * @return New builder object.
+ */
+ public static RecipeMapBuilder<RecipeMapBackend> of(String unlocalizedName) {
+ return new RecipeMapBuilder<>(unlocalizedName, RecipeMapBackend::new);
+ }
+
+ private RecipeMapBuilder(String unlocalizedName, RecipeMapBackend.BackendCreator<B> backendCreator) {
+ this.unlocalizedName = unlocalizedName;
+ this.backendCreator = backendCreator;
+ this.uiPropertiesBuilder = BasicUIProperties.builder()
+ .progressBarTexture(GT_UITextures.fallbackableProgressbar(unlocalizedName, GT_UITextures.PROGRESSBAR_ARROW))
+ .neiTransferRectId(unlocalizedName);
+ }
+
+ // region backend
+
+ /**
+ * Sets minimum amount of inputs required for the recipes.
+ */
+ public RecipeMapBuilder<B> minInputs(int minItemInputs, int minFluidInputs) {
+ backendPropertiesBuilder.minItemInputs(minItemInputs)
+ .minFluidInputs(minFluidInputs);
+ return this;
+ }
+
+ /**
+ * Whether this recipemap should check for equality of special slot when searching recipe.
+ */
+ public RecipeMapBuilder<B> specialSlotSensitive() {
+ backendPropertiesBuilder.specialSlotSensitive();
+ return this;
+ }
+
+ /**
+ * If recipe builder should stop optimizing inputs.
+ */
+ public RecipeMapBuilder<B> disableOptimize() {
+ backendPropertiesBuilder.disableOptimize();
+ return this;
+ }
+
+ /**
+ * Changes how recipes are emitted by a particular recipe builder. Can emit multiple recipe per builder.
+ */
+ public RecipeMapBuilder<B> recipeEmitter(
+ Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter) {
+ backendPropertiesBuilder.recipeEmitter(recipeEmitter);
+ return this;
+ }
+
+ /**
+ * Changes how recipes are emitted by a particular recipe builder. Should not return null.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ */
+ public RecipeMapBuilder<B> recipeEmitterSingle(
+ Function<? super GT_RecipeBuilder, ? extends GT_Recipe> recipeEmitter) {
+ return recipeEmitter(recipeEmitter.andThen(Collections::singletonList));
+ }
+
+ /**
+ * Changes how recipes are emitted by a particular recipe builder. Can emit multiple recipe per builder.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ * <p>
+ * Unlike {@link #recipeEmitter(Function)}, this one does not clear the existing recipe being emitted, if any
+ */
+ public RecipeMapBuilder<B> combineRecipeEmitter(
+ Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter) {
+ backendPropertiesBuilder.combineRecipeEmitter(recipeEmitter);
+ return this;
+ }
+
+ /**
+ * Changes how recipes are emitted by a particular recipe builder. Effectively add a new recipe per recipe added.
+ * func must not return null.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ * <p>
+ * Unlike {@link #recipeEmitter(Function)}, this one does not clear the existing recipe being emitted, if any
+ */
+ public RecipeMapBuilder<B> combineRecipeEmitterSingle(
+ Function<? super GT_RecipeBuilder, ? extends GT_Recipe> recipeEmitter) {
+ return combineRecipeEmitter(recipeEmitter.andThen(Collections::singletonList));
+ }
+
+ /**
+ * Runs a custom hook on all recipes added <b>via builder</b>. For more complicated behavior,
+ * use {@link #recipeEmitter}.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ */
+ public RecipeMapBuilder<B> recipeTransformer(Function<? super GT_Recipe, ? extends GT_Recipe> recipeTransformer) {
+ backendPropertiesBuilder.recipeTransformer(recipeTransformer);
+ return this;
+ }
+
+ /**
+ * Runs a custom hook on all recipes added <b>via builder</b>. For more complicated behavior,
+ * use {@link #recipeEmitter}.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ */
+ public RecipeMapBuilder<B> recipeTransformer(Consumer<GT_Recipe> recipeTransformer) {
+ return recipeTransformer(withIdentityReturn(recipeTransformer));
+ }
+
+ /**
+ * Runs a custom hook on all recipes added <b>via builder</b>. For more complicated behavior,
+ * use {@link #recipeEmitter}.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ * <p>
+ * Unlike {@link #recipeTransformer(Function)}, this one will not replace the existing special handler.
+ * The supplied function will be given the output of existing handler when a recipe is added.
+ */
+ public RecipeMapBuilder<B> chainRecipeTransformer(
+ Function<? super GT_Recipe, ? extends GT_Recipe> recipeTransformer) {
+ backendPropertiesBuilder.chainRecipeTransformer(recipeTransformer);
+ return this;
+ }
+
+ /**
+ * Runs a custom hook on all recipes added <b>via builder</b>. For more complicated behavior,
+ * use {@link #recipeEmitter}.
+ * <p>
+ * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
+ * <p>
+ * Unlike {@link #recipeTransformer(Function)}, this one will not replace the existing special handler.
+ * The supplied function will be given the output of existing handler when a recipe is added.
+ */
+ public RecipeMapBuilder<B> chainRecipeTransformer(Consumer<GT_Recipe> recipeTransformer) {
+ return chainRecipeTransformer(withIdentityReturn(recipeTransformer));
+ }
+
+ public RecipeMapBuilder<B> recipeConfigFile(String category, Function<? super GT_Recipe, String> keyConvertor) {
+ if (StringUtils.isBlank(category)) throw new IllegalArgumentException();
+ backendPropertiesBuilder.recipeConfigFile(category, keyConvertor);
+ return this;
+ }
+
+ // endregion
+
+ // region frontend UI properties
+
+ /**
+ * Sets how many item/fluid inputs/outputs does this recipemap usually has at most.
+ * It does not actually restrict the number of items that can be used in recipes.
+ */
+ public RecipeMapBuilder<B> maxIO(int maxItemInputs, int maxItemOutputs, int maxFluidInputs, int maxFluidOutputs) {
+ uiPropertiesBuilder.maxItemInputs(maxItemInputs)
+ .maxItemOutputs(maxItemOutputs)
+ .maxFluidInputs(maxFluidInputs)
+ .maxFluidOutputs(maxFluidOutputs);
+ return this;
+ }
+
+ /**
+ * Sets function to get overlay for slots.
+ */
+ public RecipeMapBuilder<B> slotOverlays(BasicUIProperties.SlotOverlayGetter<IDrawable> slotOverlays) {
+ uiPropertiesBuilder.slotOverlays(slotOverlays);
+ return this;
+ }
+
+ /**
+ * Sets function to get overlay for slots of steam machines.
+ */
+ public RecipeMapBuilder<B> slotOverlaysSteam(BasicUIProperties.SlotOverlayGetter<SteamTexture> slotOverlaysSteam) {
+ uiPropertiesBuilder.slotOverlaysSteam(slotOverlaysSteam);
+ return this;
+ }
+
+ /**
+ * Sets texture and animation direction of the progressbar.
+ * <p>
+ * Unless specified, size should be (20, 36), consisting of two parts;
+ * First is (20, 18) size of "empty" image at the top, Second is (20, 18) size of "filled" image at the bottom.
+ * <p>
+ * By default, it's set to {@code GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT}.
+ */
+ public RecipeMapBuilder<B> progressBar(UITexture texture, ProgressBar.Direction direction) {
+ return progressBarWithFallback(GT_UITextures.fallbackableProgressbar(unlocalizedName, texture), direction);
+ }
+
+ /**
+ * Sets progressbar texture with right direction.
+ * <p>
+ * Unless specified, size should be (20, 36), consisting of two parts;
+ * First is (20, 18) size of "empty" image at the top, Second is (20, 18) size of "filled" image at the bottom.
+ */
+ public RecipeMapBuilder<B> progressBar(UITexture texture) {
+ return progressBar(texture, ProgressBar.Direction.RIGHT);
+ }
+
+ /**
+ * Some resource packs want to use custom progress bar textures even for plain arrow. This method allows them to
+ * add unique textures, yet other packs don't need to make textures for every recipemap.
+ */
+ private RecipeMapBuilder<B> progressBarWithFallback(FallbackableUITexture texture,
+ ProgressBar.Direction direction) {
+ uiPropertiesBuilder.progressBarTexture(texture)
+ .progressBarDirection(direction);
+ return this;
+ }
+
+ /**
+ * Sets progressbar texture for steam machines.
+ * <p>
+ * Unless specified, size should be (20, 36), consisting of two parts;
+ * First is (20, 18) size of "empty" image at the top, Second is (20, 18) size of "filled" image at the bottom.
+ */
+ public RecipeMapBuilder<B> progressBarSteam(SteamTexture texture) {
+ return progressBarSteamWithFallback(
+ new FallbackableSteamTexture(
+ SteamTexture.fullImage(GregTech.ID, "gui/progressbar/" + unlocalizedName + "_%s"),
+ texture));
+ }
+
+ private RecipeMapBuilder<B> progressBarSteamWithFallback(FallbackableSteamTexture texture) {
+ uiPropertiesBuilder.progressBarTextureSteam(texture);
+ return this;
+ }
+
+ /**
+ * Sets size of the progressbar. (20, 36) by default.
+ */
+ public RecipeMapBuilder<B> progressBarSize(int x, int y) {
+ uiPropertiesBuilder.progressBarSize(new Size(x, y));
+ return this;
+ }
+
+ /**
+ * Sets position of the progressbar. (78, 24) by default.
+ */
+ public RecipeMapBuilder<B> progressBarPos(int x, int y) {
+ uiPropertiesBuilder.progressBarPos(new Pos2d(x, y));
+ return this;
+ }
+
+ /**
+ * Stops adding progressbar to the UI.
+ */
+ public RecipeMapBuilder<B> dontUseProgressBar() {
+ uiPropertiesBuilder.useProgressBar(false);
+ return this;
+ }
+
+ /**
+ * Configures this recipemap to use special slot. This means special slot shows up on NEI and tooltip for
+ * special slot on basic machine GUI indicates it has actual usage.
+ */
+ public RecipeMapBuilder<B> useSpecialSlot() {
+ uiPropertiesBuilder.useSpecialSlot(true);
+ return this;
+ }
+
+ /**
+ * Adds GUI area where clicking shows up all the recipes available.
+ *
+ * @see codechicken.nei.recipe.TemplateRecipeHandler.RecipeTransferRect
+ */
+ public RecipeMapBuilder<B> neiTransferRect(int x, int y, int width, int height) {
+ uiPropertiesBuilder.addNEITransferRect(new Rectangle(x, y, width, height));
+ return this;
+ }
+
+ /**
+ * Sets ID used to open NEI recipe GUI when progressbar is clicked.
+ */
+ public RecipeMapBuilder<B> neiTransferRectId(String neiTransferRectId) {
+ uiPropertiesBuilder.neiTransferRectId(neiTransferRectId);
+ return this;
+ }
+
+ /**
+ * Adds additional textures shown on GUI.
+ */
+ public RecipeMapBuilder<B> addSpecialTexture(int x, int y, int width, int height, IDrawable texture) {
+ uiPropertiesBuilder.addSpecialTexture(new Size(width, height), new Pos2d(x, y), texture);
+ return this;
+ }
+
+ /**
+ * Adds additional textures shown on steam machine GUI.
+ */
+ public RecipeMapBuilder<B> addSpecialTextureSteam(int x, int y, int width, int height, SteamTexture texture) {
+ uiPropertiesBuilder.addSpecialTextureSteam(new Size(width, height), new Pos2d(x, y), texture);
+ return this;
+ }
+
+ /**
+ * Sets logo shown on GUI. GregTech logo by default.
+ */
+ public RecipeMapBuilder<B> logo(IDrawable logo) {
+ uiPropertiesBuilder.logo(logo);
+ return this;
+ }
+
+ /**
+ * Sets size of logo. (17, 17) by default.
+ */
+ public RecipeMapBuilder<B> logoSize(int width, int height) {
+ uiPropertiesBuilder.logoSize(new Size(width, height));
+ return this;
+ }
+
+ /**
+ * Sets position of logo. (152, 63) by default.
+ */
+ public RecipeMapBuilder<B> logoPos(int x, int y) {
+ uiPropertiesBuilder.logoPos(new Pos2d(x, y));
+ return this;
+ }
+
+ /**
+ * Sets amperage for the recipemap.
+ */
+ public RecipeMapBuilder<B> amperage(int amperage) {
+ uiPropertiesBuilder.amperage(amperage);
+ return this;
+ }
+
+ // endregion
+
+ // region frontend NEI properties
+
+ /**
+ * Stops adding dedicated NEI recipe page for this recipemap. This does not prevent adding transferrect
+ * for the machine GUI.
+ */
+ public RecipeMapBuilder<B> disableRegisterNEI() {
+ neiPropertiesBuilder.disableRegisterNEI();
+ return this;
+ }
+
+ /**
+ * Sets properties of NEI handler info this recipemap belongs to. You can specify icon shown on recipe tab,
+ * handler height, number of recipes per page, etc. Either use supplied template or return newly constructed one.
+ * <p>
+ * Invocation of the builder creator is delayed until the actual registration (FMLLoadCompleteEvent),
+ * so you can safely use itemstack that doesn't exist as of recipemap initialization.
+ * <p>
+ * If this method is not used, handler icon will be inferred from recipe catalysts associated with this recipemap.
+ * <p>
+ * Precisely, what's registered to NEI is {@link RecipeCategory}, not RecipeMap. However, handler info supplied
+ * by this method will be used for default category where most of the recipes belong to.
+ */
+ public RecipeMapBuilder<B> neiHandlerInfo(UnaryOperator<HandlerInfo.Builder> handlerInfoCreator) {
+ neiPropertiesBuilder.handlerInfoCreator(handlerInfoCreator);
+ return this;
+ }
+
+ /**
+ * Sets offset of background shown on NEI.
+ */
+ public RecipeMapBuilder<B> neiRecipeBackgroundSize(int width, int height) {
+ neiPropertiesBuilder.recipeBackgroundSize(new Size(width, height));
+ return this;
+ }
+
+ /**
+ * Sets size of background shown on NEI.
+ */
+ public RecipeMapBuilder<B> neiRecipeBackgroundOffset(int x, int y) {
+ neiPropertiesBuilder.recipeBackgroundOffset(new Pos2d(x, y));
+ return this;
+ }
+
+ /**
+ * Sets formatter for special description for the recipe, mainly {@link gregtech.api.util.GT_Recipe#mSpecialValue}.
+ */
+ public RecipeMapBuilder<B> neiSpecialInfoFormatter(INEISpecialInfoFormatter neiSpecialInfoFormatter) {
+ neiPropertiesBuilder.neiSpecialInfoFormatter(neiSpecialInfoFormatter);
+ return this;
+ }
+
+ /**
+ * Sets whether to show oredict equivalent item outputs on NEI.
+ */
+ public RecipeMapBuilder<B> unificateOutputNEI(boolean unificateOutputNEI) {
+ neiPropertiesBuilder.unificateOutput(unificateOutputNEI);
+ return this;
+ }
+
+ /**
+ * Sets NEI recipe handler to use a custom filter method {@link OverclockDescriber#canHandle} to limit the shown
+ * recipes when searching recipes with recipe catalyst. Without calling this method, the voltage of the recipe is
+ * the only factor to filter recipes by default.
+ * <p>
+ * This method on its own doesn't do anything. You need to bind custom {@link OverclockDescriber} object to machines
+ * that will be shown as recipe catalysts for this recipemap by implementing
+ * {@link gregtech.api.interfaces.tileentity.IOverclockDescriptionProvider}.
+ */
+ public RecipeMapBuilder<B> useCustomFilterForNEI() {
+ neiPropertiesBuilder.useCustomFilter();
+ return this;
+ }
+
+ /**
+ * Stops rendering the actual stack size of items on NEI.
+ */
+ public RecipeMapBuilder<B> disableRenderRealStackSizes() {
+ neiPropertiesBuilder.disableRenderRealStackSizes();
+ return this;
+ }
+
+ /**
+ * Sets custom comparator for NEI recipe sort.
+ */
+ public RecipeMapBuilder<B> neiRecipeComparator(Comparator<GT_Recipe> comparator) {
+ neiPropertiesBuilder.recipeComparator(comparator);
+ return this;
+ }
+
+ // endregion
+
+ /**
+ * Sets custom frontend logic. For custom backend, pass it to {@link #of(String, RecipeMapBackend.BackendCreator)}.
+ */
+ public RecipeMapBuilder<B> frontend(RecipeMapFrontend.FrontendCreator frontendCreator) {
+ this.frontendCreator = frontendCreator;
+ return this;
+ }
+
+ /**
+ * Builds new recipemap.
+ *
+ * @return Recipemap object with backend type parameter, which is {@code RecipeMapFrontend} unless specified.
+ */
+ public RecipeMap<B> build() {
+ return new RecipeMap<>(
+ unlocalizedName,
+ backendCreator.create(backendPropertiesBuilder),
+ frontendCreator.create(uiPropertiesBuilder, neiPropertiesBuilder));
+ }
+
+ private static <T> Function<? super T, ? extends T> withIdentityReturn(Consumer<T> func) {
+ return r -> {
+ func.accept(r);
+ return r;
+ };
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMapFrontend.java b/src/main/java/gregtech/api/recipe/RecipeMapFrontend.java
new file mode 100644
index 0000000000..63daa00dc7
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMapFrontend.java
@@ -0,0 +1,395 @@
+package gregtech.api.recipe;
+
+import static gregtech.api.util.GT_Utility.trans;
+import static net.minecraft.util.EnumChatFormatting.GRAY;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.function.Supplier;
+import java.util.stream.IntStream;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.client.gui.FontRenderer;
+import net.minecraft.item.ItemStack;
+import net.minecraft.util.EnumChatFormatting;
+
+import org.apache.commons.lang3.tuple.Pair;
+
+import com.gtnewhorizons.modularui.api.GlStateManager;
+import com.gtnewhorizons.modularui.api.ModularUITextures;
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
+import com.gtnewhorizons.modularui.api.math.Alignment;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+import com.gtnewhorizons.modularui.common.widget.SlotWidget;
+
+import codechicken.nei.PositionedStack;
+import gregtech.GT_Mod;
+import gregtech.api.enums.SteamVariant;
+import gregtech.api.gui.GT_GUIColorOverride;
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.recipe.metadata.IRecipeMetadataStorage;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+import gregtech.nei.GT_NEI_DefaultHandler;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Responsible for managing GUI tied to recipemap. It has two property objects, {@link NEIRecipeProperties} and
+ * {@link BasicUIProperties}. The former is only for NEI display, while the latter is for both NEI and basic machine.
+ * <p>
+ * In order to bind custom frontend to recipemap, use {@link RecipeMapBuilder#frontend}.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class RecipeMapFrontend {
+
+ /**
+ * Properties specific to this frontend, mainly for GUI widgets.
+ */
+ protected final BasicUIProperties uiProperties;
+ /**
+ * Properties specific to this frontend, only for NEI specific settings.
+ */
+ protected final NEIRecipeProperties neiProperties;
+
+ protected final GT_GUIColorOverride colorOverride = GT_GUIColorOverride
+ .get(GT_UITextures.BACKGROUND_NEI_SINGLE_RECIPE.location);
+
+ public RecipeMapFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ this.uiProperties = uiPropertiesBuilder.itemInputPositionsGetter(this::getItemInputPositions)
+ .itemOutputPositionsGetter(this::getItemOutputPositions)
+ .specialItemPositionGetter(this::getSpecialItemPosition)
+ .fluidInputPositionsGetter(this::getFluidInputPositions)
+ .fluidOutputPositionsGetter(this::getFluidOutputPositions)
+ .build();
+ this.neiProperties = neiPropertiesBuilder.build();
+ }
+
+ /**
+ * @return Properties specific to this frontend, mainly for GUI widgets.
+ */
+ public BasicUIProperties getUIProperties() {
+ return uiProperties;
+ }
+
+ /**
+ * @return Properties specific to this frontend, only for NEI specific settings.
+ */
+ public NEIRecipeProperties getNEIProperties() {
+ return neiProperties;
+ }
+
+ /**
+ * Creates NEI recipe layout, except for actual items / fluids.
+ */
+ public ModularWindow.Builder createNEITemplate(IItemHandlerModifiable itemInputsInventory,
+ IItemHandlerModifiable itemOutputsInventory, IItemHandlerModifiable specialSlotInventory,
+ IItemHandlerModifiable fluidInputsInventory, IItemHandlerModifiable fluidOutputsInventory,
+ Supplier<Float> progressSupplier, Pos2d windowOffset) {
+ ModularWindow.Builder builder = ModularWindow.builder(neiProperties.recipeBackgroundSize)
+ .setBackground(GT_UITextures.BACKGROUND_NEI_SINGLE_RECIPE);
+
+ UIHelper.forEachSlots(
+ (i, backgrounds, pos) -> builder.widget(
+ SlotWidget.phantom(itemInputsInventory, i)
+ .setBackground(backgrounds)
+ .setPos(pos)
+ .setSize(18, 18)),
+ (i, backgrounds, pos) -> builder.widget(
+ SlotWidget.phantom(itemOutputsInventory, i)
+ .setBackground(backgrounds)
+ .setPos(pos)
+ .setSize(18, 18)),
+ (i, backgrounds, pos) -> {
+ if (uiProperties.useSpecialSlot) builder.widget(
+ SlotWidget.phantom(specialSlotInventory, 0)
+ .setBackground(backgrounds)
+ .setPos(pos)
+ .setSize(18, 18));
+ },
+ (i, backgrounds, pos) -> builder.widget(
+ SlotWidget.phantom(fluidInputsInventory, i)
+ .setBackground(backgrounds)
+ .setPos(pos)
+ .setSize(18, 18)),
+ (i, backgrounds, pos) -> builder.widget(
+ SlotWidget.phantom(fluidOutputsInventory, i)
+ .setBackground(backgrounds)
+ .setPos(pos)
+ .setSize(18, 18)),
+ ModularUITextures.ITEM_SLOT,
+ ModularUITextures.FLUID_SLOT,
+ uiProperties,
+ uiProperties.maxItemInputs,
+ uiProperties.maxItemOutputs,
+ uiProperties.maxFluidInputs,
+ uiProperties.maxFluidOutputs,
+ SteamVariant.NONE,
+ windowOffset);
+
+ if (uiProperties.useProgressBar) {
+ addProgressBar(builder, progressSupplier, windowOffset);
+ }
+ addGregTechLogo(builder, windowOffset);
+
+ for (Pair<IDrawable, Pair<Size, Pos2d>> specialTexture : uiProperties.specialTextures) {
+ builder.widget(
+ new DrawableWidget().setDrawable(specialTexture.getLeft())
+ .setSize(
+ specialTexture.getRight()
+ .getLeft())
+ .setPos(
+ specialTexture.getRight()
+ .getRight()
+ .add(windowOffset)));
+ }
+
+ return builder;
+ }
+
+ public void addProgressBar(ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) {
+ assert uiProperties.progressBarTexture != null;
+ builder.widget(
+ new ProgressBar().setTexture(uiProperties.progressBarTexture.get(), 20)
+ .setDirection(uiProperties.progressBarDirection)
+ .setProgress(progressSupplier)
+ .setSynced(false, false)
+ .setPos(uiProperties.progressBarPos.add(windowOffset))
+ .setSize(uiProperties.progressBarSize));
+ }
+
+ public void addGregTechLogo(ModularWindow.Builder builder, Pos2d windowOffset) {
+ builder.widget(
+ new DrawableWidget().setDrawable(uiProperties.logo)
+ .setSize(uiProperties.logoSize)
+ .setPos(uiProperties.logoPos.add(windowOffset)));
+ }
+
+ /**
+ * Overriding this method allows custom NEI stack placement
+ */
+ public List<Pos2d> getItemInputPositions(int itemInputCount) {
+ return UIHelper.getItemInputPositions(itemInputCount);
+ }
+
+ /**
+ * Overriding this method allows custom NEI stack placement
+ */
+ public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
+ return UIHelper.getItemOutputPositions(itemOutputCount);
+ }
+
+ /**
+ * Overriding this method allows custom NEI stack placement
+ */
+ public Pos2d getSpecialItemPosition() {
+ return UIHelper.getSpecialItemPosition();
+ }
+
+ /**
+ * Overriding this method allows custom NEI stack placement
+ */
+ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
+ return UIHelper.getFluidInputPositions(fluidInputCount);
+ }
+
+ /**
+ * Overriding this method allows custom NEI stack placement
+ */
+ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
+ return UIHelper.getFluidOutputPositions(fluidOutputCount);
+ }
+
+ public void drawDescription(RecipeDisplayInfo recipeInfo) {
+ drawEnergyInfo(recipeInfo);
+ drawDurationInfo(recipeInfo);
+ drawSpecialInfo(recipeInfo);
+ drawMetadataInfo(recipeInfo);
+ drawRecipeOwnerInfo(recipeInfo);
+ }
+
+ protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {
+ recipeInfo.overclockDescriber.drawEnergyInfo(recipeInfo);
+ }
+
+ protected void drawDurationInfo(RecipeDisplayInfo recipeInfo) {
+ recipeInfo.overclockDescriber.drawDurationInfo(recipeInfo);
+ }
+
+ protected void drawSpecialInfo(RecipeDisplayInfo recipeInfo) {
+ String[] recipeDesc = recipeInfo.recipe.getNeiDesc();
+ if (recipeDesc != null) {
+ for (String s : recipeDesc) {
+ recipeInfo.drawText(s);
+ }
+ } else {
+ recipeInfo.drawTextMultipleLines(neiProperties.neiSpecialInfoFormatter.format(recipeInfo));
+ }
+ }
+
+ protected void drawMetadataInfo(RecipeDisplayInfo recipeInfo) {
+ IRecipeMetadataStorage metadataStorage = recipeInfo.recipe.getMetadataStorage();
+ for (Map.Entry<RecipeMetadataKey<?>, Object> entry : metadataStorage.getEntries()) {
+ entry.getKey()
+ .drawInfo(recipeInfo, entry.getValue());
+ }
+ }
+
+ protected void drawRecipeOwnerInfo(RecipeDisplayInfo recipeInfo) {
+ GT_Recipe recipe = recipeInfo.recipe;
+ if (GT_Mod.gregtechproxy.mNEIRecipeOwner) {
+ if (recipe.owners.size() > 1) {
+ recipeInfo.drawText(
+ EnumChatFormatting.ITALIC + trans("273", "Original Recipe by: ")
+ + recipe.owners.get(0)
+ .getName());
+ for (int i = 1; i < recipe.owners.size(); i++) {
+ recipeInfo.drawText(
+ EnumChatFormatting.ITALIC + trans("274", "Modified by: ")
+ + recipe.owners.get(i)
+ .getName());
+ }
+ } else if (!recipe.owners.isEmpty()) {
+ recipeInfo.drawText(
+ EnumChatFormatting.ITALIC + trans("272", "Recipe by: ")
+ + recipe.owners.get(0)
+ .getName());
+ }
+ }
+ if (GT_Mod.gregtechproxy.mNEIRecipeOwnerStackTrace && recipe.stackTraces != null
+ && !recipe.stackTraces.isEmpty()) {
+ recipeInfo.drawText("stackTrace:");
+ // todo: good way to show all stacktraces
+ for (String stackTrace : recipe.stackTraces.get(0)) {
+ recipeInfo.drawText(stackTrace);
+ }
+ }
+ }
+
+ public List<String> handleNEIItemTooltip(ItemStack stack, List<String> currentTip,
+ GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) {
+ for (PositionedStack pStack : neiCachedRecipe.mInputs) {
+ if (stack == pStack.item) {
+ if (pStack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
+ currentTip = handleNEIItemInputTooltip(
+ currentTip,
+ (GT_NEI_DefaultHandler.FixedPositionedStack) pStack);
+ }
+ break;
+ }
+ }
+ for (PositionedStack pStack : neiCachedRecipe.mOutputs) {
+ if (stack == pStack.item) {
+ if (pStack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
+ currentTip = handleNEIItemOutputTooltip(
+ currentTip,
+ (GT_NEI_DefaultHandler.FixedPositionedStack) pStack);
+ }
+ break;
+ }
+ }
+ return currentTip;
+ }
+
+ protected List<String> handleNEIItemInputTooltip(List<String> currentTip,
+ GT_NEI_DefaultHandler.FixedPositionedStack pStack) {
+ if (pStack.isNotConsumed()) {
+ currentTip.add(GRAY + trans("151", "Does not get consumed in the process"));
+ }
+ return currentTip;
+ }
+
+ protected List<String> handleNEIItemOutputTooltip(List<String> currentTip,
+ GT_NEI_DefaultHandler.FixedPositionedStack pStack) {
+ if (pStack.isChanceBased()) {
+ currentTip.add(GRAY + trans("150", "Chance: ") + pStack.getChanceText());
+ }
+ return currentTip;
+ }
+
+ public void drawNEIOverlays(GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) {
+ for (PositionedStack stack : neiCachedRecipe.mInputs) {
+ if (stack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
+ drawNEIOverlayForInput((GT_NEI_DefaultHandler.FixedPositionedStack) stack);
+ }
+ }
+ for (PositionedStack stack : neiCachedRecipe.mOutputs) {
+ if (stack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
+ drawNEIOverlayForOutput((GT_NEI_DefaultHandler.FixedPositionedStack) stack);
+ }
+ }
+ }
+
+ protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) {
+ if (stack.isNotConsumed()) {
+ drawNEIOverlayText("NC", stack);
+ }
+ }
+
+ protected void drawNEIOverlayForOutput(GT_NEI_DefaultHandler.FixedPositionedStack stack) {
+ if (stack.isChanceBased()) {
+ drawNEIOverlayText(stack.getChanceText(), stack);
+ }
+ }
+
+ @SuppressWarnings("SameParameterValue")
+ protected void drawNEIOverlayText(String text, PositionedStack stack, int color, float scale, boolean shadow,
+ Alignment alignment) {
+ FontRenderer fontRenderer = net.minecraft.client.Minecraft.getMinecraft().fontRenderer;
+ int width = fontRenderer.getStringWidth(text);
+ int x = (int) ((stack.relx + 8 + 8 * alignment.x) / scale) - (width / 2 * (alignment.x + 1));
+ int y = (int) ((stack.rely + 8 + 8 * alignment.y) / scale) - (fontRenderer.FONT_HEIGHT / 2 * (alignment.y + 1))
+ - (alignment.y - 1) / 2;
+
+ GlStateManager.pushMatrix();
+ GlStateManager.scale(scale, scale, 1);
+ fontRenderer.drawString(text, x, y, color, shadow);
+ GlStateManager.popMatrix();
+ }
+
+ protected void drawNEIOverlayText(String text, PositionedStack stack) {
+ drawNEIOverlayText(
+ text,
+ stack,
+ colorOverride.getTextColorOrDefault("nei_overlay_yellow", 0xFDD835),
+ 0.5f,
+ false,
+ Alignment.TopLeft);
+ }
+
+ public static List<Supplier<Float>> splitProgress(Supplier<Float> progress, int... progressbarLengthArray) {
+ float lengthSum = IntStream.of(progressbarLengthArray)
+ .sum();
+ List<Supplier<Float>> ret = new ArrayList<>();
+ float currentLengthSum = 0;
+ for (int progressbarLength : progressbarLengthArray) {
+ float speed = lengthSum / progressbarLength;
+ float offset = currentLengthSum / lengthSum;
+ ret.add(() -> {
+ float current = progress.get();
+ return (current - offset) * speed;
+ });
+ currentLengthSum += progressbarLength;
+ }
+ return ret;
+ }
+
+ @FunctionalInterface
+ public interface FrontendCreator {
+
+ /**
+ * @see RecipeMapFrontend#RecipeMapFrontend
+ */
+ RecipeMapFrontend create(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMaps.java b/src/main/java/gregtech/api/recipe/RecipeMaps.java
new file mode 100644
index 0000000000..f11466a426
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMaps.java
@@ -0,0 +1,1177 @@
+package gregtech.api.recipe;
+
+import static gregtech.api.enums.Mods.*;
+import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT;
+import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
+import static gregtech.api.util.GT_RecipeMapUtil.*;
+import static gregtech.api.util.GT_Utility.*;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Optional;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import org.apache.commons.lang3.ArrayUtils;
+
+import com.gtnewhorizons.modularui.api.drawable.UITexture;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.OrePrefixes;
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.interfaces.IRecipeMap;
+import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.maps.AssemblerBackend;
+import gregtech.api.recipe.maps.AssemblyLineFrontend;
+import gregtech.api.recipe.maps.DistillationTowerFrontend;
+import gregtech.api.recipe.maps.FluidCannerBackend;
+import gregtech.api.recipe.maps.FluidOnlyFrontend;
+import gregtech.api.recipe.maps.FormingPressBackend;
+import gregtech.api.recipe.maps.FuelBackend;
+import gregtech.api.recipe.maps.FurnaceBackend;
+import gregtech.api.recipe.maps.LargeBoilerFuelBackend;
+import gregtech.api.recipe.maps.LargeBoilerFuelFrontend;
+import gregtech.api.recipe.maps.LargeNEIFrontend;
+import gregtech.api.recipe.maps.MicrowaveBackend;
+import gregtech.api.recipe.maps.OilCrackerBackend;
+import gregtech.api.recipe.maps.PrinterBackend;
+import gregtech.api.recipe.maps.RecyclerBackend;
+import gregtech.api.recipe.maps.ReplicatorBackend;
+import gregtech.api.recipe.maps.SpaceProjectFrontend;
+import gregtech.api.recipe.maps.TranscendentPlasmaMixerFrontend;
+import gregtech.api.recipe.maps.UnpackagerBackend;
+import gregtech.api.recipe.metadata.PCBFactoryTierKey;
+import gregtech.api.util.GT_Config;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeConstants;
+import gregtech.api.util.GT_RecipeMapUtil;
+import gregtech.api.util.GT_Utility;
+import gregtech.nei.formatter.FuelSpecialValueFormatter;
+import gregtech.nei.formatter.FusionSpecialValueFormatter;
+import gregtech.nei.formatter.HeatingCoilSpecialValueFormatter;
+import gregtech.nei.formatter.SimpleSpecialValueFormatter;
+import mods.railcraft.common.blocks.aesthetics.cube.EnumCube;
+import mods.railcraft.common.items.RailcraftToolItems;
+
+@SuppressWarnings("SimplifyOptionalCallChains")
+public final class RecipeMaps {
+
+ public static final RecipeMap<RecipeMapBackend> oreWasherRecipes = RecipeMapBuilder.of("gt.recipe.orewasher")
+ .maxIO(1, 3, 1, 0)
+ .minInputs(1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ } else {
+ return GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE;
+ }
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_BATH, ProgressBar.Direction.CIRCULAR_CW)
+ .recipeConfigFile("orewasher", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> thermalCentrifugeRecipes = RecipeMapBuilder
+ .of("gt.recipe.thermalcentrifuge")
+ .maxIO(1, 3, 0, 0)
+ .minInputs(1, 0)
+ .amperage(2)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ } else {
+ return GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE;
+ }
+ })
+ .recipeConfigFile("thermalcentrifuge", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> compressorRecipes = RecipeMapBuilder.of("gt.recipe.compressor")
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_COMPRESSOR
+ : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_COMPRESS)
+ .slotOverlaysSteam(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_COMPRESSOR_STEAM
+ : null)
+ .progressBarSteam(GT_UITextures.PROGRESSBAR_COMPRESS_STEAM)
+ // Avoid steam machine being used as handler icon
+ .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.Machine_LV_Compressor.get(1)))
+ .recipeConfigFile("compressor", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> extractorRecipes = RecipeMapBuilder.of("gt.recipe.extractor")
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CENTRIFUGE
+ : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT)
+ .slotOverlaysSteam(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CENTRIFUGE_STEAM
+ : null)
+ .progressBarSteam(GT_UITextures.PROGRESSBAR_EXTRACT_STEAM)
+ // Avoid steam machine being used as handler icon
+ .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.Machine_LV_Extractor.get(1)))
+ .recipeConfigFile("extractor", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecyclerBackend> recyclerRecipes = RecipeMapBuilder
+ .of("ic.recipe.recycler", RecyclerBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_RECYCLE : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_RECYCLE, ProgressBar.Direction.CIRCULAR_CW)
+ .neiTransferRectId("ic2.recycler")
+ .disableRegisterNEI()
+ .build();
+ public static final RecipeMap<FurnaceBackend> furnaceRecipes = RecipeMapBuilder
+ .of("mc.recipe.furnace", FurnaceBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 9)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_FURNACE : null)
+ .slotOverlaysSteam(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_FURNACE_STEAM
+ : null)
+ .progressBarSteam(GT_UITextures.PROGRESSBAR_ARROW_STEAM)
+ .neiTransferRectId("smelting")
+ .disableRegisterNEI()
+ .build();
+ public static final RecipeMap<MicrowaveBackend> microwaveRecipes = RecipeMapBuilder
+ .of("gt.recipe.microwave", MicrowaveBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_FURNACE : null)
+ .neiTransferRectId("smelting")
+ .disableRegisterNEI()
+ .build();
+ public static final RecipeMap<RecipeMapBackend> scannerFakeRecipes = RecipeMapBuilder.of("gt.recipe.scanner")
+ .maxIO(1, 1, 1, 0)
+ .minInputs(1, 0)
+ .useSpecialSlot()
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isSpecial) {
+ return GT_UITextures.OVERLAY_SLOT_DATA_ORB;
+ }
+ if (!isFluid && !isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_MICROSCOPE;
+ }
+ return null;
+ })
+ .build();
+ public static final RecipeMap<RecipeMapBackend> rockBreakerFakeRecipes = RecipeMapBuilder
+ .of("gt.recipe.rockbreaker")
+ .maxIO(2, 1, 0, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE;
+ } else {
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ }
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_MACERATE)
+ .build();
+ public static final RecipeMap<ReplicatorBackend> replicatorRecipes = RecipeMapBuilder
+ .of("gt.recipe.replicator", ReplicatorBackend::new)
+ .maxIO(0, 1, 1, 1)
+ .minInputs(0, 1)
+ .useSpecialSlot()
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isSpecial) {
+ return GT_UITextures.OVERLAY_SLOT_DATA_ORB;
+ }
+ if (isFluid && !isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_UUM;
+ }
+ return null;
+ })
+ .build();
+ /**
+ * Use {@link GT_RecipeConstants#AssemblyLine} for recipe addition.
+ */
+ public static final RecipeMap<RecipeMapBackend> assemblylineVisualRecipes = RecipeMapBuilder
+ .of("gt.recipe.fakeAssemblylineProcess")
+ .maxIO(16, 1, 4, 0)
+ .minInputs(1, 0)
+ .useSpecialSlot()
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> isSpecial ? GT_UITextures.OVERLAY_SLOT_DATA_ORB : null)
+ .disableOptimize()
+ .neiTransferRect(88, 8, 18, 72)
+ .neiTransferRect(124, 8, 18, 72)
+ .neiTransferRect(142, 26, 18, 18)
+ .frontend(AssemblyLineFrontend::new)
+ .build();
+ /**
+ * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead.
+ */
+ public static final RecipeMap<RecipeMapBackend> plasmaArcFurnaceRecipes = RecipeMapBuilder
+ .of("gt.recipe.plasmaarcfurnace")
+ .maxIO(1, 9, 1, 1)
+ .minInputs(1, 1)
+ .recipeConfigFile("arcfurnace", FIRST_ITEM_INPUT)
+ .build();
+ /**
+ * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead.
+ */
+ public static final RecipeMap<RecipeMapBackend> arcFurnaceRecipes = RecipeMapBuilder.of("gt.recipe.arcfurnace")
+ .maxIO(1, 9, 1, 0)
+ .minInputs(1, 1)
+ .amperage(3)
+ .recipeConfigFile("arcfurnace", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<PrinterBackend> printerRecipes = RecipeMapBuilder
+ .of("gt.recipe.printer", PrinterBackend::new)
+ .maxIO(1, 1, 1, 0)
+ .minInputs(1, 1)
+ .useSpecialSlot()
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isSpecial) {
+ return GT_UITextures.OVERLAY_SLOT_DATA_STICK;
+ }
+ if (isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_PAGE_PRINTED;
+ }
+ return GT_UITextures.OVERLAY_SLOT_PAGE_BLANK;
+ })
+ .recipeConfigFile("printer", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> sifterRecipes = RecipeMapBuilder.of("gt.recipe.sifter")
+ .maxIO(1, 9, 1, 1)
+ .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN)
+ .recipeConfigFile("sifter", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<FormingPressBackend> formingPressRecipes = RecipeMapBuilder
+ .of("gt.recipe.press", FormingPressBackend::new)
+ .maxIO(6, 1, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_PRESS_3;
+ }
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_PRESS_1;
+ }
+ return GT_UITextures.OVERLAY_SLOT_PRESS_2;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_COMPRESS)
+ .recipeConfigFile("press", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> laserEngraverRecipes = RecipeMapBuilder
+ .of("gt.recipe.laserengraver")
+ .maxIO(4, 4, 2, 2)
+ .slotOverlays(
+ (index, isFluid, isOutput,
+ isSpecial) -> !isFluid && !isOutput && index != 0 ? GT_UITextures.OVERLAY_SLOT_LENS : null)
+ .recipeConfigFile("laserengraving", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> mixerRecipes = RecipeMapBuilder.of("gt.recipe.mixer")
+ .maxIO(9, 4, 1, 1)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> !isFluid ? GT_UITextures.OVERLAY_SLOT_DUST : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW)
+ .recipeConfigFile("mixer", FIRST_ITEM_OR_FLUID_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> autoclaveRecipes = RecipeMapBuilder.of("gt.recipe.autoclave")
+ .maxIO(2, 4, 1, 1)
+ .minInputs(1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_GEM;
+ }
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ }
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ })
+
+ .recipeConfigFile("autoclave", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> electroMagneticSeparatorRecipes = RecipeMapBuilder
+ .of("gt.recipe.electromagneticseparator")
+ .maxIO(1, 3, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> isOutput ? GT_UITextures.OVERLAY_SLOT_DUST
+ : GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
+ .progressBar(GT_UITextures.PROGRESSBAR_MAGNET)
+ .recipeConfigFile("electromagneticseparator", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> polarizerRecipes = RecipeMapBuilder.of("gt.recipe.polarizer")
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .progressBar(GT_UITextures.PROGRESSBAR_MAGNET)
+ .recipeConfigFile("polarizer", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> maceratorRecipes = RecipeMapBuilder.of("gt.recipe.macerator")
+ .maxIO(1, 4, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> isOutput ? GT_UITextures.OVERLAY_SLOT_DUST
+ : GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
+ .slotOverlaysSteam(
+ (index, isFluid, isOutput, isSpecial) -> isOutput ? GT_UITextures.OVERLAY_SLOT_DUST_STEAM
+ : GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE_STEAM)
+ .progressBar(GT_UITextures.PROGRESSBAR_MACERATE)
+ .progressBarSteam(GT_UITextures.PROGRESSBAR_MACERATE_STEAM)
+ // Avoid steam machine being used as handler icon
+ .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.Machine_LV_Macerator.get(1)))
+ .recipeConfigFile("pulveriser", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> chemicalBathRecipes = RecipeMapBuilder.of("gt.recipe.chemicalbath")
+ .maxIO(1, 3, 1, 1)
+ .minInputs(1, 1)
+ .progressBar(GT_UITextures.PROGRESSBAR_BATH, ProgressBar.Direction.CIRCULAR_CW)
+ .recipeConfigFile("chemicalbath", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<FluidCannerBackend> fluidCannerRecipes = RecipeMapBuilder
+ .of("gt.recipe.fluidcanner", FluidCannerBackend::new)
+ .maxIO(1, 1, 1, 1)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> !isFluid ? GT_UITextures.OVERLAY_SLOT_CANISTER : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_CANNER)
+ .recipeConfigFile("canning", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> brewingRecipes = RecipeMapBuilder.of("gt.recipe.brewer")
+ .maxIO(1, 0, 1, 1)
+ .minInputs(1, 1)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .recipeConfigFile("brewing", FIRST_FLUIDSTACK_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> fluidHeaterRecipes = RecipeMapBuilder.of("gt.recipe.fluidheater")
+ .maxIO(1, 0, 1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (!isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_HEATER_2;
+ }
+ return GT_UITextures.OVERLAY_SLOT_HEATER_1;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .recipeConfigFile("fluidheater", FIRST_FLUIDSTACK_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> distilleryRecipes = RecipeMapBuilder.of("gt.recipe.distillery")
+ .maxIO(1, 1, 1, 1)
+ .minInputs(1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (!isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_BEAKER_2;
+ }
+ return GT_UITextures.OVERLAY_SLOT_BEAKER_1;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .recipeTransformer(r -> {
+ int aInput = r.mFluidInputs[0].amount, aOutput = r.mFluidOutputs[0].amount, aDuration = r.mDuration;
+
+ // reduce the batch size if fluid amount is exceeding
+ int tScale = (Math.max(aInput, aOutput) + 999) / 1000;
+ if (tScale <= 0) tScale = 1;
+ if (tScale > 1) {
+ // trying to find whether there is a better factor
+ for (int i = tScale; i <= 5; i++) {
+ if (aInput % i == 0 && aDuration % i == 0) {
+ tScale = i;
+ break;
+ }
+ }
+ for (int i = tScale; i <= 5; i++) {
+ if (aInput % i == 0 && aDuration % i == 0 && aOutput % i == 0) {
+ tScale = i;
+ break;
+ }
+ }
+ aInput = (aInput + tScale - 1) / tScale;
+ aOutput = aOutput / tScale;
+ if (!isArrayEmptyOrNull(r.mOutputs)) {
+ ItemData tData = GT_OreDictUnificator.getItemData(r.mOutputs[0]);
+ if (tData != null && (tData.mPrefix == OrePrefixes.dust
+ || OrePrefixes.dust.mFamiliarPrefixes.contains(tData.mPrefix))) {
+ r.mOutputs[0] = GT_OreDictUnificator.getDust(
+ tData.mMaterial.mMaterial,
+ tData.mMaterial.mAmount * r.mOutputs[0].stackSize / tScale);
+ } else {
+ if (r.mOutputs[0].stackSize / tScale == 0) r.mOutputs[0] = GT_Values.NI;
+ else r.mOutputs[0] = copyAmount(r.mOutputs[0].stackSize / tScale, r.mOutputs[0]);
+ }
+ }
+ aDuration = (aDuration + tScale - 1) / tScale;
+ r.mFluidInputs[0] = copyAmount(aInput, r.mFluidInputs[0]);
+ r.mFluidOutputs[0] = copyAmount(aOutput, r.mFluidOutputs[0]);
+ r.mDuration = aDuration;
+ }
+ })
+ .recipeConfigFile("distillery", FIRST_FLUIDSTACK_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> fermentingRecipes = RecipeMapBuilder.of("gt.recipe.fermenter")
+ .maxIO(0, 0, 1, 1)
+ .minInputs(0, 1)
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .recipeConfigFile("fermenting", FIRST_FLUIDSTACK_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> fluidSolidifierRecipes = RecipeMapBuilder
+ .of("gt.recipe.fluidsolidifier")
+ .maxIO(1, 1, 1, 0)
+ .minInputs(1, 1)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_MOLD : null)
+ .recipeTransformer(r -> {
+ if (ArrayUtils.isNotEmpty(r.mFluidInputs)) {
+ if (Materials.PhasedGold.getMolten(1)
+ .isFluidEqual(r.mFluidInputs[0]))
+ r.mFluidInputs = new FluidStack[] { Materials.VibrantAlloy.getMolten(r.mFluidInputs[0].amount) };
+ else if (Materials.PhasedIron.getMolten(1)
+ .isFluidEqual(r.mFluidInputs[0]))
+ r.mFluidInputs = new FluidStack[] { Materials.PulsatingIron.getMolten(r.mFluidInputs[0].amount) };
+ }
+ })
+ .recipeConfigFile("fluidsolidifier", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> fluidExtractionRecipes = RecipeMapBuilder
+ .of("gt.recipe.fluidextractor")
+ .maxIO(1, 1, 0, 1)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CENTRIFUGE
+ : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT)
+ .recipeTransformer(r -> {
+ if (ArrayUtils.isNotEmpty(r.mFluidInputs)) {
+ if (Materials.PhasedGold.getMolten(1)
+ .isFluidEqual(r.mFluidInputs[0]))
+ r.mFluidInputs = new FluidStack[] { Materials.VibrantAlloy.getMolten(r.mFluidInputs[0].amount) };
+ else if (Materials.PhasedIron.getMolten(1)
+ .isFluidEqual(r.mFluidInputs[0]))
+ r.mFluidInputs = new FluidStack[] { Materials.PulsatingIron.getMolten(r.mFluidInputs[0].amount) };
+ }
+ })
+ .recipeConfigFile("fluidextractor", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> packagerRecipes = RecipeMapBuilder.of("gt.recipe.packager")
+ .maxIO(2, 1, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_BOXED;
+ }
+ if (index != 0) {
+ return GT_UITextures.OVERLAY_SLOT_BOX;
+ }
+ return null;
+ })
+ .recipeConfigFile("boxing", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<UnpackagerBackend> unpackagerRecipes = RecipeMapBuilder
+ .of("gt.recipe.unpackager", UnpackagerBackend::new)
+ .maxIO(1, 2, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> !isOutput ? GT_UITextures.OVERLAY_SLOT_BOXED : null)
+ .recipeConfigFile("unboxing", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> fusionRecipes = RecipeMapBuilder.of("gt.recipe.fusionreactor")
+ .maxIO(0, 0, 2, 1)
+ .minInputs(0, 2)
+ .disableOptimize()
+ .useCustomFilterForNEI()
+ .neiSpecialInfoFormatter(FusionSpecialValueFormatter.INSTANCE)
+ .neiRecipeComparator(
+ Comparator
+ .<GT_Recipe, Integer>comparing(
+ recipe -> FusionSpecialValueFormatter.getFusionTier(recipe.mSpecialValue, recipe.mEUt))
+ .thenComparing(GT_Recipe::compareTo))
+ .frontend(FluidOnlyFrontend::new)
+ .recipeConfigFile("fusion", FIRST_FLUID_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> centrifugeRecipes = RecipeMapBuilder.of("gt.recipe.centrifuge")
+ .maxIO(2, 6, 1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return null;
+ }
+ if (isFluid) {
+ return GT_UITextures.OVERLAY_SLOT_CENTRIFUGE_FLUID;
+ } else {
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_CENTRIFUGE;
+ }
+ return GT_UITextures.OVERLAY_SLOT_CANISTER;
+ }
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT)
+ .recipeConfigFile("centrifuge", FIRST_ITEM_OR_FLUID_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> electrolyzerRecipes = RecipeMapBuilder.of("gt.recipe.electrolyzer")
+ .maxIO(2, 6, 1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return null;
+ }
+ if (isFluid) {
+ return GT_UITextures.OVERLAY_SLOT_CHARGER_FLUID;
+ } else {
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_CHARGER;
+ }
+ return GT_UITextures.OVERLAY_SLOT_CANISTER;
+ }
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT)
+ .recipeConfigFile("electrolyzer", FIRST_ITEM_OR_FLUID_INPUT)
+ .build();
+ /**
+ * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level.
+ */
+ public static final RecipeMap<RecipeMapBackend> blastFurnaceRecipes = RecipeMapBuilder.of("gt.recipe.blastfurnace")
+ .maxIO(6, 6, 1, 1)
+ .minInputs(1, 0)
+ .neiSpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE)
+ .recipeConfigFile("blastfurnace", FIRST_ITEM_INPUT)
+ .build();
+ /**
+ * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level.
+ */
+ public static final RecipeMap<RecipeMapBackend> plasmaForgeRecipes = RecipeMapBuilder.of("gt.recipe.plasmaforge")
+ .maxIO(9, 9, 9, 9)
+ .disableOptimize()
+ .neiSpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE)
+ .neiHandlerInfo(
+ builder -> builder.setDisplayStack(ItemList.Machine_Multi_PlasmaForge.get(1))
+ .setMaxRecipesPerPage(1))
+ .frontend(LargeNEIFrontend::new)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> transcendentPlasmaMixerRecipes = RecipeMapBuilder
+ .of("gt.recipe.transcendentplasmamixerrecipes")
+ .maxIO(1, 0, 20, 1)
+ .progressBarPos(86, 44)
+ .logoPos(87, 99)
+ .neiRecipeBackgroundSize(170, 118)
+ .neiHandlerInfo(
+ builder -> builder.setDisplayStack(ItemList.Machine_Multi_TranscendentPlasmaMixer.get(1))
+ .setMaxRecipesPerPage(1))
+ .frontend(TranscendentPlasmaMixerFrontend::new)
+ .disableOptimize()
+ .build();
+ public static final RecipeMap<RecipeMapBackend> spaceProjectFakeRecipes = RecipeMapBuilder
+ .of("gt.recipe.fakespaceprojects")
+ .maxIO(12, 0, 4, 0)
+ .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("GT5U.nei.stages"))
+ .neiRecipeBackgroundOffset(3, 23)
+ .logo(UITexture.fullImage(GTNHIntergalactic.ID, "gui/picture/space_elevator_logo.png"))
+ .logoSize(18, 18)
+ .logoPos(152, 83)
+ .neiTransferRect(70, 28, 18, 72)
+ .neiTransferRect(106, 28, 18, 72)
+ .frontend(SpaceProjectFrontend::new)
+ .disableRenderRealStackSizes()
+ .disableOptimize()
+ .build();
+ /**
+ * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for coal/charcoal amount.
+ */
+ public static final RecipeMap<RecipeMapBackend> primitiveBlastRecipes = RecipeMapBuilder
+ .of("gt.recipe.primitiveblastfurnace")
+ .maxIO(3, 3, 0, 0)
+ .minInputs(1, 0)
+ .recipeEmitter(builder -> {
+ Optional<GT_Recipe> rr = builder.eut(0)
+ .validateInputCount(1, 2)
+ .validateOutputCount(1, 2)
+ .validateNoInputFluid()
+ .validateNoOutputFluid()
+ .noOptimize()
+ .build();
+ if (!rr.isPresent()) return Collections.emptyList();
+ ItemStack aInput1 = builder.getItemInputBasic(0);
+ ItemStack aInput2 = builder.getItemInputBasic(1);
+ ItemStack aOutput1 = builder.getItemOutput(0);
+ ItemStack aOutput2 = builder.getItemOutput(1);
+ if ((aInput1 == null && aInput2 == null) || (aOutput1 == null && aOutput2 == null))
+ return Collections.emptyList();
+ int aCoalAmount = builder.getMetadataOrDefault(ADDITIVE_AMOUNT, 0);
+ if (aCoalAmount <= 0) return Collections.emptyList();
+ GT_RecipeTemplate coll = asTemplate(rr.get());
+ for (Materials coal : new Materials[] { Materials.Coal, Materials.Charcoal }) {
+ coll.derive()
+ .setInputs(aInput1, aInput2, coal.getGems(aCoalAmount))
+ .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount));
+ coll.derive()
+ .setInputs(aInput1, aInput2, coal.getDust(aCoalAmount))
+ .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount));
+ }
+ int aDuration = builder.getDuration();
+ if (Railcraft.isModLoaded()) {
+ coll.derive()
+ .setInputs(aInput1, aInput2, RailcraftToolItems.getCoalCoke(aCoalAmount / 2))
+ .setOutputs(aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount / 2))
+ .setDuration(aDuration * 2 / 3);
+ }
+ if (GTPlusPlus.isModLoaded()) {
+ ItemStack cactusCoke = GT_ModHandler.getModItem(GTPlusPlus.ID, "itemCactusCoke", aCoalAmount * 2L);
+ ItemStack sugarCoke = GT_ModHandler.getModItem(GTPlusPlus.ID, "itemSugarCoke", aCoalAmount * 2L);
+ coll.derive()
+ .setInputs(aInput1, aInput2, cactusCoke)
+ .setOutputs(aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2))
+ .setDuration(aDuration * 2 / 3);
+ coll.derive()
+ .setInputs(aInput1, aInput2, sugarCoke)
+ .setOutputs(aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2))
+ .setDuration(aDuration * 2 / 3);
+ }
+ if ((aInput1 == null || aInput1.stackSize <= 6) && (aInput2 == null || aInput2.stackSize <= 6)
+ && (aOutput1 == null || aOutput1.stackSize <= 6)
+ && (aOutput2 == null || aOutput2.stackSize <= 6)) {
+ // we don't use GT_Utility.mul() here. It does not have the truncating we need here.
+ aInput1 = multiplyStack(10, aInput1);
+ aInput2 = multiplyStack(10, aInput2);
+ aOutput1 = multiplyStack(10, aOutput1);
+ aOutput2 = multiplyStack(10, aOutput2);
+ for (Materials coal : new Materials[] { Materials.Coal, Materials.Charcoal }) {
+ coll.derive()
+ .setInputs(aInput1, aInput2, coal.getBlocks(aCoalAmount))
+ .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount))
+ .setDuration(aDuration * 10);
+ coll.derive()
+ .setInputs(aInput1, aInput2, coal.getBlocks(aCoalAmount))
+ .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount))
+ .setDuration(aDuration * 10);
+ }
+ if (Railcraft.isModLoaded()) {
+ coll.derive()
+ .setInputs(aInput1, aInput2, EnumCube.COKE_BLOCK.getItem(aCoalAmount / 2))
+ .setOutputs(aOutput1, aOutput2, Materials.Ash.getDust(aCoalAmount / 2))
+ .setDuration(aDuration * 20 / 3);
+ }
+ }
+ return coll.getAll();
+ })
+ .recipeConfigFile("primitiveblastfurnace", FIRST_ITEM_INPUT)
+ .build();
+ /**
+ * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for TNT/ITNT/... amount. Value is truncated to [0, 64]
+ */
+ public static final RecipeMap<RecipeMapBackend> implosionRecipes = RecipeMapBuilder
+ .of("gt.recipe.implosioncompressor")
+ .maxIO(2, 2, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (!isFluid && !isOutput) {
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_IMPLOSION;
+ }
+ return GT_UITextures.OVERLAY_SLOT_EXPLOSIVE;
+ }
+ return null;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_COMPRESS)
+ .disableOptimize()
+ .recipeEmitter(b -> {
+ switch (b.getItemInputsBasic().length) {
+ case 0:
+ return Collections.emptyList();
+ case 1:
+ break;
+ default:
+ return b.build()
+ .map(Collections::singletonList)
+ .orElse(Collections.emptyList());
+ }
+ Optional<GT_Recipe> t = b.noOptimize()
+ .duration(20)
+ .eut(30)
+ .validateInputCount(1, 1)
+ .validateOutputCount(1, 2)
+ .build();
+ if (!t.isPresent()) return Collections.emptyList();
+ ItemStack input = b.getItemInputBasic(0);
+ GT_RecipeTemplate coll = asTemplate(t.get());
+ int tExplosives = Math.min(b.getMetadataOrDefault(ADDITIVE_AMOUNT, 0), 64);
+ int tGunpowder = tExplosives << 1; // Worst
+ int tDynamite = Math.max(1, tExplosives >> 1); // good
+ @SuppressWarnings("UnnecessaryLocalVariable")
+ int tTNT = tExplosives; // Slightly better
+ int tITNT = Math.max(1, tExplosives >> 2); // the best
+ if (tGunpowder < 65) coll.derive()
+ .setInputs(input, ItemList.Block_Powderbarrel.get(tGunpowder));
+ if (tDynamite < 17) coll.derive()
+ .setInputs(input, GT_ModHandler.getIC2Item("dynamite", tDynamite, null));
+ coll.derive()
+ .setInputs(input, new ItemStack(Blocks.tnt, tTNT));
+ coll.derive()
+ .setInputs(input, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null));
+ return coll.getAll();
+ })
+ .recipeConfigFile("implosion", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> vacuumFreezerRecipes = RecipeMapBuilder
+ .of("gt.recipe.vacuumfreezer")
+ .maxIO(1, 1, 2, 1)
+ .recipeEmitter(b -> {
+ b.noOptimize();
+ FluidStack in, out;
+ if (isArrayOfLength(b.getItemInputsBasic(), 1) && isArrayOfLength(b.getItemOutputs(), 1)
+ && isArrayEmptyOrNull(b.getFluidInputs())
+ && isArrayEmptyOrNull(b.getFluidOutputs())
+ && (in = getFluidForFilledItem(b.getItemInputBasic(0), true)) != null
+ && (out = getFluidForFilledItem(b.getItemOutput(0), true)) != null) {
+ Collection<GT_Recipe> ret = new ArrayList<>();
+ b.build()
+ .ifPresent(ret::add);
+ b.itemInputs()
+ .itemOutputs()
+ .fluidInputs(in)
+ .fluidOutputs(out)
+ .build()
+ .ifPresent(ret::add);
+ return ret;
+ }
+ return buildOrEmpty(b);
+ })
+ .recipeConfigFile("vacuumfreezer", FIRST_ITEM_INPUT)
+ .build();
+ /**
+ * Using {@code .addTo(chemicalReactorRecipes)} will cause the recipe to be added to single block recipe map ONLY!
+ * Use {@link GT_RecipeConstants#UniversalChemical} to add to both.
+ */
+ public static final RecipeMap<RecipeMapBackend> chemicalReactorRecipes = RecipeMapBuilder
+ .of("gt.recipe.chemicalreactor")
+ .maxIO(2, 2, 1, 1)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isFluid) {
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_VIAL_2;
+ }
+ return GT_UITextures.OVERLAY_SLOT_MOLECULAR_3;
+ } else {
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_VIAL_1;
+ }
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_MOLECULAR_1;
+ }
+ return GT_UITextures.OVERLAY_SLOT_MOLECULAR_2;
+ }
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .disableOptimize()
+ .recipeConfigFile("chemicalreactor", FIRST_ITEM_OR_FLUID_OUTPUT)
+ .build();
+ /**
+ * Using {@code .addTo(multiblockChemicalReactorRecipes)} will cause the recipe to be added to
+ * multiblock recipe map ONLY! Use {@link GT_RecipeConstants#UniversalChemical} to add to both.
+ */
+ public static final RecipeMap<RecipeMapBackend> multiblockChemicalReactorRecipes = RecipeMapBuilder
+ .of("gt.recipe.largechemicalreactor")
+ .maxIO(6, 6, 6, 6)
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .disableOptimize()
+ .frontend(LargeNEIFrontend::new)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> distillationTowerRecipes = RecipeMapBuilder
+ .of("gt.recipe.distillationtower")
+ .maxIO(2, 1, 1, 11)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (!isOutput) {
+ return null;
+ }
+ if (isFluid) {
+ return GT_UITextures.OVERLAY_SLOTS_NUMBER[index + 1];
+ } else {
+ return GT_UITextures.OVERLAY_SLOTS_NUMBER[0];
+ }
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .logoPos(80, 62)
+ .frontend(DistillationTowerFrontend::new)
+ .disableOptimize()
+ .recipeConfigFile("distillation", FIRST_FLUIDSTACK_INPUT)
+ .build();
+ public static final RecipeMap<OilCrackerBackend> crackingRecipes = RecipeMapBuilder
+ .of("gt.recipe.craker", OilCrackerBackend::new)
+ .maxIO(1, 1, 2, 1)
+ .minInputs(1, 2)
+ .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE)
+ .recipeConfigFile("cracking", FIRST_FLUIDSTACK_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> pyrolyseRecipes = RecipeMapBuilder.of("gt.recipe.pyro")
+ .maxIO(2, 1, 1, 1)
+ .minInputs(1, 0)
+ .disableOptimize()
+ .recipeConfigFile("pyrolyse", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> wiremillRecipes = RecipeMapBuilder.of("gt.recipe.wiremill")
+ .maxIO(2, 1, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_WIREMILL : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_WIREMILL)
+ .recipeConfigFile("wiremill", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> benderRecipes = RecipeMapBuilder.of("gt.recipe.metalbender")
+ .maxIO(2, 1, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_BENDER : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_BENDING)
+ .recipeConfigFile("bender", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> alloySmelterRecipes = RecipeMapBuilder.of("gt.recipe.alloysmelter")
+ .maxIO(2, 1, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_FURNACE : null)
+ .slotOverlaysSteam((index, isFluid, isOutput, isSpecial) -> GT_UITextures.OVERLAY_SLOT_FURNACE_STEAM)
+ .progressBarSteam(GT_UITextures.PROGRESSBAR_ARROW_STEAM)
+ .recipeEmitter(b -> {
+ if (Materials.Graphite.contains(b.getItemInputBasic(0))) return Collections.emptyList();
+ if (GT_Utility.isArrayOfLength(b.getItemInputsBasic(), 1)) {
+ ItemStack aInput1 = b.getItemInputBasic(0);
+ if (((OrePrefixes.ingot.contains(aInput1)) || (OrePrefixes.dust.contains(aInput1))
+ || (OrePrefixes.gem.contains(aInput1)))) return Collections.emptyList();
+ }
+ return buildOrEmpty(
+ b.validateNoInputFluid()
+ .validateNoOutputFluid()
+ .validateInputCount(1, 2)
+ .validateOutputCount(1, 1));
+ })
+ // Avoid steam machine being used as handler icon
+ .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.Machine_LV_AlloySmelter.get(1)))
+ .recipeConfigFile(
+ "alloysmelting",
+ r -> GT_Config.getStackConfigName(GT_Utility.isArrayOfLength(r.mInputs, 1) ? r.mInputs[0] : r.mOutputs[0]))
+ .build();
+ public static final RecipeMap<AssemblerBackend> assemblerRecipes = RecipeMapBuilder
+ .of("gt.recipe.assembler", AssemblerBackend::new)
+ .maxIO(9, 1, 1, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CIRCUIT : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE)
+ .disableOptimize()
+ .recipeConfigFile("assembling", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> circuitAssemblerRecipes = RecipeMapBuilder
+ .of("gt.recipe.circuitassembler")
+ .maxIO(6, 1, 1, 0)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CIRCUIT : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_CIRCUIT_ASSEMBLER)
+ .unificateOutputNEI(!NEICustomDiagrams.isModLoaded())
+ .recipeConfigFile("circuitassembler", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> cannerRecipes = RecipeMapBuilder.of("gt.recipe.canner")
+ .maxIO(2, 2, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return null;
+ }
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_CANNER;
+ }
+ return GT_UITextures.OVERLAY_SLOT_CANISTER;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_CANNER)
+ .recipeConfigFile("canning", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> latheRecipes = RecipeMapBuilder.of("gt.recipe.lathe")
+ .maxIO(1, 2, 0, 0)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_ROD_2;
+ }
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ }
+ return GT_UITextures.OVERLAY_SLOT_ROD_1;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_LATHE)
+ .addSpecialTexture(98, 24, 5, 18, GT_UITextures.PROGRESSBAR_LATHE_BASE)
+ .recipeConfigFile("lathe", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> cutterRecipes = RecipeMapBuilder.of("gt.recipe.cuttingsaw")
+ .maxIO(2, 4, 1, 0)
+ .minInputs(1, 1)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_CUTTER_SLICED;
+ }
+ return GT_UITextures.OVERLAY_SLOT_DUST;
+ }
+ return GT_UITextures.OVERLAY_SLOT_BOX;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_CUT)
+ .recipeEmitter(b -> {
+ b.validateInputCount(1, 2)
+ .validateOutputCount(1, 4)
+ .validateNoOutputFluid();
+ if ((b.getFluidInputs() != null && b.getFluidInputs().length > 0) || !b.isValid())
+ return buildOrEmpty(b.validateInputFluidCount(1, 1));
+ int aDuration = b.getDuration(), aEUt = b.getEUt();
+ Collection<GT_Recipe> ret = new ArrayList<>();
+ b.copy()
+ .fluidInputs(Materials.Water.getFluid(clamp(aDuration * aEUt / 320, 4, 1000)))
+ .duration(aDuration * 2)
+ .build()
+ .ifPresent(ret::add);
+ b.copy()
+ .fluidInputs(GT_ModHandler.getDistilledWater(clamp(aDuration * aEUt / 426, 3, 750)))
+ .duration(aDuration * 2)
+ .build()
+ .ifPresent(ret::add);
+ b.fluidInputs(Materials.Lubricant.getFluid(clamp(aDuration * aEUt / 1280, 1, 250)))
+ .duration(aDuration)
+ .build()
+ .ifPresent(ret::add);
+ return ret;
+ })
+ .recipeConfigFile("cutting", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> slicerRecipes = RecipeMapBuilder.of("gt.recipe.slicer")
+ .maxIO(2, 1, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_SLICER_SLICED;
+ }
+ if (index == 0) {
+ return GT_UITextures.OVERLAY_SLOT_SQUARE;
+ }
+ return GT_UITextures.OVERLAY_SLOT_SLICE_SHAPE;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_SLICE)
+ .recipeConfigFile("slicer", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> extruderRecipes = RecipeMapBuilder.of("gt.recipe.extruder")
+ .maxIO(2, 1, 0, 0)
+ .minInputs(2, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput,
+ isSpecial) -> !isFluid && !isOutput && index != 0 ? GT_UITextures.OVERLAY_SLOT_EXTRUDER_SHAPE : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_EXTRUDE)
+ .recipeConfigFile("extruder", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> hammerRecipes = RecipeMapBuilder.of("gt.recipe.hammer")
+ .maxIO(2, 2, 2, 2)
+ .minInputs(1, 0)
+ .slotOverlays(
+ (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_HAMMER : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_HAMMER, ProgressBar.Direction.DOWN)
+ .addSpecialTexture(78, 42, 20, 6, GT_UITextures.PROGRESSBAR_HAMMER_BASE)
+ .slotOverlaysSteam(
+ (index, isFluid, isOutput, isSpecial) -> !isOutput ? GT_UITextures.OVERLAY_SLOT_HAMMER_STEAM : null)
+ .progressBarSteam(GT_UITextures.PROGRESSBAR_HAMMER_STEAM)
+ .addSpecialTextureSteam(78, 42, 20, 6, GT_UITextures.PROGRESSBAR_HAMMER_BASE_STEAM)
+ // Avoid steam machine being used as handler icon
+ .neiHandlerInfo(builder -> builder.setDisplayStack(ItemList.Machine_LV_Hammer.get(1)))
+ .recipeConfigFile("forgehammer", FIRST_ITEM_OUTPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> amplifierRecipes = RecipeMapBuilder.of("gt.recipe.uuamplifier")
+ .maxIO(1, 0, 0, 1)
+ .minInputs(1, 0)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (isFluid) {
+ return GT_UITextures.OVERLAY_SLOT_UUA;
+ }
+ if (!isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_CENTRIFUGE;
+ }
+ return null;
+ })
+ .progressBar(GT_UITextures.PROGRESSBAR_EXTRACT)
+ .recipeConfigFile("amplifier", FIRST_ITEM_INPUT)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> massFabFakeRecipes = RecipeMapBuilder.of("gt.recipe.massfab")
+ .maxIO(1, 0, 1, 1)
+ .minInputs(1, 0)
+ .amperage(8)
+ .slotOverlays((index, isFluid, isOutput, isSpecial) -> {
+ if (!isFluid) {
+ return null;
+ }
+ if (isOutput) {
+ return GT_UITextures.OVERLAY_SLOT_UUM;
+ }
+ return GT_UITextures.OVERLAY_SLOT_UUA;
+ })
+ .build();
+ public static final RecipeMap<FuelBackend> dieselFuels = RecipeMapBuilder
+ .of("gt.recipe.dieselgeneratorfuel", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> extremeDieselFuels = RecipeMapBuilder
+ .of("gt.recipe.extremedieselgeneratorfuel", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> gasTurbineFuels = RecipeMapBuilder
+ .of("gt.recipe.gasturbinefuel", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> hotFuels = RecipeMapBuilder
+ .of("gt.recipe.thermalgeneratorfuel", FuelBackend::new)
+ .maxIO(1, 4, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> denseLiquidFuels = RecipeMapBuilder
+ .of("gt.recipe.semifluidboilerfuels", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> plasmaFuels = RecipeMapBuilder
+ .of("gt.recipe.plasmageneratorfuels", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> magicFuels = RecipeMapBuilder
+ .of("gt.recipe.magicfuels", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> smallNaquadahReactorFuels = RecipeMapBuilder
+ .of("gt.recipe.smallnaquadahreactor", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> largeNaquadahReactorFuels = RecipeMapBuilder
+ .of("gt.recipe.largenaquadahreactor", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> hugeNaquadahReactorFuels = RecipeMapBuilder
+ .of("gt.recipe.fluidnaquadahreactor", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> extremeNaquadahReactorFuels = RecipeMapBuilder
+ .of("gt.recipe.hugenaquadahreactor", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> ultraHugeNaquadahReactorFuels = RecipeMapBuilder
+ .of("gt.recipe.extrahugenaquadahreactor", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<FuelBackend> fluidNaquadahReactorFuels = RecipeMapBuilder
+ .of("gt.recipe.fluidfuelnaquadahreactor", FuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> electrolyzerNonCellRecipes = RecipeMapBuilder
+ .of("gt.recipe.largeelectrolyzer")
+ .maxIO(1, 6, 1, 6)
+ .disableRegisterNEI()
+ .recipeEmitter(GT_RecipeMapUtil::buildRecipeForMultiblock)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> centrifugeNonCellRecipes = RecipeMapBuilder
+ .of("gt.recipe.largecentrifuge")
+ .maxIO(2, 6, 1, 6)
+ .disableOptimize()
+ .disableRegisterNEI()
+ .recipeEmitter(GT_RecipeMapUtil::buildRecipeForMultiblock)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> mixerNonCellRecipes = RecipeMapBuilder.of("gt.recipe.largemixer")
+ .maxIO(9, 4, 6, 4)
+ .disableOptimize()
+ .disableRegisterNEI()
+ .recipeEmitter(GT_RecipeMapUtil::buildRecipeForMultiblockNoCircuit)
+ .build();
+ public static final RecipeMap<LargeBoilerFuelBackend> largeBoilerFakeFuels = RecipeMapBuilder
+ .of("gt.recipe.largeboilerfakefuels", LargeBoilerFuelBackend::new)
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .disableOptimize()
+ .frontend(LargeBoilerFuelFrontend::new)
+ .build();
+ public static final RecipeMap<RecipeMapBackend> nanoForgeRecipes = RecipeMapBuilder.of("gt.recipe.nanoforge")
+ .maxIO(6, 2, 3, 0)
+ .minInputs(2, 1)
+ .slotOverlays(
+ (index, isFluid, isOutput,
+ isSpecial) -> !isFluid && !isOutput && index == 0 ? GT_UITextures.OVERLAY_SLOT_LENS : null)
+ .progressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE)
+ .disableOptimize()
+ .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("GT5U.nei.tier"))
+ .build();
+ public static final RecipeMap<RecipeMapBackend> pcbFactoryRecipes = RecipeMapBuilder.of("gt.recipe.pcbfactory")
+ .maxIO(6, 9, 3, 0)
+ .minInputs(3, 1)
+ .progressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE)
+ .disableOptimize()
+ .neiRecipeComparator(
+ Comparator
+ .<GT_Recipe, Integer>comparing(recipe -> recipe.getMetadataOrDefault(PCBFactoryTierKey.INSTANCE, 1))
+ .thenComparing(GT_Recipe::compareTo))
+ .build();
+ public static final RecipeMap<RecipeMapBackend> ic2NuclearFakeRecipes = RecipeMapBuilder.of("gt.recipe.ic2nuke")
+ .maxIO(1, 1, 0, 0)
+ .minInputs(1, 0)
+ .disableOptimize()
+ .logo(GT_UITextures.PICTURE_RADIATION_WARNING)
+ .logoPos(152, 41)
+ .neiRecipeBackgroundSize(170, 60)
+ .neiHandlerInfo(builder -> builder.setDisplayStack(GT_ModHandler.getIC2Item("nuclearReactor", 1, null)))
+ .build();
+
+ static {
+ RecipeMaps.centrifugeRecipes.addDownstream(RecipeMaps.centrifugeNonCellRecipes.deepCopyInput());
+ RecipeMaps.mixerRecipes.addDownstream(RecipeMaps.mixerNonCellRecipes.deepCopyInput());
+ RecipeMaps.electrolyzerRecipes.addDownstream(RecipeMaps.electrolyzerNonCellRecipes.deepCopyInput());
+ RecipeMaps.dieselFuels.addDownstream(
+ IRecipeMap.newRecipeMap(
+ b -> b.build()
+ .map(
+ r -> RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addDieselRecipe(r))
+ .map(Collections::singletonList)
+ .orElse(Collections.emptyList())));
+ RecipeMaps.dieselFuels.addDownstream(IRecipeMap.newRecipeMap(b -> {
+ if (b.getMetadataOrDefault(FUEL_VALUE, 0) < 1500) return Collections.emptyList();
+ return b.addTo(RecipeMaps.extremeDieselFuels);
+ }));
+ RecipeMaps.denseLiquidFuels.addDownstream(
+ IRecipeMap.newRecipeMap(
+ b -> b.build()
+ .map(
+ r -> RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addDenseLiquidRecipe(r))
+ .map(Collections::singletonList)
+ .orElse(Collections.emptyList())));
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/RecipeMetadataKey.java b/src/main/java/gregtech/api/recipe/RecipeMetadataKey.java
new file mode 100644
index 0000000000..2156421835
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/RecipeMetadataKey.java
@@ -0,0 +1,84 @@
+package gregtech.api.recipe;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.jetbrains.annotations.Contract;
+
+import gregtech.api.recipe.metadata.IRecipeMetadataStorage;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Unique key for the {@link IRecipeMetadataStorage}. It's also responsible for drawing metadata info on NEI.
+ * <p>
+ * You can use {@link gregtech.api.recipe.metadata.SimpleRecipeMetadataKey} if your metadata does not need NEI handling.
+ *
+ * @param <T> Type of the metadata to use.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public abstract class RecipeMetadataKey<T> {
+
+ private static final Set<RecipeMetadataKey<?>> allIdentifiers = new HashSet<>();
+ private final Class<T> clazz;
+ private final String identifier;
+
+ protected RecipeMetadataKey(Class<T> clazz, String identifier) {
+ this.clazz = clazz;
+ this.identifier = identifier;
+ if (allIdentifiers.contains(this)) {
+ throw new IllegalArgumentException(
+ "Cannot register metadata key with exact same properties: " + identifier + "@" + clazz);
+ }
+ allIdentifiers.add(this);
+ }
+
+ /**
+ * Draws info about the metadata.
+ *
+ * @param recipeInfo Object to use for drawing text.
+ * @param value Metadata stored in the recipe. Can be safely {@link #cast}ed to the desired type.
+ */
+ public abstract void drawInfo(RecipeDisplayInfo recipeInfo, @Nullable Object value);
+
+ @Nullable
+ public T cast(@Nullable Object o) {
+ return clazz.cast(o);
+ }
+
+ @Contract("_, !null -> !null")
+ @Nullable
+ public T cast(@Nullable Object o, @Nullable T defaultValue) {
+ T val = cast(o);
+ return val != null ? val : defaultValue;
+ }
+
+ @Override
+ public String toString() {
+ return "RecipeMetadataKey{" + "clazz=" + clazz.getName() + ", identifier=" + identifier + '\'' + '}';
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ RecipeMetadataKey<?> that = (RecipeMetadataKey<?>) o;
+
+ if (!clazz.equals(that.clazz)) return false;
+ return identifier.equals(that.identifier);
+ }
+
+ @Override
+ public int hashCode() {
+ int result = clazz.hashCode();
+ result = 31 * result + identifier.hashCode();
+ return result;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/check/FindRecipeResult.java b/src/main/java/gregtech/api/recipe/check/FindRecipeResult.java
deleted file mode 100644
index fa0e251fa1..0000000000
--- a/src/main/java/gregtech/api/recipe/check/FindRecipeResult.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package gregtech.api.recipe.check;
-
-import java.util.Objects;
-
-import javax.annotation.Nonnull;
-import javax.annotation.Nullable;
-
-import org.jetbrains.annotations.NotNull;
-
-import gregtech.api.util.GT_Recipe;
-
-/**
- * Wrapper class to get result of recipe search for recipemap. Note that this only validates recipe input and voltage,
- * and does not involve in actual check in the machine such as output space or special value.
- */
-public class FindRecipeResult {
-
- @Nonnull
- private final State state;
- @Nullable
- private final GT_Recipe recipe;
- @Nullable
- private RecipeValidator recipeValidator;
-
- private FindRecipeResult(@Nonnull State state, @Nullable GT_Recipe recipe) {
- this.state = state;
- this.recipe = recipe;
- }
-
- @Nonnull
- public State getState() {
- return state;
- }
-
- public boolean isSuccessful() {
- return state.success;
- }
-
- /**
- * If you already checked {@link #isSuccessful()}, you can use {@link #getRecipeNonNull()} instead.
- */
- @Nullable
- public GT_Recipe getRecipe() {
- return recipe;
- }
-
- /**
- * You should use this ONLY WHEN state == FOUND.
- */
- @Nonnull
- public GT_Recipe getRecipeNonNull() {
- return Objects.requireNonNull(recipe);
- }
-
- /**
- * Gets recipeValidator if it is not null.
- * Be sure to call hasRecipeValidator before to determine if recipeValidator exists
- *
- * @return not null recipe validator
- */
- @NotNull
- public RecipeValidator getRecipeValidator() {
- return Objects.requireNonNull(recipeValidator);
- }
-
- /**
- * Sets recipeValidator which used to get this result
- */
- public void setRecipeValidator(@Nullable RecipeValidator recipeValidator) {
- this.recipeValidator = recipeValidator;
- }
-
- /**
- * Gets if this result has recipeValidator
- */
- public boolean hasRecipeValidator() {
- return recipeValidator != null;
- }
-
- /**
- * Successfully found recipe.
- */
- public static FindRecipeResult ofSuccess(@Nonnull GT_Recipe recipe) {
- return new FindRecipeResult(State.FOUND, Objects.requireNonNull(recipe));
- }
-
- /**
- * No recipe found.
- */
- public static final FindRecipeResult NOT_FOUND = new FindRecipeResult(State.NOT_FOUND, null);
- /**
- * For Microwave.
- */
- public static final FindRecipeResult EXPLODE = new FindRecipeResult(State.EXPLODE, null);
- /**
- * For Microwave.
- */
- public static final FindRecipeResult ON_FIRE = new FindRecipeResult(State.ON_FIRE, null);
-
- public enum State {
-
- /**
- * Successfully found recipe.
- */
- FOUND(true),
- /**
- * No recipe found.
- */
- NOT_FOUND(false),
- /**
- * For Microwave.
- */
- EXPLODE(false),
- /**
- * For Microwave.
- */
- ON_FIRE(false);
-
- private final boolean success;
-
- State(boolean success) {
- this.success = success;
- }
- }
-}
diff --git a/src/main/java/gregtech/api/recipe/check/RecipeValidator.java b/src/main/java/gregtech/api/recipe/check/RecipeValidator.java
deleted file mode 100644
index 8fb7b87cfe..0000000000
--- a/src/main/java/gregtech/api/recipe/check/RecipeValidator.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package gregtech.api.recipe.check;
-
-import java.util.function.Function;
-import java.util.function.Predicate;
-
-import gregtech.api.util.GT_OverclockCalculator;
-import gregtech.api.util.GT_ParallelHelper;
-import gregtech.api.util.GT_Recipe;
-
-/**
- * Predicate for simple recipe validation.
- * Also store some validation results for reusing it
- */
-public class RecipeValidator implements Predicate<GT_Recipe> {
-
- private CheckRecipeResult firstCheckResult;
- private CheckRecipeResult lastCheckResult;
- private GT_ParallelHelper lastParallelHelper;
- private GT_OverclockCalculator lastOverclockCalculator;
- private boolean wasExecutedAtLeastOnce = false;
- private final Function<GT_Recipe, CheckRecipeResult> recipeValidator;
- private final Function<GT_Recipe, GT_ParallelHelper> parallelHelperFactory;
- private final Function<GT_Recipe, GT_OverclockCalculator> overclockCalculatorFactory;
-
- public RecipeValidator(Function<GT_Recipe, CheckRecipeResult> recipeValidator,
- Function<GT_Recipe, GT_ParallelHelper> parallelHelperFactory,
- Function<GT_Recipe, GT_OverclockCalculator> overclockCalculatorFactory) {
- this.recipeValidator = recipeValidator;
- this.parallelHelperFactory = parallelHelperFactory;
- this.overclockCalculatorFactory = overclockCalculatorFactory;
- }
-
- @Override
- public boolean test(GT_Recipe recipe) {
- wasExecutedAtLeastOnce = true;
- CheckRecipeResult checkRecipeResult = checkRecipe(recipe);
- if (firstCheckResult == null) {
- firstCheckResult = checkRecipeResult;
- }
- return checkRecipeResult.wasSuccessful();
- }
-
- private CheckRecipeResult checkRecipe(GT_Recipe recipe) {
- lastCheckResult = recipeValidator.apply(recipe);
-
- if (!lastCheckResult.wasSuccessful()) {
- return lastCheckResult;
- }
-
- lastParallelHelper = parallelHelperFactory.apply(recipe);
- lastOverclockCalculator = overclockCalculatorFactory.apply(recipe);
- lastParallelHelper.setCalculator(lastOverclockCalculator);
- lastParallelHelper.build();
-
- return lastParallelHelper.getResult();
- }
-
- public Boolean isExecutedAtLeastOnce() {
- return wasExecutedAtLeastOnce;
- }
-
- /**
- * Gets first check result in case if nothing matching recipe found.
- */
- public CheckRecipeResult getFirstCheckResult() {
- return firstCheckResult;
- }
-
- public CheckRecipeResult getLastCheckResult() {
- return lastCheckResult;
- }
-
- public GT_ParallelHelper getLastParallelHelper() {
- return lastParallelHelper;
- }
-
- public GT_OverclockCalculator getLastOverclockCalculator() {
- return lastOverclockCalculator;
- }
-}
diff --git a/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java b/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java
index d0a952b8d5..8683812d84 100644
--- a/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java
+++ b/src/main/java/gregtech/api/recipe/check/SingleRecipeCheck.java
@@ -23,6 +23,7 @@ import net.minecraftforge.fluids.FluidStack;
import com.google.common.collect.ImmutableMap;
import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.GT_Utility.ItemId;
@@ -34,7 +35,7 @@ import gregtech.api.util.GT_Utility.ItemId;
* <ul>
* Normal recipe check:
* <ul>
- * {@link GT_Recipe.GT_Recipe_Map#findRecipeWithResult Find recipe from recipemap}: O(NCR)
+ * {@link gregtech.api.recipe.FindRecipeQuery#find Find recipe from recipemap}: O(NCR)
* where N = number of machine inputs, C = average amount of recipe candidates found for specific input,
* R = computation time to {@link GT_Recipe#isRecipeInputEqual check if inputs match to recipe}
* </ul>
@@ -53,7 +54,7 @@ public class SingleRecipeCheck {
@Nonnull
private final GT_Recipe recipe;
@Nonnull
- private final GT_Recipe.GT_Recipe_Map recipeMap;
+ private final RecipeMap<?> recipeMap;
@Nonnull
private final ImmutableMap<ItemId, Integer> itemCost;
@Nonnull
@@ -62,7 +63,7 @@ public class SingleRecipeCheck {
private final int totalItemCost;
private final int totalFluidCost;
- private SingleRecipeCheck(@Nonnull GT_Recipe recipe, @Nonnull GT_Recipe.GT_Recipe_Map recipeMap,
+ private SingleRecipeCheck(@Nonnull GT_Recipe recipe, @Nonnull RecipeMap<?> recipeMap,
@Nonnull ImmutableMap<ItemId, Integer> itemCost, @Nonnull ImmutableMap<Fluid, Integer> fluidCost) {
this.recipe = recipe;
this.recipeMap = recipeMap;
@@ -85,7 +86,7 @@ public class SingleRecipeCheck {
}
@Nonnull
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ public RecipeMap<?> getRecipeMap() {
return recipeMap;
}
@@ -189,7 +190,7 @@ public class SingleRecipeCheck {
// we don't yet have a mean to uniquely name a recipe, this will have to make do.
// Consider move serialization code to GT_Recipe once this has been proven to work
NBTTagCompound tag = new NBTTagCompound();
- tag.setString("recipemap", recipeMap.mUnlocalizedName);
+ tag.setString("recipemap", recipeMap.unlocalizedName);
if (recipe.mInputs != null) {
tag.setTag("inputs", writeList(recipe.mInputs, GT_Utility::saveItem));
}
@@ -250,13 +251,13 @@ public class SingleRecipeCheck {
}
@Nullable
- public static SingleRecipeCheck tryLoad(GT_Recipe.GT_Recipe_Map recipeMap, NBTTagCompound tag) {
+ public static SingleRecipeCheck tryLoad(RecipeMap<?> recipeMap, NBTTagCompound tag) {
if (tag == null || tag.hasNoTags()) return null;
- GT_Recipe.GT_Recipe_Map mapToUse;
+ RecipeMap<?> mapToUse;
if (tag.hasKey("recipemap")) {
String mapName = tag.getString("recipemap");
- GT_Recipe.GT_Recipe_Map foundMap = GT_Recipe.GT_Recipe_Map.findRecipeMap(mapName);
+ RecipeMap<?> foundMap = RecipeMap.ALL_RECIPE_MAPS.get(mapName);
if (foundMap != null) {
mapToUse = foundMap;
} else {
@@ -288,7 +289,7 @@ public class SingleRecipeCheck {
.toImmutableMapSerial(t -> ItemId.create(t.getCompoundTag("id")), t -> t.getInteger("count")));
}
- private static GT_Recipe tryFindRecipe(@Nonnull GT_Recipe.GT_Recipe_Map recipeMap, NBTTagCompound tag) {
+ private static GT_Recipe tryFindRecipe(@Nonnull RecipeMap<?> recipeMap, NBTTagCompound tag) {
ItemStack[] inputs = GT_Utility.streamCompounds(tag.getTagList("inputs", Constants.NBT.TAG_COMPOUND))
.map(GT_Utility::loadItem)
.toArray(ItemStack[]::new);
@@ -334,13 +335,13 @@ public class SingleRecipeCheck {
return ImmutableMap.copyOf(fluidMap);
}
- public static Builder builder(@Nonnull GT_Recipe.GT_Recipe_Map recipeMap) {
+ public static Builder builder(@Nonnull RecipeMap<?> recipeMap) {
return new Builder(Objects.requireNonNull(recipeMap));
}
public static class Builder {
- private final GT_Recipe.GT_Recipe_Map recipeMap;
+ private final RecipeMap<?> recipeMap;
// In order to compute which items and fluids are consumed by the recipe, we compare the
// multi-block's items and fluids before and after inputs are consumed by the recipe.
@@ -351,7 +352,7 @@ public class SingleRecipeCheck {
private GT_Recipe recipe;
- private Builder(@Nonnull GT_Recipe.GT_Recipe_Map recipeMap) {
+ private Builder(@Nonnull RecipeMap<?> recipeMap) {
this.recipeMap = recipeMap;
}
diff --git a/src/main/java/gregtech/api/recipe/maps/AssemblerBackend.java b/src/main/java/gregtech/api/recipe/maps/AssemblerBackend.java
new file mode 100644
index 0000000000..cfa25e9fe2
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/AssemblerBackend.java
@@ -0,0 +1,35 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.ItemList;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class AssemblerBackend extends RecipeMapBackend {
+
+ public AssemblerBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe modifyFoundRecipe(GT_Recipe recipe, ItemStack[] items, FluidStack[] fluids,
+ @Nullable ItemStack specialSlot) {
+ for (ItemStack item : items) {
+ if (ItemList.Paper_Printed_Pages.isStackEqual(item, false, true)) {
+ recipe = recipe.copy();
+ recipe.mCanBeBuffered = false;
+ recipe.mOutputs[0].setTagCompound(item.getTagCompound());
+ }
+ }
+ return recipe;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/AssemblyLineFrontend.java b/src/main/java/gregtech/api/recipe/maps/AssemblyLineFrontend.java
new file mode 100644
index 0000000000..3d56c96b82
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/AssemblyLineFrontend.java
@@ -0,0 +1,76 @@
+package gregtech.api.recipe.maps;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.function.Supplier;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class AssemblyLineFrontend extends RecipeMapFrontend {
+
+ public AssemblyLineFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ public List<Pos2d> getItemInputPositions(int itemInputCount) {
+ return UIHelper.getGridPositions(itemInputCount, 16, 8, 4);
+ }
+
+ @Override
+ public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
+ return Collections.singletonList(new Pos2d(142, 8));
+ }
+
+ @Override
+ public Pos2d getSpecialItemPosition() {
+ return new Pos2d(142, 44);
+ }
+
+ @Override
+ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
+ return UIHelper.getGridPositions(fluidInputCount, 106, 8, 1);
+ }
+
+ @Override
+ public void addProgressBar(ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) {
+ int bar1Width = 17;
+ int bar2Width = 18;
+ List<Supplier<Float>> splitProgress = splitProgress(progressSupplier, bar1Width, bar2Width);
+ builder.widget(
+ new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_1, bar1Width)
+ .setDirection(ProgressBar.Direction.RIGHT)
+ .setProgress(splitProgress.get(0))
+ .setSynced(false, false)
+ .setPos(new Pos2d(88, 8).add(windowOffset))
+ .setSize(bar1Width, 72));
+ builder.widget(
+ new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_2, bar2Width)
+ .setDirection(ProgressBar.Direction.RIGHT)
+ .setProgress(splitProgress.get(1))
+ .setSynced(false, false)
+ .setPos(new Pos2d(124, 8).add(windowOffset))
+ .setSize(bar2Width, 72));
+ builder.widget(
+ new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_3, 18)
+ .setDirection(ProgressBar.Direction.UP)
+ .setProgress(progressSupplier)
+ .setSynced(false, false)
+ .setPos(new Pos2d(146, 26).add(windowOffset))
+ .setSize(10, 18));
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/DistillationTowerFrontend.java b/src/main/java/gregtech/api/recipe/maps/DistillationTowerFrontend.java
new file mode 100644
index 0000000000..b061d10d55
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/DistillationTowerFrontend.java
@@ -0,0 +1,38 @@
+package gregtech.api.recipe.maps;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class DistillationTowerFrontend extends RecipeMapFrontend {
+
+ public DistillationTowerFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
+ return Collections.singletonList(new Pos2d(106, 62));
+ }
+
+ @Override
+ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
+ List<Pos2d> results = new ArrayList<>();
+ for (int i = 1; i < fluidOutputCount + 1; i++) {
+ results.add(new Pos2d(106 + (i % 3) * 18, 62 - (i / 3) * 18));
+ }
+ return results;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/FluidCannerBackend.java b/src/main/java/gregtech/api/recipe/maps/FluidCannerBackend.java
new file mode 100644
index 0000000000..e5681f59aa
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/FluidCannerBackend.java
@@ -0,0 +1,73 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.fluids.IFluidContainerItem;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class FluidCannerBackend extends RecipeMapBackend {
+
+ public FluidCannerBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe findFallback(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot) {
+ if (items.length == 0 || items[0] == null) {
+ return null;
+ }
+
+ if (fluids.length > 0 && fluids[0] != null) {
+ ItemStack filledItem = GT_Utility.fillFluidContainer(fluids[0], items[0], false, true);
+ FluidStack fluidToTake = GT_Utility.getFluidForFilledItem(filledItem, true);
+ if (fluidToTake != null) {
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(filledItem)
+ .fluidInputs(fluidToTake)
+ .duration(Math.max(fluidToTake.amount / 64, 16))
+ .eut(1)
+ .noOptimize()
+ .noBuffer()
+ .build()
+ .orElse(null);
+ }
+ }
+ FluidStack drainedFluid = GT_Utility.getFluidForFilledItem(items[0], true);
+ if (drainedFluid != null) {
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(GT_Utility.getContainerItem(items[0], true))
+ .fluidOutputs(drainedFluid)
+ .duration(Math.max(drainedFluid.amount / 64, 16))
+ .eut(1)
+ .noBuffer()
+ .build()
+ .orElse(null);
+ }
+ return null;
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return super.containsInput(item) || (item.getItem() instanceof IFluidContainerItem
+ && ((IFluidContainerItem) item.getItem()).getCapacity(item) > 0);
+ }
+
+ @Override
+ public boolean containsInput(Fluid fluid) {
+ return true;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/FluidOnlyFrontend.java b/src/main/java/gregtech/api/recipe/maps/FluidOnlyFrontend.java
new file mode 100644
index 0000000000..8b37f6388c
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/FluidOnlyFrontend.java
@@ -0,0 +1,33 @@
+package gregtech.api.recipe.maps;
+
+import java.util.List;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+
+/**
+ * Display fluids where normally items are placed on NEI.
+ */
+@MethodsReturnNonnullByDefault
+public class FluidOnlyFrontend extends RecipeMapFrontend {
+
+ public FluidOnlyFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
+ return UIHelper.getItemInputPositions(fluidInputCount);
+ }
+
+ @Override
+ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
+ return UIHelper.getItemOutputPositions(fluidOutputCount);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/FormingPressBackend.java b/src/main/java/gregtech/api/recipe/maps/FormingPressBackend.java
new file mode 100644
index 0000000000..ce3ea3e89c
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/FormingPressBackend.java
@@ -0,0 +1,92 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Special Class for Forming Press handling.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class FormingPressBackend extends RecipeMapBackend {
+
+ public FormingPressBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe modifyFoundRecipe(GT_Recipe recipe, ItemStack[] items, FluidStack[] fluids,
+ @Nullable ItemStack specialSlot) {
+ for (ItemStack mold : items) {
+ if (ItemList.Shape_Mold_Credit.isStackEqual(mold, false, true)) {
+ NBTTagCompound nbt = mold.getTagCompound();
+ if (nbt == null) nbt = new NBTTagCompound();
+ if (!nbt.hasKey("credit_security_id")) nbt.setLong("credit_security_id", System.nanoTime());
+ mold.setTagCompound(nbt);
+
+ recipe = recipe.copy();
+ recipe.mCanBeBuffered = false;
+ recipe.mOutputs[0].setTagCompound(nbt);
+ return recipe;
+ }
+ }
+ return recipe;
+ }
+
+ @Override
+ protected GT_Recipe findFallback(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot) {
+ if (items.length < 2) {
+ return null;
+ }
+ return findRenamingRecipe(items);
+ }
+
+ @Nullable
+ private GT_Recipe findRenamingRecipe(ItemStack[] inputs) {
+ ItemStack mold = findNameMoldIndex(inputs);
+ if (mold == null) return null;
+ ItemStack input = findStackToRename(inputs, mold);
+ if (input == null) return null;
+ ItemStack output = GT_Utility.copyAmount(1, input);
+ if (output == null) return null;
+ output.setStackDisplayName(mold.getDisplayName());
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(0, mold), GT_Utility.copyAmount(1, input))
+ .itemOutputs(output)
+ .duration(128)
+ .eut(8)
+ .noBuffer()
+ .nbtSensitive()
+ .build()
+ .orElse(null);
+ }
+
+ @Nullable
+ private ItemStack findNameMoldIndex(ItemStack[] inputs) {
+ for (ItemStack stack : inputs) {
+ if (ItemList.Shape_Mold_Name.isStackEqual(stack, false, true)) return stack;
+ }
+ return null;
+ }
+
+ @Nullable
+ private ItemStack findStackToRename(ItemStack[] inputs, ItemStack mold) {
+ for (ItemStack stack : inputs) {
+ if (stack == mold || stack == null) continue;
+ return stack;
+ }
+ return null;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/FuelBackend.java b/src/main/java/gregtech/api/recipe/maps/FuelBackend.java
new file mode 100644
index 0000000000..49c989e174
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/FuelBackend.java
@@ -0,0 +1,75 @@
+package gregtech.api.recipe.maps;
+
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.Map;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class FuelBackend extends RecipeMapBackend {
+
+ private final Map<String, GT_Recipe> recipesByFluidInput = new HashMap<>();
+
+ public FuelBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder.disableOptimize());
+ }
+
+ @Override
+ protected Collection<GT_Recipe> doAdd(GT_RecipeBuilder builder) {
+ if (builder.getDuration() == -1) {
+ builder.duration(0);
+ }
+ if (builder.getEUt() == -1) {
+ builder.eut(0);
+ }
+ return super.doAdd(builder);
+ }
+
+ @Override
+ public GT_Recipe compileRecipe(GT_Recipe recipe) {
+ super.compileRecipe(recipe);
+ if (recipe.mInputs != null && GT_Utility.getNonnullElementCount(recipe.mInputs) == 1
+ && (recipe.mFluidInputs == null || GT_Utility.getNonnullElementCount(recipe.mFluidInputs) == 0)) {
+ FluidStack fluidStack = GT_Utility.getFluidForFilledItem(recipe.mInputs[0], true);
+ if (fluidStack != null) {
+ fluidStack.amount = 0;
+ recipesByFluidInput.put(
+ fluidStack.getFluid()
+ .getName(),
+ recipe);
+ }
+ } else if ((recipe.mInputs == null || GT_Utility.getNonnullElementCount(recipe.mInputs) == 0)
+ && recipe.mFluidInputs != null
+ && GT_Utility.getNonnullElementCount(recipe.mFluidInputs) >= 1
+ && recipe.mFluidInputs[0] != null) {
+ recipesByFluidInput.put(
+ recipe.mFluidInputs[0].getFluid()
+ .getName(),
+ recipe);
+ }
+ return recipe;
+ }
+
+ @Nullable
+ public GT_Recipe findFuel(FluidStack fluidStack) {
+ return findFuel(fluidStack.getFluid());
+ }
+
+ @Nullable
+ public GT_Recipe findFuel(Fluid fluid) {
+ return recipesByFluidInput.get(fluid.getName());
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/FurnaceBackend.java b/src/main/java/gregtech/api/recipe/maps/FurnaceBackend.java
new file mode 100644
index 0000000000..c4095eeb4e
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/FurnaceBackend.java
@@ -0,0 +1,52 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Special Class for Furnace Recipe handling.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class FurnaceBackend extends NonGTBackend {
+
+ public FurnaceBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe overwriteFindRecipe(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot,
+ @Nullable GT_Recipe cachedRecipe) {
+ if (items.length == 0 || items[0] == null) {
+ return null;
+ }
+ if (cachedRecipe != null && cachedRecipe.isRecipeInputEqual(false, true, fluids, items)) {
+ return cachedRecipe;
+ }
+ ItemStack output = GT_ModHandler.getSmeltingOutput(items[0], false, null);
+ return output == null ? null
+ : GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(output)
+ .duration(128)
+ .eut(4)
+ .noOptimize()
+ .build()
+ .orElse(null);
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return GT_ModHandler.getSmeltingOutput(item, false, null) != null;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java b/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java
new file mode 100644
index 0000000000..53152312f4
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java
@@ -0,0 +1,132 @@
+package gregtech.api.recipe.maps;
+
+import java.util.Arrays;
+import java.util.List;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.Item;
+import net.minecraft.item.ItemStack;
+
+import gregtech.api.GregTech_API;
+import gregtech.api.enums.ConfigCategories;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@SuppressWarnings({ "unused", "UnusedReturnValue" })
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class LargeBoilerFuelBackend extends RecipeMapBackend {
+
+ private static boolean addedGeneralDesc = false;
+
+ private static final List<String> ALLOWED_SOLID_FUELS = Arrays.asList(
+ GregTech_API.sMachineFile.mConfig.getStringList(
+ "LargeBoiler.allowedFuels",
+ ConfigCategories.machineconfig.toString(),
+ new String[] { "gregtech:gt.blockreinforced:6", "gregtech:gt.blockreinforced:7" },
+ "Allowed fuels for the Large Titanium Boiler and Large Tungstensteel Boiler"));
+
+ public LargeBoilerFuelBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ public static boolean isAllowedSolidFuel(ItemStack stack) {
+ return isAllowedSolidFuel(Item.itemRegistry.getNameForObject(stack.getItem()), stack.getItemDamage());
+ }
+
+ public static boolean isAllowedSolidFuel(String itemRegistryName, int meta) {
+ return ALLOWED_SOLID_FUELS.contains(itemRegistryName + ":" + meta);
+ }
+
+ public static boolean addAllowedSolidFuel(ItemStack stack) {
+ return addAllowedSolidFuel(Item.itemRegistry.getNameForObject(stack.getItem()), stack.getItemDamage());
+ }
+
+ public static boolean addAllowedSolidFuel(String itemregistryName, int meta) {
+ return ALLOWED_SOLID_FUELS.add(itemregistryName + ":" + meta);
+ }
+
+ public GT_Recipe addDenseLiquidRecipe(GT_Recipe recipe) {
+ return addRecipe(recipe, ((double) recipe.mSpecialValue) / 10, false);
+ }
+
+ public GT_Recipe addDieselRecipe(GT_Recipe recipe) {
+ return addRecipe(recipe, ((double) recipe.mSpecialValue) / 40, false);
+ }
+
+ public void addSolidRecipes(ItemStack... itemStacks) {
+ for (ItemStack itemStack : itemStacks) {
+ addSolidRecipe(itemStack);
+ }
+ }
+
+ @Nullable
+ public GT_Recipe addSolidRecipe(@Nullable ItemStack fuelItemStack) {
+ if (fuelItemStack == null) {
+ return null;
+ }
+ if (!addedGeneralDesc) {
+ GT_Values.RA.stdBuilder()
+ .duration(1)
+ .eut(1)
+ .specialValue(1)
+ .setNEIDesc(
+ "Not all solid fuels are listed.",
+ "Any item that burns in a",
+ "vanilla furnace will burn in",
+ "a Large Bronze or Steel Boiler.")
+ .build()
+ .map(this::compileRecipe);
+ addedGeneralDesc = true;
+ }
+
+ String registryName = Item.itemRegistry.getNameForObject(fuelItemStack.getItem());
+ boolean isHighTierAllowed = ALLOWED_SOLID_FUELS.contains(registryName + ":" + fuelItemStack.getItemDamage());
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(fuelItemStack)
+ .duration(1)
+ .eut(0)
+ .specialValue(GT_ModHandler.getFuelValue(fuelItemStack) / 1600)
+ .build()
+ .map(r -> addRecipe(r, ((double) GT_ModHandler.getFuelValue(fuelItemStack)) / 1600, isHighTierAllowed))
+ .orElse(null);
+ }
+
+ private GT_Recipe addRecipe(GT_Recipe recipe, double baseBurnTime, boolean isHighTierAllowed) {
+ // Some recipes will have a burn time like 15.9999999 and % always rounds down
+ double floatErrorCorrection = 0.0001;
+
+ double bronzeBurnTime = baseBurnTime * 2 + floatErrorCorrection;
+ bronzeBurnTime -= bronzeBurnTime % 0.05;
+ double steelBurnTime = baseBurnTime + floatErrorCorrection;
+ steelBurnTime -= steelBurnTime % 0.05;
+ double titaniumBurnTime = baseBurnTime * 0.3 + floatErrorCorrection;
+ titaniumBurnTime -= titaniumBurnTime % 0.05;
+ double tungstensteelBurnTime = baseBurnTime * 0.15 + floatErrorCorrection;
+ tungstensteelBurnTime -= tungstensteelBurnTime % 0.05;
+
+ if (isHighTierAllowed) {
+ recipe.setNeiDesc(
+ "Burn time in seconds:",
+ String.format("Bronze Boiler: %.4f", bronzeBurnTime),
+ String.format("Steel Boiler: %.4f", steelBurnTime),
+ String.format("Titanium Boiler: %.4f", titaniumBurnTime),
+ String.format("Tungstensteel Boiler: %.4f", tungstensteelBurnTime));
+ } else {
+ recipe.setNeiDesc(
+ "Burn time in seconds:",
+ String.format("Bronze Boiler: %.4f", bronzeBurnTime),
+ String.format("Steel Boiler: %.4f", steelBurnTime),
+ "Titanium Boiler: Not allowed",
+ "Tungstenst. Boiler: Not allowed");
+ }
+
+ return compileRecipe(recipe);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelFrontend.java b/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelFrontend.java
new file mode 100644
index 0000000000..dbe7f6fe2f
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelFrontend.java
@@ -0,0 +1,25 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class LargeBoilerFuelFrontend extends RecipeMapFrontend {
+
+ public LargeBoilerFuelFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {}
+
+ @Override
+ protected void drawDurationInfo(RecipeDisplayInfo recipeInfo) {}
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/LargeNEIFrontend.java b/src/main/java/gregtech/api/recipe/maps/LargeNEIFrontend.java
new file mode 100644
index 0000000000..70184a83de
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/LargeNEIFrontend.java
@@ -0,0 +1,65 @@
+package gregtech.api.recipe.maps;
+
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.math.Size;
+
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+
+/**
+ * Nicely display NEI with many items and fluids. Remember to call
+ * If row count >= 6, it doesn't fit in 2 recipes per page, so change it via IMC.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class LargeNEIFrontend extends RecipeMapFrontend {
+
+ private static final int xDirMaxCount = 3;
+ private static final int yOrigin = 8;
+
+ private final int itemRowCount;
+ private final int fluidRowCount;
+
+ public LargeNEIFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder.logoPos(new Pos2d(80, 62)), neiPropertiesBuilder);
+ this.itemRowCount = getItemRowCount();
+ this.fluidRowCount = getFluidRowCount();
+ neiProperties.recipeBackgroundSize = new Size(170, 82 + (Math.max(itemRowCount + fluidRowCount - 4, 0)) * 18);
+ }
+
+ @Override
+ public List<Pos2d> getItemInputPositions(int itemInputCount) {
+ return UIHelper.getGridPositions(itemInputCount, 16, yOrigin, xDirMaxCount);
+ }
+
+ @Override
+ public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
+ return UIHelper.getGridPositions(itemOutputCount, 106, yOrigin, xDirMaxCount);
+ }
+
+ @Override
+ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
+ return UIHelper.getGridPositions(fluidInputCount, 16, yOrigin + itemRowCount * 18, xDirMaxCount);
+ }
+
+ @Override
+ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
+ return UIHelper.getGridPositions(fluidOutputCount, 106, yOrigin + itemRowCount * 18, xDirMaxCount);
+ }
+
+ private int getItemRowCount() {
+ return (Math.max(uiProperties.maxItemInputs, uiProperties.maxItemOutputs) - 1) / xDirMaxCount + 1;
+ }
+
+ private int getFluidRowCount() {
+ return (Math.max(uiProperties.maxFluidInputs, uiProperties.maxFluidOutputs) - 1) / xDirMaxCount + 1;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/MicrowaveBackend.java b/src/main/java/gregtech/api/recipe/maps/MicrowaveBackend.java
new file mode 100644
index 0000000000..53623cb0c7
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/MicrowaveBackend.java
@@ -0,0 +1,145 @@
+package gregtech.api.recipe.maps;
+
+import static gregtech.api.enums.GT_Values.W;
+import static gregtech.api.util.GT_RecipeConstants.EXPLODE;
+import static gregtech.api.util.GT_RecipeConstants.ON_FIRE;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.init.Blocks;
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.tileentity.TileEntityFurnace;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.SubTag;
+import gregtech.api.objects.ItemData;
+import gregtech.api.objects.MaterialStack;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+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_RecipeBuilder;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Special Class for Microwave Recipe handling.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class MicrowaveBackend extends NonGTBackend {
+
+ public MicrowaveBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe overwriteFindRecipe(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot,
+ @Nullable GT_Recipe cachedRecipe) {
+ if (items.length == 0 || items[0] == null) {
+ return null;
+ }
+ if (cachedRecipe != null && cachedRecipe.isRecipeInputEqual(false, true, fluids, items)) {
+ return cachedRecipe;
+ }
+
+ ItemStack output = GT_ModHandler.getSmeltingOutput(items[0], false, null);
+
+ if (GT_Utility.areStacksEqual(items[0], new ItemStack(Items.book, 1, W))) {
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(GT_Utility.getWrittenBook("Manual_Microwave", ItemList.Book_Written_03.get(1)))
+ .duration(32)
+ .eut(4)
+ .noOptimize()
+ .build()
+ .orElse(null);
+ }
+
+ // Check Container Item of Input since it is around the Input, then the Input itself, then Container Item of
+ // Output and last check the Output itself
+ for (ItemStack item : new ItemStack[] { GT_Utility.getContainerItem(items[0], true), items[0],
+ GT_Utility.getContainerItem(output, true), output }) {
+ if (item == null) continue;
+ if (GT_Utility.areStacksEqual(item, new ItemStack(Blocks.netherrack, 1, W), true)
+ || GT_Utility.areStacksEqual(item, new ItemStack(Blocks.tnt, 1, W), true)
+ || GT_Utility.areStacksEqual(item, new ItemStack(Items.egg, 1, W), true)
+ || GT_Utility.areStacksEqual(item, new ItemStack(Items.firework_charge, 1, W), true)
+ || GT_Utility.areStacksEqual(item, new ItemStack(Items.fireworks, 1, W), true)
+ || GT_Utility.areStacksEqual(item, new ItemStack(Items.fire_charge, 1, W), true)) {
+ GT_Log.exp
+ .println("Microwave Explosion due to TNT || EGG || FIREWORKCHARGE || FIREWORK || FIRE CHARGE");
+ return GT_RecipeBuilder.empty()
+ .metadata(EXPLODE, true)
+ .build()
+ .orElse(null);
+ }
+
+ ItemData itemData = GT_OreDictUnificator.getItemData(item);
+ if (itemData != null) {
+ if (itemData.mMaterial != null && itemData.mMaterial.mMaterial != null) {
+ if (itemData.mMaterial.mMaterial.contains(SubTag.METAL)
+ || itemData.mMaterial.mMaterial.contains(SubTag.EXPLOSIVE)) {
+ GT_Log.exp.println("Microwave Explosion due to METAL insertion");
+ return GT_RecipeBuilder.empty()
+ .metadata(EXPLODE, true)
+ .build()
+ .orElse(null);
+ }
+ if (itemData.mMaterial.mMaterial.contains(SubTag.FLAMMABLE)) {
+ GT_Log.exp.println("Microwave INFLAMMATION due to FLAMMABLE insertion");
+ return GT_RecipeBuilder.empty()
+ .metadata(ON_FIRE, true)
+ .build()
+ .orElse(null);
+ }
+ }
+ for (MaterialStack materialStack : itemData.mByProducts) {
+ if (materialStack == null) continue;
+ if (materialStack.mMaterial.contains(SubTag.METAL)
+ || materialStack.mMaterial.contains(SubTag.EXPLOSIVE)) {
+ GT_Log.exp.println("Microwave Explosion due to METAL insertion");
+ return GT_RecipeBuilder.empty()
+ .metadata(EXPLODE, true)
+ .build()
+ .orElse(null);
+ }
+ if (materialStack.mMaterial.contains(SubTag.FLAMMABLE)) {
+ GT_Log.exp.println("Microwave INFLAMMATION due to FLAMMABLE insertion");
+ return GT_RecipeBuilder.empty()
+ .metadata(ON_FIRE, true)
+ .build()
+ .orElse(null);
+ }
+ }
+ }
+ if (TileEntityFurnace.getItemBurnTime(item) > 0) {
+ GT_Log.exp.println("Microwave INFLAMMATION due to BURNABLE insertion");
+ return GT_RecipeBuilder.empty()
+ .metadata(ON_FIRE, true)
+ .build()
+ .orElse(null);
+ }
+ }
+
+ return output == null ? null
+ : GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(output)
+ .duration(32)
+ .eut(4)
+ .noOptimize()
+ .build()
+ .orElse(null);
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return GT_ModHandler.getSmeltingOutput(item, false, null) != null;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/NonGTBackend.java b/src/main/java/gregtech/api/recipe/maps/NonGTBackend.java
new file mode 100644
index 0000000000..1e871df372
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/NonGTBackend.java
@@ -0,0 +1,52 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Abstract class for general recipe handling of non GT recipes
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public abstract class NonGTBackend extends RecipeMapBackend {
+
+ public NonGTBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected abstract GT_Recipe overwriteFindRecipe(ItemStack[] items, FluidStack[] fluids,
+ @Nullable ItemStack specialSlot, @Nullable GT_Recipe cachedRecipe);
+
+ @Override
+ protected boolean doesOverwriteFindRecipe() {
+ return true;
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return false;
+ }
+
+ @Override
+ public boolean containsInput(Fluid fluid) {
+ return false;
+ }
+
+ @Override
+ public void reInit() {}
+
+ @Override
+ protected GT_Recipe addToItemMap(GT_Recipe recipe) {
+ return recipe;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/OilCrackerBackend.java b/src/main/java/gregtech/api/recipe/maps/OilCrackerBackend.java
new file mode 100644
index 0000000000..c2c312a48a
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/OilCrackerBackend.java
@@ -0,0 +1,41 @@
+package gregtech.api.recipe.maps;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class OilCrackerBackend extends RecipeMapBackend {
+
+ private final Set<String> validCatalystFluidNames = new HashSet<>();
+
+ public OilCrackerBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ public GT_Recipe compileRecipe(GT_Recipe recipe) {
+ super.compileRecipe(recipe);
+ if (recipe.mFluidInputs != null && recipe.mFluidInputs.length > 1 && recipe.mFluidInputs[1] != null) {
+ validCatalystFluidNames.add(
+ recipe.mFluidInputs[1].getFluid()
+ .getName());
+ }
+ return recipe;
+ }
+
+ public boolean isValidCatalystFluid(FluidStack fluid) {
+ return validCatalystFluidNames.contains(
+ fluid.getFluid()
+ .getName());
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/PrinterBackend.java b/src/main/java/gregtech/api/recipe/maps/PrinterBackend.java
new file mode 100644
index 0000000000..a933886447
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/PrinterBackend.java
@@ -0,0 +1,142 @@
+package gregtech.api.recipe.maps;
+
+import static gregtech.api.enums.GT_Values.L;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.init.Items;
+import net.minecraft.item.ItemStack;
+import net.minecraft.nbt.NBTTagCompound;
+import net.minecraftforge.fluids.Fluid;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.Dyes;
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Special Class for Printer handling.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class PrinterBackend extends RecipeMapBackend {
+
+ public PrinterBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe modifyFoundRecipe(GT_Recipe recipe, ItemStack[] items, FluidStack[] fluids,
+ @Nullable ItemStack specialSlot) {
+ if (items[0].getItem() == Items.paper) {
+ assert specialSlot != null;
+ if (!ItemList.Tool_DataStick.isStackEqual(specialSlot, false, true)) return null;
+ NBTTagCompound nbt = specialSlot.getTagCompound();
+ if (nbt == null || GT_Utility.isStringInvalid(nbt.getString("title"))
+ || GT_Utility.isStringInvalid(nbt.getString("author"))) return null;
+
+ recipe = recipe.copy();
+ recipe.mCanBeBuffered = false;
+ recipe.mOutputs[0].setTagCompound(nbt);
+ return recipe;
+ }
+ if (items[0].getItem() == Items.map) {
+ assert specialSlot != null;
+ if (!ItemList.Tool_DataStick.isStackEqual(specialSlot, false, true)) return null;
+ NBTTagCompound nbt = specialSlot.getTagCompound();
+ if (nbt == null || !nbt.hasKey("map_id")) return null;
+
+ recipe = recipe.copy();
+ recipe.mCanBeBuffered = false;
+ recipe.mOutputs[0].setItemDamage(nbt.getShort("map_id"));
+ return recipe;
+ }
+ if (ItemList.Paper_Punch_Card_Empty.isStackEqual(items[0], false, true)) {
+ assert specialSlot != null;
+ if (!ItemList.Tool_DataStick.isStackEqual(specialSlot, false, true)) return null;
+ NBTTagCompound nbt = specialSlot.getTagCompound();
+ if (nbt == null || !nbt.hasKey("GT.PunchCardData")) return null;
+
+ recipe = recipe.copy();
+ recipe.mCanBeBuffered = false;
+ recipe.mOutputs[0].setTagCompound(
+ GT_Utility.getNBTContainingString(
+ new NBTTagCompound(),
+ "GT.PunchCardData",
+ nbt.getString("GT.PunchCardData")));
+ return recipe;
+ }
+ return recipe;
+ }
+
+ @Override
+ protected GT_Recipe findFallback(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot) {
+ if (items.length == 0 || items[0] == null || fluids.length == 0 || fluids[0] == null) {
+ return null;
+ }
+ Dyes dye = null;
+ for (Dyes tDye : Dyes.VALUES) if (tDye.isFluidDye(fluids[0])) {
+ dye = tDye;
+ break;
+ }
+ if (dye == null) return null;
+
+ ItemStack batchRecolorOutput = GT_ModHandler.getAllRecipeOutput(
+ null,
+ items[0],
+ items[0],
+ items[0],
+ items[0],
+ ItemList.DYE_ONLY_ITEMS[dye.mIndex].get(1),
+ items[0],
+ items[0],
+ items[0],
+ items[0]);
+ if (batchRecolorOutput != null) {
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(8, items[0]))
+ .itemOutputs(batchRecolorOutput)
+ .fluidInputs(new FluidStack(fluids[0].getFluid(), (int) L))
+ .duration(256)
+ .eut(2)
+ .hidden()
+ .build()
+ .map(this::compileRecipe)
+ .orElse(null);
+ }
+
+ ItemStack singleRecolorOutput = GT_ModHandler
+ .getAllRecipeOutput(null, items[0], ItemList.DYE_ONLY_ITEMS[dye.mIndex].get(1));
+ if (singleRecolorOutput != null) {
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(singleRecolorOutput)
+ .fluidInputs(new FluidStack(fluids[0].getFluid(), (int) L))
+ .duration(32)
+ .eut(2)
+ .hidden()
+ .build()
+ .map(this::compileRecipe)
+ .orElse(null);
+ }
+
+ return null;
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return true;
+ }
+
+ @Override
+ public boolean containsInput(Fluid fluid) {
+ return super.containsInput(fluid) || Dyes.isAnyFluidDye(fluid);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/RecyclerBackend.java b/src/main/java/gregtech/api/recipe/maps/RecyclerBackend.java
new file mode 100644
index 0000000000..5d65468004
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/RecyclerBackend.java
@@ -0,0 +1,51 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Special Class for Recycler Recipe handling.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class RecyclerBackend extends NonGTBackend {
+
+ public RecyclerBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe overwriteFindRecipe(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot,
+ @Nullable GT_Recipe cachedRecipe) {
+ if (items.length == 0 || items[0] == null) {
+ return null;
+ }
+ if (cachedRecipe != null && cachedRecipe.isRecipeInputEqual(false, true, fluids, items)) {
+ return cachedRecipe;
+ }
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, items[0]))
+ .itemOutputs(GT_ModHandler.getRecyclerOutput(items[0], 0))
+ .outputChances(1250)
+ .duration(45)
+ .eut(1)
+ .noOptimize()
+ .build()
+ .orElse(null);
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return GT_ModHandler.getRecyclerOutput(item, 0) != null;
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/ReplicatorBackend.java b/src/main/java/gregtech/api/recipe/maps/ReplicatorBackend.java
new file mode 100644
index 0000000000..f201698457
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/ReplicatorBackend.java
@@ -0,0 +1,100 @@
+package gregtech.api.recipe.maps;
+
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Optional;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.GT_Mod;
+import gregtech.api.enums.Element;
+import gregtech.api.enums.ItemList;
+import gregtech.api.enums.Materials;
+import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.GT_RecipeBuilder;
+import gregtech.api.util.GT_RecipeConstants;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.items.behaviors.Behaviour_DataOrb;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class ReplicatorBackend extends RecipeMapBackend {
+
+ private final Map<Materials, GT_Recipe> recipesByMaterial = new HashMap<>();
+
+ public ReplicatorBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder.recipeEmitter(ReplicatorBackend::replicatorRecipeEmitter));
+ }
+
+ @Override
+ public GT_Recipe compileRecipe(GT_Recipe recipe) {
+ super.compileRecipe(recipe);
+ Materials material = recipe.getMetadata(GT_RecipeConstants.MATERIAL);
+ assert material != null; // checked by replicatorRecipeEmitter
+ recipesByMaterial.put(material, recipe);
+ return recipe;
+ }
+
+ @Override
+ protected boolean doesOverwriteFindRecipe() {
+ return true;
+ }
+
+ @Override
+ protected GT_Recipe overwriteFindRecipe(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot,
+ @Nullable GT_Recipe cachedRecipe) {
+ if (specialSlot == null) {
+ return null;
+ }
+ Materials foundMaterial = getMaterialFromDataOrb(specialSlot);
+ if (foundMaterial == null) {
+ return null;
+ }
+ return recipesByMaterial.getOrDefault(foundMaterial, null);
+ }
+
+ @Nullable
+ private static Materials getMaterialFromDataOrb(ItemStack stack) {
+ if (ItemList.Tool_DataOrb.isStackEqual(stack, false, true) && Behaviour_DataOrb.getDataTitle(stack)
+ .equals("Elemental-Scan")) {
+ return Element.get(Behaviour_DataOrb.getDataName(stack)).mLinkedMaterials.stream()
+ .findFirst()
+ .orElse(null);
+ }
+ return null;
+ }
+
+ private static Collection<GT_Recipe> replicatorRecipeEmitter(GT_RecipeBuilder builder) {
+ Materials material = builder.getMetadata(GT_RecipeConstants.MATERIAL);
+ if (material == null) {
+ throw new IllegalStateException("GT_RecipeConstants.MATERIAL must be set for replicator recipe");
+ }
+ return Optional.of(material)
+ .map(material1 -> material1.mElement)
+ .map(Element::getMass)
+ .map(ReplicatorBackend::getUUMAmountFromMass)
+ .flatMap(
+ uum -> builder.fluidInputs(Materials.UUMatter.getFluid(uum))
+ .duration(GT_Utility.safeInt(uum * 512L, 1))
+ .eut(TierEU.RECIPE_LV)
+ .ignoreCollision()
+ .noOptimize()
+ .build())
+ .map(Collections::singletonList)
+ .orElse(Collections.emptyList());
+ }
+
+ private static int getUUMAmountFromMass(long mass) {
+ return GT_Utility.safeInt((long) Math.pow(mass, GT_Mod.gregtechproxy.replicatorExponent), 1);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/SpaceProjectFrontend.java b/src/main/java/gregtech/api/recipe/maps/SpaceProjectFrontend.java
new file mode 100644
index 0000000000..98463dcc4d
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/SpaceProjectFrontend.java
@@ -0,0 +1,131 @@
+package gregtech.api.recipe.maps;
+
+import static gregtech.api.util.GT_Utility.formatNumbers;
+import static net.minecraft.util.EnumChatFormatting.GRAY;
+import static net.minecraft.util.StatCollector.translateToLocal;
+
+import java.util.List;
+import java.util.function.Supplier;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.EnumChatFormatting;
+
+import com.gtnewhorizons.modularui.api.drawable.IDrawable;
+import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
+import com.gtnewhorizons.modularui.api.math.Alignment;
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+import com.gtnewhorizons.modularui.api.screen.ModularWindow;
+import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
+import com.gtnewhorizons.modularui.common.widget.ProgressBar;
+
+import appeng.util.ReadableNumberConverter;
+import codechicken.lib.gui.GuiDraw;
+import codechicken.nei.PositionedStack;
+import gregtech.api.gui.modularui.GT_UITextures;
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+import gregtech.common.misc.spaceprojects.SpaceProjectManager;
+import gregtech.common.misc.spaceprojects.SpaceProjectManager.FakeSpaceProjectRecipe;
+import gregtech.common.misc.spaceprojects.interfaces.ISpaceProject;
+import gregtech.nei.GT_NEI_DefaultHandler;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class SpaceProjectFrontend extends RecipeMapFrontend {
+
+ IDrawable projectTexture;
+
+ public SpaceProjectFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ public ModularWindow.Builder createNEITemplate(IItemHandlerModifiable itemInputsInventory,
+ IItemHandlerModifiable itemOutputsInventory, IItemHandlerModifiable specialSlotInventory,
+ IItemHandlerModifiable fluidInputsInventory, IItemHandlerModifiable fluidOutputsInventory,
+ Supplier<Float> progressSupplier, Pos2d windowOffset) {
+ ModularWindow.Builder builder = super.createNEITemplate(
+ itemInputsInventory,
+ itemOutputsInventory,
+ specialSlotInventory,
+ fluidInputsInventory,
+ fluidOutputsInventory,
+ progressSupplier,
+ windowOffset);
+ builder.widget(
+ new DrawableWidget().setDrawable(() -> projectTexture)
+ .setSize(18, 18)
+ .setPos(new Pos2d(124, 28).add(windowOffset)));
+ return builder;
+ }
+
+ @Override
+ public List<Pos2d> getItemInputPositions(int itemInputCount) {
+ return UIHelper.getGridPositions(itemInputCount, 16, 28, 3);
+ }
+
+ @Override
+ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
+ return UIHelper.getGridPositions(fluidInputCount, 88, 28, 1);
+ }
+
+ @Override
+ protected List<String> handleNEIItemInputTooltip(List<String> currentTip,
+ GT_NEI_DefaultHandler.FixedPositionedStack pStack) {
+ super.handleNEIItemOutputTooltip(currentTip, pStack);
+ if (pStack.isFluid()) return currentTip;
+ currentTip.add(GRAY + translateToLocal("Item Count: ") + formatNumbers(pStack.realStackSize));
+ return currentTip;
+ }
+
+ @Override
+ public void drawNEIOverlays(GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) {
+ for (PositionedStack stack : neiCachedRecipe.mInputs) {
+ if (stack instanceof GT_NEI_DefaultHandler.FixedPositionedStack pStack && stack.item != null
+ && !pStack.isFluid()) {
+ int stackSize = ((GT_NEI_DefaultHandler.FixedPositionedStack) stack).realStackSize;
+ String displayString;
+ if (stack.item.stackSize > 9999) {
+ displayString = ReadableNumberConverter.INSTANCE.toWideReadableForm(stackSize);
+ } else {
+ displayString = String.valueOf(stackSize);
+ }
+ drawNEIOverlayText(displayString, stack, 0xffffff, 0.5f, true, Alignment.BottomRight);
+ }
+ }
+ if (neiCachedRecipe.mRecipe instanceof FakeSpaceProjectRecipe) {
+ ISpaceProject project = SpaceProjectManager
+ .getProject(((FakeSpaceProjectRecipe) neiCachedRecipe.mRecipe).projectName);
+ if (project != null) {
+ projectTexture = project.getTexture();
+ GuiDraw.drawStringC(EnumChatFormatting.BOLD + project.getLocalizedName(), 85, 0, 0x404040, false);
+ }
+ }
+ }
+
+ @Override
+ public void addProgressBar(ModularWindow.Builder builder, Supplier<Float> progressSupplier, Pos2d windowOffset) {
+ int bar1Width = 17;
+ int bar2Width = 18;
+ List<Supplier<Float>> splitProgress = splitProgress(progressSupplier, bar1Width, bar2Width);
+ builder.widget(
+ new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_1, 17)
+ .setDirection(ProgressBar.Direction.RIGHT)
+ .setProgress(splitProgress.get(0))
+ .setSynced(false, false)
+ .setPos(new Pos2d(70, 28).add(windowOffset))
+ .setSize(bar1Width, 72));
+ builder.widget(
+ new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_2, 18)
+ .setDirection(ProgressBar.Direction.RIGHT)
+ .setProgress(splitProgress.get(1))
+ .setSynced(false, false)
+ .setPos(new Pos2d(106, 28).add(windowOffset))
+ .setSize(bar2Width, 72));
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java b/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java
new file mode 100644
index 0000000000..7a5d7ff164
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/TranscendentPlasmaMixerFrontend.java
@@ -0,0 +1,56 @@
+package gregtech.api.recipe.maps;
+
+import static gregtech.api.util.GT_Utility.formatNumbers;
+
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import com.gtnewhorizons.modularui.api.math.Pos2d;
+
+import gregtech.api.recipe.BasicUIPropertiesBuilder;
+import gregtech.api.recipe.NEIRecipePropertiesBuilder;
+import gregtech.api.recipe.RecipeMapFrontend;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.common.gui.modularui.UIHelper;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class TranscendentPlasmaMixerFrontend extends RecipeMapFrontend {
+
+ public TranscendentPlasmaMixerFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder,
+ NEIRecipePropertiesBuilder neiPropertiesBuilder) {
+ super(uiPropertiesBuilder, neiPropertiesBuilder);
+ }
+
+ @Override
+ public List<Pos2d> getItemInputPositions(int itemInputCount) {
+ return UIHelper.getGridPositions(itemInputCount, 60, 8, 1);
+ }
+
+ @Override
+ public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
+ return UIHelper.getGridPositions(fluidInputCount, 6, 26, 4, 5);
+ }
+
+ @Override
+ public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
+ return UIHelper.getGridPositions(fluidOutputCount, 114, 44, 1);
+ }
+
+ @Override
+ protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {
+ // These look odd because recipeInfo.recipe.mEUt is actually the EU per litre of fluid processed, not
+ // the EU/t.
+ recipeInfo.drawText(
+ GT_Utility.trans("152", "Total: ")
+ + formatNumbers(1000L * recipeInfo.recipe.mDuration / 100L * recipeInfo.recipe.mEUt)
+ + " EU");
+ // 1000 / (20 ticks * 5 seconds) = 10L/t. 10L/t * x EU/L = 10 * x EU/t.
+ long averageUsage = 10L * recipeInfo.recipe.mEUt;
+ recipeInfo.drawText(
+ "Average: " + formatNumbers(averageUsage) + " EU/t" + GT_Utility.getTierNameWithParentheses(averageUsage));
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/maps/UnpackagerBackend.java b/src/main/java/gregtech/api/recipe/maps/UnpackagerBackend.java
new file mode 100644
index 0000000000..e7297f0609
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/maps/UnpackagerBackend.java
@@ -0,0 +1,53 @@
+package gregtech.api.recipe.maps;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.item.ItemStack;
+import net.minecraftforge.fluids.FluidStack;
+
+import gregtech.api.enums.GT_Values;
+import gregtech.api.enums.ItemList;
+import gregtech.api.recipe.RecipeMapBackend;
+import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
+import gregtech.api.util.GT_ModHandler;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class UnpackagerBackend extends RecipeMapBackend {
+
+ public UnpackagerBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
+ super(propertiesBuilder);
+ }
+
+ @Override
+ protected GT_Recipe findFallback(ItemStack[] items, FluidStack[] fluids, @Nullable ItemStack specialSlot) {
+ if (items.length == 0 || !ItemList.IC2_Scrapbox.isStackEqual(items[0], false, true)) {
+ return null;
+ }
+
+ ItemStack output = GT_ModHandler.getRandomScrapboxDrop();
+ if (output == null) {
+ return null;
+ }
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(ItemList.IC2_Scrapbox.get(1))
+ .itemOutputs(output)
+ .duration(16)
+ .eut(1)
+ // It is not allowed to be buffered due to the random Output
+ .noBuffer()
+ // Due to its randomness it is not good if there are Items in the Output Slot, because those Items could
+ // manipulate the outcome.
+ .needsEmptyOutput()
+ .build()
+ .orElse(null);
+ }
+
+ @Override
+ public boolean containsInput(ItemStack item) {
+ return ItemList.IC2_Scrapbox.isStackEqual(item, false, true) || super.containsInput(item);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/EmptyRecipeMetadataStorage.java b/src/main/java/gregtech/api/recipe/metadata/EmptyRecipeMetadataStorage.java
new file mode 100644
index 0000000000..f7831f1485
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/EmptyRecipeMetadataStorage.java
@@ -0,0 +1,50 @@
+package gregtech.api.recipe.metadata;
+
+import java.util.Collections;
+import java.util.Map;
+import java.util.Set;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.jetbrains.annotations.Contract;
+
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class EmptyRecipeMetadataStorage implements IRecipeMetadataStorage {
+
+ public static EmptyRecipeMetadataStorage INSTANCE = new EmptyRecipeMetadataStorage();
+
+ private EmptyRecipeMetadataStorage() {}
+
+ @Override
+ public <T> void store(RecipeMetadataKey<T> key, @Nullable T value) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Nullable
+ @Override
+ public <T> T getMetadata(RecipeMetadataKey<T> key) {
+ return null;
+ }
+
+ @Contract("_, !null -> !null")
+ @Nullable
+ @Override
+ public <T> T getMetadataOrDefault(RecipeMetadataKey<T> key, @Nullable T defaultValue) {
+ return defaultValue;
+ }
+
+ @Override
+ public Set<Map.Entry<RecipeMetadataKey<?>, Object>> getEntries() {
+ return Collections.emptySet();
+ }
+
+ @Override
+ public IRecipeMetadataStorage copy() {
+ throw new UnsupportedOperationException();
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/IRecipeMetadataStorage.java b/src/main/java/gregtech/api/recipe/metadata/IRecipeMetadataStorage.java
new file mode 100644
index 0000000000..52141937cf
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/IRecipeMetadataStorage.java
@@ -0,0 +1,34 @@
+package gregtech.api.recipe.metadata;
+
+import java.util.Map;
+import java.util.Set;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.jetbrains.annotations.Contract;
+
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Stores set of metadata for the recipe with key {@link RecipeMetadataKey}. More explicit way to store various info
+ * on recipe than special value or special object. Type of the metadata can be anything.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public interface IRecipeMetadataStorage {
+
+ <T> void store(RecipeMetadataKey<T> key, @Nullable T value);
+
+ @Nullable
+ <T> T getMetadata(RecipeMetadataKey<T> key);
+
+ @Contract("_, !null -> !null")
+ @Nullable
+ <T> T getMetadataOrDefault(RecipeMetadataKey<T> key, @Nullable T defaultValue);
+
+ Set<Map.Entry<RecipeMetadataKey<?>, Object>> getEntries();
+
+ IRecipeMetadataStorage copy();
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/PCBFactoryTierKey.java b/src/main/java/gregtech/api/recipe/metadata/PCBFactoryTierKey.java
new file mode 100644
index 0000000000..05db919b57
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/PCBFactoryTierKey.java
@@ -0,0 +1,30 @@
+package gregtech.api.recipe.metadata;
+
+import static gregtech.api.util.GT_Utility.trans;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Minimum tier required for the PCB factory recipe.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class PCBFactoryTierKey extends RecipeMetadataKey<Integer> {
+
+ public static final PCBFactoryTierKey INSTANCE = new PCBFactoryTierKey();
+
+ private PCBFactoryTierKey() {
+ super(Integer.class, "pcb_factory_tier");
+ }
+
+ @Override
+ public void drawInfo(RecipeDisplayInfo recipeInfo, @Nullable Object value) {
+ int tier = cast(value, 1);
+ recipeInfo.drawText(trans("336", "PCB Factory Tier: ") + tier);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgrade.java b/src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgrade.java
new file mode 100644
index 0000000000..6d76ae05c3
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgrade.java
@@ -0,0 +1,7 @@
+package gregtech.api.recipe.metadata;
+
+public enum PCBFactoryUpgrade {
+
+ NONE,
+ BIO
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgradeKey.java b/src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgradeKey.java
new file mode 100644
index 0000000000..8257f1e6ef
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/PCBFactoryUpgradeKey.java
@@ -0,0 +1,32 @@
+package gregtech.api.recipe.metadata;
+
+import static gregtech.api.util.GT_Utility.trans;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * If bio upgrade is required for the PCB factory recipe.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class PCBFactoryUpgradeKey extends RecipeMetadataKey<PCBFactoryUpgrade> {
+
+ public static final PCBFactoryUpgradeKey INSTANCE = new PCBFactoryUpgradeKey();
+
+ private PCBFactoryUpgradeKey() {
+ super(PCBFactoryUpgrade.class, "pcb_factory_bio_upgrade");
+ }
+
+ @Override
+ public void drawInfo(RecipeDisplayInfo recipeInfo, @Nullable Object value) {
+ PCBFactoryUpgrade upgrade = cast(value);
+ if (upgrade == PCBFactoryUpgrade.BIO) {
+ recipeInfo.drawText(trans("337", "Upgrade Required: ") + trans("338", "Bio"));
+ }
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/RecipeMetadataStorage.java b/src/main/java/gregtech/api/recipe/metadata/RecipeMetadataStorage.java
new file mode 100644
index 0000000000..5b65d8a600
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/RecipeMetadataStorage.java
@@ -0,0 +1,56 @@
+package gregtech.api.recipe.metadata;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import org.jetbrains.annotations.Contract;
+
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public final class RecipeMetadataStorage implements IRecipeMetadataStorage {
+
+ private final Map<RecipeMetadataKey<?>, Object> metadata = new HashMap<>();
+
+ public RecipeMetadataStorage() {}
+
+ private RecipeMetadataStorage(Map<RecipeMetadataKey<?>, Object> metadata) {
+ this.metadata.putAll(metadata);
+ }
+
+ @Override
+ public <T> void store(RecipeMetadataKey<T> key, @Nullable T value) {
+ metadata.put(key, key.cast(value));
+ }
+
+ @Nullable
+ @Override
+ public <T> T getMetadata(RecipeMetadataKey<T> key) {
+ return key.cast(metadata.get(key));
+ }
+
+ @Contract("_, !null -> !null")
+ @Nullable
+ @Override
+ public <T> T getMetadataOrDefault(RecipeMetadataKey<T> key, @Nullable T defaultValue) {
+ return key.cast(metadata.getOrDefault(key, defaultValue));
+ }
+
+ @Override
+ public Set<Map.Entry<RecipeMetadataKey<?>, Object>> getEntries() {
+ return metadata.entrySet();
+ }
+
+ @Override
+ public IRecipeMetadataStorage copy() {
+ return new RecipeMetadataStorage(metadata);
+ }
+}
diff --git a/src/main/java/gregtech/api/recipe/metadata/SimpleRecipeMetadataKey.java b/src/main/java/gregtech/api/recipe/metadata/SimpleRecipeMetadataKey.java
new file mode 100644
index 0000000000..19395f11a0
--- /dev/null
+++ b/src/main/java/gregtech/api/recipe/metadata/SimpleRecipeMetadataKey.java
@@ -0,0 +1,27 @@
+package gregtech.api.recipe.metadata;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Simple metadata key that does not draw anything on NEI.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class SimpleRecipeMetadataKey<T> extends RecipeMetadataKey<T> {
+
+ private SimpleRecipeMetadataKey(Class<T> clazz, String identifier) {
+ super(clazz, identifier);
+ }
+
+ public static <T> RecipeMetadataKey<T> create(Class<T> clazz, String identifier) {
+ return new SimpleRecipeMetadataKey<>(clazz, identifier);
+ }
+
+ @Override
+ public void drawInfo(RecipeDisplayInfo recipeInfo, @Nullable Object value) {}
+}
diff --git a/src/main/java/gregtech/api/util/FieldsAreNonnullByDefault.java b/src/main/java/gregtech/api/util/FieldsAreNonnullByDefault.java
new file mode 100644
index 0000000000..1f51aa39a7
--- /dev/null
+++ b/src/main/java/gregtech/api/util/FieldsAreNonnullByDefault.java
@@ -0,0 +1,18 @@
+package gregtech.api.util;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.annotation.Nonnull;
+import javax.annotation.meta.TypeQualifierDefault;
+
+/**
+ * This annotation can be applied to a package or class to indicate that
+ * the fields in that element are nonnull by default unless there is an explicit nullness annotation.
+ * </ul>
+ */
+@Nonnull
+@TypeQualifierDefault({ ElementType.FIELD })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface FieldsAreNonnullByDefault {}
diff --git a/src/main/java/gregtech/api/util/GT_Config.java b/src/main/java/gregtech/api/util/GT_Config.java
index 36585559c2..dc56def68f 100644
--- a/src/main/java/gregtech/api/util/GT_Config.java
+++ b/src/main/java/gregtech/api/util/GT_Config.java
@@ -139,6 +139,20 @@ public class GT_Config implements Runnable {
return rResult;
}
+ public String getWithValidValues(Object aCategory, String aName, String[] validValues, String aDefault) {
+ if (GT_Utility.isStringInvalid(aName)) return aDefault;
+ Property tProperty = mConfig.get(
+ aCategory.toString()
+ .replaceAll("\\|", "_"),
+ aName.replaceAll("\\|", "_"),
+ aDefault,
+ null,
+ validValues);
+ String rResult = tProperty.getString();
+ if (!tProperty.wasRead() && GregTech_API.sPostloadFinished) mConfig.save();
+ return rResult;
+ }
+
@Override
public void run() {
mConfig.save();
diff --git a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java
index 933c379db1..427703e6f7 100644
--- a/src/main/java/gregtech/api/util/GT_Forestry_Compat.java
+++ b/src/main/java/gregtech/api/util/GT_Forestry_Compat.java
@@ -11,12 +11,13 @@ import forestry.api.recipes.RecipeManagers;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
+import gregtech.api.recipe.RecipeMaps;
public class GT_Forestry_Compat {
public static void populateFakeNeiRecipes() {
if (ItemList.FR_Bee_Drone.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Bee_Drone.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Bee_Drone.getWithName(1L, "Scanned Drone") },
@@ -28,7 +29,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Bee_Princess.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Bee_Princess.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Bee_Princess.getWithName(1L, "Scanned Princess") },
@@ -40,7 +41,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Bee_Queen.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Bee_Queen.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Bee_Queen.getWithName(1L, "Scanned Queen") },
@@ -52,7 +53,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Tree_Sapling.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Tree_Sapling.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Tree_Sapling.getWithName(1L, "Scanned Sapling") },
@@ -64,7 +65,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Butterfly.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Butterfly.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Butterfly.getWithName(1L, "Scanned Butterfly") },
@@ -76,7 +77,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Larvae.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Larvae.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Larvae.getWithName(1L, "Scanned Larvae") },
@@ -88,7 +89,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Serum.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Serum.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Serum.getWithName(1L, "Scanned Serum") },
@@ -100,7 +101,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_Caterpillar.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_Caterpillar.getWildcard(1L) },
new ItemStack[] { ItemList.FR_Caterpillar.getWithName(1L, "Scanned Caterpillar") },
@@ -112,7 +113,7 @@ public class GT_Forestry_Compat {
0);
}
if (ItemList.FR_PollenFertile.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.FR_PollenFertile.getWildcard(1L) },
new ItemStack[] { ItemList.FR_PollenFertile.getWithName(1L, "Scanned Pollen") },
@@ -138,7 +139,7 @@ public class GT_Forestry_Compat {
.copy();
i++;
}
- GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(
+ RecipeMaps.centrifugeRecipes.addRecipe(
true,
new ItemStack[] { tRecipe.getInput() },
tOutputs,
@@ -149,7 +150,7 @@ public class GT_Forestry_Compat {
128,
5,
0);
- GT_Recipe.GT_Recipe_Map.sMultiblockCentrifugeRecipes.addRecipe(
+ RecipeMaps.centrifugeNonCellRecipes.addRecipe(
true,
new ItemStack[] { tRecipe.getInput() },
tOutputs,
@@ -172,7 +173,7 @@ public class GT_Forestry_Compat {
try {
for (ISqueezerRecipe tRecipe : RecipeManagers.squeezerManager.recipes()) {
if ((tRecipe.getResources().length == 1) && (tRecipe.getFluidOutput() != null)) {
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(
+ RecipeMaps.fluidExtractionRecipes.addRecipe(
true,
new ItemStack[] { tRecipe.getResources()[0] },
new ItemStack[] { tRecipe.getRemnants() },
diff --git a/src/main/java/gregtech/api/util/GT_LanguageManager.java b/src/main/java/gregtech/api/util/GT_LanguageManager.java
index 76e59eed22..ed82befbcc 100644
--- a/src/main/java/gregtech/api/util/GT_LanguageManager.java
+++ b/src/main/java/gregtech/api/util/GT_LanguageManager.java
@@ -315,7 +315,6 @@ public class GT_LanguageManager {
addStringLocalization("Interaction_DESCRIPTION_Index_151.2", "Outputs 1 specific Fluid");
addStringLocalization("Interaction_DESCRIPTION_Index_151.4", "Successfully locked Fluid to %s");
addStringLocalization("Interaction_DESCRIPTION_Index_152", "Total: ");
- addStringLocalization("Interaction_DESCRIPTION_Index_152.1", "Max EU: ");
addStringLocalization("Interaction_DESCRIPTION_Index_153", "Usage: ");
addStringLocalization("Interaction_DESCRIPTION_Index_154", "Voltage: ");
addStringLocalization("Interaction_DESCRIPTION_Index_155", "Amperage: ");
diff --git a/src/main/java/gregtech/api/util/GT_ModHandler.java b/src/main/java/gregtech/api/util/GT_ModHandler.java
index e16e559360..b83c70d7de 100644
--- a/src/main/java/gregtech/api/util/GT_ModHandler.java
+++ b/src/main/java/gregtech/api/util/GT_ModHandler.java
@@ -9,9 +9,9 @@ import static gregtech.api.enums.GT_Values.M;
import static gregtech.api.enums.GT_Values.RA;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.W;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sOreWasherRecipes;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
+import static gregtech.api.recipe.RecipeMaps.oreWasherRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -70,6 +70,8 @@ import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.objects.GT_HashSet;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeCategories;
+import gregtech.api.recipe.RecipeMap;
import ic2.api.item.IBoxable;
import ic2.api.item.IC2Items;
import ic2.api.item.IElectricItem;
@@ -569,11 +571,12 @@ public class GT_ModHandler {
}
recipeBuilder.itemOutputs(aOutput)
.duration(duration * TICKS)
- .eut(3);
+ .eut(3)
+ .recipeCategory(RecipeCategories.alloySmelterRecycling);
if (hidden) {
recipeBuilder.hidden();
}
- recipeBuilder.addTo(sAlloySmelterRecipes);
+ recipeBuilder.addTo(alloySmelterRecipes);
return true;
}
@@ -617,7 +620,7 @@ public class GT_ModHandler {
.itemOutputs(aOutput)
.duration(15 * SECONDS)
.eut(2)
- .addTo(sExtractorRecipes);
+ .addTo(extractorRecipes);
return true;
}
@@ -733,7 +736,7 @@ public class GT_ModHandler {
.itemOutputs(aOutput1)
.duration(aDuration)
.eut(aEUt)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
return true;
}
@@ -759,9 +762,8 @@ public class GT_ModHandler {
/**
* Adds GT versions of the IC2 recipes from the supplied IC2RecipeList.
*/
- public static void addIC2RecipesToGT(Map<IRecipeInput, RecipeOutput> aIC2RecipeList,
- GT_Recipe.GT_Recipe_Map aGTRecipeMap, boolean aAddGTRecipe, boolean aRemoveIC2Recipe,
- boolean aExcludeGTIC2Items) {
+ public static void addIC2RecipesToGT(Map<IRecipeInput, RecipeOutput> aIC2RecipeList, RecipeMap<?> aGTRecipeMap,
+ boolean aAddGTRecipe, boolean aRemoveIC2Recipe, boolean aExcludeGTIC2Items) {
Map<ItemStack, ItemStack> aRecipesToRemove = new HashMap<>();
for (Entry<IRecipeInput, RecipeOutput> iRecipeInputRecipeOutputEntry : aIC2RecipeList.entrySet()) {
if (iRecipeInputRecipeOutputEntry.getValue().items.isEmpty()) {
@@ -773,7 +775,7 @@ public class GT_ModHandler {
continue;
}
- if (aAddGTRecipe && (aGTRecipeMap.findRecipe(null, false, Long.MAX_VALUE, null, tStack) == null)) {
+ if (aAddGTRecipe) {
try {
if (aExcludeGTIC2Items && ((tStack.getUnlocalizedName()
.contains("gt.metaitem.01")
@@ -784,7 +786,7 @@ public class GT_ModHandler {
|| tStack.getUnlocalizedName()
.contains("ic2.itemPurifiedCrushed"))))
continue;
- switch (aGTRecipeMap.mUnlocalizedName) {
+ switch (aGTRecipeMap.unlocalizedName) {
case "gt.recipe.macerator", "gt.recipe.extractor", "gt.recipe.compressor" -> aGTRecipeMap
.addRecipe(
true,
@@ -928,7 +930,7 @@ public class GT_ModHandler {
.fluidInputs(GT_ModHandler.getWater(aWaterAmount))
.duration(25 * SECONDS)
.eut(16)
- .addTo(sOreWasherRecipes);
+ .addTo(oreWasherRecipes);
RA.stdBuilder()
.itemInputs(aInput)
@@ -937,7 +939,7 @@ public class GT_ModHandler {
.fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5))
.duration(15 * SECONDS)
.eut(16)
- .addTo(sOreWasherRecipes);
+ .addTo(oreWasherRecipes);
return true;
}
@@ -950,7 +952,7 @@ public class GT_ModHandler {
.fluidInputs(GT_ModHandler.getWater(aWaterAmount))
.duration(25 * SECONDS)
.eut(16)
- .addTo(sOreWasherRecipes);
+ .addTo(oreWasherRecipes);
RA.stdBuilder()
.itemInputs(aInput)
@@ -958,7 +960,7 @@ public class GT_ModHandler {
.fluidInputs(GT_ModHandler.getDistilledWater(aWaterAmount / 5))
.duration(15 * SECONDS)
.eut(16)
- .addTo(sOreWasherRecipes);
+ .addTo(oreWasherRecipes);
return true;
}
diff --git a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java
index 582b65e7ec..8e896fd8de 100644
--- a/src/main/java/gregtech/api/util/GT_OverclockCalculator.java
+++ b/src/main/java/gregtech/api/util/GT_OverclockCalculator.java
@@ -198,14 +198,6 @@ public class GT_OverclockCalculator {
}
/**
- * Use {@link #setHeatOC(boolean)}
- */
- @Deprecated
- public GT_OverclockCalculator enableHeatOC() {
- return setHeatOC(true);
- }
-
- /**
* Set if we should be calculating overclocking using EBF's perfectOC
*/
public GT_OverclockCalculator setHeatOC(boolean heatOC) {
@@ -214,14 +206,6 @@ public class GT_OverclockCalculator {
}
/**
- * Use {@link #setHeatDiscount(boolean)}
- */
- @Deprecated
- public GT_OverclockCalculator enableHeatDiscount() {
- return setHeatDiscount(true);
- }
-
- /**
* Sets if we should add a heat discount at the end of calculating an overclock, just like the EBF
*/
public GT_OverclockCalculator setHeatDiscount(boolean heatDiscount) {
@@ -238,14 +222,6 @@ public class GT_OverclockCalculator {
}
/**
- * Use {@link #setMachineHeat(int)}
- */
- @Deprecated
- public GT_OverclockCalculator setMultiHeat(int machineHeat) {
- return setMachineHeat(machineHeat);
- }
-
- /**
* Sets the heat of the coils on the machine
*/
public GT_OverclockCalculator setMachineHeat(int machineHeat) {
@@ -313,14 +289,6 @@ public class GT_OverclockCalculator {
}
/**
- * Use {@link #setOneTickDiscount(boolean)}
- */
- @Deprecated
- public GT_OverclockCalculator enableOneTickDiscount() {
- return setOneTickDiscount(true);
- }
-
- /**
* Set One Tick Discount on EUt based on Duration Decrease Per Overclock. This functions the same as single
* blocks.
*/
@@ -556,7 +524,7 @@ public class GT_OverclockCalculator {
/**
* Returns the EUt consumption one would get from overclocking under 1 tick
* This Doesn't count as calculating
- *
+ *
* @param originalMaxParallel Parallels which are of the actual machine before the overclocking extra ones
*/
public long calculateEUtConsumptionUnderOneTick(int originalMaxParallel, int currentParallel) {
diff --git a/src/main/java/gregtech/api/util/GT_ParallelHelper.java b/src/main/java/gregtech/api/util/GT_ParallelHelper.java
index d3921b613d..8a5cd0b9f8 100644
--- a/src/main/java/gregtech/api/util/GT_ParallelHelper.java
+++ b/src/main/java/gregtech/api/util/GT_ParallelHelper.java
@@ -10,8 +10,8 @@ import net.minecraftforge.fluids.FluidStack;
import gregtech.api.interfaces.tileentity.IRecipeLockable;
import gregtech.api.interfaces.tileentity.IVoidable;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.objects.XSTR;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SingleRecipeCheck;
@@ -124,27 +124,6 @@ public class GT_ParallelHelper {
public GT_ParallelHelper() {}
/**
- * Sets MetaTE controller, with current configuration for void protection mode.
- *
- * @deprecated Use {@link #setMachine(IVoidable)}
- */
- @Deprecated
- public GT_ParallelHelper setController(GT_MetaTileEntity_MultiBlockBase machineMeta) {
- return setMachine(machineMeta, machineMeta.protectsExcessItem(), machineMeta.protectsExcessFluid());
- }
-
- /**
- * Sets MetaTE controller, with void protection mode forcibly.
- *
- * @deprecated Use {@link #setMachine(IVoidable, boolean, boolean)}
- */
- @Deprecated
- public GT_ParallelHelper setController(GT_MetaTileEntity_MultiBlockBase machineMeta, boolean protectExcessItem,
- boolean protectExcessFluid) {
- return setMachine(machineMeta, protectExcessItem, protectExcessFluid);
- }
-
- /**
* Sets machine, with current configuration for void protection mode.
*/
public GT_ParallelHelper setMachine(IVoidable machine) {
@@ -213,14 +192,6 @@ public class GT_ParallelHelper {
}
/**
- * Use {@link #setConsumption(boolean)}
- */
- @Deprecated
- public GT_ParallelHelper enableConsumption() {
- return setConsumption(true);
- }
-
- /**
* Set if we should consume inputs or not when trying for parallels
*
* @param consume Should we consume inputs
@@ -249,14 +220,6 @@ public class GT_ParallelHelper {
}
/**
- * Use {@link #setOutputCalculation(boolean)}
- */
- @Deprecated
- public GT_ParallelHelper enableOutputCalculation() {
- return setOutputCalculation(true);
- }
-
- /**
* Sets if we should calculate outputs with the parallels we found or not
*
* @param calculateOutputs Should we calculate outputs with the helper or not
@@ -339,14 +302,6 @@ public class GT_ParallelHelper {
}
/**
- * @deprecated Use {@link #getDurationMultiplierDouble()}
- */
- @Deprecated
- public float getDurationMultiplier() {
- return (float) getDurationMultiplierDouble();
- }
-
- /**
* @return The ItemOutputs from the recipe
*/
@Nonnull
@@ -382,23 +337,6 @@ public class GT_ParallelHelper {
}
/**
- * @deprecated Use {@link #setMaxParallelCalculator} and {@link #setInputConsumer}
- */
- @Deprecated
- protected boolean tryConsumeRecipeInputs(GT_Recipe recipe, FluidStack[] fluids, ItemStack[] items) {
- return false;
- }
-
- /**
- * @deprecated Use {@link #setMaxParallelCalculator} and {@link #setInputConsumer}
- */
- @Deprecated
- protected boolean tryConsumeRecipeInputs(GT_Recipe recipe, FluidStack[] fluids, ItemStack[] items,
- int minParallel) {
- return false;
- }
-
- /**
* Called by build(). Determines the parallels and everything else that needs to be done at build time
*/
protected void determineParallel() {
@@ -446,7 +384,7 @@ public class GT_ParallelHelper {
if (recipeCheck == null) {
// Machine is configured to lock to a single recipe, but haven't built the recipe checker yet.
// Build the checker on next successful recipe.
- GT_Recipe.GT_Recipe_Map recipeMap = singleRecipeMachine.getRecipeMap();
+ RecipeMap<?> recipeMap = singleRecipeMachine.getRecipeMap();
if (recipeMap != null) {
tSingleRecipeCheckBuilder = SingleRecipeCheck.builder(recipeMap)
.setBefore(itemInputs, fluidInputs);
diff --git a/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java b/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java
index 7ff37a927c..ead9393d0e 100644
--- a/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java
+++ b/src/main/java/gregtech/api/util/GT_ProcessingArray_Manager.java
@@ -5,24 +5,24 @@ import java.util.HashMap;
import net.minecraft.item.ItemStack;
import gregtech.api.enums.SoundResource;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.recipe.RecipeMap;
@Deprecated
public class GT_ProcessingArray_Manager {
- private static final HashMap<String, GT_Recipe_Map> mRecipeSaves = new HashMap<>();
+ private static final HashMap<String, RecipeMap<?>> mRecipeSaves = new HashMap<>();
private static final HashMap<String, SoundResource> machineSounds = new HashMap<>();
// Adds recipe Maps to the PA using the machines unlocalized name.
// Example: basicmachine.electrolyzer, with its recipe map will add the electrolyzer's recipe map to the PA
- public static void addRecipeMapToPA(String aMachineName, GT_Recipe_Map aMap) {
+ public static void addRecipeMapToPA(String aMachineName, RecipeMap<?> aMap) {
if (aMachineName != null) {
mRecipeSaves.put(aMachineName, aMap);
}
}
// Allows the PA to extract the recipe map for the machine inside it.
- public static GT_Recipe_Map giveRecipeMap(String aMachineName) {
+ public static RecipeMap<?> giveRecipeMap(String aMachineName) {
if (aMachineName != null) {
return mRecipeSaves.get(aMachineName);
}
diff --git a/src/main/java/gregtech/api/util/GT_Recipe.java b/src/main/java/gregtech/api/util/GT_Recipe.java
index 535da25934..a444a16ef2 100644
--- a/src/main/java/gregtech/api/util/GT_Recipe.java
+++ b/src/main/java/gregtech/api/util/GT_Recipe.java
@@ -1,148 +1,38 @@
package gregtech.api.util;
-import static gregtech.api.enums.GT_Values.D1;
import static gregtech.api.enums.GT_Values.D2;
-import static gregtech.api.enums.GT_Values.E;
-import static gregtech.api.enums.GT_Values.L;
-import static gregtech.api.enums.GT_Values.W;
-import static gregtech.api.enums.Mods.GTPlusPlus;
-import static gregtech.api.enums.Mods.GregTech;
-import static gregtech.api.enums.Mods.NEICustomDiagrams;
-import static gregtech.api.enums.Mods.Railcraft;
-import static gregtech.api.recipe.check.FindRecipeResult.EXPLODE;
-import static gregtech.api.recipe.check.FindRecipeResult.NOT_FOUND;
-import static gregtech.api.recipe.check.FindRecipeResult.ON_FIRE;
-import static gregtech.api.recipe.check.FindRecipeResult.ofSuccess;
-import static gregtech.api.util.GT_RecipeBuilder.handleRecipeCollision;
-import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_FLUIDSTACK_INPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_FLUIDSTACK_OUTPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_FLUID_OUTPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_ITEM_INPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_ITEM_OR_FLUID_INPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_ITEM_OR_FLUID_OUTPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.FIRST_ITEM_OUTPUT;
-import static gregtech.api.util.GT_RecipeMapUtil.GT_RecipeTemplate;
-import static gregtech.api.util.GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES;
-import static gregtech.api.util.GT_RecipeMapUtil.asTemplate;
-import static gregtech.api.util.GT_RecipeMapUtil.buildOrEmpty;
-import static gregtech.api.util.GT_Utility.formatNumbers;
-import static gregtech.api.util.GT_Utility.isArrayEmptyOrNull;
-import static gregtech.api.util.GT_Utility.isArrayOfLength;
-import static net.minecraft.util.EnumChatFormatting.GRAY;
-import static net.minecraft.util.StatCollector.translateToLocal;
-import java.awt.Rectangle;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Optional;
-import java.util.Set;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Consumer;
-import java.util.function.Function;
-import java.util.function.Predicate;
-import java.util.function.Supplier;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
-import net.minecraft.client.Minecraft;
-import net.minecraft.client.gui.FontRenderer;
-import net.minecraft.init.Blocks;
-import net.minecraft.init.Items;
-import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import net.minecraft.nbt.NBTTagCompound;
-import net.minecraft.tileentity.TileEntityFurnace;
-import net.minecraft.util.EnumChatFormatting;
import net.minecraftforge.fluids.Fluid;
-import net.minecraftforge.fluids.FluidContainerRegistry;
import net.minecraftforge.fluids.FluidStack;
-import net.minecraftforge.fluids.IFluidContainerItem;
-import org.apache.commons.lang3.ArrayUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.tuple.ImmutablePair;
-import org.apache.commons.lang3.tuple.Pair;
+import org.jetbrains.annotations.Contract;
-import com.google.common.collect.Iterables;
-import com.gtnewhorizons.modularui.api.GlStateManager;
-import com.gtnewhorizons.modularui.api.ModularUITextures;
-import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
-import com.gtnewhorizons.modularui.api.drawable.IDrawable;
-import com.gtnewhorizons.modularui.api.drawable.UITexture;
-import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
-import com.gtnewhorizons.modularui.api.math.Alignment;
-import com.gtnewhorizons.modularui.api.math.Pos2d;
-import com.gtnewhorizons.modularui.api.math.Size;
-import com.gtnewhorizons.modularui.api.screen.ModularWindow;
-import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
-import com.gtnewhorizons.modularui.common.widget.ProgressBar;
-import com.gtnewhorizons.modularui.common.widget.SlotWidget;
-
-import appeng.util.ReadableNumberConverter;
-import codechicken.lib.gui.GuiDraw;
-import codechicken.nei.PositionedStack;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
-import gnu.trove.map.TByteObjectMap;
-import gnu.trove.map.hash.TByteObjectHashMap;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.ConfigCategories;
-import gregtech.api.enums.Dyes;
-import gregtech.api.enums.Element;
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
-import gregtech.api.enums.SteamVariant;
-import gregtech.api.enums.SubTag;
-import gregtech.api.gui.GT_GUIColorOverride;
-import gregtech.api.gui.modularui.FallbackableSteamTexture;
-import gregtech.api.gui.modularui.GT_UITextures;
-import gregtech.api.gui.modularui.SteamTexture;
-import gregtech.api.interfaces.IGT_RecipeMap;
-import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.objects.ItemData;
-import gregtech.api.objects.MaterialStack;
-import gregtech.api.recipe.check.FindRecipeResult;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.recipe.metadata.EmptyRecipeMetadataStorage;
+import gregtech.api.recipe.metadata.IRecipeMetadataStorage;
import gregtech.api.util.extensions.ArrayExt;
-import gregtech.common.gui.modularui.UIHelper;
-import gregtech.common.items.GT_FluidDisplayItem;
-import gregtech.common.misc.spaceprojects.SpaceProjectManager;
-import gregtech.common.misc.spaceprojects.interfaces.ISpaceProject;
-import gregtech.common.power.EUPower;
-import gregtech.common.power.Power;
-import gregtech.common.power.UnspecifiedEUPower;
-import gregtech.common.tileentities.machines.basic.GT_MetaTileEntity_Replicator;
-import gregtech.nei.FusionSpecialValueFormatter;
-import gregtech.nei.GT_NEI_DefaultHandler;
-import gregtech.nei.HeatingCoilSpecialValueFormatter;
-import gregtech.nei.INEISpecialInfoFormatter;
-import gregtech.nei.NEIRecipeInfo;
import ic2.core.Ic2Items;
-import mods.railcraft.common.blocks.aesthetics.cube.EnumCube;
-import mods.railcraft.common.items.RailcraftToolItems;
-/**
- * NEVER INCLUDE THIS FILE IN YOUR MOD!!!
- * <p/>
- * This File contains the functions used for Recipes. Please do not include this File AT ALL in your Moddownload as it
- * ruins compatibility This is just the Core of my Recipe System, if you just want to GET the Recipes I add, then you
- * can access this File. Do NOT add Recipes using the Constructors inside this Class, The GregTech_API File calls the
- * correct Functions for these Constructors.
- * <p/>
- * I know this File causes some Errors, because of missing Main Functions, but if you just need to compile Stuff, then
- * remove said erroreous Functions.
- */
public class GT_Recipe implements Comparable<GT_Recipe> {
/**
@@ -200,13 +90,24 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
*/
private String[] neiDesc = null;
/**
+ * Holds a set of metadata for this recipe.
+ */
+ @Nonnull
+ private final IRecipeMetadataStorage metadataStorage;
+ /**
+ * Category this recipe belongs to. Recipes belonging to recipemap are forced to have non-null category when added,
+ * otherwise it can be null.
+ */
+ private RecipeCategory recipeCategory;
+ /**
* Stores which mod added this recipe
*/
public List<ModContainer> owners = new ArrayList<>();
/**
* Stores stack traces where this recipe was added
*/
- public List<List<StackTraceElement>> stackTraces = new ArrayList<>();
+ // BW wants to overwrite it, so no final
+ public List<List<String>> stackTraces = new ArrayList<>();
private GT_Recipe(GT_Recipe aRecipe, boolean shallow) {
mInputs = shallow ? aRecipe.mInputs : GT_Utility.copyItemArray(aRecipe.mInputs);
@@ -219,18 +120,23 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
mSpecialValue = aRecipe.mSpecialValue;
mEUt = aRecipe.mEUt;
mNeedsEmptyOutput = aRecipe.mNeedsEmptyOutput;
+ isNBTSensitive = aRecipe.isNBTSensitive;
mCanBeBuffered = aRecipe.mCanBeBuffered;
mFakeRecipe = aRecipe.mFakeRecipe;
mEnabled = aRecipe.mEnabled;
mHidden = aRecipe.mHidden;
+ metadataStorage = EmptyRecipeMetadataStorage.INSTANCE;
owners = new ArrayList<>(aRecipe.owners);
reloadOwner();
}
- // only used for GT_RecipeBuilder. Should not be called otherwise
+ /**
+ * Only for {@link GT_RecipeBuilder}.
+ */
GT_Recipe(ItemStack[] mInputs, ItemStack[] mOutputs, FluidStack[] mFluidInputs, FluidStack[] mFluidOutputs,
int[] mChances, Object mSpecialItems, int mDuration, int mEUt, int mSpecialValue, boolean mEnabled,
- boolean mHidden, boolean mFakeRecipe, boolean mCanBeBuffered, boolean mNeedsEmptyOutput, String[] neiDesc) {
+ boolean mHidden, boolean mFakeRecipe, boolean mCanBeBuffered, boolean mNeedsEmptyOutput, boolean nbtSensitive,
+ String[] neiDesc, @Nullable IRecipeMetadataStorage metadataStorage, RecipeCategory recipeCategory) {
this.mInputs = mInputs;
this.mOutputs = mOutputs;
this.mFluidInputs = mFluidInputs;
@@ -245,7 +151,10 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
this.mFakeRecipe = mFakeRecipe;
this.mCanBeBuffered = mCanBeBuffered;
this.mNeedsEmptyOutput = mNeedsEmptyOutput;
+ this.isNBTSensitive = nbtSensitive;
this.neiDesc = neiDesc;
+ this.metadataStorage = metadataStorage == null ? EmptyRecipeMetadataStorage.INSTANCE : metadataStorage.copy();
+ this.recipeCategory = recipeCategory;
reloadOwner();
}
@@ -311,19 +220,11 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
mDuration = aDuration;
mSpecialValue = aSpecialValue;
mEUt = aEUt;
+ metadataStorage = EmptyRecipeMetadataStorage.INSTANCE;
// checkCellBalance();
reloadOwner();
}
- public GT_Recipe(ItemStack aInput1, ItemStack aOutput1, int aFuelValue, int aType) {
- this(aInput1, aOutput1, null, null, null, aFuelValue, aType);
- }
-
- private static FluidStack[] tryGetFluidInputsFromCells(ItemStack aInput) {
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInput, true);
- return tFluid == null ? null : new FluidStack[] { tFluid };
- }
-
// aSpecialValue = EU per Liter! If there is no Liquid for this Object, then it gets multiplied with 1000!
public GT_Recipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3, ItemStack aOutput4,
int aSpecialValue, int aType) {
@@ -343,208 +244,32 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
switch (aType) {
// Diesel Generator
case 0 -> {
- GT_Recipe_Map.sDieselFuels.addRecipe(this);
- GT_Recipe_Map.sLargeBoilerFakeFuels.addDieselRecipe(this);
+ RecipeMaps.dieselFuels.addRecipe(this);
+ RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addDieselRecipe(this);
}
// Gas Turbine
- case 1 -> GT_Recipe_Map.sTurbineFuels.addRecipe(this);
+ case 1 -> RecipeMaps.gasTurbineFuels.addRecipe(this);
// Thermal Generator
- case 2 -> GT_Recipe_Map.sHotFuels.addRecipe(this);
+ case 2 -> RecipeMaps.hotFuels.addRecipe(this);
// Plasma Generator
- case 4 -> GT_Recipe_Map.sPlasmaFuels.addRecipe(this);
+ case 4 -> RecipeMaps.plasmaFuels.addRecipe(this);
// Magic Generator
- case 5 -> GT_Recipe_Map.sMagicFuels.addRecipe(this);
+ case 5 -> RecipeMaps.magicFuels.addRecipe(this);
// Fluid Generator. Usually 3. Every wrong Type ends up in the Semifluid Generator
default -> {
- GT_Recipe_Map.sDenseLiquidFuels.addRecipe(this);
- GT_Recipe_Map.sLargeBoilerFakeFuels.addDenseLiquidRecipe(this);
+ RecipeMaps.denseLiquidFuels.addRecipe(this);
+ RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addDenseLiquidRecipe(this);
}
}
}
}
- public GT_Recipe(FluidStack aInput1, FluidStack aInput2, FluidStack aOutput1, int aDuration, int aEUt,
- int aSpecialValue) {
- this(
- true,
- null,
- null,
- null,
- null,
- new FluidStack[] { aInput1, aInput2 },
- new FluidStack[] { aOutput1 },
- Math.max(aDuration, 1),
- aEUt,
- Math.max(Math.min(aSpecialValue, 160000000), 0));
- if (mInputs.length > 1) {
- GT_Recipe_Map.sFusionRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt) {
- this(
- true,
- new ItemStack[] { aInput1 },
- new ItemStack[] { aOutput1, aOutput2 },
- null,
- null,
- null,
- null,
- aDuration,
- aEUt,
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sLatheRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, int aCellAmount, ItemStack aOutput1, ItemStack aOutput2, ItemStack aOutput3,
- ItemStack aOutput4, int aDuration, int aEUt) {
- this(
- true,
- new ItemStack[] { aInput1,
- aCellAmount > 0 ? ItemList.Cell_Empty.get(Math.min(64, Math.max(1, aCellAmount))) : null },
- new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 },
- null,
- null,
- null,
- null,
- Math.max(aDuration, 1),
- Math.max(aEUt, 1),
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sDistillationRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, int aInput2, ItemStack aOutput1, ItemStack aOutput2) {
- this(
- true,
- new ItemStack[] { aInput1,
- GT_ModHandler.getIC2Item(
- "industrialTnt",
- aInput2 > 0 ? Math.min(aInput2, 64) : 1,
- new ItemStack(Blocks.tnt, aInput2 > 0 ? Math.min(aInput2, 64) : 1)) },
- new ItemStack[] { aOutput1, aOutput2 },
- null,
- null,
- null,
- null,
- 20,
- 30,
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sImplosionRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(int aEUt, int aDuration, ItemStack aInput1, ItemStack aOutput1) {
- this(
- true,
- new ItemStack[] { aInput1, ItemList.Circuit_Integrated.getWithDamage(0, aInput1.stackSize) },
- new ItemStack[] { aOutput1 },
- null,
- null,
- null,
- null,
- Math.max(aDuration, 1),
- Math.max(aEUt, 1),
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sBenderRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, ItemStack aInput2, int aEUt, int aDuration, ItemStack aOutput1) {
- this(
- true,
- aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 },
- new ItemStack[] { aOutput1 },
- null,
- null,
- null,
- null,
- Math.max(aDuration, 1),
- Math.max(aEUt, 1),
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sAlloySmelterRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, int aEUt, ItemStack aInput2, int aDuration, ItemStack aOutput1,
- ItemStack aOutput2) {
- this(
- true,
- aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 },
- new ItemStack[] { aOutput1, aOutput2 },
- null,
- null,
- null,
- null,
- Math.max(aDuration, 1),
- Math.max(aEUt, 1),
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sCannerRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, ItemStack aOutput1, int aDuration) {
- this(
- true,
- new ItemStack[] { aInput1 },
- new ItemStack[] { aOutput1 },
- null,
- null,
- null,
- null,
- Math.max(aDuration, 1),
- 120,
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sVacuumRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt, int VACUUM) {
- this(
- true,
- new ItemStack[] { aInput1 },
- new ItemStack[] { aOutput1 },
- null,
- null,
- null,
- null,
- Math.max(aDuration, 1),
- aEUt,
- 0);
- if (mInputs.length > 0 && mOutputs[0] != null) {
- GT_Recipe_Map.sVacuumRecipes.addRecipe(this);
- }
- }
-
- public GT_Recipe(FluidStack aInput1, FluidStack aOutput1, int aDuration, int aEUt) {
- this(
- false,
- null,
- null,
- null,
- null,
- new FluidStack[] { aInput1 },
- new FluidStack[] { aOutput1 },
- Math.max(aDuration, 1),
- aEUt,
- 0);
- if (mFluidInputs.length > 0 && mFluidOutputs[0] != null) {
- GT_Recipe_Map.sVacuumRecipes.addRecipe(this);
- }
- }
-
// Dummy GT_Recipe maker...
public GT_Recipe(ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecialItems, int[] aChances,
FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
@@ -561,15 +286,17 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
aSpecialValue);
}
+ /**
+ * Re-unificates all the items present in recipes.
+ */
public static void reInit() {
GT_Log.out.println("GT_Mod: Re-Unificating Recipes.");
- for (GT_Recipe_Map tMapEntry : GT_Recipe_Map.sMappings) tMapEntry.reInit();
+ for (RecipeMap<?> map : RecipeMap.ALL_RECIPE_MAPS.values()) {
+ map.getBackend()
+ .reInit();
+ }
}
- // -----
- // Old Constructors, do not use!
- // -----
-
public ItemStack getRepresentativeInput(int aIndex) {
if (aIndex < 0 || aIndex >= mInputs.length) return null;
return GT_Utility.copyOrNull(mInputs[aIndex]);
@@ -580,16 +307,14 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
return GT_Utility.copyOrNull(mOutputs[aIndex]);
}
- /***
+ /**
* Dictates the ItemStacks displayed in the output slots of any NEI page handled by the default GT NEI handler.
* Override to make shown items differ from a GT_Recipe's item output array
*
* @see gregtech.nei.GT_NEI_DefaultHandler
* @param i Slot index
* @return ItemStack to be displayed in the slot
- *
*/
- //
public ItemStack getRepresentativeOutput(int i) {
return getOutput(i);
}
@@ -851,59 +576,100 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
/**
* Sets description shown on NEI. <br>
* If you have a large number of recipes for the recipemap, this is not efficient memory wise, so use
- * {@link GT_Recipe_Map#setNEISpecialInfoFormatter} instead.
+ * {@link gregtech.api.recipe.RecipeMapBuilder#neiSpecialInfoFormatter} instead.
*/
- protected void setNeiDesc(String... neiDesc) {
+ public void setNeiDesc(String... neiDesc) {
this.neiDesc = neiDesc;
}
+ // region metadata
+
+ // Don't try implementing setMetadata, as metadataStorage can be EmptyRecipeMetadataStorage
+
+ /**
+ * Gets metadata associated with this recipe. Can return null. Use
+ * {@link #getMetadataOrDefault(RecipeMetadataKey, Object)}
+ * if you want to specify default value.
+ */
+ @Nullable
+ public <T> T getMetadata(RecipeMetadataKey<T> key) {
+ return key.cast(metadataStorage.getMetadata(key));
+ }
+
/**
- * Use {@link GT_Recipe_Map#getItemInputPositions} or {@link GT_Recipe_Map#getSpecialItemPosition} or
- * {@link GT_Recipe_Map#getFluidInputPositions} instead
+ * Gets metadata associated with this recipe with default value. Does not return null unless default value is null.
*/
- @SuppressWarnings("DeprecatedIsStillUsed")
- @Deprecated
- public ArrayList<PositionedStack> getInputPositionedStacks() {
- return null;
+ @Contract("_, !null -> !null")
+ @Nullable
+ public <T> T getMetadataOrDefault(RecipeMetadataKey<T> key, @Nullable T defaultValue) {
+ return key.cast(metadataStorage.getMetadataOrDefault(key, defaultValue));
+ }
+
+ @Nonnull
+ public IRecipeMetadataStorage getMetadataStorage() {
+ return metadataStorage;
+ }
+
+ // endregion
+
+ public RecipeCategory getRecipeCategory() {
+ return recipeCategory;
}
/**
- * Use {@link GT_Recipe_Map#getItemOutputPositions} or {@link GT_Recipe_Map#getFluidOutputPositions} instead
+ * Exists only for recipe copying from external. For ordinal use case, use {@link GT_RecipeBuilder#recipeCategory}.
*/
- @SuppressWarnings("DeprecatedIsStillUsed")
- @Deprecated
- public ArrayList<PositionedStack> getOutputPositionedStacks() {
- return null;
+ public void setRecipeCategory(RecipeCategory recipeCategory) {
+ this.recipeCategory = recipeCategory;
}
+ private static final List<String> excludedStacktraces = Arrays.asList(
+ "java.lang.Thread",
+ "gregtech.api.interfaces.IRecipeMap",
+ "gregtech.api.interfaces.IRecipeMap$1",
+ "gregtech.api.recipe.RecipeMap",
+ "gregtech.api.recipe.RecipeMapBackend",
+ "gregtech.api.recipe.RecipeMapBackendPropertiesBuilder",
+ "gregtech.api.util.GT_Recipe",
+ "gregtech.api.util.GT_RecipeBuilder",
+ "gregtech.api.util.GT_RecipeConstants",
+ "gregtech.api.util.GT_RecipeMapUtil",
+ "gregtech.common.GT_RecipeAdder");
+
public void reloadOwner() {
setOwner(
Loader.instance()
.activeModContainer());
- final List<String> excludedClasses = Arrays.asList(
- "java.lang.Thread",
- "gregtech.api.util.GT_Recipe",
- "gregtech.api.util.GT_RecipeBuilder",
- "gregtech.api.util.GT_Recipe$GT_Recipe_Map",
- "gregtech.common.GT_RecipeAdder");
if (GT_Mod.gregtechproxy.mNEIRecipeOwnerStackTrace) {
- List<StackTraceElement> toAdd = new ArrayList<>();
+ List<String> toAdd = new ArrayList<>();
for (StackTraceElement stackTrace : Thread.currentThread()
.getStackTrace()) {
- if (excludedClasses.stream()
+ if (excludedStacktraces.stream()
.noneMatch(
c -> stackTrace.getClassName()
.equals(c))) {
- toAdd.add(stackTrace);
+ toAdd.add(formatStackTrace(stackTrace));
}
}
stackTraces.add(toAdd);
}
}
+ private static String formatStackTrace(StackTraceElement stackTraceElement) {
+ String raw = stackTraceElement.toString();
+ int startParen = raw.lastIndexOf('(');
+ int colon = raw.lastIndexOf(':');
+ if (colon == -1) {
+ // native or unknown source
+ return raw;
+ }
+ // strip class name and leave line number, as class name is already shown
+ return raw.substring(0, startParen + 1) + raw.substring(colon);
+ }
+
public void setOwner(ModContainer newOwner) {
- ModContainer oldOwner = owners.size() > 0 ? this.owners.get(owners.size() - 1) : null;
+ ModContainer oldOwner = !owners.isEmpty() ? this.owners.get(owners.size() - 1) : null;
if (newOwner != null && newOwner != oldOwner) {
owners.add(newOwner);
}
@@ -1144,5146 +910,19 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
}
}
- @SuppressWarnings("StaticInitializerReferencesSubClass")
- public static class GT_Recipe_Map implements IGT_RecipeMap {
-
- /**
- * Contains all Recipe Maps
- */
- public static final Collection<GT_Recipe_Map> sMappings = new ArrayList<>();
- /**
- * All recipe maps indexed by their {@link #mUniqueIdentifier}.
- */
- public static final Map<String, GT_Recipe_Map> sIndexedMappings = new HashMap<>();
-
- static final String TEXTURES_GUI_BASICMACHINES = "textures/gui/basicmachines";
- public static final GT_Recipe_Map sOreWasherRecipes = new GT_Recipe_Map(
- new HashSet<>(500),
- "gt.recipe.orewasher",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "OreWasher"),
- 1,
- 3,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeConfigFile("orewasher", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_BATH, ProgressBar.Direction.CIRCULAR_CW);
- public static final GT_Recipe_Map sThermalCentrifugeRecipes = new GT_Recipe_Map(
- new HashSet<>(1000),
- "gt.recipe.thermalcentrifuge",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "ThermalCentrifuge"),
- 1,
- 3,
- 1,
- 0,
- 2,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeConfigFile("thermalcentrifuge", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sCompressorRecipes = new GT_Recipe_Map(
- new HashSet<>(750),
- "gt.recipe.compressor",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Compressor"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_COMPRESSOR)
- .setRecipeConfigFile("compressor", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_COMPRESS, ProgressBar.Direction.RIGHT)
- .setSlotOverlaySteam(false, GT_UITextures.OVERLAY_SLOT_COMPRESSOR_STEAM)
- .setProgressBarSteam(GT_UITextures.PROGRESSBAR_COMPRESS_STEAM);
- public static final GT_Recipe_Map sExtractorRecipes = new GT_Recipe_Map(
- new HashSet<>(250),
- "gt.recipe.extractor",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Extractor"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CENTRIFUGE)
- .setRecipeConfigFile("extractor", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT)
- .setSlotOverlaySteam(false, GT_UITextures.OVERLAY_SLOT_CENTRIFUGE_STEAM)
- .setProgressBarSteam(GT_UITextures.PROGRESSBAR_EXTRACT_STEAM);
- public static final GT_Recipe_Map sRecyclerRecipes = new GT_Recipe_Map_Recycler(
- new HashSet<>(0),
- "ic.recipe.recycler",
- null,
- "ic2.recycler",
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Recycler"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- false).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_RECYCLE)
- .setProgressBar(GT_UITextures.PROGRESSBAR_RECYCLE, ProgressBar.Direction.CIRCULAR_CW);
- public static final GT_Recipe_Map sFurnaceRecipes = new GT_Recipe_Map_Furnace(
- new HashSet<>(0),
- "mc.recipe.furnace",
- "Furnace",
- "smelting",
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "E_Furnace"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- false).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_FURNACE)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setSlotOverlaySteam(false, GT_UITextures.OVERLAY_SLOT_FURNACE_STEAM)
- .setProgressBarSteam(GT_UITextures.PROGRESSBAR_ARROW_STEAM);
- public static final GT_Recipe_Map sMicrowaveRecipes = new GT_Recipe_Map_Microwave(
- new HashSet<>(0),
- "gt.recipe.microwave",
- null,
- "smelting",
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "E_Furnace"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- false).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_FURNACE)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
-
- public static final GT_Recipe_Map sScannerFakeRecipes = new GT_Recipe_Map(
- new HashSet<>(300),
- "gt.recipe.scanner",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Scanner"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_MICROSCOPE)
- .setSlotOverlay(false, false, true, true, GT_UITextures.OVERLAY_SLOT_DATA_ORB)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sRockBreakerFakeRecipes = new GT_Recipe_Map(
- new HashSet<>(200),
- "gt.recipe.rockbreaker",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "RockBreaker"),
- 2,
- 1,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_DUST)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
- .setProgressBar(GT_UITextures.PROGRESSBAR_MACERATE, ProgressBar.Direction.RIGHT);
- @Deprecated
- public static final GT_Recipe_Map sByProductList = new GT_Recipe_Map(
- new HashSet<>(1000),
- "gt.recipe.byproductlist",
- "Ore Byproduct List",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 6,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- false).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sReplicatorFakeRecipes = new ReplicatorFakeMap(
- new HashSet<>(100),
- "gt.recipe.replicator",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Replicator"),
- 0,
- 1,
- 0,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CANISTER)
- .setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_UUM)
- .setSlotOverlay(false, false, true, true, GT_UITextures.OVERLAY_SLOT_DATA_ORB)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sAssemblylineVisualRecipes = new GT_Recipe_Map_AssemblyLineFake(
- new HashSet<>(110),
- "gt.recipe.fakeAssemblylineProcess",
- "Assemblyline Process",
- null,
- GregTech.getResourcePath("textures", "gui", "FakeAssemblyline"),
- 16,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, true, GT_UITextures.OVERLAY_SLOT_DATA_ORB)
- .setUsualFluidInputCount(4)
- .setDisableOptimize(true);
- /**
- * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead.
- */
- public static final GT_Recipe_Map sPlasmaArcFurnaceRecipes = new GT_Recipe_Map(
- new HashSet<>(20000),
- "gt.recipe.plasmaarcfurnace",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "PlasmaArcFurnace"),
- 1,
- 9,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("arcfurnace", FIRST_ITEM_INPUT);
- /**
- * Usually, but not always, you should use {@link GT_RecipeConstants#UniversalArcFurnace} instead.
- */
- public static final GT_Recipe_Map sArcFurnaceRecipes = new GT_Recipe_Map(
- new HashSet<>(20000),
- "gt.recipe.arcfurnace",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "ArcFurnace"),
- 1,
- 9,
- 1,
- 1,
- 3,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("arcfurnace", FIRST_ITEM_INPUT);
- public static final GT_Recipe_Map sPrinterRecipes = new GT_Recipe_Map_Printer(
- new HashSet<>(5),
- "gt.recipe.printer",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Printer"),
- 1,
- 1,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_PAGE_BLANK)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_PAGE_PRINTED)
- .setSlotOverlay(false, false, true, true, GT_UITextures.OVERLAY_SLOT_DATA_STICK)
- .setRecipeConfigFile("printer", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sSifterRecipes = new GT_Recipe_Map(
- new HashSet<>(105),
- "gt.recipe.sifter",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Sifter"),
- 1,
- 9,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN)
- .setRecipeConfigFile("sifter", FIRST_ITEM_INPUT);
- public static final GT_Recipe_Map sPressRecipes = new GT_Recipe_Map_FormingPress(
- new HashSet<>(300),
- "gt.recipe.press",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Press3"),
- 6,
- 1,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_PRESS_1)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_PRESS_2)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_PRESS_3)
- .setRecipeConfigFile("press", FIRST_ITEM_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_COMPRESS, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sLaserEngraverRecipes = new GT_Recipe_Map(
- new HashSet<>(810),
- "gt.recipe.laserengraver",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LaserEngraver2"),
- 4,
- 4,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_LENS)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("laserengraving", FIRST_ITEM_OUTPUT)
- .setUsualFluidInputCount(2)
- .setUsualFluidOutputCount(2);
- public static final GT_Recipe_Map sMixerRecipes = new GT_Recipe_Map(
- new HashSet<>(900),
- "gt.recipe.mixer",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Mixer6"),
- 9,
- 4,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_DUST)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeConfigFile("mixer", FIRST_ITEM_OR_FLUID_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW);
- public static final GT_Recipe_Map sAutoclaveRecipes = new GT_Recipe_Map(
- new HashSet<>(300),
- "gt.recipe.autoclave",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Autoclave4"),
- 2,
- 4,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_DUST)
- .setSlotOverlay(false, true, true, GT_UITextures.OVERLAY_SLOT_GEM)
- .setSlotOverlay(false, true, false, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeConfigFile("autoclave", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sElectroMagneticSeparatorRecipes = new GT_Recipe_Map(
- new HashSet<>(50),
- "gt.recipe.electromagneticseparator",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "ElectromagneticSeparator"),
- 1,
- 3,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeConfigFile("electromagneticseparator", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_MAGNET, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sPolarizerRecipes = new GT_Recipe_Map(
- new HashSet<>(300),
- "gt.recipe.polarizer",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Polarizer"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_MAGNET, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("polarizer", FIRST_ITEM_INPUT);
- public static final GT_Recipe_Map sMaceratorRecipes = new GT_Recipe_Map_Macerator(
- new HashSet<>(16600),
- "gt.recipe.macerator",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Macerator4"),
- 1,
- 4,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_DUST)
- .setProgressBar(GT_UITextures.PROGRESSBAR_MACERATE, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("pulveriser", FIRST_ITEM_INPUT)
- .setSlotOverlaySteam(false, GT_UITextures.OVERLAY_SLOT_CRUSHED_ORE_STEAM)
- .setSlotOverlaySteam(true, GT_UITextures.OVERLAY_SLOT_DUST_STEAM)
- .setProgressBarSteam(GT_UITextures.PROGRESSBAR_MACERATE_STEAM);
- public static final GT_Recipe_Map sChemicalBathRecipes = new GT_Recipe_Map(
- new HashSet<>(2550),
- "gt.recipe.chemicalbath",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "ChemicalBath"),
- 1,
- 3,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_BATH, ProgressBar.Direction.CIRCULAR_CW)
- .setRecipeConfigFile("chemicalbath", FIRST_ITEM_INPUT);
- public static final GT_Recipe_Map sFluidCannerRecipes = new GT_Recipe_Map_FluidCanner(
- new HashSet<>(2100),
- "gt.recipe.fluidcanner",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "FluidCanner"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CANISTER)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_CANISTER)
- .setRecipeConfigFile("canning", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_CANNER, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sBrewingRecipes = new GT_Recipe_Map(
- new HashSet<>(450),
- "gt.recipe.brewer",
- "Brewing Machine",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "PotionBrewer"),
- 1,
- 0,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CAULDRON)
- .setRecipeConfigFile("brewing", FIRST_FLUIDSTACK_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sFluidHeaterRecipes = new GT_Recipe_Map(
- new HashSet<>(10),
- "gt.recipe.fluidheater",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "FluidHeater"),
- 1,
- 0,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_HEATER_1)
- .setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_HEATER_2)
- .setRecipeConfigFile("fluidheater", FIRST_FLUIDSTACK_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sDistilleryRecipes = new GT_Recipe_Map(
- new HashSet<>(400),
- "gt.recipe.distillery",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Distillery"),
- 1,
- 1,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_BEAKER_1)
- .setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_BEAKER_2)
- .setRecipeConfigFile("distillery", FIRST_FLUIDSTACK_OUTPUT)
- .setRecipeSpecialHandler(r -> {
- int aInput = r.mFluidInputs[0].amount, aOutput = r.mFluidOutputs[0].amount, aDuration = r.mDuration;
-
- // reduce the batch size if fluid amount is exceeding
- int tScale = (Math.max(aInput, aOutput) + 999) / 1000;
- if (tScale <= 0) tScale = 1;
- if (tScale > 1) {
- // trying to find whether there is a better factor
- for (int i = tScale; i <= 5; i++) {
- if (aInput % i == 0 && aDuration % i == 0) {
- tScale = i;
- break;
- }
- }
- for (int i = tScale; i <= 5; i++) {
- if (aInput % i == 0 && aDuration % i == 0 && aOutput % i == 0) {
- tScale = i;
- break;
- }
- }
- aInput = (aInput + tScale - 1) / tScale;
- aOutput = aOutput / tScale;
- if (!isArrayEmptyOrNull(r.mOutputs)) {
- ItemData tData = GT_OreDictUnificator.getItemData(r.mOutputs[0]);
- if (tData != null && (tData.mPrefix == OrePrefixes.dust
- || OrePrefixes.dust.mFamiliarPrefixes.contains(tData.mPrefix))) {
- r.mOutputs[0] = GT_OreDictUnificator.getDust(
- tData.mMaterial.mMaterial,
- tData.mMaterial.mAmount * r.mOutputs[0].stackSize / tScale);
- } else {
- if (r.mOutputs[0].stackSize / tScale == 0) r.mOutputs[0] = GT_Values.NI;
- else r.mOutputs[0] = GT_Utility
- .copyAmount(r.mOutputs[0].stackSize / tScale, r.mOutputs[0]);
- }
- }
- aDuration = (aDuration + tScale - 1) / tScale;
- r.mFluidInputs[0] = GT_Utility.copyAmount(aInput, r.mFluidInputs[0]);
- r.mFluidOutputs[0] = GT_Utility.copyAmount(aOutput, r.mFluidOutputs[0]);
- r.mDuration = aDuration;
- }
- })
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sFermentingRecipes = new GT_Recipe_Map(
- new HashSet<>(50),
- "gt.recipe.fermenter",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Fermenter"),
- 0,
- 0,
- 0,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("fermenting", FIRST_FLUIDSTACK_OUTPUT);
- public static final GT_Recipe_Map sFluidSolidficationRecipes = new GT_Recipe_Map(
- new HashSet<>(35000),
- "gt.recipe.fluidsolidifier",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "FluidSolidifier"),
- 1,
- 1,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_MOLD)
- .setRecipeConfigFile("fluidsolidifier", FIRST_ITEM_OUTPUT)
- .setRecipeSpecialHandler(r -> {
- if (ArrayUtils.isNotEmpty(r.mFluidInputs)) {
- if (Materials.PhasedGold.getMolten(1)
- .isFluidEqual(r.mFluidInputs[0]))
- r.mFluidInputs = new FluidStack[] {
- Materials.VibrantAlloy.getMolten(r.mFluidInputs[0].amount) };
- else if (Materials.PhasedIron.getMolten(1)
- .isFluidEqual(r.mFluidInputs[0]))
- r.mFluidInputs = new FluidStack[] {
- Materials.PulsatingIron.getMolten(r.mFluidInputs[0].amount) };
- }
- })
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sFluidExtractionRecipes = new GT_Recipe_Map(
- new HashSet<>(15000),
- "gt.recipe.fluidextractor",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "FluidExtractor"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CENTRIFUGE)
- .setRecipeConfigFile("fluidextractor", FIRST_ITEM_INPUT)
- .setRecipeSpecialHandler(r -> {
- if (ArrayUtils.isNotEmpty(r.mFluidInputs)) {
- if (Materials.PhasedGold.getMolten(1)
- .isFluidEqual(r.mFluidInputs[0]))
- r.mFluidInputs = new FluidStack[] {
- Materials.VibrantAlloy.getMolten(r.mFluidInputs[0].amount) };
- else if (Materials.PhasedIron.getMolten(1)
- .isFluidEqual(r.mFluidInputs[0]))
- r.mFluidInputs = new FluidStack[] {
- Materials.PulsatingIron.getMolten(r.mFluidInputs[0].amount) };
- }
- })
- .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sBoxinatorRecipes = new GT_Recipe_Map(
- new HashSet<>(2500),
- "gt.recipe.packager",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Packager"),
- 2,
- 1,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_BOX)
- .setRecipeConfigFile("boxing", FIRST_ITEM_OUTPUT)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_BOXED)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sUnboxinatorRecipes = new GT_Recipe_Map_Unboxinator(
- new HashSet<>(2500),
- "gt.recipe.unpackager",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Unpackager"),
- 1,
- 2,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_BOXED)
- .setRecipeConfigFile("unboxing", FIRST_ITEM_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- /**
- * Usually, but not always, you should use {@link GT_RecipeConstants#Fusion} instead.
- */
- public static final GT_Recipe_Map sFusionRecipes = new GT_Recipe_Map_FluidOnly(
- new HashSet<>(50),
- "gt.recipe.fusionreactor",
- "Fusion Reactor",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "FusionReactor"),
- 0,
- 0,
- 0,
- 2,
- 1,
- "Start: ",
- 1,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .useComparatorForNEI(true)
- .setUsualFluidInputCount(2)
- .setRecipeConfigFile("fusion", FIRST_FLUID_OUTPUT)
- .setDisableOptimize(true)
- .setNEISpecialInfoFormatter(FusionSpecialValueFormatter.INSTANCE);
- /**
- * Usually, but not always, you should use {@link GT_RecipeConstants#Fusion} instead.
- */
- public static final GT_Recipe_Map sComplexFusionRecipes = new GT_Recipe_Map_ComplexFusion(
- new HashSet<>(50),
- "gt.recipe.complexfusionreactor",
- "Complex Fusion Reactor",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "ComplexFusionReactor"),
- 3,
- 0,
- 0,
- 2,
- 1,
- "Start: ",
- 1,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setUsualFluidInputCount(16)
- .setUsualFluidOutputCount(16)
- .setNEITransferRect(new Rectangle(79, 34, 18, 18))
- .setLogoPos(80, 61)
- .setNEISpecialInfoFormatter(FusionSpecialValueFormatter.INSTANCE)
- .setDisableOptimize(true);
- public static final GT_Recipe_Map sCentrifugeRecipes = new GT_Recipe_Map(
- new HashSet<>(1200),
- "gt.recipe.centrifuge",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Centrifuge"),
- 2,
- 6,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_CENTRIFUGE)
- .setRecipeConfigFile("centrifuge", FIRST_ITEM_OR_FLUID_INPUT)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_CANISTER)
- .setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_CENTRIFUGE_FLUID)
- .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sElectrolyzerRecipes = new GT_Recipe_Map(
- new HashSet<>(300),
- "gt.recipe.electrolyzer",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Electrolyzer"),
- 2,
- 6,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_CHARGER)
- .setRecipeConfigFile("electrolyzer", FIRST_ITEM_OR_FLUID_INPUT)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_CANISTER)
- .setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_CHARGER_FLUID)
- .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT);
- /**
- * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level.
- */
- public static final GT_Recipe_Map sBlastRecipes = new GT_Recipe_Map(
- new HashSet<>(800),
- "gt.recipe.blastfurnace",
- "Blast Furnace",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 6,
- 6,
- 1,
- 0,
- 1,
- "Heat Capacity: ",
- 1,
- " K",
- false,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("blastfurnace", FIRST_ITEM_INPUT)
- .setNEISpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE);
- /**
- * Use {@link GT_RecipeConstants#COIL_HEAT} as heat level.
- */
- public static final GT_Recipe_Map sPlasmaForgeRecipes = new GT_Recipe_Map_LargeNEI(
- new HashSet<>(20),
- "gt.recipe.plasmaforge",
- "DTPF",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "PlasmaForge"),
- 9,
- 9,
- 0,
- 0,
- 1,
- "Heat Capacity: ",
- 1,
- " K",
- false,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setUsualFluidInputCount(9)
- .setUsualFluidOutputCount(9)
- .setDisableOptimize(true)
- .setNEISpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE);
-
- public static final GT_Recipe_Map sTranscendentPlasmaMixerRecipes = new TranscendentPlasmaMixerRecipeMap(
- new HashSet<>(20),
- "gt.recipe.transcendentplasmamixerrecipes",
- "Transcendent Plasma Mixer",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "PlasmaForge"),
- 1,
- 0,
- 0,
- 0,
- 1,
- "",
- 0,
- "",
- false,
- true).setDisableOptimize(true);
-
- public static class GT_FakeSpaceProjectRecipe extends GT_Recipe {
-
- public final String projectName;
-
- public GT_FakeSpaceProjectRecipe(boolean aOptimize, ItemStack[] aInputs, FluidStack[] aFluidInputs,
- int aDuration, int aEUt, int aSpecialValue, String projectName) {
- super(aOptimize, aInputs, null, null, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue);
- this.projectName = projectName;
- }
- }
-
- public static final GT_Recipe_Map sFakeSpaceProjectRecipes = new GT_Recipe_Map(
- new HashSet<>(20),
- "gt.recipe.fakespaceprojects",
- "Space Projects",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 12,
- 0,
- 0,
- 0,
- 1,
- translateToLocal("gt.specialvalue.stages") + " ",
- 1,
- "",
- false,
- true) {
-
- IDrawable projectTexture;
-
- @Override
- public ModularWindow.Builder createNEITemplate(IItemHandlerModifiable itemInputsInventory,
- IItemHandlerModifiable itemOutputsInventory, IItemHandlerModifiable specialSlotInventory,
- IItemHandlerModifiable fluidInputsInventory, IItemHandlerModifiable fluidOutputsInventory,
- Supplier<Float> progressSupplier, Pos2d windowOffset) {
- ModularWindow.Builder builder = super.createNEITemplate(
- itemInputsInventory,
- itemOutputsInventory,
- specialSlotInventory,
- fluidInputsInventory,
- fluidOutputsInventory,
- progressSupplier,
- windowOffset);
- addRecipeSpecificDrawable(
- builder,
- windowOffset,
- () -> projectTexture,
- new Pos2d(124, 28),
- new Size(18, 18));
- return builder;
- }
-
- @Override
- public List<Pos2d> getItemInputPositions(int itemInputCount) {
- return UIHelper.getGridPositions(itemInputCount, 16, 28, 3);
- }
-
- @Override
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getGridPositions(fluidInputCount, 88, 28, 1);
- }
-
- @Override
- protected List<String> handleNEIItemInputTooltip(List<String> currentTip,
- GT_NEI_DefaultHandler.FixedPositionedStack pStack) {
- super.handleNEIItemOutputTooltip(currentTip, pStack);
- if (pStack.item != null && pStack.item.getItem() instanceof GT_FluidDisplayItem) return currentTip;
- currentTip.add(GRAY + translateToLocal("Item Count: ") + formatNumbers(pStack.realStackSize));
- return currentTip;
- }
-
- @Override
- public void drawNEIOverlays(GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) {
- for (PositionedStack stack : neiCachedRecipe.mInputs) {
- if (stack instanceof GT_NEI_DefaultHandler.FixedPositionedStack && stack.item != null
- && !(stack.item.getItem() instanceof GT_FluidDisplayItem)) {
- int stackSize = ((GT_NEI_DefaultHandler.FixedPositionedStack) stack).realStackSize;
- String displayString;
- if (stack.item.stackSize > 9999) {
- displayString = ReadableNumberConverter.INSTANCE.toWideReadableForm(stackSize);
- } else {
- displayString = String.valueOf(stackSize);
- }
- drawNEIOverlayText(displayString, stack, 0xffffff, 0.5f, true, Alignment.BottomRight);
- }
- }
- if (neiCachedRecipe.mRecipe instanceof GT_FakeSpaceProjectRecipe) {
- ISpaceProject project = SpaceProjectManager
- .getProject(((GT_FakeSpaceProjectRecipe) neiCachedRecipe.mRecipe).projectName);
- if (project != null) {
- projectTexture = project.getTexture();
- GuiDraw
- .drawStringC(EnumChatFormatting.BOLD + project.getLocalizedName(), 85, 0, 0x404040, false);
- }
- }
- }
-
- @Override
- public void addProgressBarUI(ModularWindow.Builder builder, Supplier<Float> progressSupplier,
- Pos2d windowOffset) {
- int bar1Width = 17;
- int bar2Width = 18;
- builder.widget(
- new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_1, 17)
- .setDirection(ProgressBar.Direction.RIGHT)
- .setProgress(() -> progressSupplier.get() * ((float) (bar1Width + bar2Width) / bar1Width))
- .setSynced(false, false)
- .setPos(new Pos2d(70, 28).add(windowOffset))
- .setSize(bar1Width, 72));
- builder.widget(
- new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_2, 18)
- .setDirection(ProgressBar.Direction.RIGHT)
- .setProgress(
- () -> (progressSupplier.get() - ((float) bar1Width / (bar1Width + bar2Width)))
- * ((float) (bar1Width + bar2Width) / bar2Width))
- .setSynced(false, false)
- .setPos(new Pos2d(106, 28).add(windowOffset))
- .setSize(bar2Width, 72));
- }
- }.useModularUI(true)
- .setRenderRealStackSizes(false)
- .setUsualFluidInputCount(4)
- .setNEIBackgroundOffset(2, 23)
- .setLogoPos(152, 83)
- .setDisableOptimize(true);
-
- public static class TranscendentPlasmaMixerRecipeMap extends GT_Recipe_Map {
-
- public TranscendentPlasmaMixerRecipeMap(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName,
- String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount,
- int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre,
- int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI,
- boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- useModularUI(true);
- setUsualFluidInputCount(20);
- setUsualFluidOutputCount(1);
- setProgressBarPos(86, 44);
- setNEITransferRect(
- new Rectangle(
- progressBarPos.x - (16 / 2),
- progressBarPos.y,
- progressBarSize.width + 16,
- progressBarSize.height));
- setLogoPos(87, 99);
- setNEIBackgroundSize(172, 118);
- }
-
- @Override
- public List<Pos2d> getItemInputPositions(int itemInputCount) {
- return UIHelper.getGridPositions(itemInputCount, 60, 8, 1);
- }
-
- @Override
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getGridPositions(fluidInputCount, 6, 26, 4, 5);
- }
-
- @Override
- public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
- return UIHelper.getGridPositions(fluidOutputCount, 114, 44, 1);
- }
-
- @Override
- protected void drawNEIEnergyInfo(NEIRecipeInfo recipeInfo) {
- // These look odd because recipeInfo.recipe.mEUt is actually the EU per litre of fluid processed, not
- // the EU/t.
- drawNEIText(
- recipeInfo,
- GT_Utility.trans("152", "Total: ")
- + formatNumbers(1000L * recipeInfo.recipe.mDuration / 100L * recipeInfo.recipe.mEUt)
- + " EU");
- // 1000 / (20 ticks * 5 seconds) = 10L/t. 10L/t * x EU/L = 10 * x EU/t.
- long averageUsage = 10L * recipeInfo.recipe.mEUt;
- drawNEIText(
- recipeInfo,
- "Average: " + formatNumbers(averageUsage)
- + " EU/t"
- + GT_Utility.getTierNameWithParentheses(averageUsage));
- }
- }
-
- /**
- * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for coal/charcoal amount.
- */
- public static final GT_Recipe_Map sPrimitiveBlastRecipes = new GT_Recipe_Map(
- new HashSet<>(200),
- "gt.recipe.primitiveblastfurnace",
- "Primitive Blast Furnace",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 3,
- 3,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- false,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setRecipeEmitter(builder -> {
- Optional<GT_Recipe> rr = builder.validateInputCount(1, 2)
- .validateOutputCount(1, 2)
- .validateNoInputFluid()
- .validateNoOutputFluid()
- .noOptimize()
- .build();
- if (!rr.isPresent()) return Collections.emptyList();
- ItemStack aInput1 = builder.getItemInputBasic(0);
- ItemStack aInput2 = builder.getItemInputBasic(1);
- ItemStack aOutput1 = builder.getItemOutput(0);
- ItemStack aOutput2 = builder.getItemOutput(1);
- if ((aInput1 == null && aInput2 == null) || (aOutput1 == null && aOutput2 == null))
- return Collections.emptyList();
- int aCoalAmount = builder.getMetadata(ADDITIVE_AMOUNT);
- if (aCoalAmount <= 0) return Collections.emptyList();
- GT_RecipeTemplate coll = asTemplate(rr.get());
- for (Materials coal : new Materials[] { Materials.Coal, Materials.Charcoal }) {
- coll.derive()
- .setInputs(aInput1, aInput2, coal.getGems(aCoalAmount))
- .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount));
- coll.derive()
- .setInputs(aInput1, aInput2, coal.getDust(aCoalAmount))
- .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount));
- }
- int aDuration = builder.duration;
- if (Railcraft.isModLoaded()) {
- coll.derive()
- .setInputs(aInput1, aInput2, RailcraftToolItems.getCoalCoke(aCoalAmount / 2))
- .setOutputs(aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount / 2))
- .setDuration(aDuration * 2 / 3);
- }
- if (GTPlusPlus.isModLoaded()) {
- ItemStack cactusCoke = GT_ModHandler
- .getModItem(GTPlusPlus.ID, "itemCactusCoke", aCoalAmount * 2L);
- ItemStack sugarCoke = GT_ModHandler
- .getModItem(GTPlusPlus.ID, "itemSugarCoke", aCoalAmount * 2L);
- coll.derive()
- .setInputs(aInput1, aInput2, cactusCoke)
- .setOutputs(aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2))
- .setDuration(aDuration * 2 / 3);
- coll.derive()
- .setInputs(aInput1, aInput2, sugarCoke)
- .setOutputs(aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount * 2))
- .setDuration(aDuration * 2 / 3);
- }
- if ((aInput1 == null || aInput1.stackSize <= 6) && (aInput2 == null || aInput2.stackSize <= 6)
- && (aOutput1 == null || aOutput1.stackSize <= 6)
- && (aOutput2 == null || aOutput2.stackSize <= 6)) {
- // we don't use GT_Utility.mul() here. It does not have the truncating we need here.
- aInput1 = GT_Utility.multiplyStack(10, aInput1);
- aInput2 = GT_Utility.multiplyStack(10, aInput2);
- aOutput1 = GT_Utility.multiplyStack(10, aOutput1);
- aOutput2 = GT_Utility.multiplyStack(10, aOutput2);
- for (Materials coal : new Materials[] { Materials.Coal, Materials.Charcoal }) {
- coll.derive()
- .setInputs(aInput1, aInput2, coal.getBlocks(aCoalAmount))
- .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount))
- .setDuration(aDuration * 10);
- coll.derive()
- .setInputs(aInput1, aInput2, coal.getBlocks(aCoalAmount))
- .setOutputs(aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount))
- .setDuration(aDuration * 10);
- }
- if (Railcraft.isModLoaded()) {
- coll.derive()
- .setInputs(aInput1, aInput2, EnumCube.COKE_BLOCK.getItem(aCoalAmount / 2))
- .setOutputs(aOutput1, aOutput2, Materials.Ash.getDust(aCoalAmount / 2))
- .setDuration(aDuration * 20 / 3);
- }
- }
- return coll.getAll();
- })
- .setRecipeConfigFile("primitiveblastfurnace", FIRST_ITEM_INPUT);
- /**
- * Uses {@link GT_RecipeConstants#ADDITIVE_AMOUNT} for TNT/ITNT/... amount. Value is truncated to [0, 64]
- */
- public static final GT_Recipe_Map sImplosionRecipes = new GT_Recipe_Map(
- new HashSet<>(900),
- "gt.recipe.implosioncompressor",
- "Implosion Compressor",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 2,
- 2,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_IMPLOSION)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_EXPLOSIVE)
- .setRecipeConfigFile("implosion", FIRST_ITEM_INPUT)
- .setRecipeEmitter(b -> {
- switch (b.getItemInputsBasic().length) {
- case 0:
- return Collections.emptyList();
- case 1:
- break;
- default:
- return b.build()
- .map(Collections::singletonList)
- .orElse(Collections.emptyList());
- }
- Optional<GT_Recipe> t = b.noOptimize()
- .duration(20)
- .eut(30)
- .validateInputCount(1, 1)
- .validateOutputCount(1, 2)
- .build();
- if (!t.isPresent()) return Collections.emptyList();
- ItemStack input = b.getItemInputBasic(0);
- GT_RecipeTemplate coll = asTemplate(t.get());
- int tExplosives = Math.min(b.getMetadata(ADDITIVE_AMOUNT), 64);
- int tGunpowder = tExplosives << 1; // Worst
- int tDynamite = Math.max(1, tExplosives >> 1); // good
- @SuppressWarnings("UnnecessaryLocalVariable")
- int tTNT = tExplosives; // Slightly better
- int tITNT = Math.max(1, tExplosives >> 2); // the best
- if (tGunpowder < 65) coll.derive()
- .setInputs(input, ItemList.Block_Powderbarrel.get(tGunpowder));
- if (tDynamite < 17) coll.derive()
- .setInputs(input, GT_ModHandler.getIC2Item("dynamite", tDynamite, null));
- coll.derive()
- .setInputs(input, new ItemStack(Blocks.tnt, tTNT));
- coll.derive()
- .setInputs(input, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null));
- return coll.getAll();
- })
- .setDisableOptimize(true)
- .setProgressBar(GT_UITextures.PROGRESSBAR_COMPRESS, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sVacuumRecipes = new GT_Recipe_Map(
- new HashSet<>(305),
- "gt.recipe.vacuumfreezer",
- "Vacuum Freezer",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- false,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setRecipeConfigFile("vacuumfreezer", FIRST_ITEM_INPUT)
- .setRecipeEmitter(b -> {
- b.noOptimize();
- FluidStack in, out;
- if (isArrayOfLength(b.getItemInputsBasic(), 1) && isArrayOfLength(b.getItemOutputs(), 1)
- && isArrayEmptyOrNull(b.getFluidInputs())
- && isArrayEmptyOrNull(b.getFluidOutputs())
- && (in = GT_Utility.getFluidForFilledItem(b.getItemInputBasic(0), true)) != null
- && (out = GT_Utility.getFluidForFilledItem(b.getItemOutput(0), true)) != null) {
- return Arrays.asList(
- b.build()
- .get(),
- b.itemInputs()
- .itemOutputs()
- .fluidInputs(in)
- .fluidOutputs(out)
- .build()
- .get());
- }
- return buildOrEmpty(b);
- })
- .setUsualFluidInputCount(2);
- /**
- * using {@code .addTo(sChemicalRecipes)} will cause the recipe to be added to single block recipe map ONLY!
- * use {@link GT_RecipeConstants#UniversalChemical} to add to both.
- */
- public static final GT_Recipe_Map sChemicalRecipes = new GT_Recipe_Map(
- new HashSet<>(1170),
- "gt.recipe.chemicalreactor",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "ChemicalReactor"),
- 2,
- 2,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_MOLECULAR_1)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_MOLECULAR_2)
- .setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_MOLECULAR_3)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_VIAL_1)
- .setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_VIAL_2)
- .setRecipeConfigFile("chemicalreactor", FIRST_ITEM_OR_FLUID_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT)
- .setDisableOptimize(true);
- /**
- * using {@code .addTo(sMultiblockChemicalRecipes)} will cause the recipe to be added to multiblock recipe map
- * ONLY!
- * use {@link GT_RecipeConstants#UniversalChemical} to add to both.
- */
- public static final GT_Recipe_Map sMultiblockChemicalRecipes = //
- new GT_Recipe_Map_LargeChemicalReactor()
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT)
- .setUsualFluidInputCount(6)
- .setUsualFluidOutputCount(6)
- .setDisableOptimize(true);
- public static final GT_Recipe_Map sDistillationRecipes = //
- new GT_Recipe_Map_DistillationTower().setRecipeConfigFile("distillation", FIRST_FLUIDSTACK_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT)
- .setUsualFluidOutputCount(11)
- .setDisableOptimize(true);
- public static final GT_Recipe_Map_OilCracker sCrackingRecipes = (GT_Recipe_Map_OilCracker) //
- new GT_Recipe_Map_OilCracker().setRecipeConfigFile("cracking", FIRST_FLUIDSTACK_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, ProgressBar.Direction.RIGHT)
- .setUsualFluidInputCount(2);
- /**
- * @deprecated Use sCrackingRecipes instead
- */
- @Deprecated
- public static final GT_Recipe_Map sCrakingRecipes = sCrackingRecipes;
-
- public static final GT_Recipe_Map sPyrolyseRecipes = new GT_Recipe_Map(
- new HashSet<>(150),
- "gt.recipe.pyro",
- "Pyrolyse Oven",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 2,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setDisableOptimize(true)
- .setRecipeConfigFile("pyrolyse", FIRST_ITEM_INPUT);
- public static final GT_Recipe_Map sWiremillRecipes = new GT_Recipe_Map(
- new HashSet<>(450),
- "gt.recipe.wiremill",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Wiremill"),
- 2,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_WIREMILL)
- .setRecipeConfigFile("wiremill", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_WIREMILL, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sBenderRecipes = new GT_Recipe_Map(
- new HashSet<>(5000),
- "gt.recipe.metalbender",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Bender"),
- 2,
- 1,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_BENDER)
- .setRecipeConfigFile("bender", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_BENDING, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sAlloySmelterRecipes = new GT_Recipe_Map(
- new HashSet<>(12000),
- "gt.recipe.alloysmelter",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "AlloySmelter"),
- 2,
- 1,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_FURNACE)
- .setRecipeEmitter(b -> {
- if (Materials.Graphite.contains(b.getItemInputBasic(0))) return Collections.emptyList();
- if (GT_Utility.isArrayOfLength(b.getItemInputsBasic(), 1)) {
- ItemStack aInput1 = b.getItemInputBasic(0);
- if (((OrePrefixes.ingot.contains(aInput1)) || (OrePrefixes.dust.contains(aInput1))
- || (OrePrefixes.gem.contains(aInput1)))) return Collections.emptyList();
- }
- return buildOrEmpty(
- b.validateNoInputFluid()
- .validateNoOutputFluid()
- .validateInputCount(1, 2)
- .validateOutputCount(1, 1));
- })
- .setRecipeConfigFile(
- "alloysmelting",
- r -> GT_Config
- .getStackConfigName(GT_Utility.isArrayOfLength(r.mInputs, 1) ? r.mInputs[0] : r.mOutputs[0]))
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setSlotOverlaySteam(false, GT_UITextures.OVERLAY_SLOT_FURNACE_STEAM)
- .setProgressBarSteam(GT_UITextures.PROGRESSBAR_ARROW_STEAM);
- public static final GT_Recipe_Map sAssemblerRecipes = new GT_Recipe_Map_Assembler(
- new HashSet<>(8200),
- "gt.recipe.assembler",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Assembler2"),
- 9,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CIRCUIT)
- .setRecipeConfigFile("assembling", FIRST_ITEM_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE, ProgressBar.Direction.RIGHT)
- .setDisableOptimize(true);
- public static final GT_Recipe_Map sCircuitAssemblerRecipes = new GT_Recipe_Map_Assembler(
- new HashSet<>(605),
- "gt.recipe.circuitassembler",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "CircuitAssembler"),
- 6,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setNEIUnificateOutput(!NEICustomDiagrams.isModLoaded())
- .setRecipeConfigFile("circuitassembler", FIRST_ITEM_OUTPUT)
- .setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CIRCUIT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_CIRCUIT_ASSEMBLER, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sCannerRecipes = new GT_Recipe_Map(
- new HashSet<>(900),
- "gt.recipe.canner",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Canner"),
- 2,
- 2,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_CANNER)
- .setRecipeConfigFile("canning", FIRST_ITEM_INPUT)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_CANISTER)
- .setProgressBar(GT_UITextures.PROGRESSBAR_CANNER, ProgressBar.Direction.RIGHT);
- @Deprecated
- public static final GT_Recipe_Map sCNCRecipes = new GT_Recipe_Map(
- new HashSet<>(100),
- "gt.recipe.cncmachine",
- "CNC Machine",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 2,
- 1,
- 2,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sLatheRecipes = new GT_Recipe_Map(
- new HashSet<>(1150),
- "gt.recipe.lathe",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Lathe"),
- 1,
- 2,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_ROD_1)
- .setSlotOverlay(false, true, true, GT_UITextures.OVERLAY_SLOT_ROD_2)
- .setSlotOverlay(false, true, false, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeConfigFile("lathe", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_LATHE, ProgressBar.Direction.RIGHT)
- .addSpecialTexture(5, 18, 98, 24, GT_UITextures.PROGRESSBAR_LATHE_BASE);
- public static final GT_Recipe_Map sCutterRecipes = new GT_Recipe_Map(
- new HashSet<>(5125),
- "gt.recipe.cuttingsaw",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Cutter4"),
- 2,
- 4,
- 1,
- 1,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_BOX)
- .setSlotOverlay(false, true, true, GT_UITextures.OVERLAY_SLOT_CUTTER_SLICED)
- .setSlotOverlay(false, true, false, GT_UITextures.OVERLAY_SLOT_DUST)
- .setRecipeEmitter(b -> {
- b.validateInputCount(1, 2)
- .validateOutputCount(1, 4)
- .validateNoOutputFluid();
- if ((b.getFluidInputs() != null && b.getFluidInputs().length > 0) || !b.isValid())
- return buildOrEmpty(b.validateInputFluidCount(1, 1));
- int aDuration = b.getDuration(), aEUt = b.getEUt();
- Collection<GT_Recipe> ret = new ArrayList<>();
- b.copy()
- .fluidInputs(Materials.Water.getFluid(GT_Utility.clamp(aDuration * aEUt / 320, 4, 1000)))
- .duration(aDuration * 2)
- .build()
- .ifPresent(ret::add);
- b.copy()
- .fluidInputs(GT_ModHandler.getDistilledWater(GT_Utility.clamp(aDuration * aEUt / 426, 3, 750)))
- .duration(aDuration * 2)
- .build()
- .ifPresent(ret::add);
- b.fluidInputs(Materials.Lubricant.getFluid(GT_Utility.clamp(aDuration * aEUt / 1280, 1, 250)))
- .duration(aDuration)
- .build()
- .ifPresent(ret::add);
- return ret;
- })
- .setRecipeConfigFile("cutting", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_CUT, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sSlicerRecipes = new GT_Recipe_Map(
- new HashSet<>(20),
- "gt.recipe.slicer",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Slicer"),
- 2,
- 1,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_SQUARE)
- .setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_SLICE_SHAPE)
- .setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_SLICER_SLICED)
- .setRecipeConfigFile("slicer", FIRST_ITEM_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_SLICE, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sExtruderRecipes = new GT_Recipe_Map(
- new HashSet<>(13000),
- "gt.recipe.extruder",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Extruder"),
- 2,
- 1,
- 2,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, false, GT_UITextures.OVERLAY_SLOT_EXTRUDER_SHAPE)
- .setRecipeConfigFile("extruder", FIRST_ITEM_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRUDE, ProgressBar.Direction.RIGHT);
-
- public static final GT_Recipe_Map sHammerRecipes = new GT_Recipe_Map(
- new HashSet<>(3800),
- "gt.recipe.hammer",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Hammer"),
- 2,
- 2,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setUsualFluidInputCount(2)
- .setUsualFluidOutputCount(2)
- .setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_HAMMER)
- .setRecipeConfigFile("forgehammer", FIRST_ITEM_OUTPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_HAMMER, ProgressBar.Direction.DOWN)
- .addSpecialTexture(20, 6, 78, 42, GT_UITextures.PROGRESSBAR_HAMMER_BASE)
- .setSlotOverlaySteam(false, GT_UITextures.OVERLAY_SLOT_HAMMER_STEAM)
- .setProgressBarSteam(GT_UITextures.PROGRESSBAR_HAMMER_STEAM)
- .addSpecialTextureSteam(20, 6, 78, 42, GT_UITextures.PROGRESSBAR_HAMMER_BASE_STEAM);
- public static final GT_Recipe_Map sAmplifiers = new GT_Recipe_Map(
- new HashSet<>(2),
- "gt.recipe.uuamplifier",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Amplifabricator"),
- 1,
- 0,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CENTRIFUGE)
- .setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_UUA)
- .setRecipeConfigFile("amplifier", FIRST_ITEM_INPUT)
- .setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sMassFabFakeRecipes = new GT_Recipe_Map(
- new HashSet<>(2),
- "gt.recipe.massfab",
- null,
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Massfabricator"),
- 1,
- 0,
- 1,
- 0,
- 8,
- E,
- 1,
- E,
- true,
- true).setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_UUA)
- .setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_UUM)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sDieselFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(20),
- "gt.recipe.dieselgeneratorfuel",
- "Combustion Generator Fuels",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sExtremeDieselFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(20),
- "gt.recipe.extremedieselgeneratorfuel",
- "Extreme Diesel Engine Fuel",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sTurbineFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(25),
- "gt.recipe.gasturbinefuel",
- "Gas Turbine Fuel",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sHotFuels = new GT_Recipe_Map_Fuel(
- new HashSet<>(10),
- "gt.recipe.thermalgeneratorfuel",
- "Thermal Generator Fuels",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- false);
- public static final GT_Recipe_Map_Fuel sDenseLiquidFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(15),
- "gt.recipe.semifluidboilerfuels",
- "Semifluid Boiler Fuels",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sPlasmaFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(100),
- "gt.recipe.plasmageneratorfuels",
- "Plasma Generator Fuels",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sMagicFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(100),
- "gt.recipe.magicfuels",
- "Magic Energy Absorber Fuels",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sSmallNaquadahReactorFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(1),
- "gt.recipe.smallnaquadahreactor",
- "Naquadah Reactor MkI",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sLargeNaquadahReactorFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(1),
- "gt.recipe.largenaquadahreactor",
- "Naquadah Reactor MkII",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sHugeNaquadahReactorFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(1),
- "gt.recipe.fluidnaquadahreactor",
- "Naquadah Reactor MkIII",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sExtremeNaquadahReactorFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(1),
- "gt.recipe.hugenaquadahreactor",
- "Naquadah Reactor MkIV",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sUltraHugeNaquadahReactorFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(1),
- "gt.recipe.extrahugenaquadahreactor",
- "Naquadah Reactor MkV",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map_Fuel sFluidNaquadahReactorFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel(
- new HashSet<>(1),
- "gt.recipe.fluidfuelnaquadahreactor",
- "Fluid Naquadah Reactor",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 0,
- 0,
- 1,
- "Fuel Value: ",
- 1000,
- " EU",
- true,
- true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- public static final GT_Recipe_Map sMultiblockElectrolyzerRecipes = new GT_Recipe_Map(
- new HashSet<>(300),
- "gt.recipe.largeelectrolyzer",
- "Large(PA) Electrolyzer",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LCRNEI"),
- 1,
- 9,
- 0,
- 0,
- 1,
- "",
- 0,
- "",
- true,
- false).setRecipeEmitter(GT_RecipeMapUtil::buildRecipeForMultiblock);
-
- public static final GT_Recipe_Map sMultiblockCentrifugeRecipes = new GT_Recipe_Map(
- new HashSet<>(1200),
- "gt.recipe.largecentrifuge",
- "Large(PA) Centrifuge",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LCRNEI"),
- 1,
- 9,
- 0,
- 0,
- 1,
- "",
- 0,
- "",
- true,
- false).setRecipeEmitter(GT_RecipeMapUtil::buildRecipeForMultiblock)
- .setDisableOptimize(true);
- public static final GT_Recipe_Map sMultiblockMixerRecipes = new GT_Recipe_Map(
- new HashSet<>(900),
- "gt.recipe.largemixer",
- "Large(PA) Mixer",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LCRNEI"),
- 9,
- 3,
- 0,
- 0,
- 1,
- "",
- 0,
- "",
- true,
- false).setRecipeEmitter(GT_RecipeMapUtil::buildRecipeForMultiblockNoCircuit)
- .setDisableOptimize(true);
- public static final GT_Recipe_Map_LargeBoilerFakeFuels sLargeBoilerFakeFuels = (GT_Recipe_Map_LargeBoilerFakeFuels) new GT_Recipe_Map_LargeBoilerFakeFuels()
- .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT)
- .setDisableOptimize(true);
-
- public static final GT_Recipe_Map sNanoForge = new GT_Recipe_Map(
- new HashSet<>(10),
- "gt.recipe.nanoforge",
- "Nano Forge",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LCRNEI"),
- 6,
- 2,
- 2,
- 1,
- 1,
- "Tier: ",
- 1,
- "",
- false,
- true).useModularUI(true)
- .setUsualFluidInputCount(3)
- .setDisableOptimize(true)
- .setSlotOverlay(false, false, true, GT_UITextures.OVERLAY_SLOT_LENS)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE, ProgressBar.Direction.RIGHT);
-
- public static final GT_Recipe_Map sPCBFactory = new GT_Recipe_Map(
- new HashSet<>(10),
- "gt.recipe.pcbfactory",
- "PCB Factory",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LCRNEI"),
- 6,
- 9,
- 3,
- 1,
- 1,
- E,
- 0,
- E,
- true,
- true).useModularUI(true)
- .setUsualFluidInputCount(3)
- .setUsualFluidOutputCount(0)
- .setDisableOptimize(true)
- .setProgressBar(GT_UITextures.PROGRESSBAR_ASSEMBLE, ProgressBar.Direction.RIGHT)
- .setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> {
- List<String> result = new ArrayList<>();
- int bitmap = recipeInfo.recipe.mSpecialValue;
- if ((bitmap & 0b1) > 0) {
- result.add(GT_Utility.trans("336", "PCB Factory Tier: ") + 1);
- } else if ((bitmap & 0b10) > 0) {
- result.add(GT_Utility.trans("336", "PCB Factory Tier: ") + 2);
- } else if ((bitmap & 0b100) > 0) {
- result.add(GT_Utility.trans("336", "PCB Factory Tier: ") + 3);
- }
- if ((bitmap & 0b1000) > 0) {
- result.add(GT_Utility.trans("337", "Upgrade Required: ") + GT_Utility.trans("338", "Bio"));
- }
- return result;
- });
-
- public static final GT_Recipe_Map_IC2NuclearFake sIC2NuclearFakeRecipe = (GT_Recipe_Map_IC2NuclearFake) new GT_Recipe_Map_IC2NuclearFake()
- .setDisableOptimize(true);
-
- static {
- sCentrifugeRecipes.addDownstream(sMultiblockCentrifugeRecipes.deepCopyInput());
- sMixerRecipes.addDownstream(sMultiblockMixerRecipes.deepCopyInput());
- sElectrolyzerRecipes.addDownstream(sMultiblockElectrolyzerRecipes.deepCopyInput());
- sDieselFuels.addDownstream(
- IGT_RecipeMap.newRecipeMap(
- b -> b.build()
- .map(sLargeBoilerFakeFuels::addDieselRecipe)
- .map(Collections::singletonList)
- .orElse(Collections.emptyList())));
- sDenseLiquidFuels.addDownstream(
- IGT_RecipeMap.newRecipeMap(
- b -> b.build()
- .map(sLargeBoilerFakeFuels::addDenseLiquidRecipe)
- .map(Collections::singletonList)
- .orElse(Collections.emptyList())));
- }
-
- @Nullable
- public static GT_Recipe_Map findRecipeMap(@Nonnull String unlocalizedName) {
- return sMappings.stream()
- .filter(m -> unlocalizedName.equals(m.mUnlocalizedName))
- .findFirst()
- .orElse(null);
- }
-
- /**
- * HashMap of Recipes based on their Items
- */
- public final Map<GT_ItemStack, Collection<GT_Recipe>> mRecipeItemMap = new /* Concurrent */ HashMap<>();
- /**
- * HashMap of Recipes based on their Fluids
- */
- public final Map<String, Collection<GT_Recipe>> mRecipeFluidMap = new HashMap<>();
-
- public final HashSet<String> mRecipeFluidNameMap = new HashSet<>();
- /**
- * The List of all Recipes
- */
- public final Collection<GT_Recipe> mRecipeList;
- /**
- * String used as an unlocalised Name.
- */
- public final String mUnlocalizedName;
- /**
- * String used in NEI for the Recipe Lists. If null it will use the unlocalised Name instead
- */
- public final String mNEIName;
- /**
- * GUI used for NEI Display. Usually the GUI of the Machine itself
- */
- public final String mNEIGUIPath;
-
- public final String mNEISpecialValuePre, mNEISpecialValuePost;
- public final int mUsualInputCount, mUsualOutputCount, mNEISpecialValueMultiplier, mMinimalInputItems,
- mMinimalInputFluids, mAmperage;
- public final boolean mNEIAllowed, mShowVoltageAmperageInNEI;
-
- /**
- * Whether to show oredict equivalent outputs when NEI is queried to show recipe
- */
- public boolean mNEIUnificateOutput = true;
-
- /**
- * Unique identifier for this recipe map. Generated from aUnlocalizedName and a few other parameters. See
- * constructor for details.
- */
- public final String mUniqueIdentifier;
-
- /**
- * Whether this recipe map contains any fluid outputs.
- */
- private boolean mHasFluidOutputs = false;
-
- /**
- * Whether this recipe map contains special slot inputs.
- */
- private boolean mUsesSpecialSlot = false;
-
- /**
- * Whether this recipemap checks for equality of special slot when searching recipe.
- */
- private boolean isSpecialSlotSensitive = false;
-
- /**
- * How many fluid inputs does this recipemap has at most. Currently used only for NEI slot placements and does
- * not actually restrict number of fluids used in the recipe.
- */
- private int usualFluidInputCount;
-
- /**
- * How many fluid outputs does this recipemap has at most. Currently used only for NEI slot placements and does
- * not actually restrict number of fluids used in the recipe.
- */
- private int usualFluidOutputCount;
-
- /**
- * Whether to use ModularUI for slot placements.
- */
- public boolean useModularUI = false;
-
- /**
- * Overlays used for GUI. 1 = If it's fluid slot. 2 = If it's output slot. 4 = If it's first slot in the same
- * section, e.g. first slot in the item output slots 8 = If it's special item slot.
- */
- private final TByteObjectMap<IDrawable> slotOverlays = new TByteObjectHashMap<>();
-
- /**
- * Overlays used for GUI on steam machine. 1 = If it's fluid slot. 2 = If it's output slot. 4 = If it's first
- * slot in the same section, e.g. first slot in the item output slots 8 = If it's special item slot.
- */
- private final TByteObjectMap<SteamTexture> slotOverlaysSteam = new TByteObjectHashMap<>();
-
- /**
- * Progressbar used for BasicMachine GUI and/or NEI. Unless specified, size should be (20, 36), consisting of
- * two parts; First is (20, 18) size of "empty" image at the top, Second is (20, 18) size of "filled" image at
- * the bottom.
- */
- private FallbackableUITexture progressBarTexture;
-
- /**
- * Progressbar used for steam machine GUI and/or NEI. Unless specified, size should be (20, 36), consisting of
- * two parts; First is (20, 18) size of "empty" image at the top, Second is (20, 18) size of "filled" image at
- * the bottom.
- */
- private FallbackableSteamTexture progressBarTextureSteam;
-
- public ProgressBar.Direction progressBarDirection = ProgressBar.Direction.RIGHT;
-
- public Size progressBarSize = new Size(20, 18);
-
- public Pos2d progressBarPos = new Pos2d(78, 24);
-
- public Rectangle neiTransferRect = new Rectangle(
- progressBarPos.x - (16 / 2),
- progressBarPos.y,
- progressBarSize.width + 16,
- progressBarSize.height);
-
- /**
- * Image size in direction of progress. Used for non-smooth rendering.
- */
- private int progressBarImageSize;
-
- /**
- * Additional textures shown on GUI.
- */
- public final List<Pair<IDrawable, Pair<Size, Pos2d>>> specialTextures = new ArrayList<>();
-
- /**
- * Additional textures shown on steam machine GUI.
- */
- public final List<Pair<SteamTexture, Pair<Size, Pos2d>>> specialTexturesSteam = new ArrayList<>();
-
- public IDrawable logo = GT_UITextures.PICTURE_GT_LOGO_17x17_TRANSPARENT;
-
- public Pos2d logoPos = new Pos2d(152, 63);
-
- public Size logoSize = new Size(17, 17);
-
- public Pos2d neiBackgroundOffset = new Pos2d(2, 3);
-
- public Size neiBackgroundSize = new Size(172, 82);
-
- protected final GT_GUIColorOverride colorOverride;
- private int neiTextColorOverride = -1;
-
- private INEISpecialInfoFormatter neiSpecialInfoFormatter;
-
- private final boolean checkForCollision = true;
- private boolean allowNoInput;
- private boolean allowNoInputFluid;
- private boolean allowNoOutput;
- private boolean allowNoOutputFluid;
- private boolean disableOptimize = false;
- private Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> recipeEmitter = this::defaultBuildRecipe;
- private Function<? super GT_Recipe, ? extends GT_Recipe> specialHandler;
- private String recipeConfigCategory;
- private Function<? super GT_Recipe, String> recipeConfigKeyConvertor;
- private final List<IGT_RecipeMap> downstreams = new ArrayList<>(0);
-
- /**
- * Flag if a comparator should be used to search the recipe in NEI (which is defined in {@link Power}). Else
- * only the voltage will be used to find recipes
- */
- public boolean useComparatorForNEI;
-
- /**
- * Whether to render the actual size of stacks or a size of 1.
- */
- public boolean renderRealStackSizes = true;
-
- /**
- * Initialises a new type of Recipe Handler.
- *
- * @param aRecipeList a List you specify as Recipe List. Usually just an ArrayList with a
- * pre-initialised Size.
- * @param aUnlocalizedName the unlocalised Name of this Recipe Handler, used mainly for NEI.
- * @param aLocalName @deprecated the displayed Name inside the NEI Recipe GUI for optionally
- * registering aUnlocalizedName
- * with the language manager
- * @param aNEIGUIPath the displayed GUI Texture, usually just a Machine GUI. Auto-Attaches ".png"
- * if forgotten.
- * @param aUsualInputCount the usual amount of Input Slots this Recipe Class has.
- * @param aUsualOutputCount the usual amount of Output Slots this Recipe Class has.
- * @param aNEISpecialValuePre the String in front of the Special Value in NEI.
- * @param aNEISpecialValueMultiplier the Value the Special Value is getting Multiplied with before displaying
- * @param aNEISpecialValuePost the String after the Special Value. Usually for a Unit or something.
- * @param aNEIAllowed if NEI is allowed to display this Recipe Handler in general.
- */
- public GT_Recipe_Map(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- sMappings.add(this);
- mNEIAllowed = aNEIAllowed;
- mShowVoltageAmperageInNEI = aShowVoltageAmperageInNEI;
- mRecipeList = aRecipeList;
- mNEIName = aNEIName == null ? aUnlocalizedName : aNEIName;
- mNEIGUIPath = aNEIGUIPath.endsWith(".png") ? aNEIGUIPath : aNEIGUIPath + ".png";
- mNEISpecialValuePre = aNEISpecialValuePre;
- mNEISpecialValueMultiplier = aNEISpecialValueMultiplier;
- mNEISpecialValuePost = aNEISpecialValuePost;
- mAmperage = aAmperage;
- mUsualInputCount = aUsualInputCount;
- mUsualOutputCount = aUsualOutputCount;
- mMinimalInputItems = aMinimalInputItems;
- mMinimalInputFluids = aMinimalInputFluids;
- GregTech_API.sItemStackMappings.add(mRecipeItemMap);
- mUnlocalizedName = aUnlocalizedName;
- if (aLocalName != null) {
- GT_LanguageManager.addStringLocalization(mUnlocalizedName, aLocalName);
- }
- mUniqueIdentifier = String.format(
- "%s_%d_%d_%d_%d_%d",
- aUnlocalizedName,
- aAmperage,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputFluids,
- aMinimalInputItems);
- progressBarTexture = new FallbackableUITexture(
- UITexture.fullImage(GregTech.ID, "gui/progressbar/" + mUnlocalizedName),
- GT_UITextures.PROGRESSBAR_ARROW);
- colorOverride = GT_GUIColorOverride.get(ModularUITextures.VANILLA_BACKGROUND.location);
- if (sIndexedMappings.put(mUniqueIdentifier, this) != null)
- throw new IllegalArgumentException("Duplicate recipe map registered: " + mUniqueIdentifier);
- }
-
- @Deprecated
- public GT_Recipe_Map(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed,
- boolean aNEIUnificateOutput) {
- this(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- setNEIUnificateOutput(aNEIUnificateOutput);
- }
-
- public GT_Recipe_Map setDisableOptimize(boolean disableOptimize) {
- this.disableOptimize = disableOptimize;
- return this;
- }
-
- public GT_Recipe_Map setSpecialSlotSensitive(boolean isSpecialSlotSensitive) {
- this.isSpecialSlotSensitive = isSpecialSlotSensitive;
- return this;
- }
-
- public GT_Recipe_Map setNEIUnificateOutput(boolean mNEIUnificateOutput) {
- this.mNEIUnificateOutput = mNEIUnificateOutput;
- return this;
- }
-
- public GT_Recipe_Map useComparatorForNEI(boolean use) {
- this.useComparatorForNEI = use;
- return this;
- }
-
- public GT_Recipe_Map setRenderRealStackSizes(boolean renderRealStackSizes) {
- this.renderRealStackSizes = renderRealStackSizes;
- return this;
- }
-
- public GT_Recipe_Map useModularUI(boolean use) {
- this.useModularUI = use;
- return this;
- }
-
- public GT_Recipe_Map setSlotOverlay(boolean isFluid, boolean isOutput, boolean isFirst, boolean isSpecial,
- IDrawable slotOverlay) {
- useModularUI(true);
- this.slotOverlays.put(
- (byte) ((isFluid ? 1 : 0) + (isOutput ? 2 : 0) + (isFirst ? 4 : 0) + (isSpecial ? 8 : 0)),
- slotOverlay);
- return this;
- }
-
- public GT_Recipe_Map setSlotOverlay(boolean isFluid, boolean isOutput, boolean isFirst, IDrawable slotOverlay) {
- return setSlotOverlay(isFluid, isOutput, isFirst, false, slotOverlay);
- }
-
- public GT_Recipe_Map setSlotOverlay(boolean isFluid, boolean isOutput, IDrawable slotOverlay) {
- return setSlotOverlay(isFluid, isOutput, true, slotOverlay)
- .setSlotOverlay(isFluid, isOutput, false, slotOverlay);
- }
-
- public GT_Recipe_Map setSlotOverlaySteam(boolean isFluid, boolean isOutput, boolean isFirst, boolean isSpecial,
- SteamTexture slotOverlay) {
- useModularUI(true);
- this.slotOverlaysSteam.put(
- (byte) ((isFluid ? 1 : 0) + (isOutput ? 2 : 0) + (isFirst ? 4 : 0) + (isSpecial ? 8 : 0)),
- slotOverlay);
- return this;
- }
-
- public GT_Recipe_Map setSlotOverlaySteam(boolean isOutput, boolean isFirst, SteamTexture slotOverlay) {
- return setSlotOverlaySteam(false, isOutput, isFirst, false, slotOverlay);
- }
-
- public GT_Recipe_Map setSlotOverlaySteam(boolean isOutput, SteamTexture slotOverlay) {
- return setSlotOverlaySteam(false, isOutput, true, false, slotOverlay)
- .setSlotOverlaySteam(false, isOutput, false, false, slotOverlay);
- }
-
- public GT_Recipe_Map setProgressBar(UITexture progressBarTexture, ProgressBar.Direction progressBarDirection) {
- return setProgressBarWithFallback(
- new FallbackableUITexture(
- UITexture.fullImage(GregTech.ID, "gui/progressbar/" + mUnlocalizedName),
- progressBarTexture),
- progressBarDirection);
- }
-
- public GT_Recipe_Map setProgressBar(UITexture progressBarTexture) {
- return setProgressBar(progressBarTexture, ProgressBar.Direction.RIGHT);
- }
-
- /**
- * Some resource packs want to use custom progress bar textures even for plain arrow. This method allows them to
- * add unique textures, yet other packs don't need to make textures for every recipemap.
- */
- public GT_Recipe_Map setProgressBarWithFallback(FallbackableUITexture progressBarTexture,
- ProgressBar.Direction progressBarDirection) {
- useModularUI(true);
- this.progressBarTexture = progressBarTexture;
- this.progressBarDirection = progressBarDirection;
- return this;
- }
-
- public GT_Recipe_Map setProgressBarSteam(SteamTexture progressBarTexture) {
- return setProgressBarSteamWithFallback(
- new FallbackableSteamTexture(
- SteamTexture.fullImage(GregTech.ID, "gui/progressbar/" + mUnlocalizedName + "_%s"),
- progressBarTexture));
- }
-
- public GT_Recipe_Map setProgressBarSteamWithFallback(FallbackableSteamTexture progressBarTexture) {
- this.progressBarTextureSteam = progressBarTexture;
- return this;
- }
-
- public GT_Recipe_Map setProgressBarSize(int x, int y) {
- useModularUI(true);
- this.progressBarSize = new Size(x, y);
- return this;
- }
-
- public GT_Recipe_Map setProgressBarPos(int x, int y) {
- useModularUI(true);
- this.progressBarPos = new Pos2d(x, y);
- return this;
- }
-
- public GT_Recipe_Map setProgressBarImageSize(int progressBarImageSize) {
- useModularUI(true);
- this.progressBarImageSize = progressBarImageSize;
- return this;
- }
-
- public GT_Recipe_Map setNEITransferRect(Rectangle neiTransferRect) {
- useModularUI(true);
- this.neiTransferRect = neiTransferRect;
- return this;
- }
-
- public GT_Recipe_Map addSpecialTexture(int width, int height, int x, int y, IDrawable texture) {
- useModularUI(true);
- specialTextures
- .add(new ImmutablePair<>(texture, new ImmutablePair<>(new Size(width, height), new Pos2d(x, y))));
- return this;
- }
-
- public GT_Recipe_Map addSpecialTextureSteam(int width, int height, int x, int y, SteamTexture texture) {
- useModularUI(true);
- specialTexturesSteam
- .add(new ImmutablePair<>(texture, new ImmutablePair<>(new Size(width, height), new Pos2d(x, y))));
- return this;
- }
-
- public GT_Recipe_Map setUsualFluidInputCount(int usualFluidInputCount) {
- useModularUI(true);
- this.usualFluidInputCount = usualFluidInputCount;
- return this;
- }
-
- public GT_Recipe_Map setUsualFluidOutputCount(int usualFluidOutputCount) {
- useModularUI(true);
- this.usualFluidOutputCount = usualFluidOutputCount;
- return this;
- }
-
- public GT_Recipe_Map setLogo(IDrawable logo) {
- useModularUI(true);
- this.logo = logo;
- return this;
- }
-
- public GT_Recipe_Map setLogoPos(int x, int y) {
- useModularUI(true);
- this.logoPos = new Pos2d(x, y);
- return this;
- }
-
- public GT_Recipe_Map setLogoSize(int width, int height) {
- useModularUI(true);
- this.logoSize = new Size(width, height);
- return this;
- }
-
- public GT_Recipe_Map setNEIBackgroundOffset(int x, int y) {
- useModularUI(true);
- this.neiBackgroundOffset = new Pos2d(x, y);
- return this;
- }
-
- public GT_Recipe_Map setNEIBackgroundSize(int width, int height) {
- useModularUI(true);
- this.neiBackgroundSize = new Size(width, height);
- return this;
- }
-
- public GT_Recipe_Map setNEISpecialInfoFormatter(INEISpecialInfoFormatter neiSpecialInfoFormatter) {
- this.neiSpecialInfoFormatter = neiSpecialInfoFormatter;
- return this;
- }
-
- /**
- * Change how recipes are emitted by a particular recipe builder. Can emit multiple recipe per builder.
- */
- public GT_Recipe_Map setRecipeEmitter(
- Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> func) {
- this.recipeEmitter = func;
- return this;
- }
-
- /**
- * Change how recipes are emitted by a particular recipe builder. Can emit multiple recipe per builder.
- * <p>
- * Unlike {@link #setRecipeEmitter(Function)}, this one does not clear the existing recipe being emitted, if any
- */
- public GT_Recipe_Map combineRecipeEmitter(
- Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> func) {
- // move recipeEmitter to local variable, so lambda capture the function itself instead of this
- Function<? super GT_RecipeBuilder, ? extends Iterable<? extends GT_Recipe>> cur = recipeEmitter;
- this.recipeEmitter = b -> Iterables.concat(cur.apply(b), func.apply(b));
- return this;
- }
-
- /**
- * Change how recipes are emitted by a particular recipe builder. Should not return null.
- */
- public GT_Recipe_Map setRecipeEmitterSingle(Function<? super GT_RecipeBuilder, ? extends GT_Recipe> func) {
- return setRecipeEmitter(func.andThen(Collections::singletonList));
- }
-
- /**
- * Change how recipes are emitted by a particular recipe builder. Effectively add a new recipe per recipe added.
- * func must not return null.
- * <p>
- * Unlike {@link #setRecipeEmitter(Function)}, this one does not clear the existing recipe being emitted, if any
- */
- public GT_Recipe_Map combineRecipeEmitterSingle(Function<? super GT_RecipeBuilder, ? extends GT_Recipe> func) {
- return combineRecipeEmitter(func.andThen(Collections::singletonList));
- }
-
- private static <T> Function<? super T, ? extends T> withIdentityReturn(Consumer<T> func) {
- return r -> {
- func.accept(r);
- return r;
- };
- }
-
- /**
- * Run a custom hook on all recipes added <b>via builder</b>. For more complicated behavior subclass this, then
- * override {@link #doAdd(GT_RecipeBuilder)}
- *
- * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
- */
- public GT_Recipe_Map setRecipeSpecialHandler(Function<? super GT_Recipe, ? extends GT_Recipe> func) {
- this.specialHandler = func;
- return this;
- }
-
- /**
- * Run a custom hook on all recipes added <b>via builder</b>. For more complicated behavior, create a subclass
- * and override {@link #doAdd(GT_RecipeBuilder)}
- *
- * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
- */
- public GT_Recipe_Map setRecipeSpecialHandler(Consumer<GT_Recipe> func) {
- return setRecipeSpecialHandler(withIdentityReturn(func));
- }
-
- /**
- * Run a custom hook on all recipes added <b>via builder</b>. For more complicated behavior subclass this, then
- * override {@link #doAdd(GT_RecipeBuilder)}.
- * <p>
- * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
- * <p>
- * Unlike {@link #setRecipeSpecialHandler(Function)}, this one will not replace the existing special handler.
- * The supplied function will be given the output of existing handler when a recipe is added.
- */
- public GT_Recipe_Map chainRecipeSpecialHandler(Function<? super GT_Recipe, ? extends GT_Recipe> func) {
- this.specialHandler = specialHandler == null ? func : specialHandler.andThen(func);
- return this;
- }
-
- /**
- * Run a custom hook on all recipes added <b>via builder</b>. For more complicated behavior subclass this, then
- * override {@link #doAdd(GT_RecipeBuilder)}.
- * <p>
- * Recipes added via one of the overloads of addRecipe will NOT be affected by this function.
- * <p>
- * Unlike {@link #setRecipeSpecialHandler(Function)}, this one will not replace the existing special handler.
- * The supplied function will be given the output of existing handler when a recipe is added.
- */
- public GT_Recipe_Map chainRecipeSpecialHandler(Consumer<GT_Recipe> func) {
- return chainRecipeSpecialHandler(withIdentityReturn(func));
- }
-
- public GT_Recipe_Map setRecipeConfigFile(String category, Function<? super GT_Recipe, String> keyConvertor) {
- if (StringUtils.isBlank(category) || keyConvertor == null) throw new IllegalArgumentException();
- this.recipeConfigCategory = category;
- this.recipeConfigKeyConvertor = keyConvertor;
- return this;
- }
-
- @Override
- public void addDownstream(IGT_RecipeMap downstream) {
- this.downstreams.add(downstream);
- }
-
- public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial,
- int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue) {
- return addRecipe(
- new GT_Recipe(
- aOptimize,
- aInputs,
- aOutputs,
- aSpecial,
- aOutputChances,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue));
- }
-
- public GT_Recipe addRecipe(int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs,
- int aDuration, int aEUt, int aSpecialValue) {
- return addRecipe(
- new GT_Recipe(
- false,
- null,
- null,
- null,
- aOutputChances,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue),
- false,
- false,
- false);
- }
-
- public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial,
- FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
- return addRecipe(
- new GT_Recipe(
- aOptimize,
- aInputs,
- aOutputs,
- aSpecial,
- null,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue));
- }
-
- public GT_Recipe addRecipe(GT_Recipe aRecipe) {
- return addRecipe(aRecipe, true, false, false);
- }
-
- protected GT_Recipe addRecipe(GT_Recipe aRecipe, boolean aCheckForCollisions, boolean aFakeRecipe,
- boolean aHidden) {
- aRecipe.mHidden = aHidden;
- aRecipe.mFakeRecipe = aFakeRecipe;
- if (aRecipe.mFluidInputs.length < mMinimalInputFluids && aRecipe.mInputs.length < mMinimalInputItems)
- return null;
- if (aCheckForCollisions
- && findRecipe(null, false, true, Long.MAX_VALUE, aRecipe.mFluidInputs, aRecipe.mInputs) != null)
- return null;
- return add(aRecipe);
- }
-
- /**
- * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes!
- * findRecipe wont find fake Recipes, containsInput WILL find fake Recipes
- */
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration,
- int aEUt, int aSpecialValue) {
- return addFakeRecipe(
- aCheckForCollisions,
- new GT_Recipe(
- false,
- aInputs,
- aOutputs,
- aSpecial,
- aOutputChances,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue));
- }
-
- /**
- * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes!
- * findRecipe wont find fake Recipes, containsInput WILL find fake Recipes
- */
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue) {
- return addFakeRecipe(
- aCheckForCollisions,
- new GT_Recipe(
- false,
- aInputs,
- aOutputs,
- aSpecial,
- null,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue));
- }
-
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue, boolean hidden) {
- return addFakeRecipe(
- aCheckForCollisions,
- new GT_Recipe(
- false,
- aInputs,
- aOutputs,
- aSpecial,
- null,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue),
- hidden);
- }
-
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue, ItemStack[][] aAlt, boolean hidden) {
- return addFakeRecipe(
- aCheckForCollisions,
- new GT_Recipe_WithAlt(
- false,
- aInputs,
- aOutputs,
- aSpecial,
- null,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue,
- aAlt),
- hidden);
- }
-
- /**
- * Only used for fake Recipe Handlers to show something in NEI, do not use this for adding actual Recipes!
- * findRecipe wont find fake Recipes, containsInput WILL find fake Recipes
- */
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) {
- return addRecipe(aRecipe, aCheckForCollisions, true, false);
- }
-
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe, boolean hidden) {
- return addRecipe(aRecipe, aCheckForCollisions, true, hidden);
- }
-
- @Nonnull
- @Override
- public Collection<GT_Recipe> doAdd(GT_RecipeBuilder builder) {
- Iterable<? extends GT_Recipe> recipes = recipeEmitter.apply(builder);
- Collection<GT_Recipe> ret = new ArrayList<>();
- for (GT_Recipe r : recipes) {
- if (recipeConfigCategory != null) {
- String configKey = recipeConfigKeyConvertor.apply(r);
- if (configKey != null
- && (r.mDuration = GregTech_API.sRecipeFile.get(recipeConfigCategory, configKey, r.mDuration))
- <= 0) {
- continue;
- }
- }
- if (r.mFluidInputs.length < mMinimalInputFluids && r.mInputs.length < mMinimalInputItems) return null;
- if (r.mSpecialValue == 0) {
- // new style cleanroom/lowgrav handling
- int specialValue = 0;
- if (builder.getMetadata(GT_RecipeConstants.LOW_GRAVITY, false)) specialValue -= 100;
- if (builder.getMetadata(GT_RecipeConstants.CLEANROOM, false)) specialValue -= 200;
- for (GT_RecipeBuilder.MetadataIdentifier<Integer> ident : SPECIAL_VALUE_ALIASES) {
- Integer metadata = builder.getMetadata(ident, null);
- if (metadata != null) {
- specialValue = metadata;
- break;
- }
- }
- r.mSpecialValue = specialValue;
- }
- if (specialHandler != null) r = specialHandler.apply(r);
- if (r == null) continue;
- if (checkForCollision
- && findRecipe(null, false, true, Long.MAX_VALUE, r.mFluidInputs, r.mInputs) != null) {
- StringBuilder errorInfo = new StringBuilder();
- boolean hasAnEntry = false;
- for (FluidStack fStack : r.mFluidInputs) {
- if (fStack == null) {
- continue;
- }
- String s = fStack.getLocalizedName();
- if (s == null) {
- continue;
- }
- if (hasAnEntry) {
- errorInfo.append("+")
- .append(s);
- } else {
- errorInfo.append(s);
- }
- hasAnEntry = true;
- }
- for (ItemStack iStack : r.mInputs) {
- if (iStack == null) {
- continue;
- }
- String s = iStack.getDisplayName();
- if (hasAnEntry) {
- errorInfo.append("+")
- .append(s);
- } else {
- errorInfo.append(s);
- }
- hasAnEntry = true;
- }
- handleRecipeCollision(errorInfo.toString());
- continue;
- }
- ret.add(add(r));
- }
- if (!ret.isEmpty()) {
- builder.clearInvalid();
- for (IGT_RecipeMap downstream : downstreams) {
- downstream.doAdd(builder);
- }
- }
- return ret;
- }
-
- public final Iterable<? extends GT_Recipe> defaultBuildRecipe(GT_RecipeBuilder builder) {
- // TODO sensible validation
- GT_RecipeBuilder b = builder;
- if (disableOptimize && builder.optimize) {
- b = copy(builder, b).noOptimize();
- }
- return buildOrEmpty(b);
- }
-
- private static GT_RecipeBuilder copy(GT_RecipeBuilder original, GT_RecipeBuilder b) {
- return b == original ? b.copy() : b;
- }
-
- public GT_Recipe add(GT_Recipe aRecipe) {
- mRecipeList.add(aRecipe);
- for (FluidStack aFluid : aRecipe.mFluidInputs) {
- if (aFluid != null) {
- Collection<GT_Recipe> tList = mRecipeFluidMap.computeIfAbsent(
- aFluid.getFluid()
- .getName(),
- k -> new HashSet<>(1));
- tList.add(aRecipe);
- mRecipeFluidNameMap.add(
- aFluid.getFluid()
- .getName());
- }
- }
- if (aRecipe.mFluidOutputs.length != 0) {
- this.mHasFluidOutputs = true;
- }
- if (aRecipe.mSpecialItems != null) {
- this.mUsesSpecialSlot = true;
- }
- return addToItemMap(aRecipe);
- }
-
- public void reInit() {
- mRecipeItemMap.clear();
- for (GT_Recipe tRecipe : mRecipeList) {
- GT_OreDictUnificator.setStackArray(true, tRecipe.mInputs);
- GT_OreDictUnificator.setStackArray(true, tRecipe.mOutputs);
- addToItemMap(tRecipe);
- }
- }
-
- /**
- * @return if this Item is a valid Input for any for the Recipes
- */
- public boolean containsInput(ItemStack aStack) {
- return aStack != null && (mRecipeItemMap.containsKey(new GT_ItemStack(aStack))
- || mRecipeItemMap.containsKey(new GT_ItemStack(aStack, true)));
- }
-
- /**
- * @return if this Fluid is a valid Input for any for the Recipes
- */
- public boolean containsInput(FluidStack aFluid) {
- return aFluid != null && containsInput(aFluid.getFluid());
- }
-
- /**
- * @return if this Fluid is a valid Input for any for the Recipes
- */
- public boolean containsInput(Fluid aFluid) {
- return aFluid != null && mRecipeFluidNameMap.contains(aFluid.getName());
- }
-
- @Nullable
- public final GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, boolean aNotUnificated, long aVoltage,
- FluidStack[] aFluids, ItemStack... aInputs) {
- return findRecipe(aTileEntity, null, aNotUnificated, aVoltage, aFluids, null, aInputs);
- }
-
- @Nullable
- public final GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, boolean aNotUnificated,
- boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids, ItemStack... aInputs) {
- return findRecipe(
- aTileEntity,
- null,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- null,
- aInputs);
- }
-
- @Nullable
- public final GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe,
- boolean aNotUnificated, long aVoltage, FluidStack[] aFluids, ItemStack... aInputs) {
- return findRecipe(aTileEntity, aRecipe, aNotUnificated, aVoltage, aFluids, null, aInputs);
- }
-
- @Nullable
- public final GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack... aInputs) {
- return findRecipe(
- aTileEntity,
- aRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- null,
- aInputs);
- }
-
- @Nullable
- public final GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe,
- boolean aNotUnificated, long aVoltage, FluidStack[] aFluids, ItemStack aSpecialSlot, ItemStack... aInputs) {
- return findRecipe(aTileEntity, aRecipe, aNotUnificated, false, aVoltage, aFluids, aSpecialSlot, aInputs);
- }
-
- // TODO: make this final after migrating BW
- @SuppressWarnings("unused")
- @Nullable
- public GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe, boolean aNotUnificated,
- boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids, ItemStack aSpecialSlot,
- ItemStack... aInputs) {
- FindRecipeResult result = findRecipeWithResult(
- aRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- return result.isSuccessful() ? result.getRecipe() : null;
- }
-
- /**
- * finds a Recipe matching the aFluid and ItemStack Inputs.
- *
- * @param aRecipe in case this is != null it will try to use this Recipe first when looking things
- * up.
- * @param aNotUnificated if this is T the Recipe searcher will unificate the ItemStack Inputs
- * @param aDontCheckStackSizes if set to false will only return recipes that can be executed at least once with
- * the provided input
- * @param aVoltage Voltage of the Machine or Long.MAX_VALUE if it has no Voltage
- * @param aFluids the Fluid Inputs
- * @param aSpecialSlot the content of the Special Slot, the regular Manager doesn't do anything with
- * this, but some custom ones do.
- * @param aInputs the Item Inputs
- * @return Result of the recipe search
- */
- @Nonnull
- public final FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, boolean aNotUnificated,
- boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids, ItemStack aSpecialSlot,
- ItemStack... aInputs) {
- return findRecipeWithResult(
- aRecipe,
- recipe -> aVoltage * mAmperage >= recipe.mEUt,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- }
-
- /**
- * finds a Recipe matching the aFluid and ItemStack Inputs.
- *
- * @param aRecipe in case this is != null it will try to use this Recipe first when looking things
- * up.
- * @param aIsValidRecipe predicate to help identify, if the recipe matches our machine
- * @param aNotUnificated if this is T the Recipe searcher will unificate the ItemStack Inputs
- * @param aDontCheckStackSizes if set to false will only return recipes that can be executed at least once with
- * the provided input
- * @param aVoltage Voltage of the Machine or Long.MAX_VALUE if it has no Voltage
- * @param aFluids the Fluid Inputs
- * @param aSpecialSlot the content of the Special Slot, the regular Manager doesn't do anything with
- * this, but some custom ones do.
- * @param aInputs the Item Inputs
- * @return Result of the recipe search
- */
- @Nonnull
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- // No Recipes? Well, nothing to be found then.
- if (mRecipeList.isEmpty()) return NOT_FOUND;
-
- // Some Recipe Classes require a certain amount of Inputs of certain kinds. Like "at least 1 Fluid + 1
- // Stack" or "at least 2 Stacks" before they start searching for Recipes.
- // This improves Performance massively, especially if people leave things like Circuits, Molds or Shapes in
- // their Machines to select Sub Recipes.
- if (GregTech_API.sPostloadFinished) {
- if (mMinimalInputFluids > 0) {
- if (aFluids == null) return NOT_FOUND;
- int tAmount = 0;
- for (FluidStack aFluid : aFluids) if (aFluid != null) tAmount++;
- if (tAmount < mMinimalInputFluids) return NOT_FOUND;
- }
- if (mMinimalInputItems > 0) {
- if (aInputs == null) return NOT_FOUND;
- int tAmount = 0;
- for (ItemStack aInput : aInputs) if (aInput != null) tAmount++;
- if (tAmount < mMinimalInputItems) return NOT_FOUND;
- }
- }
-
- // Unification happens here in case the Input isn't already unificated.
- if (aNotUnificated) aInputs = GT_OreDictUnificator.getStackArray(true, (Object[]) aInputs);
-
- // Check the Recipe which has been used last time in order to not have to search for it again, if possible.
- if (aRecipe != null) if (!aRecipe.mFakeRecipe && aRecipe.mCanBeBuffered
- && aRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) {
- if (!isSpecialSlotSensitive
- || GT_Utility.areStacksEqualOrNull((ItemStack) aRecipe.mSpecialItems, aSpecialSlot)) {
- if (aRecipe.mEnabled && aIsValidRecipe.test(aRecipe)) {
- return ofSuccess(aRecipe);
- }
- }
- }
-
- // Now look for the Recipes inside the Item HashMaps, but only when the Recipes usually have Items.
- if (mUsualInputCount > 0 && aInputs != null) for (ItemStack tStack : aInputs) if (tStack != null) {
- Collection<GT_Recipe> tRecipes = mRecipeItemMap.get(new GT_ItemStack(tStack));
- if (tRecipes != null) for (GT_Recipe tRecipe : tRecipes) if (!tRecipe.mFakeRecipe
- && tRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) {
- if (!isSpecialSlotSensitive
- || GT_Utility.areStacksEqualOrNull((ItemStack) tRecipe.mSpecialItems, aSpecialSlot)) {
- if (tRecipe.mEnabled && aIsValidRecipe.test(tRecipe)) {
- return ofSuccess(tRecipe);
- }
- }
- }
- tRecipes = mRecipeItemMap.get(new GT_ItemStack(tStack, true));
- if (tRecipes != null) for (GT_Recipe tRecipe : tRecipes) if (!tRecipe.mFakeRecipe
- && tRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) {
- if (!isSpecialSlotSensitive
- || GT_Utility.areStacksEqualOrNull((ItemStack) tRecipe.mSpecialItems, aSpecialSlot)) {
- if (tRecipe.mEnabled && aIsValidRecipe.test(tRecipe)) {
- return ofSuccess(tRecipe);
- }
- }
- }
- }
-
- // If the minimal Amount of Items for the Recipe is 0, then it could be a Fluid-Only Recipe, so check that
- // Map too.
- if (mMinimalInputItems == 0 && aFluids != null) for (FluidStack aFluid : aFluids) if (aFluid != null) {
- Collection<GT_Recipe> tRecipes = mRecipeFluidMap.get(
- aFluid.getFluid()
- .getName());
- if (tRecipes != null) for (GT_Recipe tRecipe : tRecipes) if (!tRecipe.mFakeRecipe
- && tRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) {
- if (!isSpecialSlotSensitive
- || GT_Utility.areStacksEqualOrNull((ItemStack) tRecipe.mSpecialItems, aSpecialSlot)) {
- if (tRecipe.mEnabled && aIsValidRecipe.test(tRecipe)) {
- return ofSuccess(tRecipe);
- }
- }
- }
- }
-
- // And nothing has been found.
- return NOT_FOUND;
- }
-
- protected GT_Recipe addToItemMap(GT_Recipe aRecipe) {
- for (ItemStack aStack : aRecipe.mInputs) if (aStack != null) {
- GT_ItemStack tStack = new GT_ItemStack(aStack);
- Collection<GT_Recipe> tList = mRecipeItemMap.computeIfAbsent(tStack, k -> new HashSet<>(1));
- tList.add(aRecipe);
- }
- return aRecipe;
- }
-
- /**
- * Whether this recipe map contains any fluid outputs.
- */
- public boolean hasFluidOutputs() {
- return mHasFluidOutputs;
- }
-
- /**
- * Whether this recipe map contains any fluid inputs.
- */
- public boolean hasFluidInputs() {
- return mRecipeFluidNameMap.size() != 0;
- }
-
- /**
- * Whether this recipe map contains special slot inputs.
- */
- public boolean usesSpecialSlot() {
- return mUsesSpecialSlot;
- }
-
- public int getUsualFluidInputCount() {
- return Math.max(usualFluidInputCount, hasFluidInputs() ? 1 : 0);
- }
-
- public int getUsualFluidOutputCount() {
- return Math.max(usualFluidOutputCount, hasFluidOutputs() ? 1 : 0);
- }
-
- @Nullable
- public IDrawable getOverlayForSlot(boolean isFluid, boolean isOutput, int index, boolean isSpecial) {
- byte overlayKey = (byte) ((isFluid ? 1 : 0) + (isOutput ? 2 : 0)
- + (index == 0 ? 4 : 0)
- + (isSpecial ? 8 : 0));
- if (slotOverlays.containsKey(overlayKey)) {
- return slotOverlays.get(overlayKey);
- }
- return null;
- }
-
- @Nullable
- public SteamTexture getOverlayForSlotSteam(boolean isFluid, boolean isOutput, int index, boolean isSpecial) {
- byte overlayKey = (byte) ((isFluid ? 1 : 0) + (isOutput ? 2 : 0)
- + (index == 0 ? 4 : 0)
- + (isSpecial ? 8 : 0));
- if (slotOverlaysSteam.containsKey(overlayKey)) {
- return slotOverlaysSteam.get(overlayKey);
- }
- return null;
- }
-
- @Nullable
- public SteamTexture getOverlayForSlotSteam(boolean isOutput, boolean isFirst) {
- byte overlayKey = (byte) ((isOutput ? 2 : 0) + (isFirst ? 4 : 0));
- if (slotOverlaysSteam.containsKey(overlayKey)) {
- return slotOverlaysSteam.get(overlayKey);
- }
- return null;
- }
-
- public UITexture getProgressBarTexture() {
- return progressBarTexture.get();
- }
-
- public FallbackableUITexture getProgressBarTextureRaw() {
- return progressBarTexture;
- }
-
- public UITexture getProgressBarTextureSteam(SteamVariant steamVariant) {
- return progressBarTextureSteam.get(steamVariant);
- }
-
- public int getProgressBarImageSize() {
- if (progressBarImageSize != 0) {
- return progressBarImageSize;
- }
- return switch (progressBarDirection) {
- case UP, DOWN -> progressBarSize.height;
- case CIRCULAR_CW -> Math.max(progressBarSize.width, progressBarSize.height);
- default -> progressBarSize.width;
- };
- }
-
- /**
- * Adds slot backgrounds, progressBar, etc.
- */
- public ModularWindow.Builder createNEITemplate(IItemHandlerModifiable itemInputsInventory,
- IItemHandlerModifiable itemOutputsInventory, IItemHandlerModifiable specialSlotInventory,
- IItemHandlerModifiable fluidInputsInventory, IItemHandlerModifiable fluidOutputsInventory,
- Supplier<Float> progressSupplier, Pos2d windowOffset) {
- ModularWindow.Builder builder = ModularWindow.builder(neiBackgroundSize)
- .setBackground(ModularUITextures.VANILLA_BACKGROUND);
-
- UIHelper.forEachSlots(
- (i, backgrounds, pos) -> builder.widget(
- SlotWidget.phantom(itemInputsInventory, i)
- .setBackground(backgrounds)
- .setPos(pos)
- .setSize(18, 18)),
- (i, backgrounds, pos) -> builder.widget(
- SlotWidget.phantom(itemOutputsInventory, i)
- .setBackground(backgrounds)
- .setPos(pos)
- .setSize(18, 18)),
- (i, backgrounds, pos) -> {
- if (usesSpecialSlot()) builder.widget(
- SlotWidget.phantom(specialSlotInventory, 0)
- .setBackground(backgrounds)
- .setPos(pos)
- .setSize(18, 18));
- },
- (i, backgrounds, pos) -> builder.widget(
- SlotWidget.phantom(fluidInputsInventory, i)
- .setBackground(backgrounds)
- .setPos(pos)
- .setSize(18, 18)),
- (i, backgrounds, pos) -> builder.widget(
- SlotWidget.phantom(fluidOutputsInventory, i)
- .setBackground(backgrounds)
- .setPos(pos)
- .setSize(18, 18)),
- ModularUITextures.ITEM_SLOT,
- ModularUITextures.FLUID_SLOT,
- this,
- mUsualInputCount,
- mUsualOutputCount,
- getUsualFluidInputCount(),
- getUsualFluidOutputCount(),
- SteamVariant.NONE,
- windowOffset);
-
- addProgressBarUI(builder, progressSupplier, windowOffset);
- addGregTechLogoUI(builder, windowOffset);
-
- for (Pair<IDrawable, Pair<Size, Pos2d>> specialTexture : specialTextures) {
- builder.widget(
- new DrawableWidget().setDrawable(specialTexture.getLeft())
- .setSize(
- specialTexture.getRight()
- .getLeft())
- .setPos(
- specialTexture.getRight()
- .getRight()
- .add(windowOffset)));
- }
-
- return builder;
- }
-
- public void addProgressBarUI(ModularWindow.Builder builder, Supplier<Float> progressSupplier,
- Pos2d windowOffset) {
- builder.widget(
- new ProgressBar().setTexture(getProgressBarTexture(), 20)
- .setDirection(progressBarDirection)
- .setProgress(progressSupplier)
- .setSynced(false, false)
- .setPos(progressBarPos.add(windowOffset))
- .setSize(progressBarSize));
- }
-
- public void addGregTechLogoUI(ModularWindow.Builder builder, Pos2d windowOffset) {
- builder.widget(
- new DrawableWidget().setDrawable(logo)
- .setSize(logoSize)
- .setPos(logoPos.add(windowOffset)));
- }
-
- public void addRecipeSpecificDrawable(ModularWindow.Builder builder, Pos2d windowOffset,
- Supplier<IDrawable> supplier, Pos2d pos, Size size) {
- builder.widget(
- new DrawableWidget().setDrawable(supplier)
- .setSize(size)
- .setPos(pos.add(windowOffset)));
- }
-
- /**
- * Overriding this method allows custom NEI stack placement
- */
- public List<Pos2d> getItemInputPositions(int itemInputCount) {
- return UIHelper.getItemInputPositions(itemInputCount);
- }
-
- /**
- * Overriding this method allows custom NEI stack placement
- */
- public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
- return UIHelper.getItemOutputPositions(itemOutputCount);
- }
-
- /**
- * Overriding this method allows custom NEI stack placement
- */
- public Pos2d getSpecialItemPosition() {
- return UIHelper.getSpecialItemPosition();
- }
-
- /**
- * Overriding this method allows custom NEI stack placement
- */
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getFluidInputPositions(fluidInputCount);
- }
-
- /**
- * Overriding this method allows custom NEI stack placement
- */
- public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
- return UIHelper.getFluidOutputPositions(fluidOutputCount);
- }
-
- public void drawNEIDescription(NEIRecipeInfo recipeInfo) {
- drawNEIEnergyInfo(recipeInfo);
- drawNEIDurationInfo(recipeInfo);
- drawNEISpecialInfo(recipeInfo);
- drawNEIRecipeOwnerInfo(recipeInfo);
- }
-
- protected void drawNEIEnergyInfo(NEIRecipeInfo recipeInfo) {
- GT_Recipe recipe = recipeInfo.recipe;
- Power power = recipeInfo.power;
- if (power.getEuPerTick() > 0) {
- drawNEIText(recipeInfo, GT_Utility.trans("152", "Total: ") + power.getTotalPowerString());
-
- String amperage = power.getAmperageString();
- String powerUsage = power.getPowerUsageString();
- if (amperage == null || amperage.equals("unspecified") || powerUsage.contains("(OC)")) {
- drawNEIText(recipeInfo, GT_Utility.trans("153", "Usage: ") + powerUsage);
- if (GT_Mod.gregtechproxy.mNEIOriginalVoltage) {
- Power originalPower = getPowerFromRecipeMap();
- if (!(originalPower instanceof UnspecifiedEUPower)) {
- originalPower.computePowerUsageAndDuration(recipe.mEUt, recipe.mDuration);
- drawNEIText(
- recipeInfo,
- GT_Utility.trans("275", "Original voltage: ") + originalPower.getVoltageString());
- }
- }
- if (amperage != null && !amperage.equals("unspecified") && !amperage.equals("1")) {
- drawNEIText(recipeInfo, GT_Utility.trans("155", "Amperage: ") + amperage);
- }
- } else if (amperage.equals("1")) {
- drawNEIText(recipeInfo, GT_Utility.trans("154", "Voltage: ") + power.getVoltageString());
- } else {
- drawNEIText(recipeInfo, GT_Utility.trans("153", "Usage: ") + powerUsage);
- drawNEIText(recipeInfo, GT_Utility.trans("154", "Voltage: ") + power.getVoltageString());
- drawNEIText(recipeInfo, GT_Utility.trans("155", "Amperage: ") + amperage);
- }
- }
- }
-
- protected void drawNEIDurationInfo(NEIRecipeInfo recipeInfo) {
- Power power = recipeInfo.power;
- if (power.getDurationTicks() > 0) {
- String textToDraw = GT_Utility.trans("158", "Time: ");
- if (GT_Mod.gregtechproxy.mNEIRecipeSecondMode) {
- textToDraw += power.getDurationStringSeconds();
- if (power.getDurationSeconds() <= 1.0d) {
- textToDraw += String.format(" (%s)", power.getDurationStringTicks());
- }
- } else {
- textToDraw += power.getDurationStringTicks();
- }
- drawNEIText(recipeInfo, textToDraw);
- }
- }
-
- protected void drawNEISpecialInfo(NEIRecipeInfo recipeInfo) {
- String[] recipeDesc = recipeInfo.recipe.getNeiDesc();
- if (recipeDesc != null) {
- for (String s : recipeDesc) {
- drawOptionalNEIText(recipeInfo, s);
- }
- } else if (neiSpecialInfoFormatter != null) {
- drawNEITextMultipleLines(
- recipeInfo,
- neiSpecialInfoFormatter.format(recipeInfo, this::formatSpecialValue));
- } else {
- drawOptionalNEIText(recipeInfo, getNEISpecialInfo(recipeInfo.recipe.mSpecialValue));
- }
- }
-
- protected String getNEISpecialInfo(int specialValue) {
- if (specialValue == -100 && GT_Mod.gregtechproxy.mLowGravProcessing) {
- return GT_Utility.trans("159", "Needs Low Gravity");
- } else if (specialValue == -200 && GT_Mod.gregtechproxy.mEnableCleanroom) {
- return GT_Utility.trans("160", "Needs Cleanroom");
- } else if (specialValue == -201) {
- return GT_Utility.trans("206", "Scan for Assembly Line");
- } else if (specialValue == -300 && GT_Mod.gregtechproxy.mEnableCleanroom) {
- return GT_Utility.trans("160.1", "Needs Cleanroom & LowGrav");
- } else if (specialValue == -400) {
- return GT_Utility.trans("216", "Deprecated Recipe");
- } else if (hasSpecialValueFormat()) {
- return formatSpecialValue(specialValue);
- }
- return null;
- }
-
- private boolean hasSpecialValueFormat() {
- return (GT_Utility.isStringValid(mNEISpecialValuePre)) || (GT_Utility.isStringValid(mNEISpecialValuePost));
- }
-
- protected String formatSpecialValue(int specialValue) {
- return mNEISpecialValuePre + formatNumbers((long) specialValue * mNEISpecialValueMultiplier)
- + mNEISpecialValuePost;
- }
-
- protected void drawNEIRecipeOwnerInfo(NEIRecipeInfo recipeInfo) {
- GT_Recipe recipe = recipeInfo.recipe;
- if (GT_Mod.gregtechproxy.mNEIRecipeOwner) {
- if (recipe.owners.size() > 1) {
- drawNEIText(
- recipeInfo,
- EnumChatFormatting.ITALIC + GT_Utility.trans("273", "Original Recipe by: ")
- + recipe.owners.get(0)
- .getName());
- for (int i = 1; i < recipe.owners.size(); i++) {
- drawNEIText(
- recipeInfo,
- EnumChatFormatting.ITALIC + GT_Utility.trans("274", "Modified by: ")
- + recipe.owners.get(i)
- .getName());
- }
- } else if (recipe.owners.size() > 0) {
- drawNEIText(
- recipeInfo,
- EnumChatFormatting.ITALIC + GT_Utility.trans("272", "Recipe by: ")
- + recipe.owners.get(0)
- .getName());
- }
- }
- if (GT_Mod.gregtechproxy.mNEIRecipeOwnerStackTrace && recipe.stackTraces != null
- && !recipe.stackTraces.isEmpty()) {
- drawNEIText(recipeInfo, "stackTrace:");
- // todo: good way to show all stacktraces
- for (StackTraceElement stackTrace : recipe.stackTraces.get(0)) {
- drawNEIText(recipeInfo, stackTrace.toString());
- }
- }
- }
-
- protected void drawNEIText(NEIRecipeInfo recipeInfo, String text) {
- drawNEIText(recipeInfo, text, 10);
- }
-
- /**
- * Draws text on NEI recipe.
- *
- * @param yShift y position to shift after this text
- */
- @SuppressWarnings("SameParameterValue")
- protected void drawNEIText(NEIRecipeInfo recipeInfo, String text, int yShift) {
- drawNEIText(recipeInfo, text, 10, yShift);
- }
-
- /**
- * Draws text on NEI recipe.
- *
- * @param xStart x position to start drawing
- * @param yShift y position to shift after this text
- */
- @SuppressWarnings("SameParameterValue")
- protected void drawNEIText(NEIRecipeInfo recipeInfo, String text, int xStart, int yShift) {
- Minecraft.getMinecraft().fontRenderer.drawString(
- text,
- xStart,
- recipeInfo.yPos,
- neiTextColorOverride != -1 ? neiTextColorOverride : 0x000000);
- recipeInfo.yPos += yShift;
- }
-
- protected void drawOptionalNEIText(NEIRecipeInfo recipeInfo, String text) {
- if (GT_Utility.isStringValid(text) && !text.equals("unspecified")) {
- drawNEIText(recipeInfo, text, 10);
- }
- }
-
- protected void drawNEITextMultipleLines(NEIRecipeInfo recipeInfo, List<String> texts) {
- for (String text : texts) {
- drawNEIText(recipeInfo, text, 10);
- }
- }
-
- public List<String> handleNEIItemTooltip(ItemStack stack, List<String> currentTip,
- GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) {
- for (PositionedStack pStack : neiCachedRecipe.mInputs) {
- if (stack == pStack.item) {
- if (pStack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
- currentTip = handleNEIItemInputTooltip(
- currentTip,
- (GT_NEI_DefaultHandler.FixedPositionedStack) pStack);
- }
- break;
- }
- }
- for (PositionedStack pStack : neiCachedRecipe.mOutputs) {
- if (stack == pStack.item) {
- if (pStack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
- currentTip = handleNEIItemOutputTooltip(
- currentTip,
- (GT_NEI_DefaultHandler.FixedPositionedStack) pStack);
- }
- break;
- }
- }
- return currentTip;
- }
-
- protected List<String> handleNEIItemInputTooltip(List<String> currentTip,
- GT_NEI_DefaultHandler.FixedPositionedStack pStack) {
- if (pStack.isNotConsumed()) {
- currentTip.add(GRAY + GT_Utility.trans("151", "Does not get consumed in the process"));
- }
- return currentTip;
- }
-
- protected List<String> handleNEIItemOutputTooltip(List<String> currentTip,
- GT_NEI_DefaultHandler.FixedPositionedStack pStack) {
- if (pStack.isChanceBased()) {
- currentTip.add(GRAY + GT_Utility.trans("150", "Chance: ") + pStack.getChanceText());
- }
- return currentTip;
- }
-
- public void drawNEIOverlays(GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe) {
- for (PositionedStack stack : neiCachedRecipe.mInputs) {
- if (stack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
- drawNEIOverlayForInput((GT_NEI_DefaultHandler.FixedPositionedStack) stack);
- }
- }
- for (PositionedStack stack : neiCachedRecipe.mOutputs) {
- if (stack instanceof GT_NEI_DefaultHandler.FixedPositionedStack) {
- drawNEIOverlayForOutput((GT_NEI_DefaultHandler.FixedPositionedStack) stack);
- }
- }
- }
-
- protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) {
- if (stack.isNotConsumed()) {
- drawNEIOverlayText("NC", stack);
- }
- }
-
- protected void drawNEIOverlayForOutput(GT_NEI_DefaultHandler.FixedPositionedStack stack) {
- if (stack.isChanceBased()) {
- drawNEIOverlayText(stack.getChanceText(), stack);
- }
- }
-
- @SuppressWarnings("SameParameterValue")
- protected void drawNEIOverlayText(String text, PositionedStack stack, int color, float scale, boolean shadow,
- Alignment alignment) {
- FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
- int width = fontRenderer.getStringWidth(text);
- int x = (int) ((stack.relx + 8 + 8 * alignment.x) / scale) - (width / 2 * (alignment.x + 1));
- int y = (int) ((stack.rely + 8 + 8 * alignment.y) / scale)
- - (fontRenderer.FONT_HEIGHT / 2 * (alignment.y + 1))
- - (alignment.y - 1) / 2;
-
- GlStateManager.pushMatrix();
- GlStateManager.scale(scale, scale, 1);
- fontRenderer.drawString(text, x, y, color, shadow);
- GlStateManager.popMatrix();
- }
-
- protected void drawNEIOverlayText(String text, PositionedStack stack) {
- drawNEIOverlayText(
- text,
- stack,
- colorOverride.getTextColorOrDefault("nei_overlay_yellow", 0xFDD835),
- 0.5f,
- false,
- Alignment.TopLeft);
- }
-
- public void updateNEITextColorOverride() {
- neiTextColorOverride = colorOverride.getTextColorOrDefault("nei", -1);
- }
-
- public Power getPowerFromRecipeMap() {
- // By default, assume generic EU LV power with no overclocks
- Power power;
- if (mShowVoltageAmperageInNEI) {
- power = new EUPower((byte) 1, mAmperage);
- } else {
- power = new UnspecifiedEUPower((byte) 1, mAmperage);
- }
- return power;
- }
-
- /**
- * Use {@link #getItemInputPositions} or {@link #getSpecialItemPosition} or {@link #getFluidInputPositions}
- * instead
- */
- @Deprecated
- public ArrayList<PositionedStack> getInputPositionedStacks(GT_Recipe recipe) {
- return null;
- }
-
- /**
- * Use {@link #getItemOutputPositions} or {@link #getFluidOutputPositions} instead
- */
- @Deprecated
- public ArrayList<PositionedStack> getOutputPositionedStacks(GT_Recipe recipe) {
- return null;
- }
-
- public void addRecipe(Object o, FluidStack[] fluidInputArray, FluidStack[] fluidOutputArray) {}
- }
-
- // -----------------------------------------------------------------------------------------------------------------
- // Here are a few Classes I use for Special Cases in some Machines without having to write a separate Machine Class.
- // -----------------------------------------------------------------------------------------------------------------
-
- /**
- * Nicely display NEI with many items and fluids. Remember to call {@link GT_Recipe_Map#setUsualFluidInputCount} and
- * {@link GT_Recipe_Map#setUsualFluidOutputCount}. If row count >= 6, it doesn't fit in 2 recipes per page, so
- * change it via IMC.
- */
- public static class GT_Recipe_Map_LargeNEI extends GT_Recipe_Map {
-
- private static final int xDirMaxCount = 3;
- private static final int yOrigin = 8;
-
- public GT_Recipe_Map_LargeNEI(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- useModularUI(true);
- setLogoPos(80, 62);
- }
-
- @Override
- public List<Pos2d> getItemInputPositions(int itemInputCount) {
- return UIHelper.getGridPositions(itemInputCount, 16, yOrigin, xDirMaxCount);
- }
-
- @Override
- public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
- return UIHelper.getGridPositions(itemOutputCount, 106, yOrigin, xDirMaxCount);
- }
-
- @Override
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getGridPositions(fluidInputCount, 16, yOrigin + getItemRowCount() * 18, xDirMaxCount);
- }
-
- @Override
- public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
- return UIHelper.getGridPositions(fluidOutputCount, 106, yOrigin + getItemRowCount() * 18, xDirMaxCount);
- }
-
- @Override
- public ModularWindow.Builder createNEITemplate(IItemHandlerModifiable itemInputsInventory,
- IItemHandlerModifiable itemOutputsInventory, IItemHandlerModifiable specialSlotInventory,
- IItemHandlerModifiable fluidInputsInventory, IItemHandlerModifiable fluidOutputsInventory,
- Supplier<Float> progressSupplier, Pos2d windowOffset) {
- // Delay setter so that calls to #setUsualFluidInputCount and #setUsualFluidOutputCount are considered
- setNEIBackgroundSize(172, 82 + (Math.max(getItemRowCount() + getFluidRowCount() - 4, 0)) * 18);
- return super.createNEITemplate(
- itemInputsInventory,
- itemOutputsInventory,
- specialSlotInventory,
- fluidInputsInventory,
- fluidOutputsInventory,
- progressSupplier,
- windowOffset);
- }
-
- private int getItemRowCount() {
- return (Math.max(mUsualInputCount, mUsualOutputCount) - 1) / xDirMaxCount + 1;
- }
-
- private int getFluidRowCount() {
- return (Math.max(getUsualFluidInputCount(), getUsualFluidOutputCount()) - 1) / xDirMaxCount + 1;
- }
- }
-
- /**
- * Display fluids where normally items are placed on NEI.
- */
- public static class GT_Recipe_Map_FluidOnly extends GT_Recipe_Map {
-
- public GT_Recipe_Map_FluidOnly(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- useModularUI(true);
- }
-
- @Override
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getItemInputPositions(fluidInputCount);
- }
-
- @Override
- public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
- return UIHelper.getItemOutputPositions(fluidOutputCount);
- }
- }
-
- /**
- * Abstract Class for general Recipe Handling of non GT Recipes
- */
- public abstract static class GT_Recipe_Map_NonGTRecipes extends GT_Recipe_Map {
-
- public GT_Recipe_Map_NonGTRecipes(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return false;
- }
-
- @Override
- public boolean containsInput(FluidStack aFluid) {
- return false;
- }
-
- @Override
- public boolean containsInput(Fluid aFluid) {
- return false;
- }
-
- @Override
- public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial,
- int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue) {
- return null;
- }
-
- @Override
- public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial,
- FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aSpecialValue) {
- return null;
- }
-
- @Override
- public GT_Recipe addRecipe(GT_Recipe aRecipe) {
- return null;
- }
-
- @Override
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration,
- int aEUt, int aSpecialValue) {
- return null;
- }
-
- @Override
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue) {
- return null;
- }
-
- @Override
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue, boolean hidden) {
- return null;
- }
-
- @Override
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, GT_Recipe aRecipe) {
- return null;
- }
-
- @Override
- public GT_Recipe add(GT_Recipe aRecipe) {
- return null;
- }
-
- @Override
- public void reInit() {
- /**/
- }
-
- @Override
- protected GT_Recipe addToItemMap(GT_Recipe aRecipe) {
- return null;
- }
- }
-
- /**
- * Just a Recipe Map with Utility specifically for Fuels.
- */
- public static class GT_Recipe_Map_Fuel extends GT_Recipe_Map {
-
- private final Map<String, GT_Recipe> mRecipesByFluidInput = new HashMap<>();
-
- public GT_Recipe_Map_Fuel(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- setDisableOptimize(true);
- }
-
- public GT_Recipe addFuel(ItemStack aInput, ItemStack aOutput, int aFuelValueInEU) {
- return addFuel(aInput, aOutput, null, null, 10000, aFuelValueInEU);
- }
-
- public GT_Recipe addFuel(ItemStack aInput, ItemStack aOutput, int aChance, int aFuelValueInEU) {
- return addFuel(aInput, aOutput, null, null, aChance, aFuelValueInEU);
- }
-
- public GT_Recipe addFuel(FluidStack aFluidInput, FluidStack aFluidOutput, int aFuelValueInEU) {
- return addFuel(null, null, aFluidInput, aFluidOutput, 10000, aFuelValueInEU);
- }
-
- public GT_Recipe addFuel(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput,
- int aFuelValueInEU) {
- return addFuel(aInput, aOutput, aFluidInput, aFluidOutput, 10000, aFuelValueInEU);
- }
-
- public GT_Recipe addFuel(ItemStack aInput, ItemStack aOutput, FluidStack aFluidInput, FluidStack aFluidOutput,
- int aChance, int aFuelValueInEU) {
- return addRecipe(
- true,
- new ItemStack[] { aInput },
- new ItemStack[] { aOutput },
- null,
- new int[] { aChance },
- new FluidStack[] { aFluidInput },
- new FluidStack[] { aFluidOutput },
- 0,
- 0,
- aFuelValueInEU);
- }
-
- @Override
- public GT_Recipe add(GT_Recipe aRecipe) {
- aRecipe = super.add(aRecipe);
- if (aRecipe.mInputs != null && GT_Utility.getNonnullElementCount(aRecipe.mInputs) == 1
- && (aRecipe.mFluidInputs == null || GT_Utility.getNonnullElementCount(aRecipe.mFluidInputs) == 0)) {
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(aRecipe.mInputs[0], true);
- if (tFluid != null) {
- tFluid.amount = 0;
- mRecipesByFluidInput.put(tFluid.getUnlocalizedName(), aRecipe);
- }
- } else if ((aRecipe.mInputs == null || GT_Utility.getNonnullElementCount(aRecipe.mInputs) == 0)
- && aRecipe.mFluidInputs != null
- && GT_Utility.getNonnullElementCount(aRecipe.mFluidInputs) == 1
- && aRecipe.mFluidInputs[0] != null) {
- mRecipesByFluidInput.put(aRecipe.mFluidInputs[0].getUnlocalizedName(), aRecipe);
- }
- return aRecipe;
- }
-
- public GT_Recipe findFuel(FluidStack aFluidInput) {
- return mRecipesByFluidInput.get(aFluidInput.getUnlocalizedName());
- }
- }
-
- /**
- * Special Class for Furnace Recipe handling.
- */
- public static class GT_Recipe_Map_Furnace extends GT_Recipe_Map_NonGTRecipes {
-
- public GT_Recipe_Map_Furnace(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- if (aInputs == null || aInputs.length == 0 || aInputs[0] == null) return NOT_FOUND;
- if (aRecipe != null && aRecipe.isRecipeInputEqual(false, true, aFluids, aInputs))
- return FindRecipeResult.ofSuccess(aRecipe);
- ItemStack tOutput = GT_ModHandler.getSmeltingOutput(aInputs[0], false, null);
- return tOutput == null ? NOT_FOUND
- : FindRecipeResult.ofSuccess(
- new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] { tOutput },
- null,
- null,
- null,
- null,
- 128,
- 4,
- 0));
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return GT_ModHandler.getSmeltingOutput(aStack, false, null) != null;
- }
- }
-
- /**
- * Special Class for Microwave Recipe handling.
- */
- public static class GT_Recipe_Map_Microwave extends GT_Recipe_Map_NonGTRecipes {
-
- public GT_Recipe_Map_Microwave(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- if (aInputs == null || aInputs.length == 0 || aInputs[0] == null) return NOT_FOUND;
- if (aRecipe != null && aRecipe.isRecipeInputEqual(false, true, aFluids, aInputs))
- return FindRecipeResult.ofSuccess(aRecipe);
- ItemStack tOutput = GT_ModHandler.getSmeltingOutput(aInputs[0], false, null);
-
- if (GT_Utility.areStacksEqual(aInputs[0], new ItemStack(Items.book, 1, W))) {
- return FindRecipeResult.ofSuccess(
- new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] {
- GT_Utility.getWrittenBook("Manual_Microwave", ItemList.Book_Written_03.get(1)) },
- null,
- null,
- null,
- null,
- 32,
- 4,
- 0));
- }
-
- // Check Container Item of Input since it is around the Input, then the Input itself, then Container Item of
- // Output and last check the Output itself
- for (ItemStack tStack : new ItemStack[] { GT_Utility.getContainerItem(aInputs[0], true), aInputs[0],
- GT_Utility.getContainerItem(tOutput, true), tOutput }) if (tStack != null) {
- if (GT_Utility.areStacksEqual(tStack, new ItemStack(Blocks.netherrack, 1, W), true)
- || GT_Utility.areStacksEqual(tStack, new ItemStack(Blocks.tnt, 1, W), true)
- || GT_Utility.areStacksEqual(tStack, new ItemStack(Items.egg, 1, W), true)
- || GT_Utility.areStacksEqual(tStack, new ItemStack(Items.firework_charge, 1, W), true)
- || GT_Utility.areStacksEqual(tStack, new ItemStack(Items.fireworks, 1, W), true)
- || GT_Utility.areStacksEqual(tStack, new ItemStack(Items.fire_charge, 1, W), true)) {
- GT_Log.exp.println(
- "Microwave Explosion due to TNT || EGG || FIREWORKCHARGE || FIREWORK || FIRE CHARGE");
- return EXPLODE;
- }
- ItemData tData = GT_OreDictUnificator.getItemData(tStack);
-
- if (tData != null) {
- if (tData.mMaterial != null && tData.mMaterial.mMaterial != null) {
- if (tData.mMaterial.mMaterial.contains(SubTag.METAL)
- || tData.mMaterial.mMaterial.contains(SubTag.EXPLOSIVE)) {
- GT_Log.exp.println("Microwave Explosion due to METAL insertion");
- return EXPLODE;
- }
- if (tData.mMaterial.mMaterial.contains(SubTag.FLAMMABLE)) {
- GT_Log.exp.println("Microwave INFLAMMATION due to FLAMMABLE insertion");
- return ON_FIRE;
- }
- }
- for (MaterialStack tMaterial : tData.mByProducts) if (tMaterial != null) {
- if (tMaterial.mMaterial.contains(SubTag.METAL)
- || tMaterial.mMaterial.contains(SubTag.EXPLOSIVE)) {
- GT_Log.exp.println("Microwave Explosion due to METAL insertion");
- return EXPLODE;
- }
- if (tMaterial.mMaterial.contains(SubTag.FLAMMABLE)) {
- GT_Log.exp.println("Microwave INFLAMMATION due to FLAMMABLE insertion");
- return ON_FIRE;
- }
- }
- }
- if (TileEntityFurnace.getItemBurnTime(tStack) > 0) {
- GT_Log.exp.println("Microwave INFLAMMATION due to BURNABLE insertion");
- return ON_FIRE;
- }
- }
-
- return tOutput == null ? NOT_FOUND
- : FindRecipeResult.ofSuccess(
- new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] { tOutput },
- null,
- null,
- null,
- null,
- 32,
- 4,
- 0));
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return GT_ModHandler.getSmeltingOutput(aStack, false, null) != null;
- }
- }
-
- /**
- * Special Class for Unboxinator handling.
- */
- public static class GT_Recipe_Map_Unboxinator extends GT_Recipe_Map {
-
- public GT_Recipe_Map_Unboxinator(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- if (aInputs == null || aInputs.length == 0 || !ItemList.IC2_Scrapbox.isStackEqual(aInputs[0], false, true))
- return super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- ItemStack tOutput = GT_ModHandler.getRandomScrapboxDrop();
- if (tOutput == null) return super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- GT_Recipe rRecipe = new GT_Recipe(
- false,
- new ItemStack[] { ItemList.IC2_Scrapbox.get(1) },
- new ItemStack[] { tOutput },
- null,
- null,
- null,
- null,
- 16,
- 1,
- 0);
- // It is not allowed to be buffered due to the random Output
- rRecipe.mCanBeBuffered = false;
- // Due to its randomness it is not good if there are Items in the Output Slot, because those Items could
- // manipulate the outcome.
- rRecipe.mNeedsEmptyOutput = true;
- return FindRecipeResult.ofSuccess(rRecipe);
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return ItemList.IC2_Scrapbox.isStackEqual(aStack, false, true) || super.containsInput(aStack);
- }
- }
-
- /**
- * Special Class for Fluid Canner handling.
- */
- public static class GT_Recipe_Map_FluidCanner extends GT_Recipe_Map {
-
- public GT_Recipe_Map_FluidCanner(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- FindRecipeResult result = super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- if (aInputs == null || aInputs.length == 0
- || aInputs[0] == null
- || result.isSuccessful()
- || !GregTech_API.sPostloadFinished) return result;
-
- if (aFluids != null && aFluids.length > 0 && aFluids[0] != null) {
- ItemStack tOutput = GT_Utility.fillFluidContainer(aFluids[0], aInputs[0], false, true);
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(tOutput, true);
- if (tFluid != null) {
- GT_Recipe recipe = new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] { tOutput },
- null,
- null,
- new FluidStack[] { tFluid },
- null,
- Math.max(tFluid.amount / 64, 16),
- 1,
- 0);
- recipe.mCanBeBuffered = false;
- return FindRecipeResult.ofSuccess(recipe);
- }
- }
- FluidStack tFluid = GT_Utility.getFluidForFilledItem(aInputs[0], true);
- if (tFluid != null) {
- GT_Recipe recipe = new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] { GT_Utility.getContainerItem(aInputs[0], true) },
- null,
- null,
- null,
- new FluidStack[] { tFluid },
- Math.max(tFluid.amount / 64, 16),
- 1,
- 0);
- recipe.mCanBeBuffered = false;
- return FindRecipeResult.ofSuccess(recipe);
- }
- return NOT_FOUND;
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return aStack != null && (super.containsInput(aStack) || (aStack.getItem() instanceof IFluidContainerItem
- && ((IFluidContainerItem) aStack.getItem()).getCapacity(aStack) > 0));
- }
-
- @Override
- public boolean containsInput(FluidStack aFluid) {
- return true;
- }
-
- @Override
- public boolean containsInput(Fluid aFluid) {
- return true;
- }
- }
-
- /**
- * Special Class for Recycler Recipe handling.
- */
- public static class GT_Recipe_Map_Recycler extends GT_Recipe_Map_NonGTRecipes {
-
- public GT_Recipe_Map_Recycler(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- if (aInputs == null || aInputs.length == 0 || aInputs[0] == null) return NOT_FOUND;
- if (aRecipe != null && aRecipe.isRecipeInputEqual(false, true, aFluids, aInputs))
- return FindRecipeResult.ofSuccess(aRecipe);
- return FindRecipeResult.ofSuccess(
- new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] { GT_ModHandler.getRecyclerOutput(aInputs[0], 0) },
- null,
- new int[] { 1250 },
- null,
- null,
- 45,
- 1,
- 0));
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return GT_ModHandler.getRecyclerOutput(aStack, 0) != null;
- }
- }
-
- /**
- * Special Class for Macerator/RockCrusher Recipe handling.
- */
- public static class GT_Recipe_Map_Macerator extends GT_Recipe_Map {
-
- public GT_Recipe_Map_Macerator(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- if (aInputs == null || aInputs.length == 0 || aInputs[0] == null || !GregTech_API.sPostloadFinished)
- return super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- FindRecipeResult result = super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- if (result.isSuccessful()) return result;
-
- try {
- List<ItemStack> tRecipeOutputs = mods.railcraft.api.crafting.RailcraftCraftingManager.rockCrusher
- .getRecipe(GT_Utility.copyAmount(1, aInputs[0]))
- .getRandomizedOuputs();
- if (tRecipeOutputs != null) {
- GT_Recipe recipe = new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- tRecipeOutputs.toArray(new ItemStack[0]),
- null,
- null,
- null,
- null,
- 800,
- 2,
- 0);
- recipe.mCanBeBuffered = false;
- recipe.mNeedsEmptyOutput = true;
- return FindRecipeResult.ofSuccess(recipe);
- }
- } catch (NoClassDefFoundError e) {
- if (D1) GT_Log.err.println("Railcraft Not loaded");
- } catch (NullPointerException e) {
- /**/
- }
-
- ItemStack tComparedInput = GT_Utility.copyOrNull(aInputs[0]);
- ItemStack[] tOutputItems = GT_ModHandler.getMachineOutput(
- tComparedInput,
- ic2.api.recipe.Recipes.macerator.getRecipes(),
- true,
- new NBTTagCompound(),
- null,
- null,
- null);
- if (tComparedInput != null && GT_Utility.arrayContainsNonNull(tOutputItems)) {
- return FindRecipeResult.ofSuccess(
- new GT_Recipe(
- false,
- new ItemStack[] {
- GT_Utility.copyAmount(aInputs[0].stackSize - tComparedInput.stackSize, aInputs[0]) },
- tOutputItems,
- null,
- null,
- null,
- null,
- 400,
- 2,
- 0));
- }
- return NOT_FOUND;
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return super.containsInput(aStack) || GT_Utility.arrayContainsNonNull(
- GT_ModHandler.getMachineOutput(
- GT_Utility.copyAmount(64, aStack),
- ic2.api.recipe.Recipes.macerator.getRecipes(),
- false,
- new NBTTagCompound(),
- null,
- null,
- null));
- }
- }
-
- /**
- * Special Class for Assembler handling.
- */
- public static class GT_Recipe_Map_Assembler extends GT_Recipe_Map {
-
- public GT_Recipe_Map_Assembler(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
-
- FindRecipeResult result = super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- true,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- /*
- * Doesnt work, keep it as a reminder tho if (rRecipe == null){ Set<ItemStack> aInputs2 = new
- * TreeSet<ItemStack>(); for (ItemStack aInput : aInputs) { aInputs2.add(aInput); } for (ItemStack aInput :
- * aInputs) { aInputs2.remove(aInput); int[] oredictIDs = OreDictionary.getOreIDs(aInput); if (
- * oredictIDs.length > 1){ for (final int i : oredictIDs){ final ItemStack[] oredictIS = (ItemStack[])
- * OreDictionary.getOres(OreDictionary.getOreName(i)).toArray(); if (oredictIS != null && oredictIS.length >
- * 1){ for (final ItemStack IS : oredictIS){ aInputs2.add(IS); ItemStack[] temp = (ItemStack[])
- * aInputs2.toArray(); rRecipe = super.findRecipe(aTileEntity, aRecipe, aNotUnificated, aVoltage, aFluids,
- * aSpecialSlot,temp); if(rRecipe!= null){ break; } else { aInputs2.remove(IS); } } if(rRecipe!= null)
- * break; } } if(rRecipe!= null) break; }else aInputs2.add(aInput); if(rRecipe!= null) break; } }
- */
- if (aInputs == null || aInputs.length == 0
- || aInputs[0] == null
- || !result.isSuccessful()
- || !GregTech_API.sPostloadFinished) return result;
-
- GT_Recipe rRecipe = result.getRecipeNonNull();
- for (ItemStack aInput : aInputs) {
- if (ItemList.Paper_Printed_Pages.isStackEqual(aInput, false, true)) {
- rRecipe = rRecipe.copy();
- rRecipe.mCanBeBuffered = false;
- rRecipe.mOutputs[0].setTagCompound(aInput.getTagCompound());
- }
- }
- return FindRecipeResult.ofSuccess(rRecipe);
- }
- }
-
- /**
- * Special Class for Forming Press handling.
- */
- public static class GT_Recipe_Map_FormingPress extends GT_Recipe_Map {
-
- public GT_Recipe_Map_FormingPress(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- FindRecipeResult result = super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- if (aInputs == null || aInputs.length < 2 || !GregTech_API.sPostloadFinished) return result;
- if (!result.isSuccessful()) {
- return findRenamingRecipe(aInputs);
- }
- for (ItemStack aMold : aInputs) {
- if (ItemList.Shape_Mold_Credit.isStackEqual(aMold, false, true)) {
- NBTTagCompound tNBT = aMold.getTagCompound();
- if (tNBT == null) tNBT = new NBTTagCompound();
- if (!tNBT.hasKey("credit_security_id")) tNBT.setLong("credit_security_id", System.nanoTime());
- aMold.setTagCompound(tNBT);
-
- GT_Recipe rRecipe = result.getRecipeNonNull();
- rRecipe = rRecipe.copy();
- rRecipe.mCanBeBuffered = false;
- rRecipe.mOutputs[0].setTagCompound(tNBT);
- return FindRecipeResult.ofSuccess(rRecipe);
- }
- }
- return result;
- }
-
- private ItemStack findNameMoldIndex(ItemStack[] inputs) {
- for (ItemStack stack : inputs) {
- if (ItemList.Shape_Mold_Name.isStackEqual(stack, false, true)) return stack;
- }
- return null;
- }
-
- private ItemStack findStackToRename(ItemStack[] inputs, ItemStack mold) {
- for (ItemStack stack : inputs) {
- if (stack == mold || stack == null) continue;
- return stack;
- }
- return null;
- }
-
- @Nonnull
- private FindRecipeResult findRenamingRecipe(ItemStack[] inputs) {
- ItemStack mold = findNameMoldIndex(inputs);
- if (mold == null) return NOT_FOUND;
- ItemStack input = findStackToRename(inputs, mold);
- if (input == null) return NOT_FOUND;
- ItemStack output = GT_Utility.copyAmount(1, input);
- if (output == null) return NOT_FOUND;
- output.setStackDisplayName(mold.getDisplayName());
- GT_Recipe recipe = new GT_Recipe(
- false,
- new ItemStack[] { GT_Utility.copyAmount(0, mold), GT_Utility.copyAmount(1, input) },
- new ItemStack[] { output },
- null,
- null,
- null,
- null,
- 128,
- 8,
- 0);
- recipe.mCanBeBuffered = false;
- recipe.isNBTSensitive = true;
- return FindRecipeResult.ofSuccess(recipe);
- }
- }
-
- /**
- * Special Class for Printer handling.
- */
- public static class GT_Recipe_Map_Printer extends GT_Recipe_Map {
-
- public GT_Recipe_Map_Printer(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Nonnull
- @Override
- public FindRecipeResult findRecipeWithResult(GT_Recipe aRecipe, Predicate<GT_Recipe> aIsValidRecipe,
- boolean aNotUnificated, boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids,
- ItemStack aSpecialSlot, ItemStack... aInputs) {
- FindRecipeResult result = super.findRecipeWithResult(
- aRecipe,
- aIsValidRecipe,
- aNotUnificated,
- aDontCheckStackSizes,
- aVoltage,
- aFluids,
- aSpecialSlot,
- aInputs);
- if (aInputs == null || aInputs.length == 0
- || aInputs[0] == null
- || aFluids == null
- || aFluids.length == 0
- || aFluids[0] == null
- || !GregTech_API.sPostloadFinished) return result;
-
- Dyes aDye = null;
- for (Dyes tDye : Dyes.VALUES) if (tDye.isFluidDye(aFluids[0])) {
- aDye = tDye;
- break;
- }
-
- if (aDye == null) return result;
-
- if (!result.isSuccessful()) {
- ItemStack tOutput = GT_ModHandler.getAllRecipeOutput(
- null,
- aInputs[0],
- aInputs[0],
- aInputs[0],
- aInputs[0],
- ItemList.DYE_ONLY_ITEMS[aDye.mIndex].get(1),
- aInputs[0],
- aInputs[0],
- aInputs[0],
- aInputs[0]);
- if (tOutput != null) {
- GT_Recipe recipe = addRecipe(
- new GT_Recipe(
- true,
- new ItemStack[] { GT_Utility.copyAmount(8, aInputs[0]) },
- new ItemStack[] { tOutput },
- null,
- null,
- new FluidStack[] { new FluidStack(aFluids[0].getFluid(), (int) L) },
- null,
- 256,
- 2,
- 0),
- false,
- false,
- true);
- return recipe != null ? FindRecipeResult.ofSuccess(recipe) : NOT_FOUND;
- }
-
- tOutput = GT_ModHandler
- .getAllRecipeOutput(null, aInputs[0], ItemList.DYE_ONLY_ITEMS[aDye.mIndex].get(1));
- if (tOutput != null) {
- GT_Recipe recipe = addRecipe(
- new GT_Recipe(
- true,
- new ItemStack[] { GT_Utility.copyAmount(1, aInputs[0]) },
- new ItemStack[] { tOutput },
- null,
- null,
- new FluidStack[] { new FluidStack(aFluids[0].getFluid(), (int) L) },
- null,
- 32,
- 2,
- 0),
- false,
- false,
- true);
- return recipe != null ? FindRecipeResult.ofSuccess(recipe) : NOT_FOUND;
- }
- } else {
- GT_Recipe rRecipe = result.getRecipeNonNull();
- if (aInputs[0].getItem() == Items.paper) {
- if (!ItemList.Tool_DataStick.isStackEqual(aSpecialSlot, false, true)) return NOT_FOUND;
- NBTTagCompound tNBT = aSpecialSlot.getTagCompound();
- if (tNBT == null || GT_Utility.isStringInvalid(tNBT.getString("title"))
- || GT_Utility.isStringInvalid(tNBT.getString("author"))) return NOT_FOUND;
-
- rRecipe = rRecipe.copy();
- rRecipe.mCanBeBuffered = false;
- rRecipe.mOutputs[0].setTagCompound(tNBT);
- return FindRecipeResult.ofSuccess(rRecipe);
- }
- if (aInputs[0].getItem() == Items.map) {
- if (!ItemList.Tool_DataStick.isStackEqual(aSpecialSlot, false, true)) return NOT_FOUND;
- NBTTagCompound tNBT = aSpecialSlot.getTagCompound();
- if (tNBT == null || !tNBT.hasKey("map_id")) return NOT_FOUND;
-
- rRecipe = rRecipe.copy();
- rRecipe.mCanBeBuffered = false;
- rRecipe.mOutputs[0].setItemDamage(tNBT.getShort("map_id"));
- return FindRecipeResult.ofSuccess(rRecipe);
- }
- if (ItemList.Paper_Punch_Card_Empty.isStackEqual(aInputs[0], false, true)) {
- if (!ItemList.Tool_DataStick.isStackEqual(aSpecialSlot, false, true)) return NOT_FOUND;
- NBTTagCompound tNBT = aSpecialSlot.getTagCompound();
- if (tNBT == null || !tNBT.hasKey("GT.PunchCardData")) return NOT_FOUND;
-
- rRecipe = rRecipe.copy();
- rRecipe.mCanBeBuffered = false;
- rRecipe.mOutputs[0].setTagCompound(
- GT_Utility.getNBTContainingString(
- new NBTTagCompound(),
- "GT.PunchCardData",
- tNBT.getString("GT.PunchCardData")));
- return FindRecipeResult.ofSuccess(rRecipe);
- }
- }
- return result;
- }
-
- @Override
- public boolean containsInput(ItemStack aStack) {
- return true;
- }
-
- @Override
- public boolean containsInput(FluidStack aFluid) {
- return super.containsInput(aFluid) || Dyes.isAnyFluidDye(aFluid);
- }
-
- @Override
- public boolean containsInput(Fluid aFluid) {
- return super.containsInput(aFluid) || Dyes.isAnyFluidDye(aFluid);
- }
- }
-
- public static class GT_Recipe_Map_LargeBoilerFakeFuels extends GT_Recipe_Map {
-
- private static final List<String> ALLOWED_SOLID_FUELS = Arrays.asList(
- GregTech_API.sMachineFile.mConfig.getStringList(
- "LargeBoiler.allowedFuels",
- ConfigCategories.machineconfig.toString(),
- new String[] { "gregtech:gt.blockreinforced:6", "gregtech:gt.blockreinforced:7" },
- "Allowed fuels for the Large Titanium Boiler and Large Tungstensteel Boiler"));
-
- public GT_Recipe_Map_LargeBoilerFakeFuels() {
- super(
- new HashSet<>(55),
- "gt.recipe.largeboilerfakefuels",
- "Large Boiler",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true);
- GT_Recipe explanatoryRecipe = new GT_Recipe(
- true,
- new ItemStack[] {},
- new ItemStack[] {},
- null,
- null,
- null,
- null,
- 1,
- 1,
- 1);
- explanatoryRecipe.setNeiDesc(
- "Not all solid fuels are listed.",
- "Any item that burns in a",
- "vanilla furnace will burn in",
- "a Large Bronze or Steel Boiler.");
- addRecipe(explanatoryRecipe);
- }
-
- public static boolean isAllowedSolidFuel(ItemStack stack) {
- return isAllowedSolidFuel(Item.itemRegistry.getNameForObject(stack.getItem()), stack.getItemDamage());
- }
-
- public static boolean isAllowedSolidFuel(String itemRegistryName, int meta) {
- return ALLOWED_SOLID_FUELS.contains(itemRegistryName + ":" + meta);
- }
-
- public static boolean addAllowedSolidFuel(ItemStack stack) {
- return addAllowedSolidFuel(Item.itemRegistry.getNameForObject(stack.getItem()), stack.getItemDamage());
- }
-
- public static boolean addAllowedSolidFuel(String itemregistryName, int meta) {
- return ALLOWED_SOLID_FUELS.add(itemregistryName + ":" + meta);
- }
-
- public GT_Recipe addDenseLiquidRecipe(GT_Recipe recipe) {
- return addRecipe(recipe, ((double) recipe.mSpecialValue) / 10);
- }
-
- public GT_Recipe addDieselRecipe(GT_Recipe recipe) {
- return addRecipe(recipe, ((double) recipe.mSpecialValue) / 40);
- }
-
- public void addSolidRecipes(ItemStack... itemStacks) {
- for (ItemStack itemStack : itemStacks) {
- addSolidRecipe(itemStack);
- }
- }
-
- public GT_Recipe addSolidRecipe(ItemStack fuelItemStack) {
- boolean allowedFuel = false;
- if (fuelItemStack != null) {
- String registryName = Item.itemRegistry.getNameForObject(fuelItemStack.getItem());
- allowedFuel = ALLOWED_SOLID_FUELS.contains(registryName + ":" + fuelItemStack.getItemDamage());
- }
- return addRecipe(
- new GT_Recipe(
- true,
- new ItemStack[] { fuelItemStack },
- new ItemStack[] {},
- null,
- null,
- null,
- null,
- 1,
- 0,
- GT_ModHandler.getFuelValue(fuelItemStack) / 1600),
- ((double) GT_ModHandler.getFuelValue(fuelItemStack)) / 1600,
- allowedFuel);
- }
-
- private GT_Recipe addRecipe(GT_Recipe recipe, double baseBurnTime, boolean isAllowedFuel) {
- recipe = new GT_Recipe(recipe, true);
- // Some recipes will have a burn time like 15.9999999 and % always rounds down
- double floatErrorCorrection = 0.0001;
-
- double bronzeBurnTime = baseBurnTime * 2 + floatErrorCorrection;
- bronzeBurnTime -= bronzeBurnTime % 0.05;
- double steelBurnTime = baseBurnTime + floatErrorCorrection;
- steelBurnTime -= steelBurnTime % 0.05;
- double titaniumBurnTime = baseBurnTime * 0.3 + floatErrorCorrection;
- titaniumBurnTime -= titaniumBurnTime % 0.05;
- double tungstensteelBurnTime = baseBurnTime * 0.15 + floatErrorCorrection;
- tungstensteelBurnTime -= tungstensteelBurnTime % 0.05;
-
- if (isAllowedFuel) {
- recipe.setNeiDesc(
- "Burn time in seconds:",
- String.format("Bronze Boiler: %.4f", bronzeBurnTime),
- String.format("Steel Boiler: %.4f", steelBurnTime),
- String.format("Titanium Boiler: %.4f", titaniumBurnTime),
- String.format("Tungstensteel Boiler: %.4f", tungstensteelBurnTime));
- } else {
- recipe.setNeiDesc(
- "Burn time in seconds:",
- String.format("Bronze Boiler: %.4f", bronzeBurnTime),
- String.format("Steel Boiler: %.4f", steelBurnTime),
- "Titanium Boiler: Not allowed",
- "Tungstenst. Boiler: Not allowed");
- }
-
- return super.addRecipe(recipe);
- }
-
- private GT_Recipe addRecipe(GT_Recipe recipe, double baseBurnTime) {
- recipe = new GT_Recipe(recipe, true);
- // Some recipes will have a burn time like 15.9999999 and % always rounds down
- double floatErrorCorrection = 0.0001;
-
- double bronzeBurnTime = baseBurnTime * 2 + floatErrorCorrection;
- bronzeBurnTime -= bronzeBurnTime % 0.05;
- double steelBurnTime = baseBurnTime + floatErrorCorrection;
- steelBurnTime -= steelBurnTime % 0.05;
-
- recipe.setNeiDesc(
- "Burn time in seconds:",
- String.format("Bronze Boiler: %.4f", bronzeBurnTime),
- String.format("Steel Boiler: %.4f", steelBurnTime),
- "Titanium Boiler: Not allowed",
- "Tungstenst. Boiler: Not allowed");
-
- return super.addRecipe(recipe);
- }
- }
-
- public static class GT_Recipe_Map_IC2NuclearFake extends GT_Recipe_Map {
-
- public GT_Recipe_Map_IC2NuclearFake() {
- super(
- new HashSet<>(10),
- "gt.recipe.ic2nuke",
- "Fission",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "Default"),
- 1,
- 1,
- 1,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true);
- setLogo(GT_UITextures.PICTURE_RADIATION_WARNING);
- setLogoPos(152, 24);
- setNEIBackgroundSize(172, 60);
- setProgressBar(GT_UITextures.PROGRESSBAR_ARROW, ProgressBar.Direction.RIGHT);
- }
-
- /**
- * Add a breeder cell.
- *
- * @param input raw stack. should be undamaged.
- * @param output breed output
- * @param heatMultiplier bonus progress per neutron pulse per heat step
- * @param heatStep divisor for hull heat
- * @param reflector true if also acts as a neutron reflector, false otherwise.
- * @param requiredPulses progress required to complete breeding
- * @return added fake recipe
- */
- public GT_Recipe addBreederCell(ItemStack input, ItemStack output, boolean reflector, int heatStep,
- int heatMultiplier, int requiredPulses) {
- return addFakeRecipe(
- input,
- output,
- reflector ? "Neutron reflecting breeder cell" : "Heat neutral Breeder Cell",
- String.format("Every %d reactor hull heat", heatStep),
- String.format("increase speed by %d00%%", heatMultiplier),
- String.format("Required pulses: %d", requiredPulses));
- }
-
- public GT_Recipe addFakeRecipe(ItemStack input, ItemStack output, String... neiDesc) {
- GT_Recipe r = new GT_Recipe(
- new ItemStack[] { input },
- new ItemStack[] { output },
- null,
- new int[] { 10000 },
- null,
- null,
- 0,
- 0,
- 0);
- r.setNeiDesc(neiDesc);
- return addRecipe(r, true, true, false);
- }
- }
-
- public static class GT_Recipe_Map_LargeChemicalReactor extends GT_Recipe_Map_LargeNEI {
-
- private static final int TOTAL_INPUT_COUNT = 6;
- private static final int OUTPUT_COUNT = 6;
-
- public GT_Recipe_Map_LargeChemicalReactor() {
- super(
- new HashSet<>(1000),
- "gt.recipe.largechemicalreactor",
- "Large Chemical Reactor",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "LCRNEI"),
- TOTAL_INPUT_COUNT,
- OUTPUT_COUNT,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true);
- }
-
- @Override
- public GT_Recipe addRecipe(boolean aOptimize, ItemStack[] aInputs, ItemStack[] aOutputs, Object aSpecial,
- int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue) {
- aOptimize = false;
- ArrayList<ItemStack> adjustedInputs = new ArrayList<>();
- ArrayList<ItemStack> adjustedOutputs = new ArrayList<>();
- ArrayList<FluidStack> adjustedFluidInputs = new ArrayList<>();
- ArrayList<FluidStack> adjustedFluidOutputs = new ArrayList<>();
-
- if (aInputs == null) {
- aInputs = new ItemStack[0];
- } else {
- aInputs = ArrayExt.withoutTrailingNulls(aInputs, ItemStack[]::new);
- }
-
- for (ItemStack input : aInputs) {
- FluidStack inputFluidContent = FluidContainerRegistry.getFluidForFilledItem(input);
- if (inputFluidContent != null) {
- inputFluidContent.amount *= input.stackSize;
- if (inputFluidContent.getFluid()
- .getName()
- .equals("ic2steam")) {
- inputFluidContent = GT_ModHandler.getSteam(inputFluidContent.amount);
- }
- adjustedFluidInputs.add(inputFluidContent);
- } else {
- ItemData itemData = GT_OreDictUnificator.getItemData(input);
- if (itemData != null && itemData.hasValidPrefixMaterialData()
- && itemData.mMaterial.mMaterial == Materials.Empty) {
- continue;
- } else {
- if (itemData != null && itemData.hasValidPrefixMaterialData()
- && itemData.mPrefix == OrePrefixes.cell) {
- ItemStack dustStack = itemData.mMaterial.mMaterial.getDust(input.stackSize);
- if (dustStack != null) {
- adjustedInputs.add(dustStack);
- } else {
- adjustedInputs.add(input);
- }
- } else {
- adjustedInputs.add(input);
- }
- }
- }
-
- if (aFluidInputs == null) {
- aFluidInputs = new FluidStack[0];
- }
- }
- Collections.addAll(adjustedFluidInputs, aFluidInputs);
- aInputs = adjustedInputs.toArray(new ItemStack[0]);
- aFluidInputs = adjustedFluidInputs.toArray(new FluidStack[0]);
-
- if (aOutputs == null) {
- aOutputs = new ItemStack[0];
- } else {
- aOutputs = ArrayExt.withoutTrailingNulls(aOutputs, ItemStack[]::new);
- }
-
- for (ItemStack output : aOutputs) {
- FluidStack outputFluidContent = FluidContainerRegistry.getFluidForFilledItem(output);
- if (outputFluidContent != null) {
- outputFluidContent.amount *= output.stackSize;
- if (outputFluidContent.getFluid()
- .getName()
- .equals("ic2steam")) {
- outputFluidContent = GT_ModHandler.getSteam(outputFluidContent.amount);
- }
- adjustedFluidOutputs.add(outputFluidContent);
- } else {
- ItemData itemData = GT_OreDictUnificator.getItemData(output);
- if (!(itemData != null && itemData.hasValidPrefixMaterialData()
- && itemData.mMaterial.mMaterial == Materials.Empty)) {
- adjustedOutputs.add(output);
- }
- }
- }
- if (aFluidOutputs == null) {
- aFluidOutputs = new FluidStack[0];
- }
- Collections.addAll(adjustedFluidOutputs, aFluidOutputs);
- aOutputs = adjustedOutputs.toArray(new ItemStack[0]);
- aFluidOutputs = adjustedFluidOutputs.toArray(new FluidStack[0]);
-
- return super.addRecipe(
- aOptimize,
- aInputs,
- aOutputs,
- aSpecial,
- aOutputChances,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue);
- }
- }
-
- public static class GT_Recipe_Map_DistillationTower extends GT_Recipe_Map {
-
- public GT_Recipe_Map_DistillationTower() {
- super(
- new HashSet<>(110),
- "gt.recipe.distillationtower",
- "Distillation Tower",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "DistillationTower"),
- 2,
- 1,
- 0,
- 0,
- 1,
- E,
- 1,
- E,
- true,
- true);
- setLogoPos(80, 62);
- }
-
- @Override
- public IDrawable getOverlayForSlot(boolean isFluid, boolean isOutput, int index, boolean isSpecial) {
- if (isOutput) {
- if (isFluid) {
- return GT_UITextures.OVERLAY_SLOTS_NUMBER[index + 1];
- } else {
- return GT_UITextures.OVERLAY_SLOTS_NUMBER[0];
- }
- }
- return super.getOverlayForSlot(isFluid, false, index, isSpecial);
- }
-
- @Override
- public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
- return Collections.singletonList(new Pos2d(106, 62));
- }
-
- @Override
- public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
- List<Pos2d> results = new ArrayList<>();
- for (int i = 1; i < fluidOutputCount + 1; i++) {
- results.add(new Pos2d(106 + (i % 3) * 18, 62 - (i / 3) * 18));
- }
- return results;
- }
- }
-
- public static class GT_Recipe_Map_OilCracker extends GT_Recipe_Map {
-
- private final Set<String> mValidCatalystFluidNames = new HashSet<>();
-
- public GT_Recipe_Map_OilCracker() {
- super(
- new HashSet<>(70),
- "gt.recipe.craker",
- "Oil Cracker",
- null,
- GregTech.getResourcePath(TEXTURES_GUI_BASICMACHINES, "OilCracker"),
- 1,
- 1,
- 1,
- 2,
- 1,
- E,
- 1,
- E,
- true,
- true);
- }
-
- @Override
- public GT_Recipe add(GT_Recipe aRecipe) {
- GT_Recipe ret = super.add(aRecipe);
- if (ret != null && ret.mFluidInputs != null && ret.mFluidInputs.length > 1 && ret.mFluidInputs[1] != null) {
- mValidCatalystFluidNames.add(
- ret.mFluidInputs[1].getFluid()
- .getName());
- }
- return ret;
- }
-
- public boolean isValidCatalystFluid(FluidStack aFluidStack) {
- return mValidCatalystFluidNames.contains(
- aFluidStack.getFluid()
- .getName());
- }
- }
-
public static class GT_Recipe_WithAlt extends GT_Recipe {
ItemStack[][] mOreDictAlt;
+ /**
+ * Only for {@link GT_RecipeBuilder}.
+ */
GT_Recipe_WithAlt(ItemStack[] mInputs, ItemStack[] mOutputs, FluidStack[] mFluidInputs,
FluidStack[] mFluidOutputs, int[] mChances, Object mSpecialItems, int mDuration, int mEUt,
int mSpecialValue, boolean mEnabled, boolean mHidden, boolean mFakeRecipe, boolean mCanBeBuffered,
- boolean mNeedsEmptyOutput, String[] neiDesc, ItemStack[][] mOreDictAlt) {
+ boolean mNeedsEmptyOutput, boolean nbtSensitive, String[] neiDesc,
+ @Nullable IRecipeMetadataStorage metadataStorage, RecipeCategory recipeCategory,
+ ItemStack[][] mOreDictAlt) {
super(
mInputs,
mOutputs,
@@ -6299,7 +938,10 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
mFakeRecipe,
mCanBeBuffered,
mNeedsEmptyOutput,
- neiDesc);
+ nbtSensitive,
+ neiDesc,
+ metadataStorage,
+ recipeCategory);
this.mOreDictAlt = mOreDictAlt;
}
@@ -6335,191 +977,4 @@ public class GT_Recipe implements Comparable<GT_Recipe> {
return GT_Utility.copyOrNull(mInputs[aIndex]);
}
}
-
- private static class ReplicatorFakeMap extends GT_Recipe_Map {
-
- public ReplicatorFakeMap(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName, String aLocalName,
- String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount, int aMinimalInputItems,
- int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre, int aNEISpecialValueMultiplier,
- String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI, boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Override
- public GT_Recipe addFakeRecipe(boolean aCheckForCollisions, ItemStack[] aInputs, ItemStack[] aOutputs,
- Object aSpecial, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt,
- int aSpecialValue) {
- AtomicInteger ai = new AtomicInteger();
- Optional.ofNullable(GT_OreDictUnificator.getAssociation(aOutputs[0]))
- .map(itemData -> itemData.mMaterial)
- .map(materialsStack -> materialsStack.mMaterial)
- .map(materials -> materials.mElement)
- .map(Element::getMass)
- .ifPresent(e -> {
- aFluidInputs[0].amount = (int) GT_MetaTileEntity_Replicator.cubicFluidMultiplier(e);
- ai.set(GT_Utility.safeInt(aFluidInputs[0].amount * 512L, 1));
- });
- return addFakeRecipe(
- aCheckForCollisions,
- new GT_Recipe(
- false,
- aInputs,
- aOutputs,
- aSpecial,
- null,
- aFluidInputs,
- aFluidOutputs,
- ai.get(),
- aEUt,
- aSpecialValue));
- }
- }
-
- public static class GT_Recipe_Map_ComplexFusion extends GT_Recipe_Map {
-
- public GT_Recipe_Map_ComplexFusion(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName,
- String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount,
- int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre,
- int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI,
- boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- }
-
- @Override
- public GT_Recipe addRecipe(int[] aOutputChances, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs,
- int aDuration, int aEUt, int aSpecialValue) {
- return addRecipe(
- new GT_Recipe(
- false,
- null,
- null,
- null,
- aOutputChances,
- aFluidInputs,
- aFluidOutputs,
- aDuration,
- aEUt,
- aSpecialValue),
- false,
- false,
- false);
- }
-
- @Override
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getGridPositions(fluidInputCount, 7, 9, 4);
- }
-
- @Override
- public List<Pos2d> getFluidOutputPositions(int fluidOutputCount) {
- return UIHelper.getGridPositions(fluidOutputCount, 97, 9, 4);
- }
- }
-
- public static class GT_Recipe_Map_AssemblyLineFake extends GT_Recipe_Map {
-
- public GT_Recipe_Map_AssemblyLineFake(Collection<GT_Recipe> aRecipeList, String aUnlocalizedName,
- String aLocalName, String aNEIName, String aNEIGUIPath, int aUsualInputCount, int aUsualOutputCount,
- int aMinimalInputItems, int aMinimalInputFluids, int aAmperage, String aNEISpecialValuePre,
- int aNEISpecialValueMultiplier, String aNEISpecialValuePost, boolean aShowVoltageAmperageInNEI,
- boolean aNEIAllowed) {
- super(
- aRecipeList,
- aUnlocalizedName,
- aLocalName,
- aNEIName,
- aNEIGUIPath,
- aUsualInputCount,
- aUsualOutputCount,
- aMinimalInputItems,
- aMinimalInputFluids,
- aAmperage,
- aNEISpecialValuePre,
- aNEISpecialValueMultiplier,
- aNEISpecialValuePost,
- aShowVoltageAmperageInNEI,
- aNEIAllowed);
- setNEITransferRect(new Rectangle(146, 26, 10, 18));
- }
-
- @Override
- public List<Pos2d> getItemInputPositions(int itemInputCount) {
- return UIHelper.getGridPositions(itemInputCount, 16, 8, 4);
- }
-
- @Override
- public List<Pos2d> getItemOutputPositions(int itemOutputCount) {
- return Collections.singletonList(new Pos2d(142, 8));
- }
-
- @Override
- public Pos2d getSpecialItemPosition() {
- return new Pos2d(142, 44);
- }
-
- @Override
- public List<Pos2d> getFluidInputPositions(int fluidInputCount) {
- return UIHelper.getGridPositions(fluidInputCount, 106, 8, 1);
- }
-
- @Override
- public void addProgressBarUI(ModularWindow.Builder builder, Supplier<Float> progressSupplier,
- Pos2d windowOffset) {
- int bar1Width = 17;
- int bar2Width = 18;
- builder.widget(
- new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_1, 17)
- .setDirection(ProgressBar.Direction.RIGHT)
- .setProgress(() -> progressSupplier.get() * ((float) (bar1Width + bar2Width) / bar1Width))
- .setSynced(false, false)
- .setPos(new Pos2d(88, 8).add(windowOffset))
- .setSize(bar1Width, 72));
- builder.widget(
- new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_2, 18)
- .setDirection(ProgressBar.Direction.RIGHT)
- .setProgress(
- () -> (progressSupplier.get() - ((float) bar1Width / (bar1Width + bar2Width)))
- * ((float) (bar1Width + bar2Width) / bar2Width))
- .setSynced(false, false)
- .setPos(new Pos2d(124, 8).add(windowOffset))
- .setSize(bar2Width, 72));
- builder.widget(
- new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ASSEMBLY_LINE_3, 18)
- .setDirection(ProgressBar.Direction.UP)
- .setProgress(progressSupplier)
- .setSynced(false, false)
- .setPos(new Pos2d(146, 26).add(windowOffset))
- .setSize(10, 18));
- }
- }
}
diff --git a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
index 3fa8d91da0..271ea28d87 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeBuilder.java
@@ -1,30 +1,34 @@
package gregtech.api.util;
+import static gregtech.api.util.GT_RecipeMapUtil.SPECIAL_VALUE_ALIASES;
import static gregtech.api.util.GT_Utility.copyFluidArray;
import static gregtech.api.util.GT_Utility.copyItemArray;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
import java.util.List;
-import java.util.Map;
import java.util.Objects;
import java.util.Optional;
-import java.util.function.Function;
import javax.annotation.Nonnull;
+import javax.annotation.Nullable;
import net.minecraft.item.ItemStack;
import net.minecraft.launchwrapper.Launch;
import net.minecraftforge.fluids.FluidStack;
+import org.jetbrains.annotations.Contract;
+
import gregtech.GT_Mod;
-import gregtech.api.interfaces.IGT_RecipeMap;
+import gregtech.api.interfaces.IRecipeMap;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.recipe.metadata.IRecipeMetadataStorage;
+import gregtech.api.recipe.metadata.RecipeMetadataStorage;
import gregtech.api.util.extensions.ArrayExt;
-@SuppressWarnings("unused")
+@SuppressWarnings({ "unused", "UnusedReturnValue" })
public class GT_RecipeBuilder {
// debug mode expose problems. panic mode help you check nothing is wrong-ish without you actively monitoring
@@ -86,9 +90,13 @@ public class GT_RecipeBuilder {
protected boolean fakeRecipe = false;
protected boolean mCanBeBuffered = true;
protected boolean mNeedsEmptyOutput = false;
+ protected boolean nbtSensitive = false;
protected String[] neiDesc;
+ protected RecipeCategory recipeCategory;
protected boolean optimize = true;
- protected Map<MetadataIdentifier<?>, Object> additionalData = new HashMap<>();
+ @Nullable
+ protected IRecipeMetadataStorage metadataStorage;
+ protected boolean checkForCollision = true;
protected boolean valid = true;
GT_RecipeBuilder() {}
@@ -96,8 +104,8 @@ public class GT_RecipeBuilder {
private GT_RecipeBuilder(ItemStack[] inputsBasic, Object[] inputsOreDict, ItemStack[] outputs, ItemStack[][] alts,
FluidStack[] fluidInputs, FluidStack[] fluidOutputs, int[] chances, Object special, int duration, int eut,
int specialValue, boolean enabled, boolean hidden, boolean fakeRecipe, boolean mCanBeBuffered,
- boolean mNeedsEmptyOutput, String[] neiDesc, boolean optimize,
- Map<MetadataIdentifier<?>, Object> additionalData, boolean valid) {
+ boolean mNeedsEmptyOutput, boolean nbtSensitive, String[] neiDesc, RecipeCategory recipeCategory,
+ boolean optimize, @Nullable IRecipeMetadataStorage metadataStorage, boolean checkForCollision, boolean valid) {
this.inputsBasic = inputsBasic;
this.inputsOreDict = inputsOreDict;
this.outputs = outputs;
@@ -114,9 +122,15 @@ public class GT_RecipeBuilder {
this.fakeRecipe = fakeRecipe;
this.mCanBeBuffered = mCanBeBuffered;
this.mNeedsEmptyOutput = mNeedsEmptyOutput;
+ this.nbtSensitive = nbtSensitive;
this.neiDesc = neiDesc;
+ this.recipeCategory = recipeCategory;
this.optimize = optimize;
- this.additionalData.putAll(additionalData);
+ this.metadataStorage = metadataStorage;
+ if (this.metadataStorage != null) {
+ this.metadataStorage = this.metadataStorage.copy();
+ }
+ this.checkForCollision = checkForCollision;
this.valid = valid;
}
@@ -137,6 +151,14 @@ public class GT_RecipeBuilder {
return new GT_RecipeBuilder();
}
+ /**
+ * Creates empty builder where only duration and EU/t are set to 0.
+ */
+ public static GT_RecipeBuilder empty() {
+ return new GT_RecipeBuilder().duration(0)
+ .eut(0);
+ }
+
private static boolean containsNull(Object[] arr) {
return arr == null || Arrays.stream(arr)
.anyMatch(Objects::isNull);
@@ -156,7 +178,7 @@ public class GT_RecipeBuilder {
return DEBUG_MODE_NULL || PANIC_MODE_NULL;
}
- private static void handleInvalidRecipe() {
+ public static void handleInvalidRecipe() {
if (!DEBUG_MODE_INVALID && !PANIC_MODE_INVALID) {
return;
}
@@ -247,14 +269,6 @@ public class GT_RecipeBuilder {
return noOptimize();
}
- /**
- * @deprecated You don't need to call this method, RecipeBuilder now takes empty item input array by default.
- */
- @Deprecated
- public GT_RecipeBuilder noItemInputs() {
- return this;
- }
-
public GT_RecipeBuilder itemOutputs(ItemStack... outputs) {
if (debugNull() && containsNull(outputs)) handleNullRecipeComponents("itemOutputs");
this.outputs = outputs;
@@ -278,50 +292,18 @@ public class GT_RecipeBuilder {
return this;
}
- /**
- * @deprecated You don't need to call this method, RecipeBuilder now takes empty item output array by default.
- */
- @Deprecated
- public GT_RecipeBuilder noItemOutputs() {
- return this;
- }
-
public GT_RecipeBuilder fluidInputs(FluidStack... fluidInputs) {
if (debugNull() && containsNull(fluidInputs)) handleNullRecipeComponents("fluidInputs");
this.fluidInputs = fix(fluidInputs);
return this;
}
- /**
- * @deprecated You don't need to call this method, RecipeBuilder now takes empty fluid input array by default.
- */
- @Deprecated
- public GT_RecipeBuilder noFluidInputs() {
- return this;
- }
-
public GT_RecipeBuilder fluidOutputs(FluidStack... fluidOutputs) {
if (debugNull() && containsNull(fluidOutputs)) handleNullRecipeComponents("fluidOutputs");
this.fluidOutputs = fix(fluidOutputs);
return this;
}
- /**
- * @deprecated You don't need to call this method, RecipeBuilder now takes empty fluid output array by default.
- */
- @Deprecated
- public GT_RecipeBuilder noFluidOutputs() {
- return this;
- }
-
- /**
- * @deprecated You don't need to call this method, RecipeBuilder now takes empty arrays by default.
- */
- @Deprecated
- public GT_RecipeBuilder noOutputs() {
- return this;
- }
-
public GT_RecipeBuilder outputChances(int... chances) {
if (outputs != null && chances.length != outputs.length) {
throw new IllegalArgumentException("Output chances array and items array length differs");
@@ -398,11 +380,21 @@ public class GT_RecipeBuilder {
return this;
}
+ public GT_RecipeBuilder nbtSensitive() {
+ this.nbtSensitive = true;
+ return this;
+ }
+
public GT_RecipeBuilder setNEIDesc(String... neiDesc) {
this.neiDesc = neiDesc;
return this;
}
+ public GT_RecipeBuilder recipeCategory(RecipeCategory recipeCategory) {
+ this.recipeCategory = recipeCategory;
+ return this;
+ }
+
/**
* Prevent the resulting recipe from optimizing recipe, which is a process that reduce recipe batch size.
*/
@@ -411,17 +403,51 @@ public class GT_RecipeBuilder {
return this;
}
- public <T> GT_RecipeBuilder metadata(MetadataIdentifier<T> key, T value) {
- additionalData.put(key, value);
+ /**
+ * Prevents checking collision with existing recipes when adding the built recipe.
+ */
+ public GT_RecipeBuilder ignoreCollision() {
+ this.checkForCollision = false;
return this;
}
- public <T> T getMetadata(MetadataIdentifier<T> key) {
- return key.cast(additionalData.get(key));
+ /**
+ * Sets metadata of the recipe. It can be used for recipe emitter to do special things, or for being stored in the
+ * built recipe and used for actual recipe processing.
+ * <p>
+ * {@link GT_RecipeConstants} has a series of metadata keys. Or you can create one by yourself.
+ */
+ public <T> GT_RecipeBuilder metadata(RecipeMetadataKey<T> key, T value) {
+ if (metadataStorage == null) {
+ metadataStorage = new RecipeMetadataStorage();
+ }
+ metadataStorage.store(key, value);
+ return this;
+ }
+
+ /**
+ * Gets metadata already set for this builder. Can return null. Use
+ * {@link #getMetadataOrDefault(RecipeMetadataKey, Object)}
+ * if you want to specify default value.
+ */
+ @Nullable
+ public <T> T getMetadata(RecipeMetadataKey<T> key) {
+ if (metadataStorage == null) {
+ return null;
+ }
+ return key.cast(metadataStorage.getMetadata(key));
}
- public <T> T getMetadata(MetadataIdentifier<T> key, T defaultValue) {
- return key.cast(additionalData.getOrDefault(key, defaultValue));
+ /**
+ * Gets metadata already set for this builder with default value. Does not return null unless default value is null.
+ */
+ @Contract("_, !null -> !null")
+ @Nullable
+ public <T> T getMetadataOrDefault(RecipeMetadataKey<T> key, T defaultValue) {
+ if (metadataStorage == null) {
+ return defaultValue;
+ }
+ return key.cast(metadataStorage.getMetadataOrDefault(key, defaultValue));
}
public GT_RecipeBuilder requiresCleanRoom() {
@@ -466,9 +492,12 @@ public class GT_RecipeBuilder {
fakeRecipe,
mCanBeBuffered,
mNeedsEmptyOutput,
+ nbtSensitive,
copy(neiDesc),
+ recipeCategory,
optimize,
- additionalData,
+ metadataStorage,
+ checkForCollision,
valid);
}
@@ -493,9 +522,12 @@ public class GT_RecipeBuilder {
fakeRecipe,
mCanBeBuffered,
mNeedsEmptyOutput,
+ nbtSensitive,
copy(neiDesc),
+ recipeCategory,
optimize,
- Collections.emptyMap(),
+ null,
+ checkForCollision,
valid);
}
@@ -553,6 +585,18 @@ public class GT_RecipeBuilder {
return eut;
}
+ public RecipeCategory getRecipeCategory() {
+ return recipeCategory;
+ }
+
+ public boolean isOptimize() {
+ return optimize;
+ }
+
+ public boolean isCheckForCollision() {
+ return checkForCollision;
+ }
+
// endregion
// region validator
@@ -581,7 +625,7 @@ public class GT_RecipeBuilder {
/**
* Validate if input item match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateNoInput() {
return GT_Utility.isArrayEmptyOrNull(inputsBasic) ? this : invalidate();
@@ -589,7 +633,7 @@ public class GT_RecipeBuilder {
/**
* Validate if input fluid match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateNoInputFluid() {
return GT_Utility.isArrayEmptyOrNull(fluidInputs) ? this : invalidate();
@@ -597,7 +641,7 @@ public class GT_RecipeBuilder {
/**
* Validate if output item match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateNoOutput() {
return GT_Utility.isArrayEmptyOrNull(outputs) ? this : invalidate();
@@ -605,7 +649,7 @@ public class GT_RecipeBuilder {
/**
* Validate if output fluid match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateNoOutputFluid() {
return GT_Utility.isArrayEmptyOrNull(fluidOutputs) ? this : invalidate();
@@ -613,7 +657,7 @@ public class GT_RecipeBuilder {
/**
* Validate if input item match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateInputCount(int min, int max) {
if (inputsBasic == null) return min < 0 ? this : invalidate();
@@ -622,7 +666,7 @@ public class GT_RecipeBuilder {
/**
* Validate if input fluid match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateInputFluidCount(int min, int max) {
if (fluidInputs == null) return min < 0 ? this : invalidate();
@@ -631,7 +675,7 @@ public class GT_RecipeBuilder {
/**
* Validate if output item match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateOutputCount(int min, int max) {
if (outputs == null) return min < 0 ? this : invalidate();
@@ -640,7 +684,7 @@ public class GT_RecipeBuilder {
/**
* Validate if output fluid match requirement. Return as invalidated if fails prereq. Specify -1 as min to allow
- * unset. Both bound inclusive. Only supposed to be called by IGT_RecipeMap and not client code.
+ * unset. Both bound inclusive. Only supposed to be called by IRecipeMap and not client code.
*/
public GT_RecipeBuilder validateOutputFluidCount(int min, int max) {
if (fluidOutputs == null) return min < 0 ? this : invalidate();
@@ -669,6 +713,12 @@ public class GT_RecipeBuilder {
// endregion
+ /**
+ * Builds new recipe, without custom behavior of recipemaps. For adding recipe to recipemap,
+ * use {@link #addTo} instead.
+ *
+ * @return Built recipe. Returns empty if failed to build.
+ */
public Optional<GT_Recipe> build() {
if (!valid) {
handleInvalidRecipe();
@@ -693,7 +743,10 @@ public class GT_RecipeBuilder {
fakeRecipe,
mCanBeBuffered,
mNeedsEmptyOutput,
- neiDesc)));
+ nbtSensitive,
+ neiDesc,
+ metadataStorage,
+ recipeCategory)));
}
public GT_RecipeBuilder forceOreDictInput() {
@@ -728,7 +781,10 @@ public class GT_RecipeBuilder {
fakeRecipe,
mCanBeBuffered,
mNeedsEmptyOutput,
+ nbtSensitive,
neiDesc,
+ metadataStorage,
+ recipeCategory,
alts)));
}
@@ -769,18 +825,36 @@ public class GT_RecipeBuilder {
r.mHidden = hidden;
r.mCanBeBuffered = mCanBeBuffered;
r.mNeedsEmptyOutput = mNeedsEmptyOutput;
+ r.isNBTSensitive = nbtSensitive;
r.mFakeRecipe = fakeRecipe;
r.mEnabled = enabled;
if (neiDesc != null) r.setNeiDesc(neiDesc);
+ applyDefaultSpecialValues(r);
return r;
}
- public Collection<GT_Recipe> addTo(IGT_RecipeMap recipeMap) {
+ private void applyDefaultSpecialValues(GT_Recipe recipe) {
+ if (recipe.mSpecialValue != 0) return;
+
+ int specialValue = 0;
+ if (getMetadataOrDefault(GT_RecipeConstants.LOW_GRAVITY, false)) specialValue -= 100;
+ if (getMetadataOrDefault(GT_RecipeConstants.CLEANROOM, false)) specialValue -= 200;
+ for (RecipeMetadataKey<Integer> ident : SPECIAL_VALUE_ALIASES) {
+ Integer metadata = getMetadataOrDefault(ident, null);
+ if (metadata != null) {
+ specialValue = metadata;
+ break;
+ }
+ }
+ recipe.mSpecialValue = specialValue;
+ }
+
+ public Collection<GT_Recipe> addTo(IRecipeMap recipeMap) {
return recipeMap.doAdd(this);
}
public GT_RecipeBuilder reset() {
- additionalData.clear();
+ metadataStorage = null;
alts = null;
chances = null;
duration = -1;
@@ -794,7 +868,9 @@ public class GT_RecipeBuilder {
inputsOreDict = null;
mCanBeBuffered = true;
mNeedsEmptyOutput = false;
+ nbtSensitive = false;
neiDesc = null;
+ recipeCategory = null;
optimize = true;
outputs = null;
special = null;
@@ -802,45 +878,4 @@ public class GT_RecipeBuilder {
valid = true;
return this;
}
-
- public final static class MetadataIdentifier<T> {
-
- private static final Map<MetadataIdentifier<?>, MetadataIdentifier<?>> allIdentifiers = Collections
- .synchronizedMap(new HashMap<>());
- private final Class<T> clazz;
- private final String identifier;
-
- private MetadataIdentifier(Class<T> clazz, String identifier) {
- this.clazz = clazz;
- this.identifier = identifier;
- }
-
- public static <T> MetadataIdentifier<T> create(Class<T> clazz, String identifier) {
- MetadataIdentifier<T> key = new MetadataIdentifier<>(clazz, identifier);
- // noinspection unchecked // The class uses type T to fill allIdentifiers
- return (MetadataIdentifier<T>) allIdentifiers.computeIfAbsent(key, Function.identity());
- }
-
- public T cast(Object o) {
- return clazz.cast(o);
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
-
- MetadataIdentifier<?> that = (MetadataIdentifier<?>) o;
-
- if (!clazz.equals(that.clazz)) return false;
- return identifier.equals(that.identifier);
- }
-
- @Override
- public int hashCode() {
- int result = clazz.hashCode();
- result = 31 * result + identifier.hashCode();
- return result;
- }
- }
}
diff --git a/src/main/java/gregtech/api/util/GT_RecipeConstants.java b/src/main/java/gregtech/api/util/GT_RecipeConstants.java
index 2b92615c5f..8e728030f2 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeConstants.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeConstants.java
@@ -17,8 +17,11 @@ import cpw.mods.fml.common.registry.GameRegistry;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
-import gregtech.api.interfaces.IGT_RecipeMap;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
+import gregtech.api.interfaces.IRecipeMap;
+import gregtech.api.recipe.RecipeCategories;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.recipe.RecipeMetadataKey;
+import gregtech.api.recipe.metadata.SimpleRecipeMetadataKey;
// this class is intended to be import-static-ed on every recipe script
// so take care to not put unrelated stuff here!
@@ -28,72 +31,77 @@ public class GT_RecipeConstants {
* Set to true to signal the recipe require low gravity. do nothing if recipe set specialValue explicitly. Can
* coexist with CLEANROOM just fine
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Boolean> LOW_GRAVITY = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Boolean> LOW_GRAVITY = SimpleRecipeMetadataKey
.create(Boolean.class, "low_gravity");
/**
* Set to true to signal the recipe require cleanroom. do nothing if recipe set specialValue explicitly. Can coexist
* with LOW_GRAVITY just fine
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Boolean> CLEANROOM = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Boolean> CLEANROOM = SimpleRecipeMetadataKey
.create(Boolean.class, "cleanroom");
/**
* Common additive to use in recipe, e.g. for PBF, this is coal amount.
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Integer> ADDITIVE_AMOUNT = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Integer> ADDITIVE_AMOUNT = SimpleRecipeMetadataKey
.create(Integer.class, "additives");
/**
* Used for fusion reactor. Denotes ignition threshold.
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Integer> FUSION_THRESHOLD = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Integer> FUSION_THRESHOLD = SimpleRecipeMetadataKey
.create(Integer.class, "fusion_threshold");
/**
* Research time in a scanner used in ticks.
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Integer> RESEARCH_TIME = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Integer> RESEARCH_TIME = SimpleRecipeMetadataKey
.create(Integer.class, "research_time");
/**
* Fuel type. TODO should we use enum directly?
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Integer> FUEL_TYPE = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Integer> FUEL_TYPE = SimpleRecipeMetadataKey
.create(Integer.class, "fuel_type");
/**
* Fuel value.
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Integer> FUEL_VALUE = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Integer> FUEL_VALUE = SimpleRecipeMetadataKey
.create(Integer.class, "fuel_value");
/**
- * Fuel value.
+ * Required heat for heating coil (Kelvin).
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Integer> COIL_HEAT = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Integer> COIL_HEAT = SimpleRecipeMetadataKey
.create(Integer.class, "coil_heat");
/**
* Research item used by assline recipes.
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<ItemStack> RESEARCH_ITEM = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<ItemStack> RESEARCH_ITEM = SimpleRecipeMetadataKey
.create(ItemStack.class, "research_item");
/**
* For assembler. It accepts a single item as oredict. It looks like no one uses this anyway...
*/
- public static final GT_RecipeBuilder.MetadataIdentifier<Object> OREDICT_INPUT = GT_RecipeBuilder.MetadataIdentifier
+ public static final RecipeMetadataKey<Object> OREDICT_INPUT = SimpleRecipeMetadataKey
.create(Object.class, "oredict_input");
-
/**
- * Add fusion recipes. Dispatcher between complex fusion (which accepts arbitrarily many input/outputs) and classic
- * fusion (2 in 1 out).
+ * Replicator output material.
*/
- public static final IGT_RecipeMap Fusion = IGT_RecipeMap.newRecipeMap(builder -> {
- if (GT_Utility.isArrayEmptyOrNull(builder.getFluidInputs())
- || GT_Utility.isArrayEmptyOrNull(builder.getFluidOutputs())) return Collections.emptyList();
- if (builder.getFluidInputs().length > 2 || builder.getFluidOutputs().length > 2)
- return GT_Recipe_Map.sComplexFusionRecipes.doAdd(builder);
- return GT_Recipe_Map.sFusionRecipes.doAdd(builder);
- });
+ public static final RecipeMetadataKey<Materials> MATERIAL = SimpleRecipeMetadataKey
+ .create(Materials.class, "material");
+ /**
+ * Marker for {@link #UniversalArcFurnace} to tell that the recipe belongs to recycling category.
+ */
+ public static final RecipeMetadataKey<Boolean> RECYCLE = SimpleRecipeMetadataKey.create(Boolean.class, "recycle");
+ /**
+ * For Microwave.
+ */
+ public static final RecipeMetadataKey<Boolean> EXPLODE = SimpleRecipeMetadataKey.create(Boolean.class, "explode");
+ /**
+ * For Microwave.
+ */
+ public static final RecipeMetadataKey<Boolean> ON_FIRE = SimpleRecipeMetadataKey.create(Boolean.class, "on_fire");
/**
* Add a arc furnace recipe. Adds to both normal arc furnace and plasma arc furnace.
* Will override the fluid input with oxygen/plasma for the respective recipe maps, so there is no point setting it.
*/
- public static final IGT_RecipeMap UniversalArcFurnace = IGT_RecipeMap.newRecipeMap(builder -> {
+ public static final IRecipeMap UniversalArcFurnace = IRecipeMap.newRecipeMap(builder -> {
if (!GT_Utility.isArrayOfLength(builder.getItemInputsBasic(), 1)
|| GT_Utility.isArrayEmptyOrNull(builder.getItemOutputs())) return Collections.emptyList();
int aDuration = builder.getDuration();
@@ -101,39 +109,45 @@ public class GT_RecipeConstants {
return Collections.emptyList();
}
builder.duration(aDuration);
+ boolean recycle = builder.getMetadataOrDefault(RECYCLE, false);
Collection<GT_Recipe> ret = new ArrayList<>();
for (Materials mat : new Materials[] { Materials.Argon, Materials.Nitrogen }) {
int tPlasmaAmount = (int) Math.max(1L, aDuration / (mat.getMass() * 16L));
- GT_RecipeBuilder b2 = builder.copy();
- b2.fluidInputs(mat.getPlasma(tPlasmaAmount))
+ GT_RecipeBuilder plasmaBuilder = builder.copy()
+ .fluidInputs(mat.getPlasma(tPlasmaAmount))
.fluidOutputs(mat.getGas(tPlasmaAmount));
- ret.addAll(GT_Recipe_Map.sPlasmaArcFurnaceRecipes.doAdd(b2));
+ if (recycle) {
+ plasmaBuilder.recipeCategory(RecipeCategories.plasmaArcFurnaceRecycling);
+ }
+ ret.addAll(RecipeMaps.plasmaArcFurnaceRecipes.doAdd(plasmaBuilder));
}
- ret.addAll(
- GT_Recipe_Map.sArcFurnaceRecipes.doAdd(
- builder.copy()
- .fluidInputs(Materials.Oxygen.getGas(aDuration))));
+ GT_RecipeBuilder arcBuilder = builder.copy()
+ .fluidInputs(Materials.Oxygen.getGas(aDuration));
+ if (recycle) {
+ arcBuilder.recipeCategory(RecipeCategories.arcFurnaceRecycling);
+ }
+ ret.addAll(RecipeMaps.arcFurnaceRecipes.doAdd(arcBuilder));
return ret;
});
/**
* Add a chemical reactor recipe to both LCR and singleblocks.
*/
- public static final IGT_RecipeMap UniversalChemical = IGT_RecipeMap.newRecipeMap(builder -> {
+ public static final IRecipeMap UniversalChemical = IRecipeMap.newRecipeMap(builder -> {
for (ItemStack input : builder.getItemInputsBasic()) {
// config >= 10 -> this is a special chemical recipe that output fluid/canned fluid variant.
// it doesn't belong to multiblocks
if (GT_Utility.isAnyIntegratedCircuit(input) && input.getItemDamage() >= 10) {
- return builder.addTo(GT_Recipe_Map.sChemicalRecipes);
+ return builder.addTo(RecipeMaps.chemicalReactorRecipes);
}
}
return GT_Utility.concat(
builder.copy()
- .addTo(GT_Recipe_Map.sChemicalRecipes),
+ .addTo(RecipeMaps.chemicalReactorRecipes),
convertCellToFluid(builder, false)
// LCR does not need cleanroom.
.metadata(CLEANROOM, false)
- .addTo(GT_Recipe_Map.sMultiblockChemicalRecipes));
+ .addTo(RecipeMaps.multiblockChemicalReactorRecipes));
});
/**
@@ -141,18 +155,22 @@ public class GT_RecipeConstants {
* Uses {@link #RESEARCH_ITEM} metadata as research item, and {@link #RESEARCH_TIME} metadata as research time, unit
* in ticks.
*/
- public static final IGT_RecipeMap AssemblyLine = IGT_RecipeMap.newRecipeMap(builder -> {
+ public static final IRecipeMap AssemblyLine = IRecipeMap.newRecipeMap(builder -> {
Optional<GT_Recipe.GT_Recipe_WithAlt> rr = builder.forceOreDictInput()
.validateInputCount(4, 16)
.validateOutputCount(1, 1)
.validateOutputFluidCount(-1, 0)
.validateInputFluidCount(0, 4)
.buildWithAlt();
+ // noinspection SimplifyOptionalCallChains
if (!rr.isPresent()) return Collections.emptyList();
GT_Recipe.GT_Recipe_WithAlt r = rr.get();
ItemStack[][] mOreDictAlt = r.mOreDictAlt;
Object[] inputs = builder.getItemInputsOreDict();
ItemStack aResearchItem = builder.getMetadata(RESEARCH_ITEM);
+ if (aResearchItem == null) {
+ return Collections.emptyList();
+ }
ItemStack aOutput = r.mOutputs[0];
int tPersistentHash = 1;
for (int i = 0, mOreDictAltLength = mOreDictAlt.length; i < mOreDictAltLength; i++) {
@@ -198,13 +216,13 @@ public class GT_RecipeConstants {
if (fluidInput == null) continue;
tPersistentHash = tPersistentHash * 31 + GT_Utility.persistentHash(fluidInput, true, false);
}
- int aResearchTime = builder.getMetadata(RESEARCH_TIME);
+ int aResearchTime = builder.getMetadataOrDefault(RESEARCH_TIME, 0);
tPersistentHash = tPersistentHash * 31 + aResearchTime;
tPersistentHash = tPersistentHash * 31 + r.mDuration;
tPersistentHash = tPersistentHash * 31 + r.mEUt;
Collection<GT_Recipe> ret = new ArrayList<>(3);
ret.add(
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { aResearchItem },
new ItemStack[] { aOutput },
@@ -216,7 +234,7 @@ public class GT_RecipeConstants {
-201)); // means it's scanned
ret.add(
- GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(
+ RecipeMaps.assemblylineVisualRecipes.addFakeRecipe(
false,
r.mInputs,
new ItemStack[] { aOutput },
@@ -248,13 +266,13 @@ public class GT_RecipeConstants {
* Just like any normal assembler recipe, however it accepts one input item to be oredicted. Pass in the item to
* oredict via {@link #OREDICT_INPUT}. It will be used along all other item inputs as input of this recipe.
*/
- public static IGT_RecipeMap AssemblerOD = IGT_RecipeMap.newRecipeMap(builder -> {
+ public static IRecipeMap AssemblerOD = IRecipeMap.newRecipeMap(builder -> {
Collection<GT_Recipe> ret = new ArrayList<>();
for (ItemStack input : GT_OreDictUnificator.getOresImmutable(builder.getMetadata(OREDICT_INPUT))) {
ret.addAll(
builder.copy()
.itemInputs(GT_RecipeMapUtil.appendArray(builder.getItemInputsBasic(), input))
- .addTo(GT_Recipe_Map.sAssemblerRecipes));
+ .addTo(RecipeMaps.assemblerRecipes));
}
return ret;
});
@@ -265,17 +283,18 @@ public class GT_RecipeConstants {
* Can use {@link FuelType#ordinal()} as a human-readable form of what FUEL_TYPE should be.
* You can bypass this and add to relevant fuel maps directly if you wish.
*/
- public static IGT_RecipeMap Fuel = IGT_RecipeMap.newRecipeMap(builder -> {
+ public static IRecipeMap Fuel = IRecipeMap.newRecipeMap(builder -> {
builder.validateInputCount(1, 1)
.validateNoInputFluid()
.validateOutputCount(-1, 1)
.validateNoOutputFluid();
if (!builder.isValid()) return Collections.emptyList();
- int fuelType = builder.getMetadata(FUEL_TYPE);
+ Integer fuelType = builder.getMetadata(FUEL_TYPE);
+ if (fuelType == null) return Collections.emptyList();
builder.metadata(
FUEL_VALUE,
GregTech_API.sRecipeFile
- .get("fuel_" + fuelType, builder.getItemInputBasic(0), builder.getMetadata(FUEL_VALUE)));
+ .get("fuel_" + fuelType, builder.getItemInputBasic(0), builder.getMetadataOrDefault(FUEL_VALUE, 0)));
return FuelType.get(fuelType)
.getTarget()
.doAdd(builder);
@@ -284,18 +303,18 @@ public class GT_RecipeConstants {
public enum FuelType {
// ORDER MATTERS. DO NOT INSERT ELEMENT BETWEEN EXISTING ONES
- DieselFuel(GT_Recipe_Map.sDieselFuels),
- GasTurbine(GT_Recipe_Map.sTurbineFuels),
+ DieselFuel(RecipeMaps.dieselFuels),
+ GasTurbine(RecipeMaps.gasTurbineFuels),
// appears unused
- HotFuel(GT_Recipe_Map.sHotFuels),
- SemiFluid(GT_Recipe_Map.sDenseLiquidFuels),
- PlasmaTurbine(GT_Recipe_Map.sPlasmaFuels),
- Magic(GT_Recipe_Map.sMagicFuels),;
+ HotFuel(RecipeMaps.hotFuels),
+ SemiFluid(RecipeMaps.denseLiquidFuels),
+ PlasmaTurbine(RecipeMaps.plasmaFuels),
+ Magic(RecipeMaps.magicFuels),;
private static final FuelType[] VALUES = values();
- private final IGT_RecipeMap target;
+ private final IRecipeMap target;
- FuelType(IGT_RecipeMap target) {
+ FuelType(IRecipeMap target) {
this.target = target;
}
@@ -304,7 +323,7 @@ public class GT_RecipeConstants {
return VALUES[fuelType];
}
- public IGT_RecipeMap getTarget() {
+ public IRecipeMap getTarget() {
return target;
}
}
diff --git a/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java b/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java
index 577f91a170..3e97b56f84 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeMapUtil.java
@@ -26,12 +26,12 @@ import com.google.common.collect.Multimap;
import cpw.mods.fml.common.Loader;
import gnu.trove.list.TIntList;
import gnu.trove.list.array.TIntArrayList;
-import gregtech.api.interfaces.IGT_RecipeMap;
+import gregtech.api.interfaces.IRecipeMap;
+import gregtech.api.recipe.RecipeMetadataKey;
/**
* Define helpers useful in the creation of recipe maps.
*/
-// Do not place arbitrary stuff here! These are all statically imported in GT_Recipe.java file.
public class GT_RecipeMapUtil {
public static final Function<GT_Recipe, GT_Recipe> ALL_FAKE_RECIPE = r -> {
@@ -65,10 +65,13 @@ public class GT_RecipeMapUtil {
: r.mFluidOutputs[0].getFluid()
.getName()
: getStackConfigName(r.mOutputs[0]);
- private static final Map<String, IGT_RecipeMap> addonRecipeMaps = new HashMap<>();
- private static final Multimap<String, Consumer<IGT_RecipeMap>> delayedActions = ArrayListMultimap.create();
+ private static final Map<String, IRecipeMap> addonRecipeMaps = new HashMap<>();
+ private static final Multimap<String, Consumer<IRecipeMap>> delayedActions = ArrayListMultimap.create();
- public static final Set<GT_RecipeBuilder.MetadataIdentifier<Integer>> SPECIAL_VALUE_ALIASES = new HashSet<>();
+ /**
+ * Set of metadata that work as alias for special values.
+ */
+ public static final Set<RecipeMetadataKey<Integer>> SPECIAL_VALUE_ALIASES = new HashSet<>();
public static <T> T[] appendArray(T[] arr, T val) {
T[] newArr = Arrays.copyOf(arr, arr.length + 1);
@@ -143,8 +146,7 @@ public class GT_RecipeMapUtil {
* Currently unused, but you are advised to fill them, so that when The Day (tm) comes we don't
* end up with a bunch of weird concurrency bugs.
*/
- public static void registerRecipeMap(String identifier, IGT_RecipeMap recipeMap,
- RecipeMapDependency... dependencies) {
+ public static void registerRecipeMap(String identifier, IRecipeMap recipeMap, RecipeMapDependency... dependencies) {
String modId = Loader.instance()
.activeModContainer()
.getModId();
@@ -152,7 +154,7 @@ public class GT_RecipeMapUtil {
"do not register recipe map under the name of gregtech! do it in your own preinit!");
String id = modId + "@" + identifier;
addonRecipeMaps.put(id, recipeMap);
- for (Consumer<IGT_RecipeMap> action : delayedActions.get(id)) {
+ for (Consumer<IRecipeMap> action : delayedActions.get(id)) {
action.accept(recipeMap);
}
}
@@ -167,9 +169,9 @@ public class GT_RecipeMapUtil {
* @param registerAction DO NOT ADD RECIPES TO MAPS OTHER THAN THE ONE PASSED TO YOU. DO NOT DO ANYTHING OTHER THAN
* ADDING RECIPES TO THIS R
*/
- public static void registerRecipesFor(String modid, String identifier, Consumer<IGT_RecipeMap> registerAction) {
+ public static void registerRecipesFor(String modid, String identifier, Consumer<IRecipeMap> registerAction) {
String id = modid + "@" + identifier;
- IGT_RecipeMap map = addonRecipeMaps.get(id);
+ IRecipeMap map = addonRecipeMaps.get(id);
if (map == null) delayedActions.put(id, registerAction);
else registerAction.accept(map);
}
@@ -205,10 +207,10 @@ public class GT_RecipeMapUtil {
public static final class RecipeMapDependency {
- private final IGT_RecipeMap obj;
+ private final IRecipeMap obj;
private final String id;
- public RecipeMapDependency(IGT_RecipeMap obj, String id) {
+ public RecipeMapDependency(IRecipeMap obj, String id) {
this.obj = obj;
this.id = id;
}
@@ -217,7 +219,7 @@ public class GT_RecipeMapUtil {
return new RecipeMapDependency(null, id);
}
- public static RecipeMapDependency create(IGT_RecipeMap obj) {
+ public static RecipeMapDependency create(IRecipeMap obj) {
return new RecipeMapDependency(obj, null);
}
}
diff --git a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
index c057cf0b2f..560d26c41d 100644
--- a/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
+++ b/src/main/java/gregtech/api/util/GT_RecipeRegistrator.java
@@ -19,12 +19,13 @@ import static gregtech.api.enums.Materials.Steel;
import static gregtech.api.enums.Materials.Steeleaf;
import static gregtech.api.enums.Materials.Thaumium;
import static gregtech.api.enums.Materials.Void;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.wiremillRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.RECYCLE;
import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -61,6 +62,7 @@ import gregtech.api.enums.SubTag;
import gregtech.api.enums.TierEU;
import gregtech.api.objects.ItemData;
import gregtech.api.objects.MaterialStack;
+import gregtech.api.recipe.RecipeCategories;
import ic2.api.reactor.IReactorComponent;
/**
@@ -205,15 +207,6 @@ public class GT_RecipeRegistrator {
|| aMaterial.mSmeltInto.mStandardMoltenFluid == null
|| !aMaterial.contains(SubTag.SMELTING_TO_FLUID)
|| (L * aMaterialAmount) / (M * aStack.stackSize) <= 0) return;
- ItemData tData = GT_OreDictUnificator.getItemData(aStack);
- boolean tHide = aStack.getUnlocalizedName()
- .startsWith("gt.blockmachines") && (GT_Mod.gregtechproxy.mHideRecyclingRecipes);
- if (GT_Mod.gregtechproxy.mHideRecyclingRecipes && tData != null
- && tData.hasValidPrefixData()
- && !(tData.mPrefix == OrePrefixes.dust || tData.mPrefix == OrePrefixes.ingot
- || tData.mPrefix == OrePrefixes.block | tData.mPrefix == OrePrefixes.plate)) {
- tHide = true;
- }
ItemStack recipeOutput = aByproduct == null ? null
: aByproduct.mMaterial.contains(SubTag.NO_SMELTING) || !aByproduct.mMaterial.contains(SubTag.METAL)
@@ -224,22 +217,16 @@ public class GT_RecipeRegistrator {
: null
: GT_OreDictUnificator.getIngotOrDust(aByproduct.mMaterial.mSmeltInto, aByproduct.mAmount);
+ GT_RecipeBuilder builder = RA.stdBuilder()
+ .itemInputs(GT_Utility.copyAmount(1, aStack));
if (recipeOutput != null) {
- RA.stdBuilder()
- .itemInputs(GT_Utility.copyAmount(1, aStack))
- .itemOutputs(recipeOutput)
- .fluidOutputs(aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)))
- .duration((int) Math.max(1, (24 * aMaterialAmount) / M))
- .eut(Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())))
- .addTo(sFluidExtractionRecipes);
- } else {
- RA.stdBuilder()
- .itemInputs(GT_Utility.copyAmount(1, aStack))
- .fluidOutputs(aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)))
- .duration((int) Math.max(1, (24 * aMaterialAmount) / M))
- .eut(Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())))
- .addTo(sFluidExtractionRecipes);
+ builder.itemOutputs(recipeOutput);
}
+ builder.fluidOutputs(aMaterial.mSmeltInto.getMolten((L * aMaterialAmount) / (M * aStack.stackSize)))
+ .duration((int) Math.max(1, (24 * aMaterialAmount) / M))
+ .eut(Math.max(8, (int) Math.sqrt(2 * aMaterial.mSmeltInto.mStandardMoltenFluid.getTemperature())))
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
}
/**
@@ -259,11 +246,10 @@ public class GT_RecipeRegistrator {
aMaterialAmount /= aStack.stackSize;
- boolean tHide = (aMaterial != Materials.Iron) && (GT_Mod.gregtechproxy.mHideRecyclingRecipes);
if (aAllowAlloySmelter) GT_ModHandler.addSmeltingAndAlloySmeltingRecipe(
GT_Utility.copyAmount(1, aStack),
GT_OreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount),
- tHide);
+ false);
else GT_ModHandler.addSmeltingRecipe(
GT_Utility.copyAmount(1, aStack),
GT_OreDictUnificator.getIngot(aMaterial.mSmeltInto, aMaterialAmount));
@@ -285,12 +271,19 @@ public class GT_RecipeRegistrator {
aData = new ItemData(aData);
if (!aData.hasValidMaterialData()) return;
- boolean tIron = false;
+ boolean isRecycle = true;
for (MaterialStack tMaterial : aData.getAllMaterialStacks()) {
if (tMaterial.mMaterial == Materials.Iron || tMaterial.mMaterial == Materials.Copper
|| tMaterial.mMaterial == Materials.WroughtIron
- || tMaterial.mMaterial == Materials.AnnealedCopper) tIron = true;
+ || tMaterial.mMaterial == Materials.AnnealedCopper) {
+ ItemData stackData = GT_OreDictUnificator.getItemData(aStack);
+ if (stackData != null
+ && (stackData.mPrefix == OrePrefixes.ingot || stackData.mPrefix == OrePrefixes.dust)) {
+ // iron ingot/dust -> wrought iron, copper ingot/dust -> annealed copper
+ isRecycle = false;
+ }
+ }
if (tMaterial.mMaterial.contains(SubTag.UNBURNABLE)) {
tMaterial.mMaterial = tMaterial.mMaterial.mSmeltInto.mArcSmeltInto;
@@ -334,7 +327,6 @@ public class GT_RecipeRegistrator {
for (MaterialStack tMaterial : aData.getAllMaterialStacks())
tAmount += tMaterial.mAmount * tMaterial.mMaterial.getMass();
- boolean tHide = !tIron && GT_Mod.gregtechproxy.mHideRecyclingRecipes;
ArrayList<ItemStack> outputs = new ArrayList<>();
if (GT_OreDictUnificator.getIngotOrDust(aData.mMaterial) != null) {
outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.mMaterial));
@@ -344,18 +336,15 @@ public class GT_RecipeRegistrator {
outputs.add(GT_OreDictUnificator.getIngotOrDust(aData.getByProduct(i)));
}
}
- if (outputs.size() != 0) {
- ItemStack[] outputsArray = outputs.toArray(new ItemStack[0]);
+ if (!outputs.isEmpty()) {
GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
recipeBuilder.itemInputs(aStack)
- .itemOutputs(outputsArray)
+ .itemOutputs(outputs.toArray(new ItemStack[0]))
.fluidInputs(Materials.Oxygen.getGas((int) Math.max(16, tAmount / M)))
.duration(((int) Math.max(16, tAmount / M)) * TICKS)
- .eut(90);
- if (tHide) {
- recipeBuilder.hidden();
- }
- recipeBuilder.addTo(UniversalArcFurnace);
+ .eut(90)
+ .metadata(RECYCLE, isRecycle)
+ .addTo(UniversalArcFurnace);
}
}
@@ -391,8 +380,6 @@ public class GT_RecipeRegistrator {
}
{
- boolean tHide = (aData.mMaterial.mMaterial != Materials.Iron)
- && (GT_Mod.gregtechproxy.mHideRecyclingRecipes);
ArrayList<ItemStack> outputs = new ArrayList<>();
if (GT_OreDictUnificator.getDust(aData.mMaterial) != null) {
outputs.add(GT_OreDictUnificator.getDust(aData.mMaterial));
@@ -402,18 +389,16 @@ public class GT_RecipeRegistrator {
outputs.add(GT_OreDictUnificator.getDust(aData.getByProduct(i)));
}
}
- if (outputs.size() != 0) {
+ if (!outputs.isEmpty()) {
ItemStack[] outputsArray = outputs.toArray(new ItemStack[0]);
GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
recipeBuilder.itemInputs(aStack)
.itemOutputs(outputsArray)
.duration(
(aData.mMaterial.mMaterial == Materials.Marble ? 1 : (int) Math.max(16, tAmount / M)) * TICKS)
- .eut(4);
- if (tHide) {
- recipeBuilder.hidden();
- }
- recipeBuilder.addTo(sMaceratorRecipes);
+ .eut(4)
+ .recipeCategory(RecipeCategories.maceratorRecycling)
+ .addTo(maceratorRecipes);
}
}
@@ -430,8 +415,8 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.getDust(aData.mMaterial))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sHammerRecipes);
-
+ .recipeCategory(RecipeCategories.forgeHammerRecycling)
+ .addTo(hammerRecipes);
break;
}
}
@@ -687,7 +672,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, multiplier))
.duration(baseDuration * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix1, aMaterial, 2L / multiplier),
@@ -695,7 +680,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L))
.duration(((int) (baseDuration * 1.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix1, aMaterial, 4L / multiplier),
@@ -703,7 +688,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L))
.duration(baseDuration * 2 * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix1, aMaterial, 8L / multiplier),
@@ -711,7 +696,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L))
.duration(((int) (baseDuration * 2.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix1, aMaterial, 12L / multiplier),
@@ -719,7 +704,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L))
.duration(baseDuration * 3 * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix1, aMaterial, 16L / multiplier),
@@ -727,7 +712,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L))
.duration(((int) (baseDuration * 3.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
if (GT_OreDictUnificator.get(prefix2, aMaterial, 1L) != null
@@ -737,7 +722,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial, 2L / multiplier))
.duration(((int) (baseDuration * 0.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix2, aMaterial, 4L / multiplier),
@@ -745,7 +730,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L))
.duration(baseDuration * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix2, aMaterial, 8L / multiplier),
@@ -753,7 +738,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L))
.duration(((int) (baseDuration * 1.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix2, aMaterial, 16L / multiplier),
@@ -761,7 +746,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L))
.duration(baseDuration * 2 * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix2, aMaterial, 24L / multiplier),
@@ -769,7 +754,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L))
.duration(((int) (baseDuration * 2.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(prefix2, aMaterial, 32L / multiplier),
@@ -777,7 +762,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L))
.duration(baseDuration * 3 * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
if (GT_OreDictUnificator.get(prefix1, aMaterial, 1L) != null
&& GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 1L) != null) {
@@ -786,7 +771,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L * multiplier))
.duration(baseDuration * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
if (GT_OreDictUnificator.get(prefix2, aMaterial, 1L) != null
&& GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 1L) != null) {
@@ -795,7 +780,7 @@ public class GT_RecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 2L * multiplier))
.duration(((int) (baseDuration * 0.5f)) * TICKS)
.eut(aEUt)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
}
diff --git a/src/main/java/gregtech/api/util/GT_StreamUtil.java b/src/main/java/gregtech/api/util/GT_StreamUtil.java
new file mode 100644
index 0000000000..c29e611c4e
--- /dev/null
+++ b/src/main/java/gregtech/api/util/GT_StreamUtil.java
@@ -0,0 +1,44 @@
+package gregtech.api.util;
+
+import java.util.Arrays;
+import java.util.function.Supplier;
+import java.util.stream.Stream;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public final class GT_StreamUtil {
+
+ /**
+ * Backport of {@link Stream#ofNullable}.
+ */
+ public static <T> Stream<T> ofNullable(@Nullable T value) {
+ return value == null ? Stream.empty() : Stream.of(value);
+ }
+
+ /**
+ * Returns a sequential ordered {@code Stream} whose elements are the specified values,
+ * if {@code condition} is true, otherwise returns an empty {@code Stream}.
+ *
+ * @param <T> the type of stream elements
+ * @param values the elements of the new stream
+ * @return the new stream
+ */
+ public static <T> Stream<T> ofConditional(boolean condition, T[] values) {
+ return condition ? Arrays.stream(values) : Stream.empty();
+ }
+
+ /**
+ * Returns a sequential {@code Stream} containing a single element, which will be lazily evaluated from supplier.
+ *
+ * @param <T> the type of stream elements
+ * @param supplier the supplier for single stream element
+ * @return the new stream
+ */
+ public static <T> Stream<T> ofSupplier(Supplier<T> supplier) {
+ return Stream.generate(supplier)
+ .limit(1);
+ }
+}
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index 755dc0286e..13ce66ddbf 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -115,6 +115,7 @@ import com.google.common.base.Suppliers;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Maps;
+import com.google.common.collect.SetMultimap;
import com.gtnewhorizon.structurelib.alignment.IAlignment;
import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider;
import com.mojang.authlib.GameProfile;
@@ -158,6 +159,7 @@ import gregtech.api.objects.CollectorUtils;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_ItemStack2;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.threads.GT_Runnable_Sound;
import gregtech.api.util.extensions.ArrayExt;
import gregtech.common.GT_Pollution;
@@ -500,14 +502,6 @@ public class GT_Utility {
}
/**
- * Do not use. It is rounding up voltage
- */
- @Deprecated
- public static long roundDownVoltage(long voltage) {
- return roundUpVoltage(voltage);
- }
-
- /**
* Rounds up partial voltage that exceeds tiered voltage, e.g. 4,096 -> 8,192(IV)
*/
public static long roundUpVoltage(long voltage) {
@@ -3133,6 +3127,20 @@ public class GT_Utility {
return aMap;
}
+ /**
+ * re-maps all Keys of a Map after the Keys were weakened.
+ */
+ public static <X, Y> SetMultimap<X, Y> reMap(SetMultimap<X, Y> aMap) {
+ @SuppressWarnings("unchecked")
+ Map.Entry<X, Y>[] entries = aMap.entries()
+ .toArray(new Map.Entry[0]);
+ aMap.clear();
+ for (Map.Entry<X, Y> entry : entries) {
+ aMap.put(entry.getKey(), entry.getValue());
+ }
+ return aMap;
+ }
+
public static <X, Y extends Comparable<Y>> LinkedHashMap<X, Y> sortMapByValuesAcending(Map<X, Y> map) {
return map.entrySet()
.stream()
@@ -4866,7 +4874,8 @@ public class GT_Utility {
public static int getPlasmaFuelValueInEUPerLiterFromFluid(FluidStack aLiquid) {
if (aLiquid == null) return 0;
- GT_Recipe tFuel = GT_Recipe.GT_Recipe_Map.sPlasmaFuels.findFuel(aLiquid);
+ GT_Recipe tFuel = RecipeMaps.plasmaFuels.getBackend()
+ .findFuel(aLiquid);
if (tFuel != null) return tFuel.mSpecialValue;
return 0;
}
diff --git a/src/main/java/gregtech/api/util/MethodsReturnNonnullByDefault.java b/src/main/java/gregtech/api/util/MethodsReturnNonnullByDefault.java
new file mode 100644
index 0000000000..2b2c310695
--- /dev/null
+++ b/src/main/java/gregtech/api/util/MethodsReturnNonnullByDefault.java
@@ -0,0 +1,22 @@
+package gregtech.api.util;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+import javax.annotation.Nonnull;
+import javax.annotation.meta.TypeQualifierDefault;
+
+/**
+ * This annotation can be applied to a package or class to indicate that
+ * the methods in that element are nonnull by default unless there is:
+ * <ul>
+ * <li>An explicit nullness annotation
+ * <li>The method overrides a method in a superclass (in which case the
+ * annotation of the corresponding method in the superclass applies)
+ * </ul>
+ */
+@Nonnull
+@TypeQualifierDefault({ ElementType.METHOD })
+@Retention(RetentionPolicy.RUNTIME)
+public @interface MethodsReturnNonnullByDefault {}
diff --git a/src/main/java/gregtech/api/util/VoidProtectionHelper.java b/src/main/java/gregtech/api/util/VoidProtectionHelper.java
index 67e412bc83..440d8e63ef 100644
--- a/src/main/java/gregtech/api/util/VoidProtectionHelper.java
+++ b/src/main/java/gregtech/api/util/VoidProtectionHelper.java
@@ -13,7 +13,6 @@ import com.gtnewhorizon.gtnhlib.util.map.ItemStackMap;
import gregtech.api.interfaces.fluid.IFluidStore;
import gregtech.api.interfaces.tileentity.IVoidable;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
/**
* Helper class to calculate how many parallels of items / fluids can fit in the output buses / hatches.
@@ -52,27 +51,6 @@ public class VoidProtectionHelper {
public VoidProtectionHelper() {}
/**
- * Sets MetaTE controller, with current configuration for void protection mode.
- *
- * @deprecated Use {@link #setMachine(IVoidable)}
- */
- @Deprecated
- public VoidProtectionHelper setController(GT_MetaTileEntity_MultiBlockBase machineMeta) {
- return setMachine(machineMeta, machineMeta.protectsExcessItem(), machineMeta.protectsExcessFluid());
- }
-
- /**
- * Sets MetaTE controller, with void protection mode forcibly.
- *
- * @deprecated Use {@link #setMachine(IVoidable, boolean, boolean)}
- */
- @Deprecated
- public VoidProtectionHelper setController(GT_MetaTileEntity_MultiBlockBase machineMeta, boolean protectExcessItem,
- boolean protectExcessFluid) {
- return setMachine(machineMeta, protectExcessItem, protectExcessFluid);
- }
-
- /**
* Sets machine, with current configuration for void protection mode.
*/
public VoidProtectionHelper setMachine(IVoidable machine) {
diff --git a/src/main/java/gregtech/client/GT_GUI_ClientConfig.java b/src/main/java/gregtech/client/GT_GUI_ClientConfig.java
index 1e23cd3e9d..1e9841369b 100644
--- a/src/main/java/gregtech/client/GT_GUI_ClientConfig.java
+++ b/src/main/java/gregtech/client/GT_GUI_ClientConfig.java
@@ -49,8 +49,14 @@ public class GT_GUI_ClientConfig extends GuiConfig {
String name = entry.getKey();
int defaultStart = name.lastIndexOf('_');
String realName = defaultStart >= 0 ? name.substring(0, defaultStart) : name;
- entry.getValue()
- .setLanguageKey(String.format("%s.%s", category.getLanguagekey(), realName));
+ if (categoryName.equals("nei.recipe_categories")) {
+ // reuse existing translation for RecipeCategory
+ entry.getValue()
+ .setLanguageKey(name);
+ } else {
+ entry.getValue()
+ .setLanguageKey(String.format("%s.%s", category.getLanguagekey(), realName));
+ }
}
}
}
diff --git a/src/main/java/gregtech/common/GT_Client.java b/src/main/java/gregtech/common/GT_Client.java
index bac93fa9e1..66d193f3ea 100644
--- a/src/main/java/gregtech/common/GT_Client.java
+++ b/src/main/java/gregtech/common/GT_Client.java
@@ -40,6 +40,8 @@ import net.minecraftforge.oredict.OreDictionary;
import org.lwjgl.opengl.GL11;
+import com.glodblock.github.nei.recipes.FluidRecipe;
+import com.glodblock.github.nei.recipes.extractor.GregTech5RecipeExtractor;
import com.gtnewhorizon.structurelib.alignment.IAlignment;
import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider;
@@ -68,6 +70,8 @@ import gregtech.api.metatileentity.MetaPipeEntity;
import gregtech.api.multitileentity.multiblock.base.MultiBlockPart;
import gregtech.api.net.GT_Packet_ClientPreference;
import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.ColorsMetadataSection;
import gregtech.api.util.ColorsMetadataSectionSerializer;
import gregtech.api.util.GT_ClientPreference;
@@ -75,7 +79,6 @@ import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_PlayedSound;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder;
import gregtech.common.blocks.GT_Item_Machines;
@@ -94,6 +97,7 @@ import gregtech.common.tileentities.debug.GT_MetaTileEntity_AdvDebugStructureWri
import gregtech.loaders.ExtraIcons;
import gregtech.loaders.misc.GT_Bees;
import gregtech.loaders.preload.GT_PreLoad;
+import gregtech.nei.NEI_GT_Config;
import ic2.api.tile.IWrenchable;
// Referenced classes of package gregtech.common:
@@ -593,6 +597,7 @@ public class GT_Client extends GT_Proxy implements Runnable {
new GT_Renderer_Entity_Arrow(GT_Entity_Arrow_Potion.class, "arrow_potions");
new GT_FlaskRenderer();
new GT_FluidDisplayStackRenderer();
+ MinecraftForge.EVENT_BUS.register(new NEI_GT_Config());
}
@Override
@@ -633,6 +638,21 @@ public class GT_Client extends GT_Proxy implements Runnable {
}
@Override
+ public void onLoadComplete() {
+ super.onLoadComplete();
+ for (RecipeCategory category : RecipeCategory.ALL_RECIPE_CATEGORIES.values()) {
+ if (category.recipeMap.getFrontend()
+ .getNEIProperties().registerNEI) {
+ FluidRecipe.addRecipeMap(
+ category.unlocalizedName,
+ new GregTech5RecipeExtractor(
+ category.unlocalizedName.equals("gt.recipe.scanner")
+ || category.unlocalizedName.equals("gt.recipe.fakeAssemblylineProcess")));
+ }
+ }
+ }
+
+ @Override
public void run() {
GT_Log.out.println("GT_Mod: Downloading Cape List.");
try (final Scanner tScanner = new Scanner(new URL(GT_CAPE_LIST_URL).openStream())) {
@@ -672,7 +692,12 @@ public class GT_Client extends GT_Proxy implements Runnable {
}
@Override
- public int getReloadCount() {
+ public void reloadNEICache() {
+ mReloadCount++;
+ }
+
+ @Override
+ public int getNEIReloadCount() {
return mReloadCount;
}
@@ -693,31 +718,31 @@ public class GT_Client extends GT_Proxy implements Runnable {
// Check for more IC2 recipes to also catch MineTweaker additions
GT_ModHandler.addIC2RecipesToGT(
GT_ModHandler.getMaceratorRecipeList(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
+ RecipeMaps.maceratorRecipes,
true,
true,
true);
GT_ModHandler.addIC2RecipesToGT(
GT_ModHandler.getCompressorRecipeList(),
- GT_Recipe.GT_Recipe_Map.sCompressorRecipes,
+ RecipeMaps.compressorRecipes,
true,
true,
true);
GT_ModHandler.addIC2RecipesToGT(
GT_ModHandler.getExtractorRecipeList(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
+ RecipeMaps.extractorRecipes,
true,
true,
true);
GT_ModHandler.addIC2RecipesToGT(
GT_ModHandler.getOreWashingRecipeList(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
+ RecipeMaps.oreWasherRecipes,
false,
true,
true);
GT_ModHandler.addIC2RecipesToGT(
GT_ModHandler.getThermalCentrifugeRecipeList(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
true,
true,
true);
@@ -726,9 +751,6 @@ public class GT_Client extends GT_Proxy implements Runnable {
afterSomeTime++;
if (afterSomeTime >= 100L) {
afterSomeTime = 0;
- for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.mRecipeList) {
- recipe.mHidden = false;
- }
}
for (Iterator<Map.Entry<GT_PlayedSound, Integer>> iterator = GT_Utility.sPlayedSoundMap.entrySet()
.iterator(); iterator.hasNext();) {
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java
index e5e4fd0524..1159ac95ba 100644
--- a/src/main/java/gregtech/common/GT_Proxy.java
+++ b/src/main/java/gregtech/common/GT_Proxy.java
@@ -31,9 +31,9 @@ import static gregtech.api.enums.Mods.ThaumicBoots;
import static gregtech.api.enums.Mods.ThaumicTinkerer;
import static gregtech.api.enums.Mods.TwilightForest;
import static gregtech.api.enums.Mods.WitchingGadgets;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCrackingRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
+import static gregtech.api.recipe.RecipeMaps.crackingRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.wiremillRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
import static gregtech.api.util.GT_Util.LAST_BROKEN_TILEENTITY;
@@ -151,6 +151,8 @@ import gregtech.api.objects.GT_ChunkManager;
import gregtech.api.objects.GT_ItemStack;
import gregtech.api.objects.GT_UO_DimensionList;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeCategorySetting;
import gregtech.api.util.GT_BlockMap;
import gregtech.api.util.GT_CLS_Compat;
import gregtech.api.util.GT_ChunkAssociatedData;
@@ -562,7 +564,6 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
public boolean mNerfedCrops = true;
public boolean mGTBees = true;
public boolean mHideUnusedOres = true;
- public boolean mHideRecyclingRecipes = true;
public boolean mPollution = true;
public boolean mExplosionItemDrop = false;
public boolean mUseGreatlyShrukenReplacementList = true;
@@ -575,6 +576,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
public int mGraniteHavestLevel = 3;
public int mMaxHarvestLevel = 7;
public int mWireHeatingTicks = 4;
+ public double replicatorExponent = 1.2D;
public int mPollutionSmogLimit = 550000;
public int mPollutionPoisonLimit = 750000;
public int mPollutionVegetationLimit = 1000000;
@@ -719,6 +721,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
*/
public boolean mRenderItemChargeBar = true;
+ public final Map<RecipeCategory, RecipeCategorySetting> recipeCategorySettings = new HashMap<>();
+
/**
* This enables showing voltage tier of transformer for Waila, instead of raw voltage number
*/
@@ -826,6 +830,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
GregTech_API.sPreloadStarted = true;
this.mIgnoreTcon = GregTech_API.sOPStuff.get(ConfigCategories.general, "ignoreTConstruct", true);
this.mWireHeatingTicks = GregTech_API.sOPStuff.get(ConfigCategories.general, "WireHeatingTicks", 4);
+ this.replicatorExponent = GregTech_API.sOPStuff.get("Replicator", "Nerf Exponent", 1.2D);
NetworkRegistry.INSTANCE.registerGuiHandler(GT_Values.GT, this);
for (FluidContainerRegistry.FluidContainerData tData : FluidContainerRegistry
.getRegisteredFluidContainerData()) {
@@ -1338,6 +1343,8 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
}
}
+ public void onLoadComplete() {}
+
public void onServerAboutToStart() {
dimensionWisePollution.clear(); // !!! IMPORTANT for map switching...
GT_ChunkAssociatedData.clearAll();
@@ -1418,7 +1425,15 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
@SubscribeEvent
public void onClientConnectedToServerEvent(FMLNetworkEvent.ClientConnectedToServerEvent aEvent) {}
- public int getReloadCount() {
+ /**
+ * Tells {@link gregtech.nei.GT_NEI_DefaultHandler} to reload recipes.
+ */
+ public void reloadNEICache() {}
+
+ /**
+ * Logging in to server or {@link #reloadNEICache} being called increases the count.
+ */
+ public int getNEIReloadCount() {
return 0;
}
@@ -2022,13 +2037,13 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
.itemOutputs(new ItemStack(aEvent.Ore.getItem(), 1, 8))
.duration(20 * SECONDS)
.eut(1)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("ironCableItem", 6L))
.itemOutputs(new ItemStack(aEvent.Ore.getItem(), 1, 9))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
GT_Values.RA.stdBuilder()
@@ -2036,7 +2051,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
.itemOutputs(new ItemStack(aEvent.Ore.getItem(), 16, 4))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
}
default -> {}
@@ -2622,7 +2637,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
.fluidOutputs(new FluidStack(crackedFluids[i], 1000))
.duration((1 + i) * SECONDS)
.eut(240)
- .addTo(sCrackingRecipes);
+ .addTo(crackingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Hydrogen.getCells(hydrogenAmount), GT_Utility.getIntegratedCircuit(i + 1))
@@ -2674,7 +2689,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG
.fluidOutputs(new FluidStack(crackedFluids[i], 1200))
.duration((1 + i) * SECONDS)
.eut(240)
- .addTo(sCrackingRecipes);
+ .addTo(crackingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("steamCell", 1L), GT_Utility.getIntegratedCircuit(i + 1))
diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java
index c086ecf2be..cc81a5b53d 100644
--- a/src/main/java/gregtech/common/GT_RecipeAdder.java
+++ b/src/main/java/gregtech/common/GT_RecipeAdder.java
@@ -26,6 +26,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.internal.IGT_RecipeAdder;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_AssemblyLineUtils;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
@@ -62,7 +63,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFusionRecipes.addRecipe(
+ RecipeMaps.fusionRecipes.addRecipe(
null,
new FluidStack[] { aInput1, aInput2 },
new FluidStack[] { aOutput1 },
@@ -80,20 +81,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (FluidOutputArray.length == 0) return false;
- // If the recipe has more than 2 inputs or 2 outputs it is added to a different recipe map.
- // This is so NEI can function properly and understand the recipe. Otherwise, it gets cut off.
- if ((FluidInputArray.length > 2) || (FluidOutputArray.length > 2)) {
- GT_Recipe.GT_Recipe_Map.sComplexFusionRecipes.addRecipe(
- null,
- FluidInputArray,
- FluidOutputArray,
- aFusionDurationInTicks,
- aFusionEnergyPerTick,
- aEnergyNeededForStartingFusion);
- return true;
- }
-
- GT_Recipe.GT_Recipe_Map.sFusionRecipes.addRecipe(
+ RecipeMaps.fusionRecipes.addRecipe(
null,
FluidInputArray,
FluidOutputArray,
@@ -186,7 +174,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.addRecipe(
+ RecipeMaps.centrifugeRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6, },
@@ -225,7 +213,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
oNumber++;
}
- GT_Recipe.GT_Recipe_Map.sMultiblockCentrifugeRecipes.addRecipe(
+ RecipeMaps.centrifugeNonCellRecipes.addRecipe(
false,
itemInputs,
itemOutputs,
@@ -248,7 +236,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("compressor", aInput1, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sCompressorRecipes.addRecipe(
+ RecipeMaps.compressorRecipes.addRecipe(
true,
new ItemStack[] { aInput1 },
new ItemStack[] { aOutput1 },
@@ -300,7 +288,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes.addRecipe(
+ RecipeMaps.electrolyzerRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6 },
@@ -340,7 +328,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
oNumber++;
}
- GT_Recipe.GT_Recipe_Map.sMultiblockElectrolyzerRecipes
+ RecipeMaps.electrolyzerNonCellRecipes
.addRecipe(false, itemInputs, itemOutputs, null, aChances, fluidInputs, fluidOutputs, aDuration, aEUt, 0);
return true;
}
@@ -428,7 +416,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sChemicalRecipes.addRecipe(
+ RecipeMaps.chemicalReactorRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput, aOutput2 },
@@ -443,7 +431,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
&& aInput1.getItemDamage() >= 10)
&& !(aInput2 != null && aInput2.getItem() instanceof GT_IntegratedCircuit_Item
&& aInput2.getItemDamage() >= 10)) {
- GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes.addRecipe(
+ RecipeMaps.multiblockChemicalReactorRecipes.addRecipe(
false,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput, aOutput2 },
@@ -468,7 +456,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (aEUtick <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes
+ RecipeMaps.multiblockChemicalReactorRecipes
.addRecipe(false, aInputs, aOutputs, null, null, aFluidInputs, aFluidOutputs, aDuration, aEUtick, 0);
return true;
}
@@ -495,7 +483,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (aEUtick <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sChemicalRecipes.addRecipe(
+ RecipeMaps.chemicalReactorRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput, aOutput2 },
@@ -576,7 +564,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("blastfurnace", aInput1, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(
+ RecipeMaps.blastFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2 },
new ItemStack[] { aOutput1, aOutput2 },
@@ -600,7 +588,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("blastfurnace", aInput1, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sBlastRecipes.addRecipe(
+ RecipeMaps.blastFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, aInput3, aInput4 },
new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 },
@@ -618,7 +606,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
@Override
public boolean addPlasmaForgeRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray,
ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, int coil_heat_level) {
- GT_Recipe.GT_Recipe_Map.sPlasmaForgeRecipes.addRecipe(
+ RecipeMaps.plasmaForgeRecipes.addRecipe(
false,
ItemInputArray,
OutputItemArray,
@@ -647,7 +635,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
Materials[] coals = new Materials[] { Materials.Coal, Materials.Charcoal };
for (Materials coal : coals) {
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, coal.getGems(aCoalAmount) },
new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount) },
@@ -658,7 +646,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration,
0,
0);
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, coal.getDust(aCoalAmount) },
new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDustTiny(aCoalAmount) },
@@ -671,7 +659,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
0);
}
if (Railcraft.isModLoaded()) {
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, RailcraftToolItems.getCoalCoke(aCoalAmount / 2) },
new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDustTiny(aCoalAmount / 2) },
@@ -684,7 +672,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
0);
}
if (GTPlusPlus.isModLoaded()) {
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2,
GT_ModHandler.getModItem(GTPlusPlus.ID, "itemCactusCoke", (aCoalAmount * 2L)) },
@@ -696,7 +684,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration * 2 / 3,
0,
0);
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2,
GT_ModHandler.getModItem(GTPlusPlus.ID, "itemSugarCoke", (aCoalAmount * 2L)) },
@@ -717,7 +705,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aOutput1 = aOutput1 == null ? null : GT_Utility.copyAmount(aOutput1.stackSize * 10, aOutput1);
aOutput2 = aOutput2 == null ? null : GT_Utility.copyAmount(aOutput2.stackSize * 10, aOutput2);
for (Materials coal : coals) {
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, coal.getBlocks(aCoalAmount) },
new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount) },
@@ -728,7 +716,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration * 10,
0,
0);
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, coal.getBlocks(aCoalAmount) },
new ItemStack[] { aOutput1, aOutput2, Materials.DarkAsh.getDust(aCoalAmount) },
@@ -741,7 +729,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
0);
}
if (Railcraft.isModLoaded()) {
- GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes.addRecipe(
+ RecipeMaps.primitiveBlastRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, EnumCube.COKE_BLOCK.getItem(aCoalAmount / 2) },
new ItemStack[] { aOutput1, aOutput2, Materials.Ash.getDust(aCoalAmount / 2) },
@@ -767,7 +755,17 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("canning", aInput1, aDuration)) <= 0) {
return false;
}
- new GT_Recipe(aInput1, aEUt, aInput2, aDuration, aOutput1, aOutput2);
+ RecipeMaps.cannerRecipes.addRecipe(
+ true,
+ aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 },
+ new ItemStack[] { aOutput1, aOutput2 },
+ null,
+ null,
+ null,
+ null,
+ aDuration,
+ Math.max(aEUt, 1),
+ 0);
return true;
}
@@ -793,24 +791,26 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
<= 0) {
return false;
}
- GT_Recipe tRecipe = new GT_Recipe(aInput1, aInput2, aEUt, aDuration, aOutput1);
+ GT_Recipe tRecipe = new GT_Recipe(
+ true,
+ aInput2 == null ? new ItemStack[] { aInput1 } : new ItemStack[] { aInput1, aInput2 },
+ new ItemStack[] { aOutput1 },
+ null,
+ null,
+ null,
+ null,
+ aDuration,
+ Math.max(aEUt, 1),
+ 0);
if (hidden) {
tRecipe.mHidden = true;
}
+ RecipeMaps.alloySmelterRecipes.addRecipe(tRecipe);
return true;
}
@Override
@Deprecated
- public boolean addCNCRecipe(ItemStack aInput1, ItemStack aOutput1, int aDuration, int aEUt) {
- if ((aInput1 == null) || (aOutput1 == null)) {
- return false;
- }
- return GregTech_API.sRecipeFile.get("cnc", aOutput1, aDuration) > 0;
- }
-
- @Override
- @Deprecated
public boolean addLatheRecipe(ItemStack aInput1, ItemStack aOutput1, ItemStack aOutput2, int aDuration, int aEUt) {
if ((aInput1 == null) || (aOutput1 == null)) {
return false;
@@ -818,7 +818,17 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("lathe", aInput1, aDuration)) <= 0) {
return false;
}
- new GT_Recipe(aInput1, aOutput1, aOutput2, aDuration, aEUt);
+ RecipeMaps.latheRecipes.addRecipe(
+ true,
+ new ItemStack[] { aInput1 },
+ new ItemStack[] { aOutput1, aOutput2 },
+ null,
+ null,
+ null,
+ null,
+ aDuration,
+ aEUt,
+ 0);
return true;
}
@@ -832,7 +842,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("cutting", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sCutterRecipes.addRecipe(
+ RecipeMaps.cutterRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2 },
@@ -918,7 +928,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom && aSpecial == -200) {
aSpecial = 0;
}
- GT_Recipe.GT_Recipe_Map.sCutterRecipes.addRecipe(
+ RecipeMaps.cutterRecipes.addRecipe(
true,
aInputs,
aOutputs,
@@ -928,7 +938,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration * 2,
aEUt,
aSpecial);
- GT_Recipe.GT_Recipe_Map.sCutterRecipes.addRecipe(
+ RecipeMaps.cutterRecipes.addRecipe(
true,
aInputs,
aOutputs,
@@ -938,7 +948,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration * 2,
aEUt,
aSpecial);
- GT_Recipe.GT_Recipe_Map.sCutterRecipes.addRecipe(
+ RecipeMaps.cutterRecipes.addRecipe(
true,
aInputs,
aOutputs,
@@ -1058,7 +1068,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
}
- GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(
+ RecipeMaps.assemblerRecipes.addRecipe(
true,
aInputs,
new ItemStack[] { aOutput1 },
@@ -1091,7 +1101,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
return false;
}
- GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.addRecipe(
+ RecipeMaps.assemblerRecipes.addRecipe(
true,
aInputs,
new ItemStack[] { aOutput1 },
@@ -1113,7 +1123,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("wiremill", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes.addRecipe(
+ RecipeMaps.wiremillRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
@@ -1135,7 +1145,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("wiremill", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes.addRecipe(
+ RecipeMaps.wiremillRecipes.addRecipe(
true,
new ItemStack[] { aInput, aCircuit },
new ItemStack[] { aOutput },
@@ -1157,7 +1167,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("polarizer", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPolarizerRecipes.addRecipe(
+ RecipeMaps.polarizerRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
@@ -1179,7 +1189,17 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("bender", aInput1, aDuration)) <= 0) {
return false;
}
- new GT_Recipe(aEUt, aDuration, aInput1, aOutput1);
+ RecipeMaps.benderRecipes.addRecipe(
+ true,
+ new ItemStack[] { aInput1, ItemList.Circuit_Integrated.getWithDamage(0, aInput1.stackSize) },
+ new ItemStack[] { aOutput1 },
+ null,
+ null,
+ null,
+ null,
+ aDuration,
+ Math.max(aEUt, 1),
+ 0);
return true;
}
@@ -1202,7 +1222,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration,
Math.max(aEUt, 1),
0);
- GT_Recipe.GT_Recipe_Map.sBenderRecipes.addRecipe(tRecipe);
+ RecipeMaps.benderRecipes.addRecipe(tRecipe);
return true;
}
@@ -1215,7 +1235,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("extruder", aOutput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sExtruderRecipes.addRecipe(
+ RecipeMaps.extruderRecipes.addRecipe(
true,
new ItemStack[] { aInput, aShape },
new ItemStack[] { aOutput },
@@ -1237,7 +1257,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("slicer", aOutput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sSlicerRecipes.addRecipe(
+ RecipeMaps.slicerRecipes.addRecipe(
true,
new ItemStack[] { aInput, aShape },
new ItemStack[] { aOutput },
@@ -1261,7 +1281,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("orewasher", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes.addRecipe(
+ RecipeMaps.oreWasherRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -1285,7 +1305,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("orewasher", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes.addRecipe(
+ RecipeMaps.oreWasherRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -1316,7 +1336,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
int tITNT = Math.max(1, tExplosives >> 2); // the best
// new GT_Recipe(aInput1, aInput2, aOutput1, aOutput2);
if (tGunpowder < 65) {
- GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(
+ RecipeMaps.implosionRecipes.addRecipe(
true,
new ItemStack[] { aInput1, ItemList.Block_Powderbarrel.get(tGunpowder) },
new ItemStack[] { aOutput1, aOutput2 },
@@ -1329,7 +1349,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
0);
}
if (tDynamite < 17) {
- GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(
+ RecipeMaps.implosionRecipes.addRecipe(
true,
new ItemStack[] { aInput1, GT_ModHandler.getIC2Item("dynamite", tDynamite, null) },
new ItemStack[] { aOutput1, aOutput2 },
@@ -1341,7 +1361,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
30,
0);
}
- GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(
+ RecipeMaps.implosionRecipes.addRecipe(
true,
new ItemStack[] { aInput1, new ItemStack(Blocks.tnt, tTNT) },
new ItemStack[] { aOutput1, aOutput2 },
@@ -1352,7 +1372,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
20,
30,
0);
- GT_Recipe.GT_Recipe_Map.sImplosionRecipes.addRecipe(
+ RecipeMaps.implosionRecipes.addRecipe(
true,
new ItemStack[] { aInput1, GT_ModHandler.getIC2Item("industrialTnt", tITNT, null) },
new ItemStack[] { aOutput1, aOutput2 },
@@ -1395,7 +1415,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("distillation", aInput.getUnlocalizedName(), aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sDistillationRecipes.addRecipe(
+ RecipeMaps.distillationTowerRecipes.addRecipe(
false,
null,
new ItemStack[] { aOutput2 },
@@ -1418,7 +1438,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("distillation", aInput.getUnlocalizedName(), aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sDistillationRecipes.addRecipe(
+ RecipeMaps.distillationTowerRecipes.addRecipe(
false,
aCircuit,
new ItemStack[] { aOutput2 },
@@ -1450,7 +1470,16 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("vacuumfreezer", aInput1, aDuration)) <= 0) {
return false;
}
- new GT_Recipe(aInput1, aOutput1, aDuration, aEUt, 0); // Since all other methods are taken
+ RecipeMaps.vacuumFreezerRecipes.addRecipe(
+ false,
+ new ItemStack[] { aInput1 },
+ new ItemStack[] { aOutput1 },
+ null,
+ null,
+ null,
+ aDuration,
+ aEUt,
+ 0);
FluidStack tInputFluid = GT_Utility.getFluidForFilledItem(aInput1, true);
FluidStack tOutputFluid = GT_Utility.getFluidForFilledItem(aOutput1, true);
if (tInputFluid != null && tOutputFluid != null) {
@@ -1468,7 +1497,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("vacuumfreezer", aInput1, aDuration)) <= 0) {
return false;
}
- new GT_Recipe(aInput1, aOutput1, aDuration);
+ addVacuumFreezerRecipe(aInput1, aOutput1, aDuration, 120);
FluidStack tInputFluid = GT_Utility.getFluidForFilledItem(aInput1, true);
FluidStack tOutputFluid = GT_Utility.getFluidForFilledItem(aOutput1, true);
if (tInputFluid != null && tOutputFluid != null) {
@@ -1483,8 +1512,16 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aInput1 == null) || (aOutput1 == null)) {
return false;
}
-
- new GT_Recipe(aInput1, aOutput1, aDuration, aEUt);
+ RecipeMaps.vacuumFreezerRecipes.addRecipe(
+ false,
+ null,
+ null,
+ null,
+ new FluidStack[] { aInput1 },
+ new FluidStack[] { aOutput1 },
+ Math.max(1, aDuration),
+ aEUt,
+ 0);
return true;
}
@@ -1492,7 +1529,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
@Deprecated
public boolean addVacuumFreezerRecipe(ItemStack[] aItemInput, FluidStack[] aFluidInput, ItemStack[] aItemOutput,
FluidStack[] aFluidOutput, int aDuration, int aEUt) {
- GT_Recipe.GT_Recipe_Map.sVacuumRecipes.addRecipe(
+ RecipeMaps.vacuumFreezerRecipes.addRecipe(
false,
aItemInput,
aItemOutput,
@@ -1518,7 +1555,14 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (aInput1 == null) {
return false;
}
- new GT_Recipe(aInput1, aOutput1, GregTech_API.sRecipeFile.get("fuel_" + aType, aInput1, aEU), aType);
+ new GT_Recipe(
+ aInput1,
+ aOutput1,
+ null,
+ null,
+ null,
+ GregTech_API.sRecipeFile.get("fuel_" + aType, aInput1, aEU),
+ aType);
return true;
}
@@ -1554,7 +1598,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("forgehammer", aOutput1, true)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sHammerRecipes.addRecipe(
+ RecipeMaps.hammerRecipes.addRecipe(
true,
new ItemStack[] { aInput1 },
new ItemStack[] { aOutput1 },
@@ -1572,7 +1616,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
public boolean addForgeHammerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray,
ItemStack[] ItemOutputArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt) {
- GT_Recipe.GT_Recipe_Map.sHammerRecipes.addRecipe(
+ RecipeMaps.hammerRecipes.addRecipe(
true,
ItemInputArray,
ItemOutputArray,
@@ -1595,7 +1639,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("boxing", aFullBox, true)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.addRecipe(
+ RecipeMaps.packagerRecipes.addRecipe(
true,
new ItemStack[] { aContainedItem, aEmptyBox },
new ItemStack[] { aFullBox },
@@ -1618,7 +1662,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("unboxing", aFullBox, true)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes.addRecipe(
+ RecipeMaps.unpackagerRecipes.addRecipe(
true,
new ItemStack[] { aFullBox },
new ItemStack[] { aContainedItem, aEmptyBox },
@@ -1641,7 +1685,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("thermalcentrifuge", aInput, true)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes.addRecipe(
+ RecipeMaps.thermalCentrifugeRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -1664,7 +1708,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("thermalcentrifuge", aInput, true)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes.addRecipe(
+ RecipeMaps.thermalCentrifugeRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -1687,7 +1731,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("amplifier", aAmplifierItem, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sAmplifiers.addRecipe(
+ RecipeMaps.amplifierRecipes.addRecipe(
true,
new ItemStack[] { aAmplifierItem },
null,
@@ -1710,7 +1754,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("brewing", aOutput.getUnlocalizedName(), true)) {
return false;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sBrewingRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe(
false,
new ItemStack[] { aIngredient },
null,
@@ -1742,7 +1786,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GregTech_API.sRecipeFile.get("brewing", aOutput.getUnlocalizedName(), true)) {
return false;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sBrewingRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.brewingRecipes.addRecipe(
false,
new ItemStack[] { aIngredient },
null,
@@ -1772,7 +1816,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0) {
return false;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sFermentingRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.fermentingRecipes.addRecipe(
false,
null,
null,
@@ -1841,7 +1885,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration = (aDuration + tScale - 1) / tScale;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sDistilleryRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.distilleryRecipes.addRecipe(
true,
new ItemStack[] { aCircuit },
new ItemStack[] { aSolidOutput },
@@ -1896,7 +1940,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
public boolean addFluidSolidifierRecipe(final ItemStack[] itemInputs, final FluidStack[] fluidInputs,
final ItemStack[] itemOutputs, final FluidStack[] fluidOutputs, final int EUPerTick,
final int aDurationInTicks) {
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes
+ RecipeMaps.fluidSolidifierRecipes
.addRecipe(true, itemInputs, itemOutputs, null, fluidInputs, fluidOutputs, aDurationInTicks, EUPerTick, 0);
return true;
}
@@ -1917,7 +1961,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("fluidsolidifier", aOutput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes.addRecipe(
+ RecipeMaps.fluidSolidifierRecipes.addRecipe(
true,
new ItemStack[] { aMold },
new ItemStack[] { aOutput },
@@ -1953,7 +1997,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("fluidsmelter", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.fluidExtractionRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aRemains },
@@ -1986,7 +2030,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("fluidextractor", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(
+ RecipeMaps.fluidExtractionRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aRemains },
@@ -2015,7 +2059,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("fluidcanner", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe(
+ RecipeMaps.fluidCannerRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
@@ -2041,7 +2085,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("fluidcanner", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes.addRecipe(
+ RecipeMaps.fluidCannerRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
@@ -2064,7 +2108,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("chemicalbath", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes.addRecipe(
+ RecipeMaps.chemicalBathRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -2088,7 +2132,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("chemicalbath", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes.addRecipe(
+ RecipeMaps.chemicalBathRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -2112,7 +2156,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("electromagneticseparator", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes.addRecipe(
+ RecipeMaps.electroMagneticSeparatorRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput1, aOutput2, aOutput3 },
@@ -2135,7 +2179,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("extractor", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes.addRecipe(
+ RecipeMaps.extractorRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
@@ -2158,7 +2202,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("printer", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes.addRecipe(
+ RecipeMaps.printerRecipes.addRecipe(
true,
new ItemStack[] { aInput },
new ItemStack[] { aOutput },
@@ -2212,7 +2256,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes.addRecipe(
+ RecipeMaps.autoclaveRecipes.addRecipe(
true,
new ItemStack[] { aInput, aCircuit },
new ItemStack[] { aOutput },
@@ -2246,7 +2290,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes.addRecipe(
+ RecipeMaps.autoclaveRecipes.addRecipe(
true,
new ItemStack[] { aInput, aCircuit },
new ItemStack[] { aOutput },
@@ -2273,7 +2317,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes.addRecipe(
+ RecipeMaps.autoclaveRecipes.addRecipe(
true,
new ItemStack[] { aInput, aCircuit },
aOutputs,
@@ -2348,7 +2392,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sMixerRecipes.addRecipe(
+ RecipeMaps.mixerRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 },
new ItemStack[] { aOutput },
@@ -2387,7 +2431,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
oNumber++;
}
- GT_Recipe.GT_Recipe_Map.sMultiblockMixerRecipes
+ RecipeMaps.mixerNonCellRecipes
.addRecipe(false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0);
return true;
}
@@ -2396,7 +2440,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
@Override
public boolean addMixerRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray, ItemStack[] ItemOutputArray,
FluidStack[] FluidOutputArray, int aDuration, int aEUt) {
- GT_Recipe.GT_Recipe_Map.sMixerRecipes.addRecipe(
+ RecipeMaps.mixerRecipes.addRecipe(
false,
ItemInputArray,
ItemOutputArray,
@@ -2462,7 +2506,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
FluidStack[] tFluidOutputArray = new FluidStack[tFluidOutputList.size()];
for (int i = 0; i < tFluidOutputArray.length; i++) tFluidOutputArray[i] = tFluidOutputList.get(i);
- GT_Recipe.GT_Recipe_Map.sMultiblockMixerRecipes.addRecipe(
+ RecipeMaps.mixerNonCellRecipes.addRecipe(
false,
tItemInputArray,
tItemOutputArray,
@@ -2495,7 +2539,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sMixerRecipes.addRecipe(
+ RecipeMaps.mixerRecipes.addRecipe(
true,
new ItemStack[] { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 },
new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 },
@@ -2534,7 +2578,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
oNumber++;
}
- GT_Recipe.GT_Recipe_Map.sMultiblockMixerRecipes
+ RecipeMaps.mixerNonCellRecipes
.addRecipe(false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0);
return true;
}
@@ -2559,7 +2603,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes.addRecipe(
+ RecipeMaps.laserEngraverRecipes.addRecipe(
true,
new ItemStack[] { aItemToEngrave, aLens },
new ItemStack[] { aEngravedItem },
@@ -2576,7 +2620,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
@Override
public boolean addLaserEngraverRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray,
ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int aDuration, int aEUt, boolean aCleanroom) {
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes.addRecipe(
+ RecipeMaps.laserEngraverRecipes.addRecipe(
false,
ItemInputArray,
OutputItemArray,
@@ -2600,7 +2644,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("press", aImprintedItem, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPressRecipes.addRecipe(
+ RecipeMaps.formingPressRecipes.addRecipe(
true,
new ItemStack[] { aItemToImprint, aForm },
new ItemStack[] { aImprintedItem },
@@ -2620,7 +2664,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((ItemInputArray == null) || (OutputItemArray == null)) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPressRecipes
+ RecipeMaps.formingPressRecipes
.addRecipe(true, ItemInputArray, OutputItemArray, null, null, null, aDuration, aEUt, 0);
return true;
}
@@ -2638,7 +2682,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes.addRecipe(
+ RecipeMaps.fluidHeaterRecipes.addRecipe(
true,
new ItemStack[] { aItem },
null,
@@ -2665,7 +2709,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes.addRecipe(
+ RecipeMaps.fluidHeaterRecipes.addRecipe(
true,
new ItemStack[] { aCircuit },
null,
@@ -2690,7 +2734,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("sifter", aItemToSift, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sSifterRecipes.addRecipe(
+ RecipeMaps.sifterRecipes.addRecipe(
true,
new ItemStack[] { aItemToSift },
aSiftedItems,
@@ -2712,7 +2756,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
public boolean addSifterRecipe(ItemStack[] ItemInputArray, FluidStack[] FluidInputArray,
ItemStack[] OutputItemArray, FluidStack[] FluidOutputArray, int[] aChances, int aDuration, int aEUt,
boolean aCleanroom) {
- GT_Recipe.GT_Recipe_Map.sSifterRecipes.addRecipe(
+ RecipeMaps.sifterRecipes.addRecipe(
false,
ItemInputArray,
OutputItemArray,
@@ -2745,7 +2789,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe sRecipe = GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(
+ GT_Recipe sRecipe = RecipeMaps.arcFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput },
aOutputs,
@@ -2762,7 +2806,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
for (Materials tMaterial : new Materials[] { Materials.Argon, Materials.Nitrogen }) {
if (tMaterial.mPlasma != null) {
int tPlasmaAmount = (int) Math.max(1L, aDuration / (tMaterial.getMass() * 16L));
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.plasmaArcFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput },
aOutputs,
@@ -2796,7 +2840,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes.addRecipe(
+ RecipeMaps.arcFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput },
aOutputs,
@@ -2825,7 +2869,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(
+ RecipeMaps.plasmaArcFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput },
aOutputs,
@@ -2854,7 +2898,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("arcfurnace", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes.addRecipe(
+ RecipeMaps.plasmaArcFurnaceRecipes.addRecipe(
true,
new ItemStack[] { aInput },
aOutputs,
@@ -2890,7 +2934,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("pulveriser", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sMaceratorRecipes.addRecipe(
+ GT_Recipe tRecipe = RecipeMaps.maceratorRecipes.addRecipe(
true,
new ItemStack[] { aInput },
aOutputs,
@@ -2920,7 +2964,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("pyrolyse", aInput, aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes.addRecipe(
+ RecipeMaps.pyrolyseRecipes.addRecipe(
false,
new ItemStack[] { aInput, ItemList.Circuit_Integrated.getWithDamage(0L, intCircuit) },
new ItemStack[] { aOutput },
@@ -2950,7 +2994,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if ((aDuration = GregTech_API.sRecipeFile.get("cracking", aInput.getUnlocalizedName(), aDuration)) <= 0) {
return false;
}
- GT_Recipe.GT_Recipe_Map.sCrackingRecipes.addRecipe(
+ RecipeMaps.crackingRecipes.addRecipe(
false,
new ItemStack[] { GT_Utility.getIntegratedCircuit(circuitConfig) },
null,
@@ -2987,7 +3031,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
+ " there is some null item in that recipe");
}
}
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { aResearchItem },
new ItemStack[] { aOutput },
@@ -2997,7 +3041,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aResearchTime,
30,
-201);
- GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(
+ RecipeMaps.assemblylineVisualRecipes.addFakeRecipe(
false,
aInputs,
new ItemStack[] { aOutput },
@@ -3098,7 +3142,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
tPersistentHash = tPersistentHash * 31 + aResearchTime;
tPersistentHash = tPersistentHash * 31 + aDuration;
tPersistentHash = tPersistentHash * 31 + aEUt;
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { aResearchItem },
new ItemStack[] { aOutput },
@@ -3108,7 +3152,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
aResearchTime,
30,
-201);
- GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.addFakeRecipe(
+ RecipeMaps.assemblylineVisualRecipes.addFakeRecipe(
false,
tInputs,
new ItemStack[] { aOutput },
@@ -3171,7 +3215,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
}
- GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.addRecipe(
+ RecipeMaps.circuitAssemblerRecipes.addRecipe(
true,
aInputs,
new ItemStack[] { aOutput },
@@ -3196,7 +3240,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
if (!GT_Mod.gregtechproxy.mEnableCleanroom) {
aCleanroom = false;
}
- GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.addRecipe(
+ RecipeMaps.circuitAssemblerRecipes.addRecipe(
true,
aInputs,
new ItemStack[] { aOutput },
@@ -3216,7 +3260,7 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
FluidStack[] aFluidOutputs, int[] aChances, int aDuration, int aEUt, int aSpecialValue) {
if (aInputs == null || aOutputs == null || aSpecialValue == 0) return false;
- GT_Recipe.GT_Recipe_Map.sNanoForge.addRecipe(
+ RecipeMaps.nanoForgeRecipes.addRecipe(
new GT_Recipe(
false,
aInputs,
@@ -3232,34 +3276,22 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
}
@Override
- @Deprecated
- public boolean addPCBFactoryRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs,
- int aDuration, int aEUt, int aSpecialValue) {
-
- if (aInputs == null || aFluidInputs == null || aOutputs == null) {
- return false;
- }
-
- if (aSpecialValue <= 0 || aEUt < 0 || aDuration < 0) {
- return false;
- }
-
- GT_Recipe.GT_Recipe_Map.sPCBFactory.addRecipe(
- new GT_Recipe(false, aInputs, aOutputs, null, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue));
-
- return true;
- }
-
- @Override
public GT_Recipe addIC2ReactorBreederCell(ItemStack input, ItemStack output, boolean reflector, int heatStep,
int heatMultiplier, int requiredPulses) {
- return GT_Recipe.GT_Recipe_Map.sIC2NuclearFakeRecipe.addFakeRecipe(
- input,
- output,
- reflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder",
- String.format("Every %d reactor hull heat", heatStep),
- String.format("increase speed by %d00%%", heatMultiplier),
- String.format("Required pulses: %d", requiredPulses));
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(input)
+ .itemOutputs(output)
+ .setNEIDesc(
+ reflector ? "Neutron reflecting Breeder" : "Heat neutral Breeder",
+ String.format("Every %d reactor hull heat", heatStep),
+ String.format("increase speed by %d00%%", heatMultiplier),
+ String.format("Required pulses: %d", requiredPulses))
+ .duration(0)
+ .eut(0)
+ .addTo(RecipeMaps.ic2NuclearFakeRecipes)
+ .stream()
+ .findFirst()
+ .orElse(null);
}
@Override
@@ -3270,17 +3302,24 @@ public class GT_RecipeAdder implements IGT_RecipeAdder {
// don't ask, just accept
int pulses = aCells / 2 + 1;
float nukePowerMult = 5.0f * ConfigUtil.getFloat(MainConfig.get(), "balance/energy/generator/nuclear");
- return GT_Recipe.GT_Recipe_Map.sIC2NuclearFakeRecipe.addFakeRecipe(
- input,
- output,
- aMox ? "MOX Model" : "Uranium Model",
- "Neutron Pulse: " + aCells,
- aCells == 1 ? String.format("Heat: %.1f * n1 * (n1 + 1)", aHeat / 2f)
- : String.format("Heat: %.1f * (%d + n1) * (%d + n1)", aHeat * aCells / 2f, aCells, aCells + 1),
- String.format(
- "Energy: %.1f + n2 * %.1f EU/t",
- aEnergy * aCells * pulses * nukePowerMult,
- aEnergy * nukePowerMult));
+ return GT_Values.RA.stdBuilder()
+ .itemInputs(input)
+ .itemOutputs(output)
+ .setNEIDesc(
+ aMox ? "MOX Model" : "Uranium Model",
+ "Neutron Pulse: " + aCells,
+ aCells == 1 ? String.format("Heat: %.1f * n1 * (n1 + 1)", aHeat / 2f)
+ : String.format("Heat: %.1f * (%d + n1) * (%d + n1)", aHeat * aCells / 2f, aCells, aCells + 1),
+ String.format(
+ "Energy: %.1f + n2 * %.1f EU/t",
+ aEnergy * aCells * pulses * nukePowerMult,
+ aEnergy * nukePowerMult))
+ .duration(0)
+ .eut(0)
+ .addTo(RecipeMaps.ic2NuclearFakeRecipes)
+ .stream()
+ .findFirst()
+ .orElse(null);
}
private boolean areItemsAndFluidsBothNull(ItemStack[] items, FluidStack[] fluids) {
diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java b/src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java
index 335a03d0e3..4a5bb9456e 100644
--- a/src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java
+++ b/src/main/java/gregtech/common/blocks/GT_Block_Stones_Abstract.java
@@ -1,8 +1,8 @@
package gregtech.common.blocks;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -74,13 +74,13 @@ public class GT_Block_Stones_Abstract extends GT_Generic_Block implements IOreRe
.itemOutputs(new ItemStack(this, 1, 3))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(this, 1, 8), GT_Utility.getIntegratedCircuit(4))
.itemOutputs(new ItemStack(this, 1, 11))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
private void registerCraftingRecipes() {
@@ -132,28 +132,28 @@ public class GT_Block_Stones_Abstract extends GT_Generic_Block implements IOreRe
.itemOutputs(new ItemStack(this, 1, 4))
.duration(16 * TICKS)
.eut(10)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(this, 1, 11))
.itemOutputs(new ItemStack(this, 1, 12))
.duration(16 * TICKS)
.eut(10)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(this, 1, 0))
.itemOutputs(new ItemStack(this, 1, 1))
.duration(16 * TICKS)
.eut(10)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(this, 1, 8))
.itemOutputs(new ItemStack(this, 1, 9))
.duration(16 * TICKS)
.eut(10)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
@Override
@@ -166,14 +166,14 @@ public class GT_Block_Stones_Abstract extends GT_Generic_Block implements IOreRe
.itemOutputs(new ItemStack(this, 1, 6))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(this, 1, 15), GT_Utility.copyAmount(0, aStack))
.itemOutputs(new ItemStack(this, 1, 14))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
diff --git a/src/main/java/gregtech/common/fluid/GT_Fluid.java b/src/main/java/gregtech/common/fluid/GT_Fluid.java
index 3625acb1e8..6ba8d7d23a 100644
--- a/src/main/java/gregtech/common/fluid/GT_Fluid.java
+++ b/src/main/java/gregtech/common/fluid/GT_Fluid.java
@@ -1,6 +1,6 @@
package gregtech.common.fluid;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes;
import javax.annotation.Nonnull;
@@ -129,7 +129,7 @@ public class GT_Fluid extends Fluid implements IGT_Fluid, IGT_RegisteredFluid, R
.fluidOutputs(fluidStack)
.duration(fluidStack.amount / 62)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
}
}
return this;
@@ -201,4 +201,9 @@ public class GT_Fluid extends Fluid implements IGT_Fluid, IGT_RegisteredFluid, R
}
}
}
+
+ @Override
+ public String toString() {
+ return "GT_Fluid{" + "fluidName='" + fluidName + '\'' + '}';
+ }
}
diff --git a/src/main/java/gregtech/common/gui/modularui/UIHelper.java b/src/main/java/gregtech/common/gui/modularui/UIHelper.java
index 0893310342..dffeeff48f 100644
--- a/src/main/java/gregtech/common/gui/modularui/UIHelper.java
+++ b/src/main/java/gregtech/common/gui/modularui/UIHelper.java
@@ -6,74 +6,75 @@ import java.util.List;
import java.util.stream.Collectors;
import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
import com.gtnewhorizons.modularui.api.math.Pos2d;
import gregtech.api.enums.SteamVariant;
import gregtech.api.gui.modularui.SteamTexture;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.recipe.BasicUIProperties;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
public class UIHelper {
/**
* Iterates over candidates for slot placement.
*/
+ @SuppressWarnings("SimplifyStreamApiCallChains")
public static void forEachSlots(ForEachSlot forEachItemInputSlot, ForEachSlot forEachItemOutputSlot,
ForEachSlot forEachSpecialSlot, ForEachSlot forEachFluidInputSlot, ForEachSlot forEachFluidOutputSlot,
- IDrawable itemSlotBackground, IDrawable fluidSlotBackground, @Nullable GT_Recipe.GT_Recipe_Map recipeMap,
- int itemInputCount, int itemOutputCount, int fluidInputCount, int fluidOutputCount, SteamVariant steamVariant,
- Pos2d offset) {
- List<Pos2d> itemInputPositions = recipeMap != null ? recipeMap.getItemInputPositions(itemInputCount)
- : UIHelper.getItemInputPositions(itemInputCount);
- itemInputPositions = itemInputPositions.stream()
+ IDrawable itemSlotBackground, IDrawable fluidSlotBackground, BasicUIProperties uiProperties, int itemInputCount,
+ int itemOutputCount, int fluidInputCount, int fluidOutputCount, SteamVariant steamVariant, Pos2d offset) {
+ List<Pos2d> itemInputPositions = uiProperties.itemInputPositionsGetter.apply(itemInputCount)
+ .stream()
.map(p -> p.add(offset))
.collect(Collectors.toList());
for (int i = 0; i < itemInputPositions.size(); i++) {
forEachItemInputSlot.accept(
i,
- getBackgroundsForSlot(itemSlotBackground, recipeMap, false, false, i, false, steamVariant),
+ getBackgroundsForSlot(itemSlotBackground, uiProperties, false, false, i, false, steamVariant),
itemInputPositions.get(i));
}
- List<Pos2d> itemOutputPositions = recipeMap != null ? recipeMap.getItemOutputPositions(itemOutputCount)
- : UIHelper.getItemOutputPositions(itemOutputCount);
- itemOutputPositions = itemOutputPositions.stream()
+ List<Pos2d> itemOutputPositions = uiProperties.itemOutputPositionsGetter.apply(itemOutputCount)
+ .stream()
.map(p -> p.add(offset))
.collect(Collectors.toList());
for (int i = 0; i < itemOutputPositions.size(); i++) {
forEachItemOutputSlot.accept(
i,
- getBackgroundsForSlot(itemSlotBackground, recipeMap, false, true, i, false, steamVariant),
+ getBackgroundsForSlot(itemSlotBackground, uiProperties, false, true, i, false, steamVariant),
itemOutputPositions.get(i));
}
forEachSpecialSlot.accept(
0,
- getBackgroundsForSlot(itemSlotBackground, recipeMap, false, false, 0, true, steamVariant),
- (recipeMap != null ? recipeMap.getSpecialItemPosition() : UIHelper.getSpecialItemPosition()).add(offset));
+ getBackgroundsForSlot(itemSlotBackground, uiProperties, false, false, 0, true, steamVariant),
+ uiProperties.specialItemPositionGetter.get()
+ .add(offset));
- List<Pos2d> fluidInputPositions = recipeMap != null ? recipeMap.getFluidInputPositions(fluidInputCount)
- : UIHelper.getFluidInputPositions(fluidInputCount);
- fluidInputPositions = fluidInputPositions.stream()
+ List<Pos2d> fluidInputPositions = uiProperties.fluidInputPositionsGetter.apply(fluidInputCount)
+ .stream()
.map(p -> p.add(offset))
.collect(Collectors.toList());
for (int i = 0; i < fluidInputPositions.size(); i++) {
forEachFluidInputSlot.accept(
i,
- getBackgroundsForSlot(fluidSlotBackground, recipeMap, true, false, i, false, steamVariant),
+ getBackgroundsForSlot(fluidSlotBackground, uiProperties, true, false, i, false, steamVariant),
fluidInputPositions.get(i));
}
- List<Pos2d> fluidOutputPositions = recipeMap != null ? recipeMap.getFluidOutputPositions(fluidOutputCount)
- : UIHelper.getFluidOutputPositions(fluidOutputCount);
- fluidOutputPositions = fluidOutputPositions.stream()
+ List<Pos2d> fluidOutputPositions = uiProperties.fluidOutputPositionsGetter.apply(fluidOutputCount)
+ .stream()
.map(p -> p.add(offset))
.collect(Collectors.toList());
for (int i = 0; i < fluidOutputPositions.size(); i++) {
forEachFluidOutputSlot.accept(
i,
- getBackgroundsForSlot(fluidSlotBackground, recipeMap, true, true, i, false, steamVariant),
+ getBackgroundsForSlot(fluidSlotBackground, uiProperties, true, true, i, false, steamVariant),
fluidOutputPositions.get(i));
}
}
@@ -172,25 +173,32 @@ public class UIHelper {
return getGridPositions(itemCount, xOrigin, yOrigin, xDirMaxCount, yDirMaxCount);
}
- private static IDrawable[] getBackgroundsForSlot(IDrawable base, GT_Recipe.GT_Recipe_Map recipeMap, boolean isFluid,
+ private static IDrawable[] getBackgroundsForSlot(IDrawable base, BasicUIProperties uiProperties, boolean isFluid,
boolean isOutput, int index, boolean isSpecial, SteamVariant steamVariant) {
- if (recipeMap != null) {
- IDrawable overlay;
- if (steamVariant != SteamVariant.NONE) {
- SteamTexture steamTexture = recipeMap.getOverlayForSlotSteam(isFluid, isOutput, index, isSpecial);
- if (steamTexture != null) {
- overlay = steamTexture.get(steamVariant);
- } else {
- overlay = null;
- }
+ IDrawable overlay = getOverlay(uiProperties, isFluid, isOutput, index, isSpecial, steamVariant);
+ if (overlay != null) {
+ return new IDrawable[] { base, overlay };
+ } else {
+ return new IDrawable[] { base };
+ }
+ }
+
+ @Nullable
+ private static IDrawable getOverlay(BasicUIProperties uiProperties, boolean isFluid, boolean isOutput, int index,
+ boolean isSpecial, SteamVariant steamVariant) {
+ if (isSpecial && !uiProperties.useSpecialSlot) {
+ return null;
+ }
+ if (steamVariant != SteamVariant.NONE) {
+ SteamTexture steamTexture = uiProperties.getOverlayForSlotSteam(index, isFluid, isOutput, isSpecial);
+ if (steamTexture != null) {
+ return steamTexture.get(steamVariant);
} else {
- overlay = recipeMap.getOverlayForSlot(isFluid, isOutput, index, isSpecial);
- }
- if (overlay != null) {
- return new IDrawable[] { base, overlay };
+ return null;
}
+ } else {
+ return uiProperties.getOverlayForSlot(index, isFluid, isOutput, isSpecial);
}
- return new IDrawable[] { base };
}
@FunctionalInterface
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
index e1163f84eb..653461f164 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_01.java
@@ -32,10 +32,10 @@ import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_LuV;
import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_MV;
import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_UV;
import static gregtech.api.enums.Textures.BlockIcons.SOLARPANEL_ZPM;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.cannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.packagerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -87,6 +87,7 @@ import gregtech.api.items.GT_MetaBase_Item;
import gregtech.api.items.GT_MetaGenerated_Item_X32;
import gregtech.api.objects.ItemData;
import gregtech.api.objects.MaterialStack;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_FoodStat;
import gregtech.api.util.GT_LanguageManager;
@@ -199,7 +200,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(new ItemStack(this, 1, 17000 + Materials.Wood.mMetaItemSubID))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
GregTech_API.registerCover(
@@ -922,7 +923,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Spray_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Crate_Empty.set(
addItem(
@@ -964,7 +965,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.ThermosCan_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Steel.set(
addItem(
@@ -987,7 +988,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Steel.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_TungstenSteel.set(
addItem(
@@ -1010,7 +1011,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_TungstenSteel.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Aluminium.set(
addItem(
@@ -1033,7 +1034,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Aluminium.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_StainlessSteel.set(
addItem(
@@ -1056,7 +1057,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_StainlessSteel.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Titanium.set(
addItem(
@@ -1079,7 +1080,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Titanium.get(1L))
.duration(10 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Chrome.set(
addItem(
@@ -1102,7 +1103,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Chrome.get(1L))
.duration(10 * SECONDS)
.eut(1024)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Iridium.set(
addItem(
@@ -1125,7 +1126,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Iridium.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Osmium.set(
addItem(
@@ -1148,7 +1149,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Osmium.get(1L))
.duration(10 * SECONDS)
.eut(4096)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Large_Fluid_Cell_Neutronium.set(
addItem(
@@ -1171,7 +1172,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Large_Fluid_Cell_Neutronium.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
ItemList.SPRAY_CAN_DYES[i].set(
addItem(
@@ -1240,7 +1241,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Spray_Color_Remover_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Tool_Matches.set(
addItem(
@@ -1283,7 +1284,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_Matches.get(1L))
.duration(16 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 1L),
@@ -1292,7 +1293,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_Matches.get(1L))
.duration(16 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L),
@@ -1301,7 +1302,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_Matches.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.bolt, Materials.Wood, 4L),
@@ -1310,7 +1311,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_Matches.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Tool_Matches.get(16L),
@@ -1318,13 +1319,13 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_MatchBox_Full.get(1L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Tool_MatchBox_Full.get(1L))
.itemOutputs(ItemList.Tool_Matches.get(16L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(16)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
ItemList.Tool_Lighter_Invar_Empty.set(
addItem(
@@ -1368,7 +1369,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_Lighter_Invar_Empty.get(1L))
.duration(12 * SECONDS + 16 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Tool_Lighter_Platinum_Empty.set(
addItem(
@@ -1415,7 +1416,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Tool_Lighter_Platinum_Empty.get(1L))
.duration(12 * SECONDS + 16 * TICKS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
if (GalacticraftMars.isModLoaded()) {
ItemList.Ingot_Heavy1
@@ -1866,7 +1867,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_LV_Cadmium.get(1L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 2L),
@@ -1874,7 +1875,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_LV_Lithium.get(1L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 2L),
@@ -1882,7 +1883,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_LV_Sodium.get(1L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 8L),
@@ -1890,7 +1891,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_MV_Cadmium.get(1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 8L),
@@ -1898,7 +1899,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_MV_Lithium.get(1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 8L),
@@ -1906,7 +1907,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_MV_Sodium.get(1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cadmium, 32L),
@@ -1914,7 +1915,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_HV_Cadmium.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 32L),
@@ -1922,7 +1923,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_HV_Lithium.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 32L),
@@ -1930,7 +1931,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Battery_RE_HV_Sodium.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
// IV Battery
ItemList.Energy_LapotronicOrb.set(
@@ -3765,7 +3766,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Muffler.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
@@ -3774,7 +3775,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Muffler.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
@@ -3783,7 +3784,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Muffler.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
@@ -3792,7 +3793,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Muffler.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
@@ -3801,7 +3802,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Muffler.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
@@ -3810,7 +3811,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Muffler.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
@@ -3819,7 +3820,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Lock.get(1L))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
@@ -3828,7 +3829,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Lock.get(1L))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
@@ -3837,7 +3838,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Upgrade_Lock.get(1L))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Component_Filter.set(
addItem(
@@ -3907,7 +3908,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_PlayerDetector.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GregTech_API.registerCover(
ItemList.Cover_Controller.get(1L),
@@ -3998,7 +3999,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Shutter.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
@@ -4007,7 +4008,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Shutter.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
@@ -4016,7 +4017,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Shutter.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L),
@@ -4025,7 +4026,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Drain.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 2L),
@@ -4034,7 +4035,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Drain.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 2L),
@@ -4043,7 +4044,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Drain.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 1L),
@@ -4052,7 +4053,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Crafting.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
@@ -4061,7 +4062,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Crafting.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
@@ -4070,7 +4071,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_Crafting.get(1L))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Cover_Shutter.get(1L),
@@ -4079,7 +4080,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.FluidFilter.get(1L))
.duration(40 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Cover_Screen.get(1L),
@@ -4088,7 +4089,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_FluidStorageMonitor.get(1L))
.duration(40 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
final ITexture screenCoverTexture = TextureFactory.of(
TextureFactory.of(OVERLAY_SCREEN),
@@ -4296,7 +4297,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.NC_SensorKit.get(1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(2)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemList.Cover_RedstoneTransmitterExternal.set(
addItem(
@@ -4352,7 +4353,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_RedstoneTransmitterExternal.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Sensor_EV.get(1L),
@@ -4361,7 +4362,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_RedstoneReceiverExternal.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_ModHandler.addShapelessCraftingRecipe(
ItemList.Cover_RedstoneTransmitterInternal.get(1L),
@@ -4396,7 +4397,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_NeedsMaintainance.get(1L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_ModHandler.addCraftingRecipe(
ItemList.ItemFilter_Export.get(1L),
@@ -4424,7 +4425,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.ItemFilter_Export.get(1L))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 2L),
@@ -4434,7 +4435,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.ItemFilter_Import.get(1L))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_ModHandler.addCraftingRecipe(
ItemList.Tool_Cover_Copy_Paste.get(1L),
@@ -4582,7 +4583,7 @@ public class GT_MetaGenerated_Item_01 extends GT_MetaGenerated_Item_X32 {
}
public boolean isPlasmaCellUsed(OrePrefixes aPrefix, Materials aMaterial) {
- Collection<GT_Recipe> fusionRecipes = GT_Recipe.GT_Recipe_Map.sFusionRecipes.mRecipeList;
+ Collection<GT_Recipe> fusionRecipes = RecipeMaps.fusionRecipes.getAllRecipes();
if (aPrefix == OrePrefixes.cellPlasma && aMaterial.getPlasma(1L) != null) { // Materials has a plasma fluid
for (GT_Recipe recipe : fusionRecipes) { // Loop through fusion recipes
if (recipe.getFluidOutput(0) != null) { // Make sure fluid output can't be null (not sure if possible)
diff --git a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java
index 3ef70ae40e..1c4556b5a3 100644
--- a/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java
+++ b/src/main/java/gregtech/common/items/GT_MetaGenerated_Item_02.java
@@ -7,9 +7,9 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_ADVANCED_REDSTONE_T
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_FLUID_DETECTOR;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_ITEM_DETECTOR;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_WIRELESS_MAINTENANCE_DETECTOR;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.WILDCARD;
@@ -2467,7 +2467,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_AdvancedRedstoneTransmitterExternal.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Cover_RedstoneReceiverExternal.get(1L),
@@ -2476,7 +2476,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Cover_FluidDetector.get(1L),
@@ -2485,7 +2485,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_WirelessFluidDetector.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Cover_ItemDetector.get(1L),
@@ -2494,7 +2494,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_WirelessItemDetector.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
ItemList.Cover_NeedsMaintainance.get(1L),
@@ -2503,7 +2503,7 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(ItemList.Cover_WirelessNeedsMaintainance.get(1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_ModHandler.addShapelessCraftingRecipe(
ItemList.Cover_AdvancedRedstoneReceiverExternal.get(1L),
@@ -2556,84 +2556,84 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(new ItemStack(Blocks.wool, 1, 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Plumbilia.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Argentia.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Indigo.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Ferru.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Aurelia.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_OilBerry.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_BobsYerUncleRanks.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Tine.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Rape.get(4L))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.red_flower, 8, 32767))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.yellow_flower, 8, 32767))
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
GT_Values.RA.stdBuilder()
@@ -2641,21 +2641,21 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cheese, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Dye_Cocoa.get(1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Tine.get(1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.melon_block, 1, 0))
@@ -2663,42 +2663,42 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.outputChances(10000, 8000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.pumpkin, 1, 0))
.itemOutputs(new ItemStack(Items.pumpkin_seeds, 4, 0))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.melon, 1, 0))
.itemOutputs(new ItemStack(Items.melon_seeds, 1, 0))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.wheat, 1, 0))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("crop", 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.stick, 1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.wool, 1, WILDCARD))
@@ -2706,14 +2706,14 @@ public class GT_MetaGenerated_Item_02 extends GT_MetaGenerated_Item_X32 {
.outputChances(10000, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Tesseract.get(1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, MaterialsUEVplus.TranscendentMetal, 8L))
.duration(5 * SECONDS)
.eut(32_000_000)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
try {
CropCard tCrop;
GT_Utility.getField(tCrop = Crops.instance.getCropList()[13], "mDrop")
diff --git a/src/main/java/gregtech/common/items/ItemComb.java b/src/main/java/gregtech/common/items/ItemComb.java
index 18e163592a..8fd37fd0d9 100644
--- a/src/main/java/gregtech/common/items/ItemComb.java
+++ b/src/main/java/gregtech/common/items/ItemComb.java
@@ -12,9 +12,9 @@ import static gregtech.api.enums.Mods.MagicBees;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
import static gregtech.api.enums.Mods.Thaumcraft;
import static gregtech.api.enums.Mods.ThaumicBases;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.CLEANROOM;
import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
@@ -1599,7 +1599,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer {
if (volt.compareTo(Voltage.HV) > 0) {
recipeBuilder.requiresCleanRoom();
}
- recipeBuilder.addTo(sAutoclaveRecipes);
+ recipeBuilder.addTo(autoclaveRecipes);
}
public void addFluidExtractorProcess(CombType comb, FluidStack fluid, Voltage volt) {
@@ -1619,7 +1619,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer {
.fluidOutputs(fluid)
.duration(duration)
.eut(eut)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
/**
@@ -1782,7 +1782,7 @@ public class ItemComb extends Item implements IGT_ItemWithMaterialRenderer {
.outputChances(chance)
.duration(duration)
.eut(volt.getSimpleEnergy())
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
public void registerOreDict() {
diff --git a/src/main/java/gregtech/common/items/ItemDrop.java b/src/main/java/gregtech/common/items/ItemDrop.java
index a3d786714a..5aab9dff48 100644
--- a/src/main/java/gregtech/common/items/ItemDrop.java
+++ b/src/main/java/gregtech/common/items/ItemDrop.java
@@ -6,7 +6,7 @@ import static gregtech.api.enums.Mods.GregTech;
import static gregtech.api.enums.Mods.HardcoreEnderExpansion;
import static gregtech.api.enums.Mods.MagicBees;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -200,7 +200,7 @@ public class ItemDrop extends Item {
.fluidOutputs(aOutput)
.duration(1 * SECONDS + 12 * TICKS)
.eut(aEUt)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
public void addProcessLV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aDuration,
@@ -212,7 +212,7 @@ public class ItemDrop extends Item {
.fluidOutputs(aOutput)
.duration(aDuration)
.eut(aEUt)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
public void addProcessMV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance, int aEUt) {
@@ -223,7 +223,7 @@ public class ItemDrop extends Item {
.fluidOutputs(aOutput)
.duration(6 * SECONDS + 8 * TICKS)
.eut(aEUt)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
public void addProcessHV(ItemStack tDrop, FluidStack aOutput, ItemStack aOutput2, int aChance) {
@@ -236,6 +236,6 @@ public class ItemDrop extends Item {
recipeBuilder.fluidOutputs(aOutput)
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
}
diff --git a/src/main/java/gregtech/common/items/ItemPropolis.java b/src/main/java/gregtech/common/items/ItemPropolis.java
index 222635845a..1c0d727bda 100644
--- a/src/main/java/gregtech/common/items/ItemPropolis.java
+++ b/src/main/java/gregtech/common/items/ItemPropolis.java
@@ -3,7 +3,7 @@ package gregtech.common.items;
import static gregtech.api.enums.Mods.GregTech;
import static gregtech.api.enums.Mods.HardcoreEnderExpansion;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -114,7 +114,7 @@ public class ItemPropolis extends Item {
.fluidOutputs(FluidRegistry.getFluidStack("endergoo", 100))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
public void addProcessEV(ItemStack tPropolis, ItemStack aOutput2) {
@@ -125,7 +125,7 @@ public class ItemPropolis extends Item {
.fluidOutputs(FluidRegistry.getFluidStack("endergoo", 200))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
public void addProcessIV(ItemStack tPropolis, ItemStack aOutput2) {
@@ -136,6 +136,6 @@ public class ItemPropolis extends Item {
.fluidOutputs(FluidRegistry.getFluidStack("endergoo", 300))
.duration(7 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_IV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
}
diff --git a/src/main/java/gregtech/common/misc/spaceprojects/SpaceProjectManager.java b/src/main/java/gregtech/common/misc/spaceprojects/SpaceProjectManager.java
index c34c486223..1859249ccd 100644
--- a/src/main/java/gregtech/common/misc/spaceprojects/SpaceProjectManager.java
+++ b/src/main/java/gregtech/common/misc/spaceprojects/SpaceProjectManager.java
@@ -5,10 +5,13 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import net.minecraft.item.ItemStack;
import net.minecraft.server.MinecraftServer;
+import net.minecraftforge.fluids.FluidStack;
import org.apache.commons.lang3.tuple.Pair;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Recipe;
import gregtech.common.misc.spaceprojects.interfaces.ISpaceBody;
import gregtech.common.misc.spaceprojects.interfaces.ISpaceProject;
@@ -174,6 +177,17 @@ public class SpaceProjectManager {
// #region Project Helper methods
+ public static class FakeSpaceProjectRecipe extends GT_Recipe {
+
+ public final String projectName;
+
+ public FakeSpaceProjectRecipe(boolean aOptimize, ItemStack[] aInputs, FluidStack[] aFluidInputs, int aDuration,
+ int aEUt, int aSpecialValue, String projectName) {
+ super(aOptimize, aInputs, null, null, null, aFluidInputs, null, aDuration, aEUt, aSpecialValue);
+ this.projectName = projectName;
+ }
+ }
+
/**
* Used to add projects to the internal map.
*
@@ -181,8 +195,8 @@ public class SpaceProjectManager {
*/
public static void addProject(ISpaceProject project) {
spaceProjects.put(project.getProjectName(), project);
- GT_Recipe.GT_Recipe_Map.sFakeSpaceProjectRecipes.add(
- new GT_Recipe.GT_Recipe_Map.GT_FakeSpaceProjectRecipe(
+ RecipeMaps.spaceProjectFakeRecipes.add(
+ new FakeSpaceProjectRecipe(
false,
project.getTotalItemsCost(),
project.getTotalFluidsCost(),
diff --git a/src/main/java/gregtech/common/power/BasicMachineEUPower.java b/src/main/java/gregtech/common/power/BasicMachineEUPower.java
deleted file mode 100644
index 6fec7e7954..0000000000
--- a/src/main/java/gregtech/common/power/BasicMachineEUPower.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package gregtech.common.power;
-
-import static gregtech.api.enums.GT_Values.V;
-
-public class BasicMachineEUPower extends EUPower {
-
- protected static final String OC = " (OC)";
- protected boolean wasOverclocked;
-
- public BasicMachineEUPower(byte tier, int amperage) {
- super(tier, amperage);
- }
-
- public BasicMachineEUPower(byte tier, int amperage, int specialValue) {
- super(tier, amperage, specialValue);
- }
-
- @Override
- public void computePowerUsageAndDuration(int euPerTick, int duration) {
- super.computePowerUsageAndDuration(euPerTick, duration);
- if (tier == 0) {
- // Long time calculation
- long xMaxProgresstime = ((long) duration) << 1;
- if (xMaxProgresstime > Integer.MAX_VALUE - 1) {
- // make impossible if too long
- recipeEuPerTick = Integer.MAX_VALUE - 1;
- recipeDuration = Integer.MAX_VALUE - 1;
- } else {
- recipeEuPerTick = euPerTick >> 2;
- recipeDuration = (int) xMaxProgresstime;
- }
- } else {
- // Long EUt calculation
- long xEUt = euPerTick;
- // Isnt too low EUt check?
- long tempEUt = Math.max(xEUt, V[1]);
-
- recipeDuration = duration;
-
- while (tempEUt <= V[tier - 1] * (long) amperage) {
- tempEUt <<= 2; // this actually controls overclocking
- // xEUt *= 4;//this is effect of everclocking
- recipeDuration >>= 1; // this is effect of overclocking
- xEUt = recipeDuration == 0 ? xEUt >> 1 : xEUt << 2; // U know, if the time is less than 1 tick make the
- // machine use 2x less power
- }
- if (xEUt > Integer.MAX_VALUE - 1) {
- recipeEuPerTick = Integer.MAX_VALUE - 1;
- recipeDuration = Integer.MAX_VALUE - 1;
- } else {
- recipeEuPerTick = (int) xEUt;
- if (recipeEuPerTick == 0) recipeEuPerTick = 1;
- if (recipeDuration == 0) recipeDuration = 1; // set time to 1 tick
- }
- }
- wasOverclocked = checkIfOverclocked();
- }
-
- @Override
- public String getPowerUsageString() {
- return decorateWithOverclockLabel(super.getPowerUsageString());
- }
-
- protected String decorateWithOverclockLabel(String s) {
- if (wasOverclocked) {
- s += OC;
- }
- return s;
- }
-
- protected boolean checkIfOverclocked() {
- return originalVoltage != computeVoltageForEuRate(recipeEuPerTick);
- }
-}
diff --git a/src/main/java/gregtech/common/power/EUPower.java b/src/main/java/gregtech/common/power/EUPower.java
deleted file mode 100644
index a01e827f38..0000000000
--- a/src/main/java/gregtech/common/power/EUPower.java
+++ /dev/null
@@ -1,58 +0,0 @@
-package gregtech.common.power;
-
-import gregtech.api.util.GT_Utility;
-
-public class EUPower extends Power {
-
- protected final int amperage;
- protected int originalVoltage;
-
- public EUPower(byte tier, int amperage) {
- super(tier);
- this.amperage = amperage;
- }
-
- public EUPower(byte tier, int amperage, int specialValue) {
- super(tier, specialValue);
- this.amperage = amperage;
- }
-
- @Override
- // This generic EU Power class has no overclock defined and does no special calculations.
- public void computePowerUsageAndDuration(int euPerTick, int duration) {
- originalVoltage = computeVoltageForEuRate(euPerTick);
- recipeEuPerTick = euPerTick;
- recipeDuration = duration;
- }
-
- @Override
- public String getTierString() {
- return GT_Utility.getColoredTierNameFromTier(tier);
- }
-
- @Override
- public String getTotalPowerString() {
- return GT_Utility.formatNumbers((long) recipeDuration * recipeEuPerTick) + " EU";
- }
-
- @Override
- public String getPowerUsageString() {
- return GT_Utility.formatNumbers(recipeEuPerTick) + " EU/t";
- }
-
- @Override
- public String getVoltageString() {
- String voltageDescription = GT_Utility.formatNumbers(originalVoltage) + " EU/t";
- voltageDescription += GT_Utility.getTierNameWithParentheses(originalVoltage);
- return voltageDescription;
- }
-
- @Override
- public String getAmperageString() {
- return GT_Utility.formatNumbers(amperage);
- }
-
- protected int computeVoltageForEuRate(int euPerTick) {
- return amperage != 0 ? euPerTick / amperage : euPerTick;
- }
-}
diff --git a/src/main/java/gregtech/common/power/FusionPower.java b/src/main/java/gregtech/common/power/FusionPower.java
deleted file mode 100644
index d3bcdd41b4..0000000000
--- a/src/main/java/gregtech/common/power/FusionPower.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package gregtech.common.power;
-
-import static gregtech.api.enums.GT_Values.V;
-
-import net.minecraft.util.EnumChatFormatting;
-
-import gregtech.api.enums.GT_Values;
-import gregtech.nei.FusionSpecialValueFormatter;
-
-public class FusionPower extends BasicMachineEUPower {
-
- public FusionPower(byte tier, int startupPower) {
- super(tier, 1, startupPower);
- }
-
- @Override
- public void computePowerUsageAndDuration(int euPerTick, int duration, int specialValue) {
- originalVoltage = computeVoltageForEuRate(euPerTick);
- recipeEuPerTick = euPerTick;
- recipeDuration = duration;
- // It's safe to assume fusion is above ULV. We put this as safety check here anyway
- if (tier > 0) {
- int maxPossibleOverclocks = FusionSpecialValueFormatter.getFusionTier(this.specialValue, V[tier - 1])
- - FusionSpecialValueFormatter.getFusionTier(specialValue, euPerTick);
- // Isn't too low EUt check?
- long tempEUt = Math.max(euPerTick, V[1]);
-
- recipeDuration = duration;
-
- while (tempEUt <= V[tier - 1] * (long) amperage && maxPossibleOverclocks-- > 0) {
- tempEUt <<= 1; // this actually controls overclocking
- recipeDuration >>= 1; // this is effect of overclocking
- }
- if (tempEUt > Integer.MAX_VALUE - 1) {
- recipeEuPerTick = Integer.MAX_VALUE - 1;
- recipeDuration = Integer.MAX_VALUE - 1;
- } else {
- recipeEuPerTick = (int) tempEUt;
- if (recipeEuPerTick == 0) recipeEuPerTick = 1;
- if (recipeDuration == 0) recipeDuration = 1; // set time to 1 tick
- }
- }
- wasOverclocked = checkIfOverclocked();
- }
-
- @Override
- public String getTierString() {
- return GT_Values.TIER_COLORS[tier] + "MK "
- + (tier - 5) // Mk1 <-> LuV
- + EnumChatFormatting.RESET;
- }
-}
diff --git a/src/main/java/gregtech/common/power/Power.java b/src/main/java/gregtech/common/power/Power.java
deleted file mode 100644
index 28cdfa3559..0000000000
--- a/src/main/java/gregtech/common/power/Power.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package gregtech.common.power;
-
-import gregtech.api.util.GT_Utility;
-
-public abstract class Power {
-
- protected final byte tier;
- protected int recipeEuPerTick;
- protected int recipeDuration;
- protected final int specialValue;
-
- public Power(byte tier) {
- this(tier, 0);
- }
-
- public Power(byte tier, int specialValue) {
- this.tier = tier;
- this.specialValue = specialValue;
- }
-
- public byte getTier() {
- return tier;
- }
-
- public abstract String getTierString();
-
- /**
- * This method should be called prior to usage of any value except the power tier.
- */
- public abstract void computePowerUsageAndDuration(int euPerTick, int duration);
-
- public void computePowerUsageAndDuration(int euPerTick, int duration, int specialValue) {
- computePowerUsageAndDuration(euPerTick, duration);
- }
-
- public int getEuPerTick() {
- return recipeEuPerTick;
- }
-
- public int getDurationTicks() {
- return recipeDuration;
- }
-
- public double getDurationSeconds() {
- return 0.05d * getDurationTicks();
- }
-
- public String getDurationStringSeconds() {
- return GT_Utility.formatNumbers(getDurationSeconds()) + GT_Utility.trans("161", " secs");
- }
-
- public String getDurationStringTicks() {
- if (getDurationTicks() == 1) {
- return GT_Utility.formatNumbers(getDurationTicks()) + GT_Utility.trans("209.1", " tick");
- }
- return GT_Utility.formatNumbers(getDurationTicks()) + GT_Utility.trans("209", " ticks");
- }
-
- public abstract String getTotalPowerString();
-
- public abstract String getPowerUsageString();
-
- public abstract String getVoltageString();
-
- public abstract String getAmperageString();
-
- public int compareTo(byte tier, int specialValue) {
- if (this.tier < tier) {
- return this.tier - tier;
- }
- return this.specialValue - specialValue;
- }
-}
diff --git a/src/main/java/gregtech/common/power/SteamPower.java b/src/main/java/gregtech/common/power/SteamPower.java
deleted file mode 100644
index 6394b6a5ef..0000000000
--- a/src/main/java/gregtech/common/power/SteamPower.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package gregtech.common.power;
-
-import gregtech.api.util.GT_Utility;
-
-public class SteamPower extends Power {
-
- private final double euPerTickOverride;
- private final double durationOverride;
- private final String[] STEAM_TIER_NAMES = { "Bronze", "Steel" };
-
- public SteamPower(byte tier, double euPerTickMultiplier, double durationMultiplier) {
- super(tier);
- this.euPerTickOverride = euPerTickMultiplier;
- this.durationOverride = durationMultiplier;
- }
-
- @Override
- public byte getTier() {
- return 1;
- }
-
- @Override
- public String getTierString() {
- return STEAM_TIER_NAMES[tier - 1];
- }
-
- @Override
- public void computePowerUsageAndDuration(int euPerTick, int duration) {
- recipeEuPerTick = (int) (euPerTick * euPerTickOverride);
- recipeDuration = (int) (duration * durationOverride);
- }
-
- @Override
- public String getTotalPowerString() {
- // 2L normal steam == 1EU
- return GT_Utility.formatNumbers(2L * recipeDuration * recipeEuPerTick) + " Steam";
- }
-
- @Override
- public String getPowerUsageString() {
- // 2L normal steam == 1EU
- return GT_Utility.formatNumbers(20L * 2L * recipeEuPerTick) + " L/s Steam";
- }
-
- @Override
- public String getVoltageString() {
- return null;
- }
-
- @Override
- public String getAmperageString() {
- return null;
- }
-}
diff --git a/src/main/java/gregtech/common/power/UnspecifiedEUPower.java b/src/main/java/gregtech/common/power/UnspecifiedEUPower.java
deleted file mode 100644
index e411f03613..0000000000
--- a/src/main/java/gregtech/common/power/UnspecifiedEUPower.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package gregtech.common.power;
-
-import gregtech.api.util.GT_Utility;
-
-public class UnspecifiedEUPower extends EUPower {
-
- private final String VOLTAGE = GT_Utility.trans("271", "unspecified");
- private final String AMPERAGE = GT_Utility.trans("271", "unspecified");
-
- public UnspecifiedEUPower(byte tier, int amperage) {
- super(tier, amperage);
- }
-
- @Override
- public String getPowerUsageString() {
- return super.getVoltageString();
- }
-
- @Override
- public String getVoltageString() {
- return VOLTAGE;
- }
-
- @Override
- public String getAmperageString() {
- return AMPERAGE;
- }
-}
diff --git a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_RecipeFilter.java b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_RecipeFilter.java
index 6f023e025b..05128ee255 100644
--- a/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_RecipeFilter.java
+++ b/src/main/java/gregtech/common/tileentities/automation/GT_MetaTileEntity_RecipeFilter.java
@@ -32,14 +32,12 @@ import codechicken.nei.recipe.RecipeCatalysts;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.interfaces.tileentity.IRecipeLockable;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
-import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.interfaces.tileentity.RecipeMapWorkable;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_SpecialFilter;
import gregtech.api.multitileentity.MultiTileEntityContainer;
import gregtech.api.multitileentity.MultiTileEntityItemInternal;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Item_Machines;
import gregtech.loaders.preload.GT_Loader_MultiTileEntities;
@@ -49,7 +47,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
private static final String TT_machineType = "GT5U.MBTT.MachineType";
private static final String REPRESENTATION_SLOT_TOOLTIP = "GT5U.recipe_filter.representation_slot.tooltip";
private static final String EMPTY_REPRESENTATION_SLOT_TOOLTIP = "GT5U.recipe_filter.empty_representation_slot.tooltip";
- public GT_Recipe.GT_Recipe_Map mRecipeMap;
+ public RecipeMap<?> mRecipeMap;
private List<ItemStack> filteredMachines = new ArrayList<>();
public int mRotationIndex = 0;
@@ -72,7 +70,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
super(aName, aTier, aInvSlotCount, aDescription, aTextures);
}
- private static GT_Recipe.GT_Recipe_Map getItemStackMachineRecipeMap(ItemStack stack) {
+ private static RecipeMap<?> getItemStackMachineRecipeMap(ItemStack stack) {
if (stack != null) {
IMetaTileEntity metaTileEntity = GT_Item_Machines.getMetaTileEntity(stack);
if (metaTileEntity != null) {
@@ -84,28 +82,27 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
return null;
}
- private static GT_Recipe.GT_Recipe_Map getMetaTileEntityRecipeMap(IMetaTileEntity metaTileEntity) {
- if (metaTileEntity instanceof GT_MetaTileEntity_BasicMachine machine) {
- return machine.getRecipeList();
- } else if (metaTileEntity instanceof IRecipeLockable recipeLockable) {
- return recipeLockable.getRecipeMap();
- } else if (metaTileEntity instanceof GT_MetaTileEntity_BasicGenerator generator) {
- return generator.getRecipes();
+ private static RecipeMap<?> getMetaTileEntityRecipeMap(IMetaTileEntity metaTileEntity) {
+ if (metaTileEntity instanceof RecipeMapWorkable recipeMapWorkable) {
+ return recipeMapWorkable.getRecipeMap();
}
return null;
}
- private static GT_Recipe.GT_Recipe_Map getMuTeRecipeMap(@NotNull ItemStack stack) {
+ private static RecipeMap<?> getMuTeRecipeMap(@NotNull ItemStack stack) {
MultiTileEntityContainer muTeEntityContainer = GT_Loader_MultiTileEntities.MACHINE_REGISTRY
.getNewTileEntityContainer(stack);
- if (muTeEntityContainer != null && muTeEntityContainer.mTileEntity instanceof IRecipeLockable recipeLockable) {
- return recipeLockable.getRecipeMap();
+ if (muTeEntityContainer != null
+ && muTeEntityContainer.mTileEntity instanceof RecipeMapWorkable recipeMapWorkable) {
+ return recipeMapWorkable.getRecipeMap();
}
return null;
}
- private static List<ItemStack> getFilteredMachines(GT_Recipe.GT_Recipe_Map recipeMap) {
- return RecipeCatalysts.getRecipeCatalysts(recipeMap.mNEIName)
+ private static List<ItemStack> getFilteredMachines(RecipeMap<?> recipeMap) {
+ return RecipeCatalysts.getRecipeCatalysts(
+ recipeMap.getFrontend()
+ .getUIProperties().neiTransferRectId)
.stream()
.map(positionedStack -> positionedStack.item)
.collect(Collectors.toList());
@@ -147,7 +144,9 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
@Override
public void saveNBTData(NBTTagCompound aNBT) {
super.saveNBTData(aNBT);
- if (mRecipeMap != null) aNBT.setString("mRecipeMap", this.mRecipeMap.mUniqueIdentifier);
+ if (mRecipeMap != null) {
+ aNBT.setString("mRecipeMap", this.mRecipeMap.unlocalizedName);
+ }
NBTTagList tagList = new NBTTagList();
for (ItemStack filteredMachine : filteredMachines) {
tagList.appendTag(filteredMachine.writeToNBT(new NBTTagCompound()));
@@ -158,7 +157,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
@Override
public void loadNBTData(NBTTagCompound aNBT) {
super.loadNBTData(aNBT);
- this.mRecipeMap = GT_Recipe.GT_Recipe_Map.sIndexedMappings.getOrDefault(aNBT.getString("mRecipeMap"), null);
+ this.mRecipeMap = RecipeMap.getFromOldIdentifier(aNBT.getString("mRecipeMap"));
filteredMachines.clear();
NBTTagList tagList = aNBT.getTagList("filteredMachines", Constants.NBT.TAG_COMPOUND);
for (int i = 0; i < tagList.tagCount(); i++) {
@@ -179,8 +178,8 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
super.addUIWidgets(builder, buildContext);
builder.widget(
new FakeSyncWidget.StringSyncer(
- () -> this.mRecipeMap == null ? "" : this.mRecipeMap.mUniqueIdentifier,
- (id) -> this.mRecipeMap = GT_Recipe.GT_Recipe_Map.sIndexedMappings.getOrDefault(id, null)));
+ () -> this.mRecipeMap == null ? "" : this.mRecipeMap.unlocalizedName,
+ id -> this.mRecipeMap = RecipeMap.ALL_RECIPE_MAPS.get(id)));
}
@Override
@@ -198,15 +197,17 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
}
@NotNull
- private List<String> assembleItemStackReplacementTooltip(GT_Recipe.GT_Recipe_Map recipeMap) {
+ private List<String> assembleItemStackReplacementTooltip(RecipeMap<?> recipeMap) {
List<String> tooltip = new ArrayList<>();
tooltip.add(
StatCollector.translateToLocal(TT_machineType) + ": "
+ EnumChatFormatting.YELLOW
- + StatCollector.translateToLocal(recipeMap.mUnlocalizedName)
+ + StatCollector.translateToLocal(recipeMap.unlocalizedName)
+ EnumChatFormatting.RESET);
- if (recipeMap.mRecipeItemMap.size() > 0) {
- tooltip.add("Filter size: §e" + recipeMap.mRecipeItemMap.size() + "§r");
+ int recipeSize = recipeMap.getAllRecipes()
+ .size();
+ if (recipeSize > 0) {
+ tooltip.add("Filter size: §e" + recipeSize + "§r");
}
tooltip.addAll(mTooltipCache.getData(REPRESENTATION_SLOT_TOOLTIP).text);
return tooltip;
@@ -251,7 +252,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
updateAndSendRecipeMapToServer(mRecipeMap);
}
- private void updateAndSendRecipeMapToServer(GT_Recipe.GT_Recipe_Map recipeMap) {
+ private void updateAndSendRecipeMapToServer(RecipeMap<?> recipeMap) {
if (recipeMap != null) {
filteredMachines = getFilteredMachines(recipeMap);
} else {
@@ -260,7 +261,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
}
mRotationIndex = -1;
syncToServer(SYNC_RECIPEMAP_C2S, buffer -> {
- NetworkUtils.writeStringSafe(buffer, recipeMap != null ? recipeMap.mUniqueIdentifier : null);
+ NetworkUtils.writeStringSafe(buffer, recipeMap != null ? recipeMap.unlocalizedName : null);
buffer.writeVarIntToBuffer(filteredMachines.size());
for (ItemStack filteredMachine : filteredMachines) {
NetworkUtils.writeItemStack(buffer, filteredMachine);
@@ -276,9 +277,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
}
String recipeMapName = NetworkUtils.readStringSafe(buf);
- mRecipeMap = recipeMapName != null
- ? GT_Recipe.GT_Recipe_Map.sIndexedMappings.getOrDefault(recipeMapName, null)
- : null;
+ mRecipeMap = recipeMapName != null ? RecipeMap.ALL_RECIPE_MAPS.get(recipeMapName) : null;
if (mRecipeMap != null) {
updateAndSendRecipeMapToServer(mRecipeMap);
}
@@ -296,9 +295,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
}
String recipeMapName = NetworkUtils.readStringSafe(buf);
- mRecipeMap = recipeMapName != null
- ? GT_Recipe.GT_Recipe_Map.sIndexedMappings.getOrDefault(recipeMapName, null)
- : null;
+ mRecipeMap = recipeMapName != null ? RecipeMap.getFromOldIdentifier(recipeMapName) : null;
mRotationIndex = -1;
mInventory[FILTER_SLOT_INDEX] = null;
filteredMachines.clear();
@@ -322,7 +319,7 @@ public class GT_MetaTileEntity_RecipeFilter extends GT_MetaTileEntity_SpecialFil
// backward compatibility: This machine used to store only mRecipeMap, not filteredMachines
syncToClient(
REQUEST_FILTERED_MACHINES_S2C,
- buffer -> NetworkUtils.writeStringSafe(buffer, mRecipeMap.mUniqueIdentifier));
+ buffer -> NetworkUtils.writeStringSafe(buffer, mRecipeMap.unlocalizedName));
}
}
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
index 1132a0d53e..5047cb7624 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_DieselGenerator.java
@@ -39,9 +39,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
@@ -84,8 +85,8 @@ public class GT_MetaTileEntity_DieselGenerator extends GT_MetaTileEntity_BasicGe
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- return GT_Recipe.GT_Recipe_Map.sDieselFuels;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.dieselFuels;
}
@Override
@@ -107,7 +108,7 @@ public class GT_MetaTileEntity_DieselGenerator extends GT_MetaTileEntity_BasicGe
@Override
public int getFuelValue(ItemStack aStack) {
- if (GT_Utility.isStackInvalid(aStack) || getRecipes() == null) return 0;
+ if (GT_Utility.isStackInvalid(aStack) || getRecipeMap() == null) return 0;
long rValue = super.getFuelValue(aStack);
if (ItemList.Fuel_Can_Plastic_Filled.isStackEqual(aStack, false, true)) {
rValue = Math.max(rValue, GameRegistry.getFuelValue(aStack) * 3L);
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
index 771dc36788..163f9fa319 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_GasTurbine.java
@@ -31,8 +31,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_GasTurbine extends GT_MetaTileEntity_BasicGenerator {
@@ -106,8 +107,8 @@ public class GT_MetaTileEntity_GasTurbine extends GT_MetaTileEntity_BasicGenerat
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- return GT_Recipe.GT_Recipe_Map.sTurbineFuels;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.gasTurbineFuels;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
index 07990213be..7317180b5d 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicEnergyConverter.java
@@ -18,8 +18,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_MagicEnergyConverter extends GT_MetaTileEntity_BasicGenerator {
@@ -57,8 +58,8 @@ public class GT_MetaTileEntity_MagicEnergyConverter extends GT_MetaTileEntity_Ba
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- return GT_Recipe.GT_Recipe_Map.sMagicFuels;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.magicFuels;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
index 1be4d521a1..8dc3417a84 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_MagicalEnergyAbsorber.java
@@ -59,11 +59,12 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
import thaumcraft.api.aspects.Aspect;
@@ -440,8 +441,8 @@ public class GT_MetaTileEntity_MagicalEnergyAbsorber extends GT_MetaTileEntity_B
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- return GT_Recipe.GT_Recipe_Map.sMagicFuels;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.magicFuels;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java
index babb4925bb..ba5aaf4c64 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_NaquadahReactor.java
@@ -29,8 +29,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_NaquadahReactor extends GT_MetaTileEntity_BasicGenerator {
@@ -67,14 +68,14 @@ public class GT_MetaTileEntity_NaquadahReactor extends GT_MetaTileEntity_BasicGe
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- GT_Recipe.GT_Recipe_Map ret;
+ public RecipeMap<?> getRecipeMap() {
+ RecipeMap<?> ret;
switch (mTier) {
- case 4 -> ret = GT_Recipe.GT_Recipe_Map.sSmallNaquadahReactorFuels;
- case 5 -> ret = GT_Recipe.GT_Recipe_Map.sLargeNaquadahReactorFuels;
- case 6 -> ret = GT_Recipe.GT_Recipe_Map.sHugeNaquadahReactorFuels;
- case 7 -> ret = GT_Recipe.GT_Recipe_Map.sExtremeNaquadahReactorFuels;
- case 8 -> ret = GT_Recipe.GT_Recipe_Map.sUltraHugeNaquadahReactorFuels;
+ case 4 -> ret = RecipeMaps.smallNaquadahReactorFuels;
+ case 5 -> ret = RecipeMaps.largeNaquadahReactorFuels;
+ case 6 -> ret = RecipeMaps.hugeNaquadahReactorFuels;
+ case 7 -> ret = RecipeMaps.extremeNaquadahReactorFuels;
+ case 8 -> ret = RecipeMaps.ultraHugeNaquadahReactorFuels;
default -> ret = null;
}
return ret;
@@ -82,7 +83,8 @@ public class GT_MetaTileEntity_NaquadahReactor extends GT_MetaTileEntity_BasicGe
@Override
public int getCapacity() {
- return getRecipes() != null ? getRecipes().mMinimalInputFluids > 0 ? 8000 * (mTier + 1) : 0 : 0;
+ return getRecipeMap() != null ? getRecipeMap().getBackend()
+ .getProperties().minFluidInputs > 0 ? 8000 * (mTier + 1) : 0 : 0;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
index 00c7f93128..603c1439ba 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_PlasmaGenerator.java
@@ -13,8 +13,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_PlasmaGenerator extends GT_MetaTileEntity_BasicGenerator {
@@ -113,8 +114,8 @@ public class GT_MetaTileEntity_PlasmaGenerator extends GT_MetaTileEntity_BasicGe
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
- return GT_Recipe.GT_Recipe_Map.sPlasmaFuels;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.plasmaFuels;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
index bfc4529ffe..7a3d50f213 100644
--- a/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
+++ b/src/main/java/gregtech/common/tileentities/generators/GT_MetaTileEntity_SteamTurbine.java
@@ -31,9 +31,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGenerator {
@@ -70,7 +70,7 @@ public class GT_MetaTileEntity_SteamTurbine extends GT_MetaTileEntity_BasicGener
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipes() {
+ public RecipeMap<?> getRecipeMap() {
return null;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java
index 2449719079..59746800b1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java
+++ b/src/main/java/gregtech/common/tileentities/machines/GT_MetaTileEntity_Hatch_InputBus_ME.java
@@ -74,8 +74,8 @@ import gregtech.common.gui.modularui.widget.AESlotWidget;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
-public class GT_MetaTileEntity_Hatch_InputBus_ME extends GT_MetaTileEntity_Hatch_InputBus
- implements IConfigurationCircuitSupport, IAddGregtechLogo, IAddUIWidgets, IPowerChannelState {
+public class GT_MetaTileEntity_Hatch_InputBus_ME extends GT_MetaTileEntity_Hatch_InputBus implements
+ IConfigurationCircuitSupport, IRecipeProcessingAwareHatch, IAddGregtechLogo, IAddUIWidgets, IPowerChannelState {
private static final int SLOT_COUNT = 16;
private BaseActionSource requestSource = null;
diff --git a/src/main/java/gregtech/common/tileentities/machines/IRecipeProcessingAwareHatch.java b/src/main/java/gregtech/common/tileentities/machines/IRecipeProcessingAwareHatch.java
index d78400b30e..c7a97ce969 100644
--- a/src/main/java/gregtech/common/tileentities/machines/IRecipeProcessingAwareHatch.java
+++ b/src/main/java/gregtech/common/tileentities/machines/IRecipeProcessingAwareHatch.java
@@ -2,30 +2,25 @@ package gregtech.common.tileentities.machines;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_MultiBlockBase;
import gregtech.api.recipe.check.CheckRecipeResult;
-import gregtech.api.recipe.check.CheckRecipeResultRegistry;
+/**
+ * Implement this interface for {@link gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch}
+ * if it does special stuff while multiblock controller is processing recipe.
+ */
public interface IRecipeProcessingAwareHatch {
/**
* Called when multiblock controller starts processing.
- * {@link #endRecipeProcessing(GT_MetaTileEntity_MultiBlockBase)} is called on the same tick.
+ * {@link #endRecipeProcessing} is called on the same tick.
*/
- default void startRecipeProcessing() {}
+ void startRecipeProcessing();
/**
- * Called when multiblock controller ends processing. {@link #startRecipeProcessing()} is called on the same tick.
+ * Called when multiblock controller ends processing. {@link #startRecipeProcessing} is called on the same tick.
*
* @param controller Caller of this method.
* @return Result of the process of this method. {@code !wasSuccessful()} means the returned result should
* overwrite the result calculated on multiblock whatever the reason is.
*/
- default CheckRecipeResult endRecipeProcessing(GT_MetaTileEntity_MultiBlockBase controller) {
- endRecipeProcessing();
- return CheckRecipeResultRegistry.SUCCESSFUL;
- }
-
- /**
- * Simple version of {@link #endRecipeProcessing(GT_MetaTileEntity_MultiBlockBase)}. Maybe use it instead.
- */
- default void endRecipeProcessing() {}
+ CheckRecipeResult endRecipeProcessing(GT_MetaTileEntity_MultiBlockBase controller);
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java
index 34bb0b782c..6c908aadac 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Boxinator.java
@@ -26,9 +26,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Boxinator extends GT_MetaTileEntity_BasicMachine {
@@ -107,8 +108,8 @@ public class GT_MetaTileEntity_Boxinator extends GT_MetaTileEntity_BasicMachine
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.packagerRecipes;
}
private boolean hasValidCache(ItemStack mItem, int mType, boolean mClearOnFailure) {
@@ -206,7 +207,7 @@ public class GT_MetaTileEntity_Boxinator extends GT_MetaTileEntity_BasicMachine
if ((ItemList.Schematic_1by1.isStackEqual(tInput1)) || (ItemList.Schematic_2by2.isStackEqual(tInput1))
|| (ItemList.Schematic_3by3.isStackEqual(tInput1))) {
if (hasValidCache(aStack, aTypeCache, false)) return true;
- if (GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.findRecipe(
+ if (RecipeMaps.packagerRecipes.findRecipe(
getBaseMetaTileEntity(),
true,
gregtech.api.enums.GT_Values.V[mTier],
@@ -224,7 +225,7 @@ public class GT_MetaTileEntity_Boxinator extends GT_MetaTileEntity_BasicMachine
return ItemList.Schematic_3by3.isStackEqual(getInputAt(1)) && (GT_ModHandler
.getRecipeOutput(aStack, aStack, aStack, aStack, aStack, aStack, aStack, aStack, aStack) != null);
} else {
- return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes.containsInput(aStack);
+ return RecipeMaps.packagerRecipes.containsInput(aStack);
}
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java
index ad7b15ed60..3753fb8cd8 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_IndustrialApiary.java
@@ -50,6 +50,7 @@ import net.minecraft.world.biome.BiomeGenBase;
import net.minecraftforge.common.util.ForgeDirection;
import com.google.common.collect.ImmutableSet;
+import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
import com.gtnewhorizons.modularui.api.drawable.IDrawable;
import com.gtnewhorizons.modularui.api.forge.IItemHandlerModifiable;
import com.gtnewhorizons.modularui.api.math.Pos2d;
@@ -63,7 +64,6 @@ import com.gtnewhorizons.modularui.common.widget.ButtonWidget;
import com.gtnewhorizons.modularui.common.widget.CycleButtonWidget;
import com.gtnewhorizons.modularui.common.widget.DrawableWidget;
import com.gtnewhorizons.modularui.common.widget.FakeSyncWidget;
-import com.gtnewhorizons.modularui.common.widget.ProgressBar;
import com.gtnewhorizons.modularui.common.widget.SlotGroup;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
import com.gtnewhorizons.modularui.common.widget.TextWidget;
@@ -110,6 +110,7 @@ import gregtech.api.interfaces.modularui.IAddUIWidgets;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.BasicUIProperties;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ApiaryModifier;
import gregtech.api.util.GT_ApiaryUpgrade;
@@ -1178,17 +1179,12 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
super.addUIWidgets(builder, buildContext);
builder.widget(
- new ProgressBar().setProgress(() -> (float) getProgresstime() / Math.max(maxProgresstime(), 1))
- .setTexture(GT_UITextures.PROGRESSBAR_ARROW, 20)
- .setPos(70, 3)
- .setSize(20, 18))
- .widget(
- new ButtonWidget().setOnClick((clickData, widget) -> cancelProcess())
- .setBackground(GT_UITextures.BUTTON_STANDARD, GT_UITextures.OVERLAY_BUTTON_CROSS)
- .setGTTooltip(() -> mTooltipCache.getData(CANCEL_PROCESS_TOOLTIP))
- .setTooltipShowUpDelay(TOOLTIP_DELAY)
- .setPos(7, 26)
- .setSize(18, 18))
+ new ButtonWidget().setOnClick((clickData, widget) -> cancelProcess())
+ .setBackground(GT_UITextures.BUTTON_STANDARD, GT_UITextures.OVERLAY_BUTTON_CROSS)
+ .setGTTooltip(() -> mTooltipCache.getData(CANCEL_PROCESS_TOOLTIP))
+ .setTooltipShowUpDelay(TOOLTIP_DELAY)
+ .setPos(7, 26)
+ .setSize(18, 18))
.widget(
new CycleButtonWidget().setToggle(() -> mAutoQueen, x -> mAutoQueen = x)
.setTextureGetter(
@@ -1286,6 +1282,17 @@ public class GT_MetaTileEntity_IndustrialApiary extends GT_MetaTileEntity_BasicM
.setPos(26, 72));
}
+ private static final FallbackableUITexture progressBarTexture = GT_UITextures
+ .fallbackableProgressbar("iapiary", GT_UITextures.PROGRESSBAR_ARROW);
+
+ @Override
+ protected BasicUIProperties getUIProperties() {
+ return super.getUIProperties().toBuilder()
+ .progressBarTexture(progressBarTexture)
+ .progressBarPos(new Pos2d(70, 3))
+ .build();
+ }
+
@Override
protected SlotWidget createItemInputSlot(int index, IDrawable[] backgrounds, Pos2d pos) {
// we have custom input slots
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
index ca3707abc9..3e00bd1b1b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
@@ -20,8 +20,12 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_MASSFAB_GLOW;
import java.util.Arrays;
+import javax.annotation.ParametersAreNonnullByDefault;
+
import net.minecraftforge.fluids.FluidStack;
+import com.google.common.primitives.Ints;
+
import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.MachineType;
@@ -30,12 +34,16 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.objects.overclockdescriber.EUOverclockDescriber;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Config;
+import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
-import gregtech.common.power.BasicMachineEUPower;
-import gregtech.common.power.Power;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMachine {
@@ -43,7 +51,9 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
public static int sUUASpeedBonus = 4;
public static int sDurationMultiplier = 3215;
public static boolean sRequiresUUA = false;
- protected final long EUt;
+ public static int BASE_EUT = 256;
+ public static GT_Recipe nonUUARecipe;
+ public static GT_Recipe uuaRecipe;
public GT_MetaTileEntity_Massfabricator(int aID, String aName, String aNameRegional, int aTier) {
super(
@@ -51,7 +61,7 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
aName,
aNameRegional,
aTier,
- 1,
+ 8,
MachineType.MATTER_FABRICATOR.tooltipDescription(),
1,
1,
@@ -103,12 +113,10 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
.addIcon(OVERLAY_BOTTOM_MASSFAB_GLOW)
.glow()
.build()));
- EUt = V[1] * (long) Math.pow(2, mTier + 2);
}
public GT_MetaTileEntity_Massfabricator(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, 1, aDescription, aTextures, 1, 1);
- EUt = V[1] * (long) Math.pow(2, mTier + 2);
}
@Override
@@ -122,8 +130,8 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
}
@Override
- protected Power buildPower() {
- return new MassfabricatorPower(mTier, mAmperage);
+ protected OverclockDescriber createOverclockDescriber() {
+ return new MassfabricatorOverclockDescriber(mTier, mAmperage);
}
@Override
@@ -152,9 +160,7 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
FluidStack tFluid = getDrainableStack();
if ((tFluid == null) || (tFluid.amount < getCapacity())) {
this.mOutputFluid = Materials.UUMatter.getFluid(1L);
- calculateOverclockedNess(
- (int) EUt,
- containsUUA(getFillableStack()) ? sDurationMultiplier / sUUASpeedBonus : sDurationMultiplier);
+ calculateCustomOverclock(containsUUA(getFillableStack()) ? uuaRecipe : nonUUARecipe);
// In case recipe is too OP for that machine
if (mMaxProgresstime == Integer.MAX_VALUE - 1 && mEUt == Integer.MAX_VALUE - 1)
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
@@ -171,8 +177,8 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sMassFabFakeRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.massFabFakeRecipes;
}
@Override
@@ -189,64 +195,37 @@ public class GT_MetaTileEntity_Massfabricator extends GT_MetaTileEntity_BasicMac
return aFluid != null && aFluid.amount >= sUUAperUUM && aFluid.isFluidEqual(Materials.UUAmplifier.getFluid(1L));
}
- protected class MassfabricatorPower extends BasicMachineEUPower {
+ @ParametersAreNonnullByDefault
+ @MethodsReturnNonnullByDefault
+ protected class MassfabricatorOverclockDescriber extends EUOverclockDescriber {
- protected MassfabricatorPower(byte tier, int amperage) {
+ protected MassfabricatorOverclockDescriber(byte tier, int amperage) {
super(tier, amperage);
}
@Override
- public void computePowerUsageAndDuration(int euPerTick, int duration) {
- originalVoltage = computeVoltageForEuRate(euPerTick);
-
- if (mTier == 0) {
- // Long time calculation
- long xMaxProgresstime = ((long) duration) << 1;
- if (xMaxProgresstime > Integer.MAX_VALUE - 1) {
- // make impossible if too long
- recipeEuPerTick = Integer.MAX_VALUE - 1;
- recipeDuration = Integer.MAX_VALUE - 1;
- } else {
- recipeEuPerTick = (int) (V[1] << 2); // 2^2=4 so shift <<2
- recipeDuration = (int) xMaxProgresstime;
- }
- } else {
- // Long EUt calculation
- long xEUt = EUt;
-
- long tempEUt = V[1];
-
- recipeDuration = duration;
+ public GT_OverclockCalculator createCalculator(GT_OverclockCalculator template, GT_Recipe recipe) {
+ return super.createCalculator(template, recipe).setEUt(Ints.saturatedCast(V[tier] * amperage))
+ .setEUtIncreasePerOC(1)
+ .limitOverclockCount(tier - 1)
+ .setOneTickDiscount(false);
+ }
- while (tempEUt <= V[mTier - 1]) {
- tempEUt <<= 2; // this actually controls overclocking
- recipeDuration >>= 1; // this is effect of overclocking
- if (recipeDuration == 0) xEUt = (long) (xEUt / 1.1D); // U know, if the time is less than 1 tick
- // make the machine use less power
- }
- if (xEUt > Integer.MAX_VALUE - 1) {
- recipeEuPerTick = Integer.MAX_VALUE - 1;
- recipeDuration = Integer.MAX_VALUE - 1;
- } else {
- recipeEuPerTick = (int) xEUt;
- if (recipeEuPerTick == 0) recipeEuPerTick = 1;
- if (recipeDuration == 0) recipeDuration = 1; // set time to 1 tick
- }
- }
- wasOverclocked = checkIfOverclocked();
+ @Override
+ protected boolean shouldShowAmperage(GT_OverclockCalculator calculator) {
+ return true;
}
@Override
- public String getVoltageString() {
- long voltage = V[1];
- String voltageDescription = GT_Utility.formatNumbers(voltage) + " EU";
- voltageDescription += GT_Utility.getTierNameWithParentheses(voltage);
- return voltageDescription;
+ protected String getVoltageString(GT_OverclockCalculator calculator) {
+ // standard amperage calculation doesn't work here
+ return decorateWithOverclockLabel(GT_Utility.formatNumbers(V[mTier]) + " EU/t", calculator)
+ + GT_Utility.getTierNameWithParentheses(V[mTier]);
}
@Override
- public String getAmperageString() {
- long amperage = originalVoltage / V[1];
+ protected String getAmperageString(GT_OverclockCalculator calculator) {
+ int amperage = this.amperage;
int denominator = 1;
for (int i = 1; i < mTier; i++) {
amperage >>= 1;
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java
index 3e5445a659..39581c6d93 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Miner.java
@@ -2,7 +2,6 @@ package gregtech.common.tileentities.machines.basic;
import static gregtech.api.enums.GT_Values.V;
import static gregtech.api.enums.GT_Values.debugBlockMiner;
-import static gregtech.api.enums.Mods.GregTech;
import java.util.ArrayList;
@@ -19,12 +18,6 @@ import net.minecraftforge.common.util.FakePlayer;
import net.minecraftforge.common.util.ForgeDirection;
import com.gtnewhorizons.modularui.api.drawable.FallbackableUITexture;
-import com.gtnewhorizons.modularui.api.drawable.UITexture;
-import com.gtnewhorizons.modularui.api.math.Pos2d;
-import com.gtnewhorizons.modularui.api.math.Size;
-import com.gtnewhorizons.modularui.api.screen.ModularWindow;
-import com.gtnewhorizons.modularui.api.screen.UIBuildContext;
-import com.gtnewhorizons.modularui.common.widget.ProgressBar;
import gregtech.api.enums.Textures;
import gregtech.api.gui.modularui.GT_UITextures;
@@ -33,6 +26,7 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.modularui.IAddUIWidgets;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.BasicUIProperties;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_Utility;
@@ -429,19 +423,13 @@ public class GT_MetaTileEntity_Miner extends GT_MetaTileEntity_BasicMachine
return true;
}
- private static final FallbackableUITexture progressBarTexture = new FallbackableUITexture(
- UITexture.fullImage(GregTech.ID, "gui/progressbar/miner"),
- GT_UITextures.PROGRESSBAR_CANNER);
+ private static final FallbackableUITexture progressBarTexture = GT_UITextures
+ .fallbackableProgressbar("miner", GT_UITextures.PROGRESSBAR_CANNER);
@Override
- public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) {
- super.addUIWidgets(builder, buildContext);
- builder.widget(
- createProgressBar(
- progressBarTexture.get(),
- 20,
- ProgressBar.Direction.RIGHT,
- new Pos2d(78, 24),
- new Size(20, 18)));
+ protected BasicUIProperties getUIProperties() {
+ return super.getUIProperties().toBuilder()
+ .progressBarTexture(progressBarTexture)
+ .build();
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_PotionBrewer.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_PotionBrewer.java
index 7b333208e0..15150abf67 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_PotionBrewer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_PotionBrewer.java
@@ -30,9 +30,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_PotionBrewer extends GT_MetaTileEntity_BasicMachine {
@@ -107,8 +108,8 @@ public class GT_MetaTileEntity_PotionBrewer extends GT_MetaTileEntity_BasicMachi
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.brewingRecipes;
}
@Override
@@ -217,7 +218,7 @@ public class GT_MetaTileEntity_PotionBrewer extends GT_MetaTileEntity_BasicMachi
public boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
ItemStack aStack) {
return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
- && getRecipeList().containsInput(aStack);
+ && getRecipeMap().containsInput(aStack);
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java
index 92327984e7..a15d5b7f6d 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Replicator.java
@@ -17,45 +17,23 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_REPLICATOR_ACTI
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_REPLICATOR_ACTIVE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_REPLICATOR_GLOW;
-import java.util.HashMap;
-import java.util.NoSuchElementException;
-
import net.minecraft.item.ItemStack;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.Element;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.MachineType;
import gregtech.api.enums.Materials;
-import gregtech.api.enums.OrePrefixes;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Utility;
-import gregtech.common.items.behaviors.Behaviour_DataOrb;
public class GT_MetaTileEntity_Replicator extends GT_MetaTileEntity_BasicMachine {
- public static final HashMap<Materials, Long> MASS_OVERRIDES = new HashMap<>();
- public static final double EXPONENT = GregTech_API.sOPStuff.get("Replicator", "Nerf Exponent", 1.2D);
- private static int sHeaviestElementMass = 0;
-
- static {
- /*
- * Put overrides here. For instance:
- * MASS_OVERRIDES.put(Materials.get("cake"),Materials.get("cake").getMass());
- * MASS_OVERRIDES.put(Materials.get("otherCake"),1235234L);
- * MASS_OVERRIDES.put(Materials.Kalendrite,1235234L);
- * MASS_OVERRIDES.put(Materials.Kalendrite,Materials.Kalendrite.getMass()*2);
- */
- }
-
public GT_MetaTileEntity_Replicator(int aID, String aName, String aNameRegional, int aTier) {
super(
aID,
@@ -125,61 +103,9 @@ public class GT_MetaTileEntity_Replicator extends GT_MetaTileEntity_BasicMachine
return new GT_MetaTileEntity_Replicator(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
- public static long cubicFluidMultiplier(long amount) {
- return (long) Math.pow(amount, EXPONENT);
- }
-
- @Override
- public int checkRecipe() {
- FluidStack tFluid = getFillableStack();
- if ((tFluid != null) && (tFluid.isFluidEqual(Materials.UUMatter.getFluid(1L)))) {
- ItemStack tDataOrb = getSpecialSlot();
- if ((ItemList.Tool_DataOrb.isStackEqual(tDataOrb, false, true)) && (Behaviour_DataOrb.getDataTitle(tDataOrb)
- .equals("Elemental-Scan"))) {
- Materials tMaterial = Element.get(Behaviour_DataOrb.getDataName(tDataOrb)).mLinkedMaterials.get(0);
- long tMass = cubicFluidMultiplier(MASS_OVERRIDES.getOrDefault(tMaterial, tMaterial.getMass()));
- if ((tFluid.amount >= tMass) && (tMass > 0L)) {
-
- this.mEUt = GT_Utility.safeInt(gregtech.api.enums.GT_Values.VP[this.mTier], 1);
- this.mMaxProgresstime = GT_Utility.safeInt(tMass * 1024L / (1L << this.mTier), 1);
- if (mMaxProgresstime == Integer.MAX_VALUE - 1 || mEUt == Integer.MAX_VALUE - 1)
- return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
-
- if ((this.mOutputItems[0] = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, 1L)) == null) {
- if ((this.mOutputItems[0] = GT_OreDictUnificator.get(OrePrefixes.cell, tMaterial, 1L))
- != null) {
- if ((this.mOutputFluid = GT_Utility.getFluidForFilledItem(this.mOutputItems[0], true))
- == null) {
- if (ItemList.Cell_Empty.isStackEqual(getInputAt(0))) {
- if (canOutput(this.mOutputItems[0])) {
- getInputAt(0).stackSize -= 1;
- tFluid.amount = ((int) (tFluid.amount - tMass));
- return 2;
- }
- }
- } else {
- this.mOutputItems[0] = null;
- if ((getDrainableStack() == null)
- || ((getDrainableStack().isFluidEqual(this.mOutputFluid))
- && (getDrainableStack().amount < 16000))) {
- tFluid.amount = ((int) (tFluid.amount - tMass));
- return 2;
- }
- }
- }
- } else if (canOutput(this.mOutputItems[0])) {
- tFluid.amount = ((int) (tFluid.amount - tMass));
- return 2;
- }
- }
- }
- }
- return 0;
- }
-
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sReplicatorFakeRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.replicatorRecipes;
}
@Override
@@ -196,16 +122,6 @@ public class GT_MetaTileEntity_Replicator extends GT_MetaTileEntity_BasicMachine
@Override
public int getCapacity() {
- if ((sHeaviestElementMass == 0) && (GregTech_API.sPostloadFinished)) {
- sHeaviestElementMass = Materials.getMaterialsMap()
- .values()
- .stream()
- .mapToInt(material -> (int) cubicFluidMultiplier((int) material.getMass()))
- .max()
- .orElseThrow(NoSuchElementException::new);
- // Make the Number nicer =)
- sHeaviestElementMass = 1000 * (sHeaviestElementMass / 1000 + 1);
- }
- return sHeaviestElementMass;
+ return 3000;
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_RockBreaker.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_RockBreaker.java
index c6d554b2eb..e632f4eeda 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_RockBreaker.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_RockBreaker.java
@@ -28,9 +28,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_RockBreaker extends GT_MetaTileEntity_BasicMachine {
@@ -105,15 +106,15 @@ public class GT_MetaTileEntity_RockBreaker extends GT_MetaTileEntity_BasicMachin
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.rockBreakerFakeRecipes;
}
@Override
protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
ItemStack aStack) {
return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
- && getRecipeList().containsInput(aStack);
+ && getRecipeMap().containsInput(aStack);
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
index 3bbd9f67ab..ba00be67f8 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Scanner.java
@@ -19,7 +19,7 @@ import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_SCANNER;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_SCANNER_ACTIVE;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_SCANNER_ACTIVE_GLOW;
import static gregtech.api.enums.Textures.BlockIcons.OVERLAY_TOP_SCANNER_GLOW;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes;
+import static gregtech.api.recipe.RecipeMaps.scannerFakeRecipes;
import java.util.Objects;
@@ -42,6 +42,7 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_AssemblyLineUtils;
import gregtech.api.util.GT_Log;
@@ -117,15 +118,6 @@ public class GT_MetaTileEntity_Scanner extends GT_MetaTileEntity_BasicMachine {
super(aName, aTier, 1, aDescription, aTextures, 1, 1);
}
- /**
- * @deprecated Use {@link #GT_MetaTileEntity_Scanner(String, int, String[], ITexture[][][])}
- */
- @Deprecated
- public GT_MetaTileEntity_Scanner(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures,
- String aGUIName, String aNEIName) {
- super(aName, aTier, 1, aDescription, aTextures, 1, 1);
- }
-
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Scanner(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
@@ -358,7 +350,7 @@ public class GT_MetaTileEntity_Scanner extends GT_MetaTileEntity_BasicMachine {
for (GT_Recipe.GT_Recipe_AssemblyLine tRecipe : GT_Recipe.GT_Recipe_AssemblyLine.sAssemblylineRecipes) {
if (GT_Utility.areStacksEqual(tRecipe.mResearchItem, aStack, true)) {
boolean failScanner = true;
- for (GT_Recipe scannerRecipe : sScannerFakeRecipes.mRecipeList) {
+ for (GT_Recipe scannerRecipe : scannerFakeRecipes.getAllRecipes()) {
if (GT_Utility.areStacksEqual(scannerRecipe.mInputs[0], aStack, true)) {
failScanner = false;
break;
@@ -402,8 +394,8 @@ public class GT_MetaTileEntity_Scanner extends GT_MetaTileEntity_BasicMachine {
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return sScannerFakeRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return scannerFakeRecipes;
}
@Override
@@ -415,7 +407,7 @@ public class GT_MetaTileEntity_Scanner extends GT_MetaTileEntity_BasicMachine {
protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
ItemStack aStack) {
return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
- && getRecipeList().containsInput(aStack);
+ && getRecipeMap().containsInput(aStack);
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
index e9f80b6824..80812d2cb2 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_AssemblyLine.java
@@ -49,12 +49,13 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_DataA
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_MultiInput;
import gregtech.api.multitileentity.multiblock.casing.Glasses;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_AssemblyLineUtils;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Recipe.GT_Recipe_AssemblyLine;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.IGT_HatchAdder;
@@ -182,8 +183,8 @@ public class GT_MetaTileEntity_AssemblyLine
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return null;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.assemblylineVisualRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
deleted file mode 100644
index 83e8cc1817..0000000000
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_BronzeBlastFurnace.java
+++ /dev/null
@@ -1,80 +0,0 @@
-package gregtech.common.tileentities.machines.multi;
-
-import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE;
-import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE_ACTIVE;
-import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEBLASTFURNACE_ACTIVE_GLOW;
-import static gregtech.api.enums.Textures.BlockIcons.MACHINE_BRONZEPLATEDBRICKS;
-
-import net.minecraft.block.Block;
-import net.minecraft.item.ItemStack;
-import net.minecraftforge.common.util.ForgeDirection;
-
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.SteamVariant;
-import gregtech.api.interfaces.ITexture;
-import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
-import gregtech.api.metatileentity.MetaTileEntity;
-import gregtech.api.render.TextureFactory;
-
-public class GT_MetaTileEntity_BronzeBlastFurnace extends GT_MetaTileEntity_PrimitiveBlastFurnace {
-
- private static final ITexture[] FACING_SIDE = { TextureFactory.of(MACHINE_BRONZEPLATEDBRICKS) };
- private static final ITexture[] FACING_FRONT = { TextureFactory.of(MACHINE_BRONZEBLASTFURNACE) };
- private static final ITexture[] FACING_ACTIVE = { TextureFactory.of(MACHINE_BRONZEBLASTFURNACE_ACTIVE),
- TextureFactory.builder()
- .addIcon(MACHINE_BRONZEBLASTFURNACE_ACTIVE_GLOW)
- .glow()
- .build() };
-
- public GT_MetaTileEntity_BronzeBlastFurnace(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional);
- }
-
- public GT_MetaTileEntity_BronzeBlastFurnace(String aName) {
- super(aName);
- }
-
- @Override
- public String[] getDescription() {
- return new String[] { "Disabled" };
- }
-
- @Override
- public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirection side, ForgeDirection aFacing,
- int colorIndex, boolean aActive, boolean redstoneLevel) {
- if (side == aFacing) {
- return aActive ? FACING_ACTIVE : FACING_FRONT;
- }
- return FACING_SIDE;
- }
-
- @Override
- public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_BronzeBlastFurnace(this.mName);
- }
-
- @Override
- protected Block getCasingBlock() {
- return GregTech_API.sBlockCasings1;
- }
-
- @Override
- protected int getCasingMetaID() {
- return 10;
- }
-
- @Override
- public String getName() {
- return "Bronze Blast Furnace";
- }
-
- @Override
- public SteamVariant getSteamVariant() {
- return SteamVariant.BRONZE;
- }
-
- @Override
- public String[] getStructureDescription(ItemStack stackSize) {
- return new String[0];
- }
-}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
index 392b77eb74..25daa06bcf 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_Charcoal_Pit.java
@@ -29,11 +29,11 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TooltipMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.WorldSpawnedEventBuilder;
import gregtech.common.GT_Pollution;
@@ -240,7 +240,7 @@ public class GT_MetaTileEntity_Charcoal_Pit extends GT_MetaTileEntity_TooltipMul
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
+ public RecipeMap<?> getRecipeMap() {
return null;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java
index 94334d9ade..cc4c4f7a84 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DieselEngine.java
@@ -40,10 +40,14 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
+import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SimpleCheckRecipeResult;
+import gregtech.api.recipe.maps.FuelBackend;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
@@ -150,9 +154,14 @@ public class GT_MetaTileEntity_DieselEngine
return getMaxEfficiency(aStack) > 0;
}
- // can't use getRecipeMap() or else the fluid hatch will reject oxygen
- protected GT_Recipe.GT_Recipe_Map_Fuel getFuelMap() {
- return GT_Recipe.GT_Recipe_Map.sDieselFuels;
+ @Override
+ public RecipeMap<FuelBackend> getRecipeMap() {
+ return RecipeMaps.dieselFuels;
+ }
+
+ @Override
+ protected void setHatchRecipeMap(GT_MetaTileEntity_Hatch_Input hatch) {
+ // Prevent fluid hatch rejecting oxygen
}
/**
@@ -199,7 +208,8 @@ public class GT_MetaTileEntity_DieselEngine
double boostedOutput = 0;
double extraFuelFraction = 0;
for (FluidStack tFluid : tFluids) {
- GT_Recipe tRecipe = getFuelMap().findFuel(tFluid);
+ GT_Recipe tRecipe = getRecipeMap().getBackend()
+ .findFuel(tFluid);
if (tRecipe == null) continue;
fuelValue = tRecipe.mSpecialValue;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
index 349614ea1e..6dd47f0bf7 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_DistillationTower.java
@@ -43,9 +43,10 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_DistillationTower extends
GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_DistillationTower> implements ISurvivalConstructable {
@@ -181,8 +182,8 @@ public class GT_MetaTileEntity_DistillationTower extends
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sDistillationRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.distillationTowerRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
index e2bd0b089b..f1bdc3dc23 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ElectricBlastFurnace.java
@@ -51,6 +51,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
@@ -175,8 +177,8 @@ public class GT_MetaTileEntity_ElectricBlastFurnace extends
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sBlastRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.blastFurnaceRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java
index fcb301d7c6..dace58a492 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ExtremeDieselEngine.java
@@ -21,9 +21,11 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.recipe.maps.FuelBackend;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_ExtremeDieselEngine extends GT_MetaTileEntity_DieselEngine {
@@ -65,8 +67,8 @@ public class GT_MetaTileEntity_ExtremeDieselEngine extends GT_MetaTileEntity_Die
}
@Override
- protected GT_Recipe.GT_Recipe_Map_Fuel getFuelMap() {
- return GT_Recipe.GT_Recipe_Map.sExtremeDieselFuels;
+ public RecipeMap<FuelBackend> getRecipeMap() {
+ return RecipeMaps.extremeDieselFuels;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
index 477419bbd0..5fcb033109 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer.java
@@ -15,6 +15,8 @@ import static gregtech.api.util.GT_Utility.filterValidMTEs;
import java.util.Set;
+import javax.annotation.Nonnull;
+
import net.minecraft.block.Block;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
@@ -50,6 +52,7 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.modularui.IAddUIWidgets;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.interfaces.tileentity.IOverclockDescriptionProvider;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
@@ -57,6 +60,10 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energ
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.objects.overclockdescriber.FusionOverclockDescriber;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
@@ -65,14 +72,12 @@ import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_ParallelHelper;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
-import gregtech.common.power.FusionPower;
-import gregtech.common.power.Power;
public abstract class GT_MetaTileEntity_FusionComputer
extends GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_FusionComputer>
- implements ISurvivalConstructable, IAddUIWidgets {
+ implements ISurvivalConstructable, IAddUIWidgets, IOverclockDescriptionProvider {
- protected FusionPower power;
+ private final OverclockDescriber overclockDescriber;
public static final String STRUCTURE_PIECE_MAIN = "main";
private static final ClassValue<IStructureDefinition<GT_MetaTileEntity_FusionComputer>> STRUCTURE_DEFINITION = new ClassValue<>() {
@@ -147,17 +152,24 @@ public abstract class GT_MetaTileEntity_FusionComputer
.build()));
}
- public GT_MetaTileEntity_FusionComputer(int aID, String aName, String aNameRegional, int tier) {
+ public GT_MetaTileEntity_FusionComputer(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
+ this.overclockDescriber = createOverclockDescriber();
}
public GT_MetaTileEntity_FusionComputer(String aName) {
super(aName);
+ this.overclockDescriber = createOverclockDescriber();
+ }
+
+ protected OverclockDescriber createOverclockDescriber() {
+ return new FusionOverclockDescriber((byte) tier(), capableStartupCanonical());
}
+ @Nonnull
@Override
- public Power getPower() {
- return power;
+ public OverclockDescriber getOverclockDescriber() {
+ return overclockDescriber;
}
public abstract int tier();
@@ -165,6 +177,12 @@ public abstract class GT_MetaTileEntity_FusionComputer
@Override
public abstract long maxEUStore();
+ /**
+ * Unlike {@link #maxEUStore()}, this provides theoretical limit of startup EU, without considering the amount of
+ * hatches nor the room for extra energy. Intended for simulation.
+ */
+ public abstract long capableStartupCanonical();
+
@Override
public abstract MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity);
@@ -277,23 +295,9 @@ public abstract class GT_MetaTileEntity_FusionComputer
return true;
}
- public int overclock(int mStartEnergy) {
- if (tierOverclock() == 1) {
- return 0;
- }
- if (tierOverclock() == 2) {
- return mStartEnergy <= 160000000 ? 1 : 0;
- }
- if (this.tierOverclock() == 4) {
- return (mStartEnergy <= 160000000 ? 2 : (mStartEnergy <= 320000000 ? 1 : 0));
- }
- return (mStartEnergy <= 160000000) ? 3
- : ((mStartEnergy <= 320000000) ? 2 : (mStartEnergy <= 640000000) ? 1 : 0);
- }
-
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sFusionRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.fusionRecipes;
}
@Override
@@ -310,7 +314,7 @@ public abstract class GT_MetaTileEntity_FusionComputer
@NotNull
@Override
protected GT_OverclockCalculator createOverclockCalculator(@NotNull GT_Recipe recipe) {
- return super.createOverclockCalculator(recipe).limitOverclockCount(overclock(recipe.mSpecialValue));
+ return overclockDescriber.createCalculator(super.createOverclockCalculator(recipe), recipe);
}
@NotNull
@@ -345,8 +349,6 @@ public abstract class GT_MetaTileEntity_FusionComputer
logic.setAmperageOC(false);
}
- public abstract int tierOverclock();
-
public boolean turnCasingActive(boolean status) {
if (this.mEnergyHatches != null) {
for (GT_MetaTileEntity_Hatch_Energy hatch : this.mEnergyHatches) {
@@ -625,7 +627,9 @@ public abstract class GT_MetaTileEntity_FusionComputer
.setDefaultColor(COLOR_TEXT_RED.get())
.setPos(50, 155))
.widget(
- new ButtonWidget().setNEITransferRect(GT_Recipe.GT_Recipe_Map.sFusionRecipes.mNEIName)
+ new ButtonWidget().setNEITransferRect(
+ RecipeMaps.fusionRecipes.getFrontend()
+ .getUIProperties().neiTransferRectId)
.setBackground(GT_UITextures.BUTTON_STANDARD, GT_UITextures.OVERLAY_BUTTON_NEI)
.setPos(154, 4)
.setSize(18, 18));
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer1.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer1.java
index cd44756d62..e3a2432bf9 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer1.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer1.java
@@ -11,7 +11,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.common.power.FusionPower;
public class GT_MetaTileEntity_FusionComputer1 extends GT_MetaTileEntity_FusionComputer {
@@ -27,13 +26,11 @@ public class GT_MetaTileEntity_FusionComputer1 extends GT_MetaTileEntity_FusionC
.build());
public GT_MetaTileEntity_FusionComputer1(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional, 6);
- power = new FusionPower((byte) 6, 160_000_000);
+ super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_FusionComputer1(String aName) {
super(aName);
- power = new FusionPower((byte) 6, 160_000_000);
}
@Override
@@ -47,6 +44,11 @@ public class GT_MetaTileEntity_FusionComputer1 extends GT_MetaTileEntity_FusionC
}
@Override
+ public long capableStartupCanonical() {
+ return 160_000_000;
+ }
+
+ @Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_FusionComputer1(mName);
}
@@ -98,9 +100,4 @@ public class GT_MetaTileEntity_FusionComputer1 extends GT_MetaTileEntity_FusionC
public ITexture getTextureOverlay() {
return textureOverlay;
}
-
- @Override
- public int tierOverclock() {
- return 1;
- }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer2.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer2.java
index 7b77ddcf66..0b1f10158b 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer2.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer2.java
@@ -11,7 +11,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.common.power.FusionPower;
public class GT_MetaTileEntity_FusionComputer2 extends GT_MetaTileEntity_FusionComputer {
@@ -27,13 +26,11 @@ public class GT_MetaTileEntity_FusionComputer2 extends GT_MetaTileEntity_FusionC
.build());
public GT_MetaTileEntity_FusionComputer2(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional, 7);
- power = new FusionPower((byte) 7, 320_000_000);
+ super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_FusionComputer2(String aName) {
super(aName);
- power = new FusionPower((byte) 7, 320_000_000);
}
@Override
@@ -47,6 +44,11 @@ public class GT_MetaTileEntity_FusionComputer2 extends GT_MetaTileEntity_FusionC
}
@Override
+ public long capableStartupCanonical() {
+ return 320_000_000;
+ }
+
+ @Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_FusionComputer2(mName);
}
@@ -98,9 +100,4 @@ public class GT_MetaTileEntity_FusionComputer2 extends GT_MetaTileEntity_FusionC
public ITexture getTextureOverlay() {
return textureOverlay;
}
-
- @Override
- public int tierOverclock() {
- return 2;
- }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer3.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer3.java
index 271e28713d..64d92ccc99 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer3.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_FusionComputer3.java
@@ -11,7 +11,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.common.power.FusionPower;
public class GT_MetaTileEntity_FusionComputer3 extends GT_MetaTileEntity_FusionComputer {
@@ -27,13 +26,11 @@ public class GT_MetaTileEntity_FusionComputer3 extends GT_MetaTileEntity_FusionC
.build());
public GT_MetaTileEntity_FusionComputer3(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional, 8);
- power = new FusionPower((byte) 8, 640_000_000);
+ super(aID, aName, aNameRegional);
}
public GT_MetaTileEntity_FusionComputer3(String aName) {
super(aName);
- power = new FusionPower((byte) 8, 640_000_000);
}
@Override
@@ -47,6 +44,11 @@ public class GT_MetaTileEntity_FusionComputer3 extends GT_MetaTileEntity_FusionC
}
@Override
+ public long capableStartupCanonical() {
+ return 640_000_000;
+ }
+
+ @Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_FusionComputer3(mName);
}
@@ -98,9 +100,4 @@ public class GT_MetaTileEntity_FusionComputer3 extends GT_MetaTileEntity_FusionC
public ITexture getTextureOverlay() {
return textureOverlay;
}
-
- @Override
- public int tierOverclock() {
- return 4;
- }
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
index 4fe75734c3..a1968b05d4 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ImplosionCompressor.java
@@ -22,9 +22,10 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_CubicMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_ImplosionCompressor
extends GT_MetaTileEntity_CubicMultiBlockBase<GT_MetaTileEntity_ImplosionCompressor> {
@@ -96,8 +97,8 @@ public class GT_MetaTileEntity_ImplosionCompressor
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.implosionRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java
index ea61c5b7de..9ea42c6a00 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_IntegratedOreFactory.java
@@ -56,6 +56,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
import gregtech.api.multitileentity.multiblock.casing.Glasses;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
@@ -417,7 +418,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack aStack : sMidProduct) {
int tID = GT_Utility.stackToInt(aStack);
if (checkTypes(tID, aTables)) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sMaceratorRecipes
+ GT_Recipe tRecipe = RecipeMaps.maceratorRecipes
.findRecipe(getBaseMetaTileEntity(), false, GT_Values.V[15], null, aStack);
if (tRecipe != null) {
tProduct.addAll(getOutputStack(tRecipe, aStack.stackSize));
@@ -439,7 +440,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack aStack : sMidProduct) {
int tID = GT_Utility.stackToInt(aStack);
if (checkTypes(tID, aTables)) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sOreWasherRecipes.findRecipe(
+ GT_Recipe tRecipe = RecipeMaps.oreWasherRecipes.findRecipe(
getBaseMetaTileEntity(),
false,
GT_Values.V[15],
@@ -465,7 +466,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack aStack : sMidProduct) {
int tID = GT_Utility.stackToInt(aStack);
if (checkTypes(tID, aTables)) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes
+ GT_Recipe tRecipe = RecipeMaps.thermalCentrifugeRecipes
.findRecipe(getBaseMetaTileEntity(), false, GT_Values.V[15], null, aStack);
if (tRecipe != null) {
tProduct.addAll(getOutputStack(tRecipe, aStack.stackSize));
@@ -487,7 +488,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack aStack : sMidProduct) {
int tID = GT_Utility.stackToInt(aStack);
if (checkTypes(tID, aTables)) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes
+ GT_Recipe tRecipe = RecipeMaps.centrifugeRecipes
.findRecipe(getBaseMetaTileEntity(), false, GT_Values.V[15], null, aStack);
if (tRecipe != null) {
tProduct.addAll(getOutputStack(tRecipe, aStack.stackSize));
@@ -509,7 +510,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack aStack : sMidProduct) {
int tID = GT_Utility.stackToInt(aStack);
if (checkTypes(tID, aTables)) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sSifterRecipes
+ GT_Recipe tRecipe = RecipeMaps.sifterRecipes
.findRecipe(getBaseMetaTileEntity(), false, GT_Values.V[15], null, aStack);
if (tRecipe != null) {
tProduct.addAll(getOutputStack(tRecipe, aStack.stackSize));
@@ -531,7 +532,7 @@ public class GT_MetaTileEntity_IntegratedOreFactory extends
for (ItemStack aStack : sMidProduct) {
int tID = GT_Utility.stackToInt(aStack);
if (checkTypes(tID, aTables)) {
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes.findRecipe(
+ GT_Recipe tRecipe = RecipeMaps.chemicalBathRecipes.findRecipe(
getBaseMetaTileEntity(),
false,
GT_Values.V[15],
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
index 60b6137fd8..ea10795744 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeBoiler.java
@@ -42,8 +42,11 @@ import gregtech.api.enums.Textures.BlockIcons;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
+import gregtech.api.recipe.maps.LargeBoilerFuelBackend;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
@@ -230,7 +233,7 @@ public abstract class GT_MetaTileEntity_LargeBoiler
boolean isFuelValid() {
if (!isSuperheated()) return true;
for (ItemStack input : getStoredInputs()) {
- if (!GT_Recipe.GT_Recipe_Map_LargeBoilerFakeFuels.isAllowedSolidFuel(input)
+ if (!LargeBoilerFuelBackend.isAllowedSolidFuel(input)
&& !Circuit_Integrated.isStackEqual(input, true, true)) {
// if any item is not in ALLOWED_SOLID_FUELS, operation cannot be allowed because it might still be
// consumed
@@ -243,6 +246,12 @@ public abstract class GT_MetaTileEntity_LargeBoiler
}
@Override
+ public RecipeMap<?> getRecipeMap() {
+ // Only for visual
+ return RecipeMaps.largeBoilerFakeFuels;
+ }
+
+ @Override
@NotNull
public CheckRecipeResult checkProcessing() {
if (!isFuelValid()) return CheckRecipeResultRegistry.NO_FUEL_FOUND;
@@ -260,7 +269,7 @@ public abstract class GT_MetaTileEntity_LargeBoiler
this.mSuperEfficencyIncrease = 0;
if (!isSuperheated()) {
- for (GT_Recipe tRecipe : GT_Recipe.GT_Recipe_Map.sDieselFuels.mRecipeList) {
+ for (GT_Recipe tRecipe : RecipeMaps.dieselFuels.getAllRecipes()) {
FluidStack tFluid = GT_Utility.getFluidForFilledItem(tRecipe.getRepresentativeInput(0), true);
if (tFluid != null && tRecipe.mSpecialValue > 1) {
tFluid.amount = 1000;
@@ -272,7 +281,7 @@ public abstract class GT_MetaTileEntity_LargeBoiler
}
}
}
- for (GT_Recipe tRecipe : GT_Recipe.GT_Recipe_Map.sDenseLiquidFuels.mRecipeList) {
+ for (GT_Recipe tRecipe : RecipeMaps.denseLiquidFuels.getAllRecipes()) {
FluidStack tFluid = GT_Utility.getFluidForFilledItem(tRecipe.getRepresentativeInput(0), true);
if (tFluid != null) {
tFluid.amount = 1000;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java
index ded2621fec..8e4b5ec650 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeChemicalReactor.java
@@ -46,9 +46,10 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_LargeChemicalReactor extends
GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_LargeChemicalReactor> implements ISurvivalConstructable {
@@ -161,8 +162,8 @@ public class GT_MetaTileEntity_LargeChemicalReactor extends
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.multiblockChemicalReactorRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
index 1f5bdf31d2..572a609458 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Gas.java
@@ -18,10 +18,11 @@ import gregtech.api.GregTech_API;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeTurbine {
@@ -74,7 +75,8 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
public int getFuelValue(FluidStack aLiquid) {
if (aLiquid == null) return 0;
- GT_Recipe tFuel = GT_Recipe_Map.sTurbineFuels.findFuel(aLiquid);
+ GT_Recipe tFuel = RecipeMaps.gasTurbineFuels.getBackend()
+ .findFuel(aLiquid);
if (tFuel != null) return tFuel.mSpecialValue;
return 0;
}
@@ -85,6 +87,16 @@ public class GT_MetaTileEntity_LargeTurbine_Gas extends GT_MetaTileEntity_LargeT
}
@Override
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.gasTurbineFuels;
+ }
+
+ @Override
+ public int getRecipeCatalystPriority() {
+ return -1;
+ }
+
+ @Override
public Block getCasingBlock() {
return GregTech_API.sBlockCasings4;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_GasAdvanced.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_GasAdvanced.java
index 09c6d344b6..b12c1ca93d 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_GasAdvanced.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_GasAdvanced.java
@@ -18,10 +18,11 @@ import gregtech.api.GregTech_API;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_LargeTurbine_GasAdvanced extends GT_MetaTileEntity_LargeTurbine {
@@ -74,7 +75,8 @@ public class GT_MetaTileEntity_LargeTurbine_GasAdvanced extends GT_MetaTileEntit
public int getFuelValue(FluidStack aLiquid) {
if (aLiquid == null) return 0;
- GT_Recipe tFuel = GT_Recipe_Map.sTurbineFuels.findFuel(aLiquid);
+ GT_Recipe tFuel = RecipeMaps.gasTurbineFuels.getBackend()
+ .findFuel(aLiquid);
if (tFuel != null) return tFuel.mSpecialValue;
return 0;
}
@@ -85,6 +87,16 @@ public class GT_MetaTileEntity_LargeTurbine_GasAdvanced extends GT_MetaTileEntit
}
@Override
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.gasTurbineFuels;
+ }
+
+ @Override
+ public int getRecipeCatalystPriority() {
+ return -2;
+ }
+
+ @Override
public Block getCasingBlock() {
return GregTech_API.sBlockCasings8;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
index 839e52ffc1..cbaf0e34ad 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_LargeTurbine_Plasma.java
@@ -26,12 +26,12 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.items.GT_MetaGenerated_Tool;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Dynamo;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
@@ -82,7 +82,8 @@ public class GT_MetaTileEntity_LargeTurbine_Plasma extends GT_MetaTileEntity_Lar
public int getFuelValue(FluidStack aLiquid) {
if (aLiquid == null) return 0;
- GT_Recipe tFuel = GT_Recipe_Map.sPlasmaFuels.findFuel(aLiquid);
+ GT_Recipe tFuel = RecipeMaps.plasmaFuels.getBackend()
+ .findFuel(aLiquid);
if (tFuel != null) return tFuel.mSpecialValue;
return 0;
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
index d210e6bd55..14b9fa9edf 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_MultiFurnace.java
@@ -38,12 +38,13 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_StructureUtility;
import gregtech.api.util.GT_Utility;
@@ -137,8 +138,8 @@ public class GT_MetaTileEntity_MultiFurnace
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sFurnaceRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.furnaceRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java
index 8da9f2f0ce..c251147587 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_NanoForge.java
@@ -43,6 +43,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
@@ -170,8 +172,8 @@ public class GT_MetaTileEntity_NanoForge extends
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sNanoForge;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.nanoForgeRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java
index 1e4e83b114..9ddd888cf6 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OilCracker.java
@@ -37,10 +37,12 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMul
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_MultiInput;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
+import gregtech.api.recipe.maps.OilCrackerBackend;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_OilCracker>
implements ISurvivalConstructable {
@@ -167,8 +169,8 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_EnhancedMult
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sCrackingRecipes;
+ public RecipeMap<OilCrackerBackend> getRecipeMap() {
+ return RecipeMaps.crackingRecipes;
}
@Override
@@ -324,14 +326,15 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_EnhancedMult
tHatch.mRecipeMap = getRecipeMap();
if (tHatch instanceof GT_MetaTileEntity_Hatch_MultiInput) {
for (final FluidStack tFluid : ((GT_MetaTileEntity_Hatch_MultiInput) tHatch).getStoredFluid()) {
- if (tFluid != null && !GT_Recipe.GT_Recipe_Map.sCrackingRecipes.isValidCatalystFluid(tFluid)) {
+ if (tFluid != null && !getRecipeMap().getBackend()
+ .isValidCatalystFluid(tFluid)) {
rList.add(tFluid);
}
}
} else {
if (tHatch.getFillableStack() != null) {
- if (!GT_Recipe.GT_Recipe_Map.sCrackingRecipes.isValidCatalystFluid(tHatch.getFillableStack()))
- rList.add(tHatch.getFillableStack());
+ if (!getRecipeMap().getBackend()
+ .isValidCatalystFluid(tHatch.getFillableStack())) rList.add(tHatch.getFillableStack());
}
}
}
@@ -339,14 +342,16 @@ public class GT_MetaTileEntity_OilCracker extends GT_MetaTileEntity_EnhancedMult
tHatch.mRecipeMap = getRecipeMap();
if (tHatch instanceof GT_MetaTileEntity_Hatch_MultiInput) {
for (final FluidStack tFluid : ((GT_MetaTileEntity_Hatch_MultiInput) tHatch).getStoredFluid()) {
- if (tFluid != null && GT_Recipe.GT_Recipe_Map.sCrackingRecipes.isValidCatalystFluid(tFluid)) {
+ if (tFluid != null && getRecipeMap().getBackend()
+ .isValidCatalystFluid(tFluid)) {
rList.add(tFluid);
}
}
} else {
if (tHatch.getFillableStack() != null) {
final FluidStack tStack = tHatch.getFillableStack();
- if (GT_Recipe.GT_Recipe_Map.sCrackingRecipes.isValidCatalystFluid(tStack)) {
+ if (getRecipeMap().getBackend()
+ .isValidCatalystFluid(tStack)) {
rList.add(tStack);
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
index 935c8c0032..68828e55c4 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_OreDrillingPlantBase.java
@@ -50,6 +50,7 @@ import gregtech.api.interfaces.IHatchElement;
import gregtech.api.interfaces.metatileentity.IMetricsExporter;
import gregtech.api.objects.GT_ChunkManager;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_OreDictUnificator;
@@ -464,7 +465,7 @@ public abstract class GT_MetaTileEntity_OreDrillingPlantBase extends GT_MetaTile
outputItems.add(multiplyStackSize(currentItem));
return;
}
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sMaceratorRecipes
+ GT_Recipe tRecipe = RecipeMaps.maceratorRecipes
.findRecipe(getBaseMetaTileEntity(), false, voltage, null, currentItem);
if (tRecipe == null) {
outputItems.add(currentItem);
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java
index 60d0d5b5a3..535f1ee239 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PCBFactory.java
@@ -75,9 +75,14 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
import gregtech.api.multitileentity.multiblock.casing.Glasses;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SimpleCheckRecipeResult;
+import gregtech.api.recipe.metadata.PCBFactoryTierKey;
+import gregtech.api.recipe.metadata.PCBFactoryUpgrade;
+import gregtech.api.recipe.metadata.PCBFactoryUpgradeKey;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
@@ -518,8 +523,8 @@ public class GT_MetaTileEntity_PCBFactory extends
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sPCBFactory;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.pcbFactoryRecipes;
}
@Override
@@ -543,16 +548,11 @@ public class GT_MetaTileEntity_PCBFactory extends
maxParallel = (int) Math.max(Math.ceil(Math.log(numberOfNanites) / Math.log(2) + 0.00001), 1);
mMaxParallel = maxParallel;
- int recipeBitMap = recipe.mSpecialValue;
-
- if (((recipeBitMap & mBioBitMap) == mBioBitMap && !mBioUpgrade))
+ PCBFactoryUpgrade requiredUpgrade = recipe.getMetadata(PCBFactoryUpgradeKey.INSTANCE);
+ if (requiredUpgrade == PCBFactoryUpgrade.BIO && !mBioUpgrade)
return SimpleCheckRecipeResult.ofFailure("bio_upgrade_missing");
- int requiredPCBTier = 0;
- if ((recipeBitMap & mTier3BitMap) == mTier3BitMap) requiredPCBTier = 3;
- if ((recipeBitMap & mTier2BitMap) == mTier2BitMap) requiredPCBTier = 2;
- if ((recipeBitMap & mTier1BitMap) == mTier1BitMap) requiredPCBTier = 1;
-
+ int requiredPCBTier = recipe.getMetadataOrDefault(PCBFactoryTierKey.INSTANCE, 1);
if (requiredPCBTier > mTier) return CheckRecipeResultRegistry.insufficientMachineTier(requiredPCBTier);
return CheckRecipeResultRegistry.SUCCESSFUL;
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java
index f6c54f6b70..eb57b55696 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PlasmaForge.java
@@ -51,6 +51,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPow
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Energy;
import gregtech.api.objects.GT_ChunkManager;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
@@ -652,8 +654,8 @@ public class GT_MetaTileEntity_PlasmaForge extends
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sPlasmaForgeRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.plasmaForgeRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
index 8a2adc6e26..670d2a3aba 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PrimitiveBlastFurnace.java
@@ -40,8 +40,11 @@ import gregtech.api.gui.modularui.GUITextureSet;
import gregtech.api.interfaces.modularui.IAddUIWidgets;
import gregtech.api.interfaces.modularui.IGetTitleColor;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
+import gregtech.api.interfaces.tileentity.RecipeMapWorkable;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_ItemStack;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder;
@@ -49,7 +52,7 @@ import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
import gregtech.common.GT_Pollution;
public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEntity
- implements IAlignment, ISurvivalConstructable, IAddUIWidgets, IGetTitleColor {
+ implements IAlignment, ISurvivalConstructable, RecipeMapWorkable, IAddUIWidgets, IGetTitleColor {
public static final int INPUT_SLOTS = 3, OUTPUT_SLOTS = 3;
private static final ClassValue<IStructureDefinition<GT_MetaTileEntity_PrimitiveBlastFurnace>> STRUCTURE_DEFINITION = new ClassValue<>() {
@@ -335,8 +338,9 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn
}
}
- protected GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes;
+ @Override
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.primitiveBlastRecipes;
}
private void addOutputProducts() {
@@ -509,7 +513,9 @@ public abstract class GT_MetaTileEntity_PrimitiveBlastFurnace extends MetaTileEn
.widget(
new ProgressBar().setTexture(GT_UITextures.PROGRESSBAR_ARROW_2_STEAM.get(getSteamVariant()), 20)
.setProgress(() -> (float) mProgresstime / mMaxProgresstime)
- .setNEITransferRect(getRecipeMap().mNEIName)
+ .setNEITransferRect(
+ getRecipeMap().getFrontend()
+ .getUIProperties().neiTransferRectId)
.setPos(58, 24)
.setSize(20, 18));
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
index 46d682d6c0..81af2247c5 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_ProcessingArray.java
@@ -65,6 +65,7 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_TieredMachineBlock;
+import gregtech.api.recipe.RecipeMap;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.recipe.check.SimpleCheckRecipeResult;
@@ -73,7 +74,6 @@ import gregtech.api.util.GT_ExoticEnergyInputHelper;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_ProcessingArray_Manager;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_StructureUtility;
import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Item_Machines;
@@ -104,7 +104,7 @@ public class GT_MetaTileEntity_ProcessingArray extends
private int mCasingAmount = 0;
- private GT_Recipe_Map mLastRecipeMap;
+ private RecipeMap<?> mLastRecipeMap;
private ItemStack lastControllerStack;
private int tTier = 0;
private int mMult = 0;
@@ -181,7 +181,7 @@ public class GT_MetaTileEntity_ProcessingArray extends
return new ITexture[] { Textures.BlockIcons.casingTexturePages[0][48] };
}
- private GT_Recipe_Map fetchRecipeMap() {
+ private RecipeMap<?> fetchRecipeMap() {
if (isCorrectMachinePart(getControllerSlot())) {
// Gets the recipe map for the given machine through its unlocalized name
return GT_ProcessingArray_Manager
@@ -191,7 +191,7 @@ public class GT_MetaTileEntity_ProcessingArray extends
}
@Override
- public GT_Recipe_Map getRecipeMap() {
+ public RecipeMap<?> getRecipeMap() {
return mLastRecipeMap;
}
@@ -261,7 +261,7 @@ public class GT_MetaTileEntity_ProcessingArray extends
@Override
protected void setProcessingLogicPower(ProcessingLogic logic) {
- logic.setAvailableVoltage(GT_Values.V[tTier] * (mLastRecipeMap != null ? mLastRecipeMap.mAmperage : 1));
+ logic.setAvailableVoltage(GT_Values.V[tTier] * (mLastRecipeMap != null ? mLastRecipeMap.getAmperage() : 1));
logic.setAvailableAmperage(getMaxParallel());
logic.setAmperageOC(false);
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
index 2d601b9055..ff84a69b44 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_PyrolyseOven.java
@@ -40,10 +40,11 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_PyrolyseOven
extends GT_MetaTileEntity_EnhancedMultiBlockBase<GT_MetaTileEntity_PyrolyseOven> implements ISurvivalConstructable {
@@ -153,8 +154,8 @@ public class GT_MetaTileEntity_PyrolyseOven
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.pyrolyseRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java
index dedcc1ac6a..e4873f6d9d 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_TranscendentPlasmaMixer.java
@@ -40,6 +40,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_EnhancedMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.recipe.check.CheckRecipeResult;
import gregtech.api.recipe.check.CheckRecipeResultRegistry;
import gregtech.api.render.TextureFactory;
@@ -145,8 +147,8 @@ public class GT_MetaTileEntity_TranscendentPlasmaMixer
long mWirelessEUt = 0;
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sTranscendentPlasmaMixerRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.transcendentPlasmaMixerRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
index 4c11850bb3..c9cfe7949f 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multi/GT_MetaTileEntity_VacuumFreezer.java
@@ -18,9 +18,10 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.logic.ProcessingLogic;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_CubicMultiBlockBase;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
public class GT_MetaTileEntity_VacuumFreezer
extends GT_MetaTileEntity_CubicMultiBlockBase<GT_MetaTileEntity_VacuumFreezer> {
@@ -91,8 +92,8 @@ public class GT_MetaTileEntity_VacuumFreezer
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map.sVacuumRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.vacuumFreezerRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java
index 38152869e4..38ed9b6603 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/AdvChemicalReactor.java
@@ -46,8 +46,9 @@ import gregtech.api.logic.ComplexParallelProcessingLogic;
import gregtech.api.multitileentity.enums.GT_MultiTileCasing;
import gregtech.api.multitileentity.multiblock.base.ComplexParallelController;
import gregtech.api.multitileentity.multiblock.casing.Glasses;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_StructureUtility;
import gregtech.common.tileentities.casings.upgrade.Inventory;
@@ -82,8 +83,8 @@ public class AdvChemicalReactor extends ComplexParallelController<AdvChemicalRea
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return GT_Recipe.GT_Recipe_Map_LargeChemicalReactor.sChemicalRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.chemicalReactorRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/multiblock/Macerator.java b/src/main/java/gregtech/common/tileentities/machines/multiblock/Macerator.java
index 5d837f1150..dda7eb9420 100644
--- a/src/main/java/gregtech/common/tileentities/machines/multiblock/Macerator.java
+++ b/src/main/java/gregtech/common/tileentities/machines/multiblock/Macerator.java
@@ -23,9 +23,10 @@ import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.enums.SoundResource;
import gregtech.api.enums.TierEU;
import gregtech.api.multitileentity.multiblock.base.StackableController;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Multiblock_Tooltip_Builder;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
public class Macerator extends StackableController<Macerator> {
@@ -150,7 +151,7 @@ public class Macerator extends StackableController<Macerator> {
}
private boolean processRecipe(ItemStack[] aItemInputs, String aInventory) {
- GT_Recipe_Map tRecipeMap = GT_Recipe_Map.sMaceratorRecipes;
+ RecipeMap<?> tRecipeMap = RecipeMaps.maceratorRecipes;
GT_Recipe tRecipe = tRecipeMap.findRecipe(this, false, TierEU.IV, null, aItemInputs);
if (tRecipe == null) {
return false;
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java
index 4aae38530d..9b2c6b3ada 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Bronze.java
@@ -22,8 +22,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_AlloySmelter_Bronze extends GT_MetaTileEntity_BasicMachine_Bronze {
@@ -47,8 +48,8 @@ public class GT_MetaTileEntity_AlloySmelter_Bronze extends GT_MetaTileEntity_Bas
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.alloySmelterRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java
index cc4f8d66b0..8b96906da1 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_AlloySmelter_Steel.java
@@ -22,8 +22,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_AlloySmelter_Steel extends GT_MetaTileEntity_BasicMachine_Steel {
@@ -47,8 +48,8 @@ public class GT_MetaTileEntity_AlloySmelter_Steel extends GT_MetaTileEntity_Basi
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.alloySmelterRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java
index cc5fad4db5..ef91ed5baf 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Bronze.java
@@ -22,8 +22,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Compressor_Bronze extends GT_MetaTileEntity_BasicMachine_Bronze {
@@ -42,8 +43,8 @@ public class GT_MetaTileEntity_Compressor_Bronze extends GT_MetaTileEntity_Basic
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.compressorRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java
index e1485d1a07..c213cf04f5 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Compressor_Steel.java
@@ -22,8 +22,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Compressor_Steel extends GT_MetaTileEntity_BasicMachine_Steel {
@@ -42,8 +43,8 @@ public class GT_MetaTileEntity_Compressor_Steel extends GT_MetaTileEntity_BasicM
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.compressorRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java
index fd40b61201..6e986992f3 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Bronze.java
@@ -22,8 +22,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Extractor_Bronze extends GT_MetaTileEntity_BasicMachine_Bronze {
@@ -42,8 +43,8 @@ public class GT_MetaTileEntity_Extractor_Bronze extends GT_MetaTileEntity_BasicM
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.extractorRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java
index e40086515c..6a3d024e25 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Extractor_Steel.java
@@ -22,8 +22,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Extractor_Steel extends GT_MetaTileEntity_BasicMachine_Steel {
@@ -42,8 +43,8 @@ public class GT_MetaTileEntity_Extractor_Steel extends GT_MetaTileEntity_BasicMa
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.extractorRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java
index e4eeb0533f..b7d25ac172 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Bronze.java
@@ -29,8 +29,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
@@ -50,8 +51,8 @@ public class GT_MetaTileEntity_ForgeHammer_Bronze extends GT_MetaTileEntity_Basi
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.hammerRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java
index 704d5e26a7..25785f3fa3 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_ForgeHammer_Steel.java
@@ -29,8 +29,9 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
@@ -50,8 +51,8 @@ public class GT_MetaTileEntity_ForgeHammer_Steel extends GT_MetaTileEntity_Basic
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.hammerRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java
index d950663edc..51a91874a0 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Bronze.java
@@ -24,9 +24,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Furnace_Bronze extends GT_MetaTileEntity_BasicMachine_Bronze {
@@ -50,8 +51,8 @@ public class GT_MetaTileEntity_Furnace_Bronze extends GT_MetaTileEntity_BasicMac
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sFurnaceRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.furnaceRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java
index 9249590cdc..a151c724f3 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Furnace_Steel.java
@@ -24,9 +24,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
public class GT_MetaTileEntity_Furnace_Steel extends GT_MetaTileEntity_BasicMachine_Steel {
@@ -50,8 +51,8 @@ public class GT_MetaTileEntity_Furnace_Steel extends GT_MetaTileEntity_BasicMach
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sFurnaceRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.furnaceRecipes;
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
index af025293c7..cdbf9f2123 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Bronze.java
@@ -29,9 +29,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Bronze;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
@@ -72,13 +73,13 @@ public class GT_MetaTileEntity_Macerator_Bronze extends GT_MetaTileEntity_BasicM
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.maceratorRecipes;
}
@Override
public int checkRecipe() {
- GT_Recipe tRecipe = getRecipeList()
+ GT_Recipe tRecipe = getRecipeMap()
.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, TierEU.LV, null, null, getAllInputs());
if (tRecipe == null) return DID_NOT_FIND_RECIPE;
if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe;
@@ -90,7 +91,7 @@ public class GT_MetaTileEntity_Macerator_Bronze extends GT_MetaTileEntity_BasicM
if (!tRecipe.isRecipeInputEqual(true, new FluidStack[] { getFillableStack() }, getAllInputs()))
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
if (tRecipe.getOutput(0) != null) mOutputItems[0] = tRecipe.getOutput(0);
- calculateOverclockedNess(tRecipe);
+ calculateCustomOverclock(tRecipe);
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
@@ -98,7 +99,7 @@ public class GT_MetaTileEntity_Macerator_Bronze extends GT_MetaTileEntity_BasicM
protected boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
ItemStack aStack) {
return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
- && GT_Recipe_Map.sMaceratorRecipes.containsInput(GT_Utility.copyAmount(64, aStack));
+ && RecipeMaps.maceratorRecipes.containsInput(GT_Utility.copyAmount(64, aStack));
}
@Override
diff --git a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
index 6901fcce98..95d510ffa3 100644
--- a/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/machines/steam/GT_MetaTileEntity_Macerator_Steel.java
@@ -29,9 +29,10 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_Steel;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_Recipe;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gregtech.api.util.GT_Utility;
import gregtech.api.util.WorldSpawnedEventBuilder;
@@ -71,13 +72,13 @@ public class GT_MetaTileEntity_Macerator_Steel extends GT_MetaTileEntity_BasicMa
}
@Override
- public GT_Recipe.GT_Recipe_Map getRecipeList() {
- return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+ public RecipeMap<?> getRecipeMap() {
+ return RecipeMaps.maceratorRecipes;
}
@Override
public int checkRecipe() {
- GT_Recipe tRecipe = getRecipeList()
+ GT_Recipe tRecipe = getRecipeMap()
.findRecipe(getBaseMetaTileEntity(), mLastRecipe, false, TierEU.LV, null, null, getAllInputs());
if (tRecipe == null) return DID_NOT_FIND_RECIPE;
if (tRecipe.mCanBeBuffered) mLastRecipe = tRecipe;
@@ -89,7 +90,7 @@ public class GT_MetaTileEntity_Macerator_Steel extends GT_MetaTileEntity_BasicMa
if (!tRecipe.isRecipeInputEqual(true, new FluidStack[] { getFillableStack() }, getAllInputs()))
return FOUND_RECIPE_BUT_DID_NOT_MEET_REQUIREMENTS;
if (tRecipe.getOutput(0) != null) mOutputItems[0] = tRecipe.getOutput(0);
- calculateOverclockedNess(tRecipe);
+ calculateCustomOverclock(tRecipe);
return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
@@ -97,7 +98,7 @@ public class GT_MetaTileEntity_Macerator_Steel extends GT_MetaTileEntity_BasicMa
public boolean allowPutStackValidated(IGregTechTileEntity aBaseMetaTileEntity, int aIndex, ForgeDirection side,
ItemStack aStack) {
return super.allowPutStackValidated(aBaseMetaTileEntity, aIndex, side, aStack)
- && GT_Recipe_Map.sMaceratorRecipes.containsInput(GT_Utility.copyAmount(64, aStack));
+ && RecipeMaps.maceratorRecipes.containsInput(GT_Utility.copyAmount(64, aStack));
}
@Override
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
index ab9cfde6af..066abd48b8 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_HardHammer.java
@@ -21,6 +21,7 @@ import gregtech.GT_Mod;
import gregtech.api.enums.SoundResource;
import gregtech.api.interfaces.IIconContainer;
import gregtech.api.items.GT_MetaGenerated_Tool;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.api.util.GT_Utility;
@@ -125,18 +126,18 @@ public class GT_Tool_HardHammer extends GT_Tool {
return GT_ToolHarvestHelper.isAppropriateTool(aBlock, aMetaData, "hammer", "pickaxe")
|| GT_ToolHarvestHelper
.isAppropriateMaterial(aBlock, Material.rock, Material.glass, Material.ice, Material.packedIce)
- || GT_Recipe.GT_Recipe_Map.sHammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData));
+ || RecipeMaps.hammerRecipes.containsInput(new ItemStack(aBlock, 1, aMetaData));
}
@Override
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX,
int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rConversions = 0;
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes
+ GT_Recipe tRecipe = RecipeMaps.hammerRecipes
.findRecipe(null, true, MAX_IC2, null, new ItemStack(aBlock, 1, aMetaData));
if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
for (ItemStack tDrop : aDrops) {
- tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes
+ tRecipe = RecipeMaps.hammerRecipes
.findRecipe(null, true, MAX_IC2, null, GT_Utility.copyAmount(1, tDrop));
if (tRecipe != null) {
ItemStack tHammeringOutput = tRecipe.getOutput(0);
diff --git a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
index 7fc4956cbb..2621ff8ef7 100644
--- a/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
+++ b/src/main/java/gregtech/common/tools/GT_Tool_JackHammer.java
@@ -15,6 +15,7 @@ import net.minecraftforge.event.world.BlockEvent;
import gregtech.GT_Mod;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.IIconContainer;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_ToolHarvestHelper;
import gregtech.api.util.GT_Utility;
@@ -77,11 +78,11 @@ public class GT_Tool_JackHammer extends GT_Tool_Drill_LV {
public int convertBlockDrops(List<ItemStack> aDrops, ItemStack aStack, EntityPlayer aPlayer, Block aBlock, int aX,
int aY, int aZ, byte aMetaData, int aFortune, boolean aSilkTouch, BlockEvent.HarvestDropsEvent aEvent) {
int rConversions = 0;
- GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes
+ GT_Recipe tRecipe = RecipeMaps.hammerRecipes
.findRecipe(null, true, 2147483647L, null, new ItemStack(aBlock, 1, aMetaData));
if ((tRecipe == null) || (aBlock.hasTileEntity(aMetaData))) {
for (ItemStack tDrop : aDrops) {
- tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes
+ tRecipe = RecipeMaps.hammerRecipes
.findRecipe(null, true, 2147483647L, null, GT_Utility.copyAmount(1, tDrop));
if (tRecipe != null) {
ItemStack tHammeringOutput = tRecipe.getOutput(0);
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", "CWE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -1654,13 +1534,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Cutting Machine II",
3,
MachineType.CUTTING_MACHINE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sCutterRecipes,
+ RecipeMaps.cutterRecipes,
2,
4,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"CUTTER",
new Object[] { "WCG", "VMB", "CWE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -1677,13 +1555,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Cutting Machine III",
4,
MachineType.CUTTING_MACHINE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sCutterRecipes,
+ RecipeMaps.cutterRecipes,
2,
4,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"CUTTER",
new Object[] { "WCG", "VMB", "CWE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -1700,13 +1576,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Cutting Machine IV",
5,
MachineType.CUTTING_MACHINE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sCutterRecipes,
+ RecipeMaps.cutterRecipes,
2,
4,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"CUTTER",
new Object[] { "WCG", "VMB", "CWE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -1726,13 +1600,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Distillery",
1,
MachineType.DISTILLERY.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sDistilleryRecipes,
+ RecipeMaps.distilleryRecipes,
1,
1,
true,
SoundResource.GT_MACHINES_DISTILLERY_LOOP,
- false,
- false,
SpecialEffects.NONE,
"DISTILLERY",
new Object[] { "GBG", aTextCableHull, aTextWirePump, 'M',
@@ -1749,13 +1621,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Distillery",
2,
MachineType.DISTILLERY.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sDistilleryRecipes,
+ RecipeMaps.distilleryRecipes,
1,
1,
true,
SoundResource.GT_MACHINES_DISTILLERY_LOOP,
- false,
- false,
SpecialEffects.NONE,
"DISTILLERY",
new Object[] { "GBG", aTextCableHull, aTextWirePump, 'M',
@@ -1772,13 +1642,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Distillery II",
3,
MachineType.DISTILLERY.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sDistilleryRecipes,
+ RecipeMaps.distilleryRecipes,
1,
1,
true,
SoundResource.GT_MACHINES_DISTILLERY_LOOP,
- false,
- false,
SpecialEffects.NONE,
"DISTILLERY",
new Object[] { "GBG", aTextCableHull, aTextWirePump, 'M',
@@ -1795,13 +1663,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Distillery III",
4,
MachineType.DISTILLERY.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sDistilleryRecipes,
+ RecipeMaps.distilleryRecipes,
1,
1,
true,
SoundResource.GT_MACHINES_DISTILLERY_LOOP,
- false,
- false,
SpecialEffects.NONE,
"DISTILLERY",
new Object[] { "GBG", aTextCableHull, aTextWirePump, 'M',
@@ -1818,13 +1684,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Distillery IV",
5,
MachineType.DISTILLERY.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sDistilleryRecipes,
+ RecipeMaps.distilleryRecipes,
1,
1,
true,
SoundResource.GT_MACHINES_DISTILLERY_LOOP,
- false,
- false,
SpecialEffects.NONE,
"DISTILLERY",
new Object[] { "GBG", aTextCableHull, aTextWirePump, 'M',
@@ -1844,13 +1708,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Electric Furnace",
1,
MachineType.ELECTRIC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_FURNACE",
new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M',
@@ -1866,13 +1728,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Furnace",
2,
MachineType.ELECTRIC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_FURNACE",
new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M',
@@ -1888,13 +1748,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Furnace II",
3,
MachineType.ELECTRIC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_FURNACE",
new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M',
@@ -1910,13 +1768,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Furnace III",
4,
MachineType.ELECTRIC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_FURNACE",
new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M',
@@ -1932,13 +1788,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Electron Exitement Processor",
5,
MachineType.ELECTRIC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_FURNACE",
new Object[] { "ECE", aTextCableHull, aTextWireCoil, 'M',
@@ -1958,13 +1812,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Electrolyzer",
1,
MachineType.ELECTROLYZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes,
+ RecipeMaps.electrolyzerRecipes,
2,
6,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ELECTROLYZER",
new Object[] { "IGI", "IMI", "CWC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -1979,13 +1831,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electrolyzer",
2,
MachineType.ELECTROLYZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes,
+ RecipeMaps.electrolyzerRecipes,
2,
6,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ELECTROLYZER",
new Object[] { "IGI", "IMI", "CWC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2000,13 +1850,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electrolyzer II",
3,
MachineType.ELECTROLYZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes,
+ RecipeMaps.electrolyzerRecipes,
2,
6,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ELECTROLYZER",
new Object[] { "IGI", "IMI", "CWC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2021,13 +1869,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electrolyzer III",
4,
MachineType.ELECTROLYZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes,
+ RecipeMaps.electrolyzerRecipes,
2,
6,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ELECTROLYZER",
new Object[] { "IGI", "IMI", "CWC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2042,13 +1888,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Molecular Disintegrator E-4908",
5,
MachineType.ELECTROLYZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes,
+ RecipeMaps.electrolyzerRecipes,
2,
6,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ELECTROLYZER",
new Object[] { "IGI", "IMI", "CWC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2066,13 +1910,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Electromagnetic Separator",
1,
MachineType.ELECTROMAGNETIC_SEPARATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes,
+ RecipeMaps.electroMagneticSeparatorRecipes,
1,
3,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTROMAGNETIC_SEPARATOR",
new Object[] { "VWZ", "WMS", "CWZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -2088,13 +1930,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electromagnetic Separator",
2,
MachineType.ELECTROMAGNETIC_SEPARATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes,
+ RecipeMaps.electroMagneticSeparatorRecipes,
1,
3,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTROMAGNETIC_SEPARATOR",
new Object[] { "VWZ", "WMS", "CWZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -2110,13 +1950,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electromagnetic Separator II",
3,
MachineType.ELECTROMAGNETIC_SEPARATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes,
+ RecipeMaps.electroMagneticSeparatorRecipes,
1,
3,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTROMAGNETIC_SEPARATOR",
new Object[] { "VWZ", "WMS", "CWZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -2132,13 +1970,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electromagnetic Separator III",
4,
MachineType.ELECTROMAGNETIC_SEPARATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes,
+ RecipeMaps.electroMagneticSeparatorRecipes,
1,
3,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTROMAGNETIC_SEPARATOR",
new Object[] { "VWZ", "WMS", "CWZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -2154,13 +1990,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electromagnetic Separator IV",
5,
MachineType.ELECTROMAGNETIC_SEPARATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes,
+ RecipeMaps.electroMagneticSeparatorRecipes,
1,
3,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTROMAGNETIC_SEPARATOR",
new Object[] { "VWZ", "WMS", "CWZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -2179,13 +2013,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Extractor",
1,
MachineType.EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
+ RecipeMaps.extractorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"EXTRACTOR",
new Object[] { "GCG", "EMP", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2201,13 +2033,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extractor",
2,
MachineType.EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
+ RecipeMaps.extractorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"EXTRACTOR",
new Object[] { "GCG", "EMP", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2223,13 +2053,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extractor II",
3,
MachineType.EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
+ RecipeMaps.extractorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"EXTRACTOR",
new Object[] { "GCG", "EMP", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2245,13 +2073,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extractor III",
4,
MachineType.EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
+ RecipeMaps.extractorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"EXTRACTOR",
new Object[] { "GCG", "EMP", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2267,13 +2093,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Vacuum Extractor",
5,
MachineType.EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtractorRecipes,
+ RecipeMaps.extractorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"EXTRACTOR",
new Object[] { "GCG", "EMP", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2292,13 +2116,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Extruder",
1,
MachineType.EXTRUDER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtruderRecipes,
+ RecipeMaps.extruderRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"EXTRUDER",
new Object[] { "CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X',
@@ -2313,13 +2135,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extruder",
2,
MachineType.EXTRUDER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtruderRecipes,
+ RecipeMaps.extruderRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"EXTRUDER",
new Object[] { "CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X',
@@ -2334,13 +2154,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extruder II",
3,
MachineType.EXTRUDER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtruderRecipes,
+ RecipeMaps.extruderRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"EXTRUDER",
new Object[] { "CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X',
@@ -2355,13 +2173,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extruder III",
4,
MachineType.EXTRUDER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtruderRecipes,
+ RecipeMaps.extruderRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"EXTRUDER",
new Object[] { "CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X',
@@ -2376,13 +2192,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Extruder IV",
5,
MachineType.EXTRUDER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sExtruderRecipes,
+ RecipeMaps.extruderRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"EXTRUDER",
new Object[] { "CCE", "XMP", "CCE", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'X',
@@ -2400,13 +2214,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Fermenter",
1,
MachineType.FERMENTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFermentingRecipes,
+ RecipeMaps.fermentingRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FERMENTER",
new Object[] { aTextWirePump, "GMG", aTextWireCoil, 'M',
@@ -2422,13 +2234,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fermenter",
2,
MachineType.FERMENTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFermentingRecipes,
+ RecipeMaps.fermentingRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FERMENTER",
new Object[] { aTextWirePump, "GMG", aTextWireCoil, 'M',
@@ -2444,13 +2254,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fermenter II",
3,
MachineType.FERMENTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFermentingRecipes,
+ RecipeMaps.fermentingRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FERMENTER",
new Object[] { aTextWirePump, "GMG", aTextWireCoil, 'M',
@@ -2466,13 +2274,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fermenter III",
4,
MachineType.FERMENTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFermentingRecipes,
+ RecipeMaps.fermentingRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FERMENTER",
new Object[] { aTextWirePump, "GMG", aTextWireCoil, 'M',
@@ -2488,13 +2294,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fermenter IV",
5,
MachineType.FERMENTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFermentingRecipes,
+ RecipeMaps.fermentingRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FERMENTER",
new Object[] { aTextWirePump, "GMG", aTextWireCoil, 'M',
@@ -2513,13 +2317,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Fluid Canner",
1,
MachineType.FLUID_CANNER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes,
+ RecipeMaps.fluidCannerRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_CANNER",
new Object[] { "GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2534,13 +2336,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Canner",
2,
MachineType.FLUID_CANNER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes,
+ RecipeMaps.fluidCannerRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_CANNER",
new Object[] { "GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2555,13 +2355,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Quick Fluid Canner",
3,
MachineType.FLUID_CANNER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes,
+ RecipeMaps.fluidCannerRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_CANNER",
new Object[] { "GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2576,13 +2374,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Turbo Fluid Canner",
4,
MachineType.FLUID_CANNER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes,
+ RecipeMaps.fluidCannerRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_CANNER",
new Object[] { "GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2597,13 +2393,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Instant Fluid Canner",
5,
MachineType.FLUID_CANNER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes,
+ RecipeMaps.fluidCannerRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_CANNER",
new Object[] { "GCG", "GMG", "WPW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2621,13 +2415,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Fluid Extractor",
1,
MachineType.FLUID_EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes,
+ RecipeMaps.fluidExtractionRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"FLUID_EXTRACTOR",
new Object[] { "GEG", "TPT", "CMC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2643,13 +2435,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Extractor",
2,
MachineType.FLUID_EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes,
+ RecipeMaps.fluidExtractionRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"FLUID_EXTRACTOR",
new Object[] { "GEG", "TPT", "CMC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2665,13 +2455,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Extractor II",
3,
MachineType.FLUID_EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes,
+ RecipeMaps.fluidExtractionRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"FLUID_EXTRACTOR",
new Object[] { "GEG", "TPT", "CMC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2687,13 +2475,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Extractor III",
4,
MachineType.FLUID_EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes,
+ RecipeMaps.fluidExtractionRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"FLUID_EXTRACTOR",
new Object[] { "GEG", "TPT", "CMC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2709,13 +2495,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Extractor IV",
5,
MachineType.FLUID_EXTRACTOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes,
+ RecipeMaps.fluidExtractionRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"FLUID_EXTRACTOR",
new Object[] { "GEG", "TPT", "CMC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -2735,13 +2519,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Fluid Heater",
1,
MachineType.FLUID_HEATER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes,
+ RecipeMaps.fluidHeaterRecipes,
1,
0,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_HEATER",
new Object[] { "OGO", aTextPlateMotor, aTextWireCoil, 'M',
@@ -2758,13 +2540,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Heater",
2,
MachineType.FLUID_HEATER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes,
+ RecipeMaps.fluidHeaterRecipes,
1,
0,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_HEATER",
new Object[] { "OGO", aTextPlateMotor, aTextWireCoil, 'M',
@@ -2781,13 +2561,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Heater II",
3,
MachineType.FLUID_HEATER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes,
+ RecipeMaps.fluidHeaterRecipes,
1,
0,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_HEATER",
new Object[] { "OGO", aTextPlateMotor, aTextWireCoil, 'M',
@@ -2804,13 +2582,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Heater III",
4,
MachineType.FLUID_HEATER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes,
+ RecipeMaps.fluidHeaterRecipes,
1,
0,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_HEATER",
new Object[] { "OGO", aTextPlateMotor, aTextWireCoil, 'M',
@@ -2827,13 +2603,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Heater IV",
5,
MachineType.FLUID_HEATER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes,
+ RecipeMaps.fluidHeaterRecipes,
1,
0,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_HEATER",
new Object[] { "OGO", aTextPlateMotor, aTextWireCoil, 'M',
@@ -2853,13 +2627,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Fluid Solidifier",
1,
MachineType.FLUID_SOLIDIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes,
+ RecipeMaps.fluidSolidifierRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_SOLIDIFIER",
new Object[] { "PGP", aTextWireHull, "CBC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2875,13 +2647,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Solidifier",
2,
MachineType.FLUID_SOLIDIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes,
+ RecipeMaps.fluidSolidifierRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_SOLIDIFIER",
new Object[] { "PGP", aTextWireHull, "CBC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2897,13 +2667,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Solidifier II",
3,
MachineType.FLUID_SOLIDIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes,
+ RecipeMaps.fluidSolidifierRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_SOLIDIFIER",
new Object[] { "PGP", aTextWireHull, "CBC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2919,13 +2687,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Solidifier III",
4,
MachineType.FLUID_SOLIDIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes,
+ RecipeMaps.fluidSolidifierRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_SOLIDIFIER",
new Object[] { "PGP", aTextWireHull, "CBC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2941,13 +2707,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Fluid Solidifier IV",
5,
MachineType.FLUID_SOLIDIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes,
+ RecipeMaps.fluidSolidifierRecipes,
1,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"FLUID_SOLIDIFIER",
new Object[] { "PGP", aTextWireHull, "CBC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -2966,13 +2730,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Forge Hammer",
1,
MachineType.FORGE_HAMMER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sHammerRecipes,
+ RecipeMaps.hammerRecipes,
1,
1,
true,
SoundResource.RANDOM_ANVIL_USE,
- false,
- false,
SpecialEffects.MAIN_RANDOM_SPARKS,
"HAMMER",
new Object[] { aTextWirePump, aTextCableHull, "WAW", 'M',
@@ -2989,13 +2751,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forge Hammer",
2,
MachineType.FORGE_HAMMER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sHammerRecipes,
+ RecipeMaps.hammerRecipes,
1,
1,
true,
SoundResource.RANDOM_ANVIL_USE,
- false,
- false,
SpecialEffects.MAIN_RANDOM_SPARKS,
"HAMMER",
new Object[] { aTextWirePump, aTextCableHull, "WAW", 'M',
@@ -3012,13 +2772,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forge Hammer II",
3,
MachineType.FORGE_HAMMER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sHammerRecipes,
+ RecipeMaps.hammerRecipes,
1,
1,
true,
SoundResource.RANDOM_ANVIL_USE,
- false,
- false,
SpecialEffects.MAIN_RANDOM_SPARKS,
"HAMMER",
new Object[] { aTextWirePump, aTextCableHull, "WAW", 'M',
@@ -3035,13 +2793,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forge Hammer III",
4,
MachineType.FORGE_HAMMER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sHammerRecipes,
+ RecipeMaps.hammerRecipes,
1,
1,
true,
SoundResource.RANDOM_ANVIL_USE,
- false,
- false,
SpecialEffects.MAIN_RANDOM_SPARKS,
"HAMMER",
new Object[] { aTextWirePump, aTextCableHull, "WAW", 'M',
@@ -3058,13 +2814,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forge Hammer IV",
5,
MachineType.FORGE_HAMMER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sHammerRecipes,
+ RecipeMaps.hammerRecipes,
1,
1,
true,
SoundResource.RANDOM_ANVIL_USE,
- false,
- false,
SpecialEffects.MAIN_RANDOM_SPARKS,
"HAMMER",
new Object[] { aTextWirePump, aTextCableHull, "WAW", 'M',
@@ -3084,13 +2838,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Forming Press",
1,
MachineType.FORMING_PRESS.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPressRecipes,
+ RecipeMaps.formingPressRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.NONE,
"PRESS",
new Object[] { aTextWirePump, aTextCableHull, aTextWirePump, 'M',
@@ -3105,13 +2857,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forming Press",
2,
MachineType.FORMING_PRESS.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPressRecipes,
+ RecipeMaps.formingPressRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.NONE,
"PRESS",
new Object[] { aTextWirePump, aTextCableHull, aTextWirePump, 'M',
@@ -3126,13 +2876,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forming Press II",
3,
MachineType.FORMING_PRESS.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPressRecipes,
+ RecipeMaps.formingPressRecipes,
4,
1,
false,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.NONE,
"PRESS",
new Object[] { aTextWirePump, aTextCableHull, aTextWirePump, 'M',
@@ -3147,13 +2895,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forming Press III",
4,
MachineType.FORMING_PRESS.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPressRecipes,
+ RecipeMaps.formingPressRecipes,
4,
1,
false,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.NONE,
"PRESS",
new Object[] { aTextWirePump, aTextCableHull, aTextWirePump, 'M',
@@ -3168,13 +2914,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Forming Press IV",
5,
MachineType.FORMING_PRESS.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPressRecipes,
+ RecipeMaps.formingPressRecipes,
6,
1,
false,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.NONE,
"PRESS",
new Object[] { aTextWirePump, aTextCableHull, aTextWirePump, 'M',
@@ -3192,13 +2936,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Precision Laser Engraver",
1,
MachineType.LASER_ENGRAVER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
+ RecipeMaps.laserEngraverRecipes,
2,
1,
true,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"LASER_ENGRAVER",
new Object[] { "PEP", aTextCableHull, aTextWireCoil, 'M',
@@ -3214,13 +2956,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Precision Laser Engraver",
2,
MachineType.LASER_ENGRAVER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
+ RecipeMaps.laserEngraverRecipes,
2,
1,
true,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"LASER_ENGRAVER",
new Object[] { "PEP", aTextCableHull, aTextWireCoil, 'M',
@@ -3236,13 +2976,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Precision Laser Engraver II",
3,
MachineType.LASER_ENGRAVER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
+ RecipeMaps.laserEngraverRecipes,
2,
1,
true,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"LASER_ENGRAVER",
new Object[] { "PEP", aTextCableHull, aTextWireCoil, 'M',
@@ -3258,13 +2996,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Precision Laser Engraver III",
4,
MachineType.LASER_ENGRAVER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
+ RecipeMaps.laserEngraverRecipes,
4,
1,
true,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"LASER_ENGRAVER",
new Object[] { "PEP", aTextCableHull, aTextWireCoil, 'M',
@@ -3280,13 +3016,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Precision Laser Engraver IV",
5,
MachineType.LASER_ENGRAVER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes,
+ RecipeMaps.laserEngraverRecipes,
4,
1,
true,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"LASER_ENGRAVER",
new Object[] { "PEP", aTextCableHull, aTextWireCoil, 'M',
@@ -3305,13 +3039,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Lathe",
1,
MachineType.LATHE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLatheRecipes,
+ RecipeMaps.latheRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"LATHE",
new Object[] { aTextWireCoil, "EMD", "CWP", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3327,13 +3059,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Lathe",
2,
MachineType.LATHE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLatheRecipes,
+ RecipeMaps.latheRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"LATHE",
new Object[] { aTextWireCoil, "EMD", "CWP", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3349,13 +3079,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Lathe II",
3,
MachineType.LATHE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLatheRecipes,
+ RecipeMaps.latheRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"LATHE",
new Object[] { aTextWireCoil, "EMD", "CWP", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3371,13 +3099,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Lathe III",
4,
MachineType.LATHE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLatheRecipes,
+ RecipeMaps.latheRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"LATHE",
new Object[] { aTextWireCoil, "EMD", "CWP", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3393,13 +3119,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Lathe IV",
5,
MachineType.LATHE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sLatheRecipes,
+ RecipeMaps.latheRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"LATHE",
new Object[] { aTextWireCoil, "EMD", "CWP", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3418,13 +3142,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Macerator",
1,
MachineType.MACERATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
+ RecipeMaps.maceratorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MACERATOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"MACERATOR",
new Object[] { "PEG", "WWM", "CCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3440,13 +3162,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Macerator",
2,
MachineType.MACERATOR.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
+ RecipeMaps.maceratorRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MACERATOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"MACERATOR",
new Object[] { "PEG", "WWM", "CCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3462,13 +3182,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Universal Macerator",
3,
MachineType.MACERATOR_PULVERIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
+ RecipeMaps.maceratorRecipes,
1,
2,
false,
SoundResource.IC2_MACHINES_MACERATOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PULVERIZER",
new Object[] { "PEG", "WWM", "CCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3484,13 +3202,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Universal Pulverizer",
4,
MachineType.MACERATOR_PULVERIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
+ RecipeMaps.maceratorRecipes,
1,
3,
false,
SoundResource.IC2_MACHINES_MACERATOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PULVERIZER",
new Object[] { "PEG", "WWM", "CCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3506,13 +3222,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Blend-O-Matic 9001",
5,
MachineType.MACERATOR_PULVERIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMaceratorRecipes,
+ RecipeMaps.maceratorRecipes,
1,
4,
false,
SoundResource.IC2_MACHINES_MACERATOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PULVERIZER",
new Object[] { "PEG", "WWM", "CCW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3531,13 +3245,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Amplifabricator",
1,
MachineType.MATTER_AMPLIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sAmplifiers,
+ RecipeMaps.amplifierRecipes,
1,
1,
1000,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"AMPLIFAB",
new Object[] { aTextWirePump, aTextPlateMotor, "CPC", 'M',
@@ -3552,13 +3264,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Amplifabricator",
2,
MachineType.MATTER_AMPLIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sAmplifiers,
+ RecipeMaps.amplifierRecipes,
1,
1,
1000,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"AMPLIFAB",
new Object[] { aTextWirePump, aTextPlateMotor, "CPC", 'M',
@@ -3573,13 +3283,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Amplifabricator II",
3,
MachineType.MATTER_AMPLIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sAmplifiers,
+ RecipeMaps.amplifierRecipes,
1,
1,
1000,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"AMPLIFAB",
new Object[] { aTextWirePump, aTextPlateMotor, "CPC", 'M',
@@ -3594,13 +3302,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Amplifabricator III",
4,
MachineType.MATTER_AMPLIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sAmplifiers,
+ RecipeMaps.amplifierRecipes,
1,
1,
1000,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"AMPLIFAB",
new Object[] { aTextWirePump, aTextPlateMotor, "CPC", 'M',
@@ -3615,13 +3321,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Amplifabricator IV",
5,
MachineType.MATTER_AMPLIFIER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sAmplifiers,
+ RecipeMaps.amplifierRecipes,
1,
1,
1000,
SoundResource.IC2_MACHINES_EXTRACTOR_OP,
- false,
- false,
SpecialEffects.NONE,
"AMPLIFAB",
new Object[] { aTextWirePump, aTextPlateMotor, "CPC", 'M',
@@ -3639,13 +3343,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Microwave",
1,
MachineType.MICROWAVE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes,
+ RecipeMaps.microwaveRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"MICROWAVE",
new Object[] { "LWC", "LMR", "LEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3661,13 +3363,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Microwave",
2,
MachineType.MICROWAVE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes,
+ RecipeMaps.microwaveRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"MICROWAVE",
new Object[] { "LWC", "LMR", "LEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3683,13 +3383,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Microwave II",
3,
MachineType.MICROWAVE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes,
+ RecipeMaps.microwaveRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"MICROWAVE",
new Object[] { "LWC", "LMR", "LEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3705,13 +3403,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Microwave III",
4,
MachineType.MICROWAVE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes,
+ RecipeMaps.microwaveRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"MICROWAVE",
new Object[] { "LWC", "LMR", "LEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3727,13 +3423,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Microwave IV",
5,
MachineType.MICROWAVE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMicrowaveRecipes,
+ RecipeMaps.microwaveRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"MICROWAVE",
new Object[] { "LWC", "LMR", "LEC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3752,13 +3446,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Mixer",
1,
MachineType.MIXER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMixerRecipes,
+ RecipeMaps.mixerRecipes,
6,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"MIXER",
new Object[] { "GRG", "GEG", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3773,13 +3465,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Mixer",
2,
MachineType.MIXER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMixerRecipes,
+ RecipeMaps.mixerRecipes,
6,
1,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"MIXER",
new Object[] { "GRG", "GEG", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3794,13 +3484,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Mixer II",
3,
MachineType.MIXER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMixerRecipes,
+ RecipeMaps.mixerRecipes,
6,
4,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"MIXER",
new Object[] { "GRG", "GEG", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3815,13 +3503,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Mixer III",
4,
MachineType.MIXER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMixerRecipes,
+ RecipeMaps.mixerRecipes,
9,
4,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"MIXER",
new Object[] { "GRG", "GEG", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3836,13 +3522,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Mixer IV",
5,
MachineType.MIXER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sMixerRecipes,
+ RecipeMaps.mixerRecipes,
9,
4,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"MIXER",
new Object[] { "GRG", "GEG", aTextCableHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3860,13 +3544,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Ore Washing Plant",
1,
MachineType.ORE_WASHER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
+ RecipeMaps.oreWasherRecipes,
1,
3,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ORE_WASHER",
new Object[] { "RGR", "CEC", aTextWireHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -3882,13 +3564,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Ore Washing Plant",
2,
MachineType.ORE_WASHER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
+ RecipeMaps.oreWasherRecipes,
1,
3,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ORE_WASHER",
new Object[] { "RGR", "CEC", aTextWireHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -3904,13 +3584,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Ore Washing Plant II",
3,
MachineType.ORE_WASHER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
+ RecipeMaps.oreWasherRecipes,
1,
3,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ORE_WASHER",
new Object[] { "RGR", "CEC", aTextWireHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -3926,13 +3604,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Ore Washing Plant III",
4,
MachineType.ORE_WASHER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
+ RecipeMaps.oreWasherRecipes,
1,
3,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ORE_WASHER",
new Object[] { "RGR", "CEC", aTextWireHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -3948,13 +3624,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Repurposed Laundry-Washer I-360",
5,
MachineType.ORE_WASHER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sOreWasherRecipes,
+ RecipeMaps.oreWasherRecipes,
1,
3,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"ORE_WASHER",
new Object[] { "RGR", "CEC", aTextWireHull, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -3973,13 +3647,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Electric Oven",
1,
MachineType.OVEN.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_OVEN",
new Object[] { "CEC", aTextCableHull, "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -3994,13 +3666,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Oven",
2,
MachineType.OVEN.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_OVEN",
new Object[] { "CEC", aTextCableHull, "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4015,13 +3685,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Oven II",
3,
MachineType.OVEN.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_OVEN",
new Object[] { "CEC", aTextCableHull, "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4036,13 +3704,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Oven III",
4,
MachineType.OVEN.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_OVEN",
new Object[] { "CEC", aTextCableHull, "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4057,13 +3723,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Electric Oven IV",
5,
MachineType.OVEN.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sFurnaceRecipes,
+ RecipeMaps.furnaceRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP,
- false,
- false,
SpecialEffects.NONE,
"ELECTRIC_OVEN",
new Object[] { "CEC", aTextCableHull, "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4081,13 +3745,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Plasma Arc Furnace",
1,
MachineType.PLASMA_ARC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes,
+ RecipeMaps.plasmaArcFurnaceRecipes,
1,
4,
true,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"PLASMA_ARC_FURNACE",
new Object[] { "WGW", aTextCableHull, "TPT", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4103,13 +3765,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Plasma Arc Furnace",
2,
MachineType.PLASMA_ARC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes,
+ RecipeMaps.plasmaArcFurnaceRecipes,
1,
4,
true,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"PLASMA_ARC_FURNACE",
new Object[] { "WGW", aTextCableHull, "TPT", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4125,13 +3785,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Plasma Arc Furnace II",
3,
MachineType.PLASMA_ARC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes,
+ RecipeMaps.plasmaArcFurnaceRecipes,
1,
4,
true,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"PLASMA_ARC_FURNACE",
new Object[] { "WGW", aTextCableHull, "TPT", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4147,13 +3805,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Plasma Arc Furnace III",
4,
MachineType.PLASMA_ARC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes,
+ RecipeMaps.plasmaArcFurnaceRecipes,
1,
9,
true,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"PLASMA_ARC_FURNACE",
new Object[] { "WGW", aTextCableHull, "TPT", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4169,13 +3825,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Plasma Arc Furnace IV",
5,
MachineType.PLASMA_ARC_FURNACE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes,
+ RecipeMaps.plasmaArcFurnaceRecipes,
1,
9,
true,
SoundResource.IC2_MACHINES_INDUCTION_LOOP,
- false,
- false,
SpecialEffects.NONE,
"PLASMA_ARC_FURNACE",
new Object[] { "WGW", aTextCableHull, "TPT", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4194,13 +3848,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Polarizer",
1,
MachineType.POLARIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPolarizerRecipes,
+ RecipeMaps.polarizerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"POLARIZER",
new Object[] { "ZSZ", aTextWireHull, "ZSZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -4214,13 +3866,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Polarizer",
2,
MachineType.POLARIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPolarizerRecipes,
+ RecipeMaps.polarizerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"POLARIZER",
new Object[] { "ZSZ", aTextWireHull, "ZSZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -4234,13 +3884,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Polarizer II",
3,
MachineType.POLARIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPolarizerRecipes,
+ RecipeMaps.polarizerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"POLARIZER",
new Object[] { "ZSZ", aTextWireHull, "ZSZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -4254,13 +3902,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Polarizer III",
4,
MachineType.POLARIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPolarizerRecipes,
+ RecipeMaps.polarizerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"POLARIZER",
new Object[] { "ZSZ", aTextWireHull, "ZSZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -4274,13 +3920,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Polarizer IV",
5,
MachineType.POLARIZER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPolarizerRecipes,
+ RecipeMaps.polarizerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_MAGNETIZER_LOOP,
- false,
- false,
SpecialEffects.NONE,
"POLARIZER",
new Object[] { "ZSZ", aTextWireHull, "ZSZ", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'S',
@@ -4298,13 +3942,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Printer",
1,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4319,13 +3961,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer",
2,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4340,13 +3980,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer II",
3,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4361,13 +3999,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer III",
4,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4382,13 +4018,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer IV",
5,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4403,13 +4037,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer V",
6,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4424,13 +4056,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer VI",
7,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4445,13 +4075,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Printer VII",
8,
MachineType.PRINTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sPrinterRecipes,
+ RecipeMaps.printerRecipes,
1,
1,
true,
SoundResource.IC2_MACHINES_COMPRESSOR_OP,
- false,
- false,
SpecialEffects.TOP_SMOKE,
"PRINTER",
new Object[] { aTextMotorWire, aTextCableHull, "WEW", 'M',
@@ -4469,13 +4097,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Recycler",
1,
MachineType.RECYCLER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sRecyclerRecipes,
+ RecipeMaps.recyclerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"RECYCLER",
new Object[] { "GCG", aTextPlateMotor, aTextWireCoil, 'M',
@@ -4491,13 +4117,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Recycler",
2,
MachineType.RECYCLER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sRecyclerRecipes,
+ RecipeMaps.recyclerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"RECYCLER",
new Object[] { "GCG", aTextPlateMotor, aTextWireCoil, 'M',
@@ -4513,13 +4137,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Recycler II",
3,
MachineType.RECYCLER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sRecyclerRecipes,
+ RecipeMaps.recyclerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"RECYCLER",
new Object[] { "GCG", aTextPlateMotor, aTextWireCoil, 'M',
@@ -4535,13 +4157,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Recycler III",
4,
MachineType.RECYCLER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sRecyclerRecipes,
+ RecipeMaps.recyclerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"RECYCLER",
new Object[] { "GCG", aTextPlateMotor, aTextWireCoil, 'M',
@@ -4557,13 +4177,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"The Oblitterator",
5,
MachineType.RECYCLER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sRecyclerRecipes,
+ RecipeMaps.recyclerRecipes,
1,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"RECYCLER",
new Object[] { "GCG", aTextPlateMotor, aTextWireCoil, 'M',
@@ -4582,13 +4200,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Sifting Machine",
1,
MachineType.SIFTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSifterRecipes,
+ RecipeMaps.sifterRecipes,
1,
9,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SIFTER",
new Object[] { "WFW", aTextPlateMotor, "CFC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4602,13 +4218,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Sifting Machine",
2,
MachineType.SIFTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSifterRecipes,
+ RecipeMaps.sifterRecipes,
1,
9,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SIFTER",
new Object[] { "WFW", aTextPlateMotor, "CFC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4622,13 +4236,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Sifting Machine II",
3,
MachineType.SIFTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSifterRecipes,
+ RecipeMaps.sifterRecipes,
1,
9,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SIFTER",
new Object[] { "WFW", aTextPlateMotor, "CFC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4642,13 +4254,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Sifting Machine III",
4,
MachineType.SIFTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSifterRecipes,
+ RecipeMaps.sifterRecipes,
1,
9,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SIFTER",
new Object[] { "WFW", aTextPlateMotor, "CFC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4662,13 +4272,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Sifting Machine IV",
5,
MachineType.SIFTER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSifterRecipes,
+ RecipeMaps.sifterRecipes,
1,
9,
true,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SIFTER",
new Object[] { "WFW", aTextPlateMotor, "CFC", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'P',
@@ -4685,13 +4293,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Slicing Machine",
1,
MachineType.SLICER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSlicerRecipes,
+ RecipeMaps.slicerRecipes,
2,
1,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SLICER",
new Object[] { aTextWireCoil, "PMV", aTextWireCoil, 'M',
@@ -4707,13 +4313,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Slicing Machine",
2,
MachineType.SLICER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSlicerRecipes,
+ RecipeMaps.slicerRecipes,
2,
1,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SLICER",
new Object[] { aTextWireCoil, "PMV", aTextWireCoil, 'M',
@@ -4729,13 +4333,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Slicing Machine II",
3,
MachineType.SLICER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSlicerRecipes,
+ RecipeMaps.slicerRecipes,
2,
1,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SLICER",
new Object[] { aTextWireCoil, "PMV", aTextWireCoil, 'M',
@@ -4751,13 +4353,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Slicing Machine III",
4,
MachineType.SLICER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSlicerRecipes,
+ RecipeMaps.slicerRecipes,
2,
1,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SLICER",
new Object[] { aTextWireCoil, "PMV", aTextWireCoil, 'M',
@@ -4773,13 +4373,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Slicing Machine IV",
5,
MachineType.SLICER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sSlicerRecipes,
+ RecipeMaps.slicerRecipes,
2,
1,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"SLICER",
new Object[] { aTextWireCoil, "PMV", aTextWireCoil, 'M',
@@ -4798,13 +4396,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Thermal Centrifuge",
1,
MachineType.THERMAL_CENTRIFUGE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
1,
3,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"THERMAL_CENTRIFUGE",
new Object[] { "CEC", "OMO", "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4819,13 +4415,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Thermal Centrifuge",
2,
MachineType.THERMAL_CENTRIFUGE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
1,
3,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"THERMAL_CENTRIFUGE",
new Object[] { "CEC", "OMO", "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4840,13 +4434,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Thermal Centrifuge II",
3,
MachineType.THERMAL_CENTRIFUGE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
1,
3,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"THERMAL_CENTRIFUGE",
new Object[] { "CEC", "OMO", "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4861,13 +4453,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Thermal Centrifuge III",
4,
MachineType.THERMAL_CENTRIFUGE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
1,
3,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"THERMAL_CENTRIFUGE",
new Object[] { "CEC", "OMO", "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4882,13 +4472,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Blaze Sweatshop T-6350",
5,
MachineType.THERMAL_CENTRIFUGE.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
+ RecipeMaps.thermalCentrifugeRecipes,
1,
3,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"THERMAL_CENTRIFUGE",
new Object[] { "CEC", "OMO", "WEW", 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'E',
@@ -4906,13 +4494,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Unpackager",
1,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -4928,13 +4514,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Unpackager",
2,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -4950,13 +4534,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Unpackager II",
3,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -4972,13 +4554,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Unpackager III",
4,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -4994,13 +4574,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Unboxinator",
5,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -5016,13 +4594,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Unboxinator",
6,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -5038,13 +4614,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Unboxinator",
7,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -5060,13 +4634,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Unboxinator",
8,
MachineType.UNPACKAGER.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes,
+ RecipeMaps.unpackagerRecipes,
1,
2,
false,
SoundResource.NONE,
- false,
- false,
SpecialEffects.NONE,
"UNBOXINATOR",
new Object[] { "BCB", "VMR", aTextWireCoil, 'M', GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL, 'R',
@@ -5085,13 +4657,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Basic Wiremill",
1,
MachineType.WIREMILL.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes,
+ RecipeMaps.wiremillRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"WIREMILL",
new Object[] { aTextMotorWire, aTextCableHull, aTextMotorWire, 'M',
@@ -5106,13 +4676,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Wiremill",
2,
MachineType.WIREMILL.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes,
+ RecipeMaps.wiremillRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"WIREMILL",
new Object[] { aTextMotorWire, aTextCableHull, aTextMotorWire, 'M',
@@ -5127,13 +4695,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Wiremill II",
3,
MachineType.WIREMILL.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes,
+ RecipeMaps.wiremillRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"WIREMILL",
new Object[] { aTextMotorWire, aTextCableHull, aTextMotorWire, 'M',
@@ -5148,13 +4714,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Wiremill III",
4,
MachineType.WIREMILL.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes,
+ RecipeMaps.wiremillRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"WIREMILL",
new Object[] { aTextMotorWire, aTextCableHull, aTextMotorWire, 'M',
@@ -5169,13 +4733,11 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
"Advanced Wiremill IV",
5,
MachineType.WIREMILL.tooltipDescription(),
- GT_Recipe.GT_Recipe_Map.sWiremillRecipes,
+ RecipeMaps.wiremillRecipes,
2,
1,
false,
SoundResource.IC2_MACHINES_RECYCLER_OP,
- false,
- false,
SpecialEffects.NONE,
"WIREMILL",
new Object[] { aTextMotorWire, aTextCableHull, aTextMotorWire, 'M',
@@ -6893,7 +6455,7 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
.fluidInputs(Materials.StainlessSteel.getMolten(864L))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
} else {
if (NotEnoughItems.isModLoaded()) {
API.hideItem(ItemList.Machine_Multi_Cleanroom.get(1L));
@@ -7079,7 +6641,7 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeSmall, Materials.Ultimate, 1L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.TungstenSteel, 1L),
@@ -7088,7 +6650,7 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Ultimate, 1L))
.duration(20 * SECONDS)
.eut(4096)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.TungstenSteel, 1L),
@@ -7097,7 +6659,7 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeLarge, Materials.Ultimate, 1L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_ModHandler.addCraftingRecipe(
ItemList.Automation_ChestBuffer_ULV.get(1L),
diff --git a/src/main/java/gregtech/loaders/misc/GT_Achievements.java b/src/main/java/gregtech/loaders/misc/GT_Achievements.java
index bd11de28ef..fd48dc5801 100644
--- a/src/main/java/gregtech/loaders/misc/GT_Achievements.java
+++ b/src/main/java/gregtech/loaders/misc/GT_Achievements.java
@@ -27,6 +27,7 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.objects.ItemData;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
@@ -48,8 +49,9 @@ public class GT_Achievements {
this.achievementList = new ConcurrentHashMap<>();
this.issuedAchievements = new ConcurrentHashMap<>();
- for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.mRecipeList)
+ for (GT_Recipe recipe : RecipeMaps.assemblylineVisualRecipes.getAllRecipes()) {
registerAssAchievement(recipe);
+ }
registerAchievement(
"flintpick",
@@ -954,14 +956,8 @@ public class GT_Achievements {
issueAchievement(player, "conducting");
}
if (player.capabilities.isCreativeMode && stack.getUnlocalizedName()
- .equals("gt.metaitem.01.32761")) { // Debug
- // Scanner
- // pickup
- // shows
- // all
- // assline
- // recipes.
- for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.mRecipeList) {
+ .equals("gt.metaitem.01.32761")) { // Debug Scanner pickup shows all assline recipes.
+ for (GT_Recipe recipe : RecipeMaps.assemblylineVisualRecipes.getAllRecipes()) {
issueAchievement(
player,
recipe.getOutput(0)
@@ -969,7 +965,7 @@ public class GT_Achievements {
recipe.mHidden = false;
}
}
- for (GT_Recipe recipe : GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes.mRecipeList) {
+ for (GT_Recipe recipe : RecipeMaps.assemblylineVisualRecipes.getAllRecipes()) {
if (recipe.getOutput(0)
.getUnlocalizedName()
.equals(stack.getUnlocalizedName())) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java
index bb32333429..11d1b1e1b8 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingArrows.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.enchantment.Enchantment;
@@ -40,7 +40,7 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
.fluidInputs(Materials.HolyWater.getFluid(25L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -55,7 +55,7 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
.fluidInputs(Materials.FierySteel.getFluid(25L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -70,7 +70,7 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
.fluidInputs(Materials.Blaze.getMolten(18L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -85,7 +85,7 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
.fluidInputs(Materials.Rubber.getMolten(18L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
tOutput = GT_Utility.copyAmount(1, aStack);
GT_Utility.updateItemStack(tOutput);
@@ -101,7 +101,7 @@ public class ProcessingArrows implements gregtech.api.interfaces.IOreRecipeRegis
.fluidInputs(Materials.Mercury.getFluid(25L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
if (!aMaterial.mUnificatable) {
return;
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java
index 9aed3d19af..2fb200216e 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBeans.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -30,6 +30,6 @@ public class ProcessingBeans implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
index e424f1c606..b948f251f0 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingBlock.java
@@ -1,10 +1,10 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -49,7 +49,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
Math.min(1000, ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS * 30 / 320))))
.duration(2 * ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
@@ -61,7 +61,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
Math.min(750, ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS * 30 / 426))))
.duration(2 * ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
@@ -73,7 +73,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
Math.min(250, ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS * 30 / 1280))))
.duration(((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
@@ -89,7 +89,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
Math.min(1000, ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS * 30 / 320))))
.duration(2 * ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -101,7 +101,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
Math.min(750, ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS * 30 / 426))))
.duration(2 * ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -113,7 +113,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
Math.min(250, ((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS * 30 / 1280))))
.duration(((int) Math.max(aMaterial.getMass() * 10L, 1L)) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
}
@@ -142,7 +142,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(aMaterial.getMolten(1296L))
.duration(14 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
}
@@ -173,7 +173,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(tStack2)
.duration(5 * SECONDS)
.eut(24)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
if (GregTech_API.sRecipeFile.get(
@@ -196,7 +196,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))
.duration(15 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 2))
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
switch (aMaterial.mName) {
@@ -207,7 +207,7 @@ public class ProcessingBlock implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(ItemList.IC2_Compressed_Coal_Chunk.get(1L))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
index c99894caab..d681df1b5a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCell.java
@@ -1,8 +1,8 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
import static gregtech.api.util.GT_RecipeConstants.FUEL_VALUE;
@@ -51,8 +51,6 @@ public class ProcessingCell implements IOreRecipeRegistrator {
}
recipeBuilder.metadata(FUEL_VALUE, aMaterial.mFuelPower)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
if (!((aMaterial.mMaterialList.size() > 0) && ((aMaterial.mExtraData & 0x3) != 0))) {
@@ -139,7 +137,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
recipeBuilder.itemOutputs(outputsArray)
.duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)))
.eut(Math.min(4, tList.size()) * 30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
} else {
long tCellBalance = tCapsuleCount + tItemAmount - 1;
GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
@@ -155,7 +153,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
recipeBuilder.itemOutputs(outputsArray)
.duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 8L * tItemAmount)))
.eut(Math.min(4, tList.size()) * 30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
}
}
if ((aMaterial.mExtraData & 0x2) != 0) {
@@ -174,7 +172,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
recipeBuilder.itemOutputs(outputsArray)
.duration(Math.max(1L, Math.abs(aMaterial.getMass() * 2L * tItemAmount)))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
}
@@ -194,14 +192,10 @@ public class ProcessingCell implements IOreRecipeRegistrator {
case "Tin":
recipeBuilder.metadata(FUEL_VALUE, 150_000)
.metadata(FUEL_TYPE, 4)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
default:
recipeBuilder.metadata(FUEL_VALUE, (int) Math.max(1024L, 1024L * aMaterial.getMass()))
.metadata(FUEL_TYPE, 4)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
if (GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L) != null) {
@@ -210,7 +204,7 @@ public class ProcessingCell implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L))
.duration(((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
index 5c2f74a9cd..438da254a2 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrafting.java
@@ -3,8 +3,8 @@ package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
import static gregtech.api.enums.Mods.BuildCraftSilicon;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -39,7 +39,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.fluidInputs(Materials.Concrete.getMolten(144L))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
case "craftingLensBlue" -> {
@@ -50,7 +50,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -59,7 +59,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 13))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_LapotronCrystal.getWildcard(1L), GT_Utility.copyAmount(0, aStack))
@@ -67,7 +67,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Chip_CrystalCPU.get(1L), GT_Utility.copyAmount(0, aStack))
@@ -75,7 +75,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(40000)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
@@ -83,7 +83,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
@@ -91,7 +91,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0, aStack))
@@ -99,7 +99,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(2 * MINUTES)
.eut(TierEU.RECIPE_UV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
case "craftingLensYellow" -> {
@@ -111,7 +111,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -120,14 +120,14 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 14))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_LPIC.get(1))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
@@ -135,7 +135,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
@@ -143,7 +143,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0, aStack))
@@ -151,7 +151,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0, aStack))
@@ -159,7 +159,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
case "craftingLensOrange" -> {
@@ -168,28 +168,28 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(1))
.duration(15 * SECONDS)
.eut(64)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(4))
.duration(15 * SECONDS)
.eut(256)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(16))
.duration(15 * SECONDS)
.eut(1024)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_Simple_SoC.get(64))
.duration(15 * SECONDS)
.eut(4096)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
case "craftingLensCyan" -> {
@@ -201,7 +201,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -210,14 +210,14 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 15))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_Ram.get(1))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
@@ -225,7 +225,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
@@ -233,7 +233,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0, aStack))
@@ -241,7 +241,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0, aStack))
@@ -249,7 +249,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(7 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
case "craftingLensRed" -> {
@@ -261,7 +261,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 0))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -270,14 +270,14 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(NewHorizonsCoreMod.ID, "item.EtchedLowVoltageWiring", 1L, 0))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_ILC.get(1))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
@@ -285,7 +285,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
@@ -293,7 +293,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0, aStack))
@@ -301,7 +301,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(1 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0, aStack))
@@ -309,7 +309,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(1 * MINUTES + 15 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
case "craftingLensGreen" -> {
@@ -320,7 +320,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(10000)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Chip_CrystalSoC.get(1L), GT_Utility.copyAmount(0, aStack))
@@ -328,21 +328,21 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(60 * SECONDS)
.eut(80000)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_ULPIC.get(2))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
.itemOutputs(ItemList.Circuit_Wafer_ULPIC.get(8))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
@@ -350,7 +350,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(1 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0, aStack))
@@ -358,7 +358,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(1 * MINUTES + 15 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0, aStack))
@@ -366,7 +366,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
case "craftingLensWhite" -> {
@@ -377,7 +377,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -386,28 +386,28 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 19))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sandstone, 1, 2), GT_Utility.copyAmount(0, aStack))
.itemOutputs(new ItemStack(Blocks.sandstone, 1, 1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.stone, 1, 0), GT_Utility.copyAmount(0, aStack))
.itemOutputs(new ItemStack(Blocks.stonebrick, 1, 3))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.quartz_block, 1, 0), GT_Utility.copyAmount(0, aStack))
.itemOutputs(new ItemStack(Blocks.quartz_block, 1, 1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -416,7 +416,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_ModHandler.getModItem(AppliedEnergistics2.ID, "tile.BlockQuartzChiseled", 1L))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer.get(1), GT_Utility.copyAmount(0, aStack))
@@ -424,7 +424,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer2.get(1), GT_Utility.copyAmount(0, aStack))
@@ -432,7 +432,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer3.get(1), GT_Utility.copyAmount(0, aStack))
@@ -440,7 +440,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer4.get(1), GT_Utility.copyAmount(0, aStack))
@@ -448,7 +448,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Circuit_Silicon_Wafer5.get(1), GT_Utility.copyAmount(0, aStack))
@@ -456,7 +456,7 @@ public class ProcessingCrafting implements gregtech.api.interfaces.IOreRecipeReg
.requiresCleanRoom()
.duration(7 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java
index 6c20061f19..105b5c8f13 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrate.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
+import static gregtech.api.recipe.RecipeMaps.packagerRecipes;
+import static gregtech.api.recipe.RecipeMaps.unpackagerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -39,7 +39,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtDust, aMaterial, 1L))
.itemOutputs(
@@ -47,7 +47,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
ItemList.Crate_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sUnboxinatorRecipes);
+ .addTo(unpackagerRecipes);
}
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 16L),
@@ -63,7 +63,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtIngot, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtIngot, aMaterial, 1L))
.itemOutputs(
@@ -71,7 +71,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
ItemList.Crate_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sUnboxinatorRecipes);
+ .addTo(unpackagerRecipes);
}
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 16L),
@@ -87,7 +87,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtGem, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtGem, aMaterial, 1L))
.itemOutputs(
@@ -95,7 +95,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
ItemList.Crate_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sUnboxinatorRecipes);
+ .addTo(unpackagerRecipes);
}
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 16L),
@@ -111,7 +111,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crateGtPlate, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crateGtPlate, aMaterial, 1L))
.itemOutputs(
@@ -119,7 +119,7 @@ public class ProcessingCrate implements gregtech.api.interfaces.IOreRecipeRegist
ItemList.Crate_Empty.get(1L))
.duration(40 * SECONDS)
.eut(1)
- .addTo(sUnboxinatorRecipes);
+ .addTo(unpackagerRecipes);
}
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 16L),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java
index a7e6b1529c..92b5ae9cda 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrop.java
@@ -1,10 +1,10 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.IndustrialCraft2;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
+import static gregtech.api.recipe.RecipeMaps.brewingRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.slicerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -34,7 +34,7 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(ItemList.IC2_PlantballCompressed.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
Fluid[] waterArray;
@@ -54,7 +54,7 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion.tea"), 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
}
case "cropGrape" -> {
@@ -65,7 +65,7 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion.grapejuice"), 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
}
case "cropChilipepper" -> GT_Values.RA.stdBuilder()
@@ -73,27 +73,27 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
case "cropCoffee" -> GT_Values.RA.stdBuilder()
.itemInputs(aStack)
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
case "cropPotato" -> {
GT_Values.RA.stdBuilder()
.itemInputs(aStack, ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Raw_PotatoChips.get(1L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, ItemList.Shape_Slicer_Stripes.get(0L))
.itemOutputs(ItemList.Food_Raw_Fries.get(1L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
for (Fluid tFluid : waterArray) {
GT_Values.RA.stdBuilder()
@@ -102,7 +102,7 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion.potatojuice"), 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
}
case "cropLemon" -> {
@@ -111,7 +111,7 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(ItemList.Food_Sliced_Lemon.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
for (Fluid tFluid : waterArray) {
GT_Values.RA.stdBuilder()
@@ -120,7 +120,7 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion.lemonjuice"), 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
GT_Values.RA.stdBuilder()
@@ -129,26 +129,26 @@ public class ProcessingCrop implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion.leninade"), 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
case "cropTomato" -> GT_Values.RA.stdBuilder()
.itemInputs(aStack, ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Sliced_Tomato.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
case "cropCucumber" -> GT_Values.RA.stdBuilder()
.itemInputs(aStack, ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Sliced_Cucumber.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
case "cropOnion" -> GT_Values.RA.stdBuilder()
.itemInputs(aStack, ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Sliced_Onion.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
index 2fd74622c4..a730a1849b 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrushedOre.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSifterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.sifterRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -32,7 +32,7 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -45,7 +45,7 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
case crushedPurified -> {
GT_Values.RA.stdBuilder()
@@ -63,7 +63,7 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
.outputChances(10000, 1111)
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
ItemStack tGem = GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L);
if (tGem == null) {
@@ -84,7 +84,7 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
.outputChances(300, 1200, 4500, 1400, 2800, 3500)
.duration(40 * SECONDS)
.eut(16)
- .addTo(sSifterRecipes);
+ .addTo(sifterRecipes);
default -> GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(
@@ -97,7 +97,7 @@ public class ProcessingCrushedOre implements gregtech.api.interfaces.IOreRecipeR
.outputChances(100, 400, 1500, 2000, 4000, 5000)
.duration(40 * SECONDS)
.eut(16)
- .addTo(sSifterRecipes);
+ .addTo(sifterRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java
index cd9e3eb597..ec8fd12a74 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingCrystallized.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -36,14 +36,14 @@ public class ProcessingCrystallized implements gregtech.api.interfaces.IOreRecip
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial.mMacerateInto, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
index b407cb9c9b..b3aad4e25c 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDirty.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -33,7 +33,7 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustImpure, aMaterial.mMacerateInto, 1L))
.duration(10)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -50,7 +50,7 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_ModHandler.addOreWasherRecipe(
GT_Utility.copyAmount(1, aStack),
@@ -80,7 +80,7 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.outputChances(10000, 1111, 10000)
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
addChemicalBathRecipes(aMaterial, aMaterial, aStack, aPrefix);
@@ -104,7 +104,7 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Mercury.getFluid(1000L))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
if (byproduct.contains(SubTag.WASHING_MERCURY_99_PERCENT)) {
GT_Values.RA.stdBuilder()
@@ -117,7 +117,7 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Mercury.getFluid(1000L))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
if (byproduct.contains(SubTag.WASHING_SODIUMPERSULFATE)) {
GT_Values.RA.stdBuilder()
@@ -130,7 +130,7 @@ public class ProcessingDirty implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.SodiumPersulfate.getFluid(100L))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
index 2aa2d42ac1..f0f8aef8ba 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDust.java
@@ -1,14 +1,14 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.cannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.implosionRecipes;
+import static gregtech.api.recipe.RecipeMaps.packagerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -58,8 +58,6 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
if ((GT_Utility.getFluidForFilledItem(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L), true)
@@ -69,7 +67,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(1)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
}
if (!aMaterial.mBlastFurnaceRequired) {
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
@@ -104,7 +102,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
(Math.max(aMaterial.getMass() / 40L, 1L) * aMaterial.mBlastFurnaceTemp) * TICKS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, (int) aMaterial.mBlastFurnaceTemp)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
} else {
GT_ModHandler.addSmeltingRecipe(aStack, tDustStack);
@@ -119,7 +117,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
// This is so disgustingly bad.
if (((OrePrefixes.block.isIgnored(aMaterial))
@@ -142,7 +140,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
}
}
@@ -219,7 +217,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
recipeBuilder
.duration(Math.max(1L, Math.abs(aMaterial.getProtons() * 2L * tItemAmount)))
.eut(Math.min(4, tList.size()) * 30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
}
}
if ((aMaterial.mExtraData & 0x2) != 0) {
@@ -241,7 +239,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
}
recipeBuilder.duration(Math.max(1L, Math.abs(aMaterial.getMass() * 4L * tItemAmount)))
.eut(Math.min(4, tList.size()) * 5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
}
@@ -255,7 +253,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Water.getFluid(200L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))
@@ -263,7 +261,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(GT_ModHandler.getDistilledWater(100L))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))
@@ -271,7 +269,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Void.getMolten(36L))
.duration(1 * MINUTES)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
}
switch (aMaterial.mName) {
case "NULL", "Mercury", "Coal":
@@ -295,7 +293,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatCooked, 1L));
break;
case "Oilsands":
- sCentrifugeRecipes.addRecipe(
+ centrifugeRecipes.addRecipe(
true,
new ItemStack[] { GT_Utility.copyAmount(1, aStack) },
null,
@@ -319,7 +317,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 16L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(4, aStack),
@@ -329,7 +327,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 16L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), new ItemStack(Blocks.tnt, 32))
.itemOutputs(
@@ -337,7 +335,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 16L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), GT_ModHandler.getIC2Item("industrialTnt", 8))
.itemOutputs(
@@ -345,7 +343,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 16L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
break;
case "Opal":
@@ -365,7 +363,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 12L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(4, aStack),
@@ -375,7 +373,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 12L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), new ItemStack(Blocks.tnt, 24))
.itemOutputs(
@@ -383,7 +381,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 12L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), GT_ModHandler.getIC2Item("industrialTnt", 6))
.itemOutputs(
@@ -391,7 +389,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 12L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
break;
case "FoolsRuby":
@@ -410,7 +408,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 8L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), GT_ModHandler.getIC2Item("dynamite", 8, null))
.itemOutputs(
@@ -418,7 +416,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 8L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), new ItemStack(Blocks.tnt, 16))
.itemOutputs(
@@ -426,7 +424,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 8L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), GT_ModHandler.getIC2Item("industrialTnt", 4))
.itemOutputs(
@@ -434,7 +432,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 8L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
}
@@ -454,7 +452,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.outputChances(10000, 4000, 2000)
.duration(20 * SECONDS)
.eut(24)
- .addTo(sElectroMagneticSeparatorRecipes);
+ .addTo(electroMagneticSeparatorRecipes);
}
if (aMaterial.contains(SubTag.ELECTROMAGNETIC_SEPERATION_IRON)) {
GT_Values.RA.stdBuilder()
@@ -466,7 +464,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.outputChances(10000, 4000, 2000)
.duration(20 * SECONDS)
.eut(24)
- .addTo(sElectroMagneticSeparatorRecipes);
+ .addTo(electroMagneticSeparatorRecipes);
}
if (aMaterial.contains(SubTag.ELECTROMAGNETIC_SEPERATION_NEODYMIUM)) {
GT_Values.RA.stdBuilder()
@@ -478,7 +476,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.outputChances(10000, 4000, 2000)
.duration(20 * SECONDS)
.eut(24)
- .addTo(sElectroMagneticSeparatorRecipes);
+ .addTo(electroMagneticSeparatorRecipes);
}
}
if (aMaterial.contains(SubTag.CRYSTALLISABLE)
@@ -490,7 +488,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Water.getFluid(200L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))
@@ -498,7 +496,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(GT_ModHandler.getDistilledWater(100L))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))
@@ -506,7 +504,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Void.getMolten(36L))
.duration(1 * MINUTES)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
}
ItemStack tImpureStack = GT_OreDictUnificator.get(
OrePrefixes.dustTiny,
@@ -529,7 +527,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
.duration(Math.max(1L, aMaterial.getMass()))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
} else {
FluidStack tFluid = GT_Utility.getFluidForFilledItem(tImpureStack, true);
if (tFluid == null) {
@@ -540,7 +538,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
tImpureStack)
.duration(Math.max(1L, aMaterial.getMass() * 72L))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
} else {
tFluid.amount /= 10;
GT_Values.RA.stdBuilder()
@@ -549,7 +547,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidOutputs(tFluid)
.duration(Math.max(1L, aMaterial.getMass() * 8L))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
} else {
@@ -558,7 +556,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 9L), tImpureStack)
.duration(Math.max(1L, aMaterial.getMass() * 72L))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
} else {
GT_Values.RA.stdBuilder()
@@ -566,7 +564,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 2L), tImpureStack)
.duration(Math.max(1L, aMaterial.getMass() * 16L))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
} else {
GT_Values.RA.stdBuilder()
@@ -581,7 +579,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.outputChances(10000, 1111)
.duration(Math.max(1L, aMaterial.getMass() * 8L))
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
case dustSmall -> {
@@ -590,7 +588,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
.duration(1 * SECONDS)
.eut(4)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
if (!aMaterial.mBlastFurnaceRequired) {
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) {
@@ -610,7 +608,7 @@ public class ProcessingDust implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
.duration(1 * SECONDS)
.eut(4)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
if (!aMaterial.mBlastFurnaceRequired) {
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
if (aMaterial.mSmeltInto.mArcSmeltInto != aMaterial) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
index 36c0a891a6..f3e82c0b0e 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingDye.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
@@ -47,7 +47,7 @@ public class ProcessingDye implements IOreRecipeRegistrator {
.fluidOutputs(FluidRegistry.getFluidStack(fluidName, 192))
.duration(16 * TICKS)
.eut(4)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, stack), GT_Utility.getIntegratedCircuit(1))
@@ -55,7 +55,7 @@ public class ProcessingDye implements IOreRecipeRegistrator {
.fluidOutputs(FluidRegistry.getFluidStack(fluidName, 216))
.duration(16 * TICKS)
.eut(4)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
public void registerAlloySmelter(ItemStack stack, Dyes dye) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java
index 58bef8b0ed..9b46710b71 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFoil.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
import net.minecraft.item.ItemStack;
@@ -35,7 +35,7 @@ public class ProcessingFoil implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.foil, material, 4L))
.duration((int) Math.max(material.getMass(), 1L))
.eut(calculateRecipeEU(material, 24))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
private void registerCover(ItemStack stack, Materials material) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
index a16286fdf9..e7fc25038f 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingFood.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.formingPressRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.slicerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -46,7 +46,7 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(ItemList.Food_Sliced_Cheese.get(4L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
}
private void registerBenderRecipes(ItemStack stack) {
@@ -55,7 +55,7 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(ItemList.Food_Flat_Dough.get(1L))
.duration(16 * TICKS)
.eut(4)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
private void registerMixerRecipes(ItemStack stack) {
@@ -64,21 +64,21 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(ItemList.Food_Dough_Sugar.get(2L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L))
.itemOutputs(ItemList.Food_Dough_Chocolate.get(2L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(stack, GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chocolate, 1L))
.itemOutputs(ItemList.Food_Dough_Chocolate.get(2L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
private void registerFormingPressRecipes(ItemStack stack) {
@@ -88,20 +88,20 @@ public class ProcessingFood implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(ItemList.Food_Raw_Bun.get(1L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(2, stack), ItemList.Shape_Mold_Bread.get(0L))
.itemOutputs(ItemList.Food_Raw_Bread.get(1L))
.duration(12 * SECONDS + 16 * TICKS)
.eut(4)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(3, stack), ItemList.Shape_Mold_Baguette.get(0L))
.itemOutputs(ItemList.Food_Raw_Baguette.get(1L))
.duration(19 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java
index 1dbcd05b13..aa973cddfe 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGear.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -40,7 +40,7 @@ public class ProcessingGear implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(aMaterial.getMolten(576L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)
@@ -77,7 +77,7 @@ public class ProcessingGear implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(aMaterial.getMolten(144L))
.duration(16 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
index 531196f661..0efa58a3c7 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingGem.java
@@ -1,13 +1,13 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.implosionRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -63,8 +63,6 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower * 2)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
@@ -78,7 +76,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial, 1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
}
@@ -98,7 +96,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 2L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
}
} else {
@@ -112,7 +110,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
}
@@ -125,7 +123,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
.duration((int) Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L) != null) {
@@ -135,7 +133,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L) != null) {
@@ -145,7 +143,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 3L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L) != null) {
@@ -155,7 +153,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 4L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L) != null) {
@@ -165,7 +163,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 5L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L) != null) {
@@ -175,7 +173,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 9L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
}
}
@@ -191,7 +189,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 2L))
.duration(((int) Math.max(aMaterialMass, 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
}
} else {
@@ -206,7 +204,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -216,7 +214,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(3, aStack), new ItemStack(Blocks.tnt, 8))
.itemOutputs(
@@ -224,7 +222,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -234,7 +232,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
@@ -284,7 +282,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_ModHandler.getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 1))
.duration(100 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
}
}
@@ -300,7 +298,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 1L))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
@@ -313,8 +311,6 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower / 2)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
@@ -329,7 +325,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, 1L))
.duration(((int) Math.max(aMaterialMass, 1L)) * TICKS)
.eut(8)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
@@ -343,7 +339,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -353,7 +349,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(3, aStack), new ItemStack(Blocks.tnt, 8))
.itemOutputs(
@@ -361,7 +357,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -371,7 +367,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
@@ -398,7 +394,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawed, aMaterial, 1L))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
@@ -409,8 +405,6 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower * 8)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
@@ -435,7 +429,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemFlawless, aMaterial, 2L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
}
case gemFlawed -> {
@@ -445,8 +439,6 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
@@ -461,7 +453,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L))
.duration(((int) Math.max(aMaterialMass, 1L)) * TICKS)
.eut(12)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
@@ -475,7 +467,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -485,7 +477,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(3, aStack), new ItemStack(Blocks.tnt, 8))
.itemOutputs(
@@ -493,7 +485,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -503,7 +495,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
@@ -527,7 +519,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemChipped, aMaterial, 2L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver
@@ -538,7 +530,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 1L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
@@ -550,8 +542,6 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower * 4)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
@@ -568,7 +558,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
aPrefix.mMaterialAmount - OrePrefixes.stickLong.mMaterialAmount))
.duration(((int) Math.max(aMaterialMass * 5L, 1L)) * TICKS)
.eut(16)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
@@ -582,7 +572,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -592,7 +582,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(3, aStack), new ItemStack(Blocks.tnt, 8))
.itemOutputs(
@@ -600,7 +590,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(3, aStack),
@@ -610,7 +600,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 2))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
@@ -634,7 +624,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial, 2L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
for (ItemStack is : OreDictionary.getOres("craftingLens" + aMaterial.mColor.mName.replace(" ", ""))) { // Engraver
@@ -644,7 +634,7 @@ public class ProcessingGem implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L))
.duration(2 * MINUTES)
.eut(2000)
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
default -> {}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
index 3c54792eb5..3f7c442001 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingIngot.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.FUEL_TYPE;
@@ -57,8 +57,6 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
if (aMaterial.mStandardMoltenFluid != null
@@ -71,7 +69,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(aMaterial.getMolten(144L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
// Reverse recipes
{
@@ -111,7 +109,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 2L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
// Bender recipes
@@ -122,7 +120,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L) != null) {
@@ -131,7 +129,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L) != null) {
@@ -140,7 +138,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 3L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L) != null) {
@@ -149,7 +147,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 4L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L) != null) {
@@ -158,7 +156,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 5L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L) != null) {
@@ -167,7 +165,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 9L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 1L) != null) {
@@ -176,7 +174,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.foil, aMaterial, 4L))
.duration(Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
}
}
@@ -190,14 +188,14 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDouble, aMaterial, 1L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(2, aStack), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
// Enable crafting with hammer if tier is < IV.
@@ -220,14 +218,14 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateTriple, aMaterial, 1L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(3, aStack), GT_Utility.getIntegratedCircuit(3))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 3L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV && aSpecialRecipeReq
@@ -250,7 +248,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
// If tier < IV add manual crafting.
@@ -274,7 +272,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuintuple, aMaterial, 1L))
.duration(Math.max(aMaterialMass, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
// Crafting recipes
@@ -298,7 +296,7 @@ public class ProcessingIngot implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L))
.duration(((int) Math.max(aMaterialMass * 3L, 1L)) * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
}
default -> {}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
index 6b8d1cd67d..c3f73f7966 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLens.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import net.minecraft.item.ItemStack;
@@ -36,7 +36,7 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial, 1L))
.duration(1 * MINUTES)
.eut(TierEU.RECIPE_LV)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L))
@@ -45,7 +45,7 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
.duration(2 * MINUTES)
.eut(16)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
case "ChromaticGlass" -> {
GT_Values.RA.stdBuilder()
@@ -53,7 +53,7 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.lens, aMaterial, 1L))
.duration(10 * MINUTES)
.eut(TierEU.RECIPE_UHV)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
default -> {
if (GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L) != null) {
@@ -68,7 +68,7 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
}
recipeBuilder.duration(1 * MINUTES)
.eut(TierEU.RECIPE_MV)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.gemExquisite, aMaterial, 1L) != null) {
GT_RecipeBuilder recipeBuilder = GT_Values.RA.stdBuilder();
@@ -82,7 +82,7 @@ public class ProcessingLens implements gregtech.api.interfaces.IOreRecipeRegistr
}
recipeBuilder.duration(2 * MINUTES)
.eut(TierEU.RECIPE_LV)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
final ITexture lensCoverTexture = TextureFactory
.of(Textures.BlockIcons.OVERLAY_LENS, aMaterial.mRGBa, false);
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
index 2010a39f7c..7d36af7de3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingLog.java
@@ -1,14 +1,14 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.Railcraft;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -48,14 +48,14 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidOutputs(Materials.Methane.getGas(60L))
.duration(10 * SECONDS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RawRubber, 1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sExtractorRecipes);
+ .addTo(extractorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -63,14 +63,14 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.outputChances(10000, 3300)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(60L))
.duration(10 * SECONDS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -80,7 +80,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.outputChances(10000, 8000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
GT_ModHandler.addCraftingRecipe(
@@ -96,7 +96,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L))
.duration(8 * SECONDS)
.eut(7)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(2))
@@ -104,7 +104,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.SeedOil.getFluid(50L))
.duration(16 * TICKS)
.eut(7)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(8, aStack), GT_Utility.getIntegratedCircuit(8))
@@ -112,7 +112,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.SeedOil.getFluid(250L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -120,7 +120,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Creosote.getFluid(750L))
.duration(16 * TICKS)
.eut(TierEU.ULV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
short aMeta = (short) aStack.getItemDamage();
@@ -161,7 +161,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Lubricant.getFluid(1L))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(aStack.getItem(), 1, i))
.itemOutputs(
@@ -172,7 +172,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Water.getFluid(Math.min(1000, 200 * 8 / 320)))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(aStack.getItem(), 1, i))
.itemOutputs(
@@ -183,7 +183,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(GT_ModHandler.getDistilledWater(3))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(aStack.getItem(), 1, i))
.itemOutputs(
@@ -194,7 +194,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Lubricant.getFluid(1))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_ModHandler.addSawmillRecipe(
new ItemStack(aStack.getItem(), 1, i),
tPlanks,
@@ -237,7 +237,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Lubricant.getFluid(1L))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(
@@ -248,7 +248,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Water.getFluid(Math.min(1000, 200 * 8 / 320)))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(
@@ -259,7 +259,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(GT_ModHandler.getDistilledWater(3))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(
@@ -270,7 +270,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidInputs(Materials.Lubricant.getFluid(1))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_ModHandler.addSawmillRecipe(
GT_Utility.copyAmount(1, aStack),
tPlanks,
@@ -306,7 +306,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(32 * SECONDS)
.eut(64)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -315,7 +315,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(16 * SECONDS)
.eut(96)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(3))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -323,7 +323,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(32 * SECONDS)
.eut(64)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(4))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -332,7 +332,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(16 * SECONDS)
.eut(96)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(5))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -340,7 +340,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(32 * SECONDS)
.eut(64)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(6))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -349,7 +349,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(16 * SECONDS)
.eut(96)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(7))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -357,7 +357,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(32 * SECONDS)
.eut(64)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(8))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -366,7 +366,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(16 * SECONDS)
.eut(96)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(9))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -374,7 +374,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(32 * SECONDS)
.eut(64)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(10))
.itemOutputs(Materials.Charcoal.getGems(20))
@@ -383,7 +383,7 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(16 * SECONDS)
.eut(96)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, logStack), GT_Utility.getIntegratedCircuit(11))
.itemOutputs(Materials.Ash.getDust(4))
@@ -391,6 +391,6 @@ public class ProcessingLog implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(16 * SECONDS)
.eut(192)
.noOptimize()
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java
index 59559d3554..380d42f360 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingNugget.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -14,6 +14,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeCategories;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_RecipeRegistrator;
@@ -36,7 +37,7 @@ public class ProcessingNugget implements gregtech.api.interfaces.IOreRecipeRegis
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, aMaterial.mSmeltInto, 1L))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 2))
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
if ((!aMaterial.contains(SubTag.SMELTING_TO_GEM))
@@ -46,7 +47,8 @@ public class ProcessingNugget implements gregtech.api.interfaces.IOreRecipeRegis
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mSmeltInto, 1L))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 2))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
}
if (aMaterial.mStandardMoltenFluid != null) {
@@ -57,7 +59,7 @@ public class ProcessingNugget implements gregtech.api.interfaces.IOreRecipeRegis
.fluidInputs(aMaterial.getMolten(16L))
.duration(16 * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
@@ -73,7 +75,8 @@ public class ProcessingNugget implements gregtech.api.interfaces.IOreRecipeRegis
.itemOutputs(GT_Utility.copyAmount(9, aStack))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 1))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.nugget, aMaterial, 8L),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
index ee715d7f91..40bfc41223 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOre.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
@@ -49,7 +49,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.fluidOutputs(Materials.OilHeavy.getFluid(tIsRich ? 4000L : 2000L))
.duration(tIsRich ? 30 * SECONDS : 15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
} else {
registerStandardOreRecipes(
aPrefix,
@@ -149,7 +149,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(tSmeltInto.stackSize * 25 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1500)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
aOreStack,
@@ -160,7 +160,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(tSmeltInto.stackSize * 25 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1500)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
} else if (aMaterial.contains(SubTag.BLASTFURNACE_CALCITE_DOUBLE)) {
if (aMaterial.mAutoGenerateBlastFurnaceRecipes) {
@@ -174,7 +174,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(tSmeltInto.stackSize * 25 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1500)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
aOreStack,
@@ -185,7 +185,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.duration(tSmeltInto.stackSize * 25 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1500)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
}
}
@@ -205,7 +205,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.itemOutputs(GT_Utility.copy(GT_Utility.copyAmount(tCrushed.stackSize, tGem), tCrushed))
.duration(10)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
int chanceOre2 = tPrimaryByProduct == null ? 0
: tPrimaryByProduct.stackSize * 10 * aMultiplier * aMaterial.mByProductMultiplier;
@@ -226,7 +226,7 @@ public class ProcessingOre implements gregtech.api.interfaces.IOreRecipeRegistra
.outputChances(10000, chanceOre2, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
return true;
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java
index 20ceb97e5e..ac9106d31b 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOrePoor.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -48,7 +48,7 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, aMaterial, aMultiplier))
.duration(10)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -62,7 +62,7 @@ public class ProcessingOrePoor implements gregtech.api.interfaces.IOreRecipeRegi
.outputChances(10000, 100 * 5 * aMultiplier, 10000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
if (aMaterial.contains(SubTag.NO_SMELTING)) GT_ModHandler.addSmeltingRecipe(
GT_Utility.copyAmount(1, aStack),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
index 1697bdd462..93458ee467 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingOreSmelting.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.primitiveBlastRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.ADDITIVE_AMOUNT;
@@ -57,7 +57,7 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
.duration(Math.max(aMaterial.getMass() / 4L, 1L) * aMaterial.mBlastFurnaceTemp * TICKS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, (int) aMaterial.mBlastFurnaceTemp)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
} else {
OrePrefixes outputPrefix;
@@ -88,9 +88,8 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
.itemInputs(GT_Utility.copyAmount(2, aStack))
.itemOutputs(aMaterial.mDirectSmelting.getIngots(outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
} else if (aMaterial == Materials.Chalcopyrite) {
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2), new ItemStack(Blocks.sand, 2))
@@ -98,54 +97,48 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Ferrosilite.getDustSmall(2 * outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2), Materials.Glass.getDust(2))
.itemOutputs(
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Ferrosilite.getDustSmall(7 * outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2), Materials.SiliconDioxide.getDust(2))
.itemOutputs(
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Ferrosilite.getDustSmall(outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2), Materials.Quartzite.getDust(4))
.itemOutputs(
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Ferrosilite.getDustSmall(outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2), Materials.NetherQuartz.getDust(2))
.itemOutputs(
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Ferrosilite.getDustSmall(outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2), Materials.CertusQuartz.getDust(2))
.itemOutputs(
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Ferrosilite.getDustSmall(outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
} else if (aMaterial == Materials.Tetrahedrite) {
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2))
@@ -153,9 +146,8 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Antimony.getNuggets(3 * outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
} else if (aMaterial == Materials.Galena) {
GT_Values.RA.stdBuilder()
.itemInputs(aMaterial.getDust(2))
@@ -163,9 +155,8 @@ public class ProcessingOreSmelting implements gregtech.api.interfaces.IOreRecipe
aMaterial.mDirectSmelting.getIngots(outputAmount),
Materials.Silver.getNuggets(3 * outputAmount))
.duration(2 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
}
}
case dustImpure:
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java
index b49f701698..1f97e1e32a 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPipe.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-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 static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -97,7 +97,7 @@ public class ProcessingPipe implements gregtech.api.interfaces.IOreRecipeRegistr
.duration(
((int) (aPrefix.mSecondaryMaterial.mAmount * 400L / OrePrefixes.ring.mMaterialAmount)) * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
case pipeQuadruple -> {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -115,7 +115,7 @@ public class ProcessingPipe implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeQuadruple, aMaterial, 1))
.duration(3 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
case pipeNonuple -> {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
@@ -133,7 +133,7 @@ public class ProcessingPipe implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeNonuple, aMaterial, 1))
.duration(3 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
default -> {}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java
index 7e28e64674..b28b997a93 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlank.java
@@ -1,8 +1,8 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -33,7 +33,7 @@ public class ProcessingPlank implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 2L))
.duration(10 * TICKS)
.eut(8)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(1, aStack),
@@ -41,7 +41,7 @@ public class ProcessingPlank implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(ItemList.Crate_Empty.get(1L))
.duration(10 * SECONDS)
.eut(1)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(1, aStack),
@@ -49,7 +49,7 @@ public class ProcessingPlank implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(ItemList.Crate_Empty.get(1L))
.duration(10 * SECONDS)
.eut(1)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(1, aStack),
@@ -57,19 +57,19 @@ public class ProcessingPlank implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(ItemList.Crate_Empty.get(1L))
.duration(10 * SECONDS)
.eut(1)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(8, aStack), GT_Utility.getIntegratedCircuit(8))
.itemOutputs(new ItemStack(Blocks.chest, 1))
.duration(40 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(6, aStack), new ItemStack(Items.book, 3))
.itemOutputs(new ItemStack(Blocks.bookshelf, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
if (aStack.getItemDamage() == 32767) {
for (byte i = 0; i < 64; i = (byte) (i + 1)) {
@@ -83,21 +83,21 @@ public class ProcessingPlank implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Water.getFluid(4))
.duration(2 * 25 * TICKS)
.eut(4)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, tStack))
.itemOutputs(GT_Utility.copyAmount(tOutput.stackSize / 3, tOutput))
.fluidInputs(GT_ModHandler.getDistilledWater(3))
.duration(2 * 25 * TICKS)
.eut(4)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, tStack))
.itemOutputs(GT_Utility.copyAmount(tOutput.stackSize / 3, tOutput))
.fluidInputs(Materials.Lubricant.getFluid(1))
.duration(25 * TICKS)
.eut(4)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_ModHandler.removeRecipeDelayed(tStack, tStack, tStack);
GT_ModHandler.addCraftingRecipe(
GT_Utility.copyAmount(tOutput.stackSize / 3, tOutput),
@@ -117,21 +117,21 @@ public class ProcessingPlank implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Water.getFluid(4))
.duration(2 * 25)
.eut(4)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(GT_Utility.copyAmount(tOutput.stackSize / 3, tOutput))
.fluidInputs(GT_ModHandler.getDistilledWater(3))
.duration(2 * 25)
.eut(4)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(GT_Utility.copyAmount(tOutput.stackSize / 3, tOutput))
.fluidInputs(Materials.Lubricant.getFluid(1))
.duration(25)
.eut(4)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_ModHandler.removeRecipeDelayed(aStack, aStack, aStack);
GT_ModHandler.addCraftingRecipe(
GT_Utility.copyAmount(tOutput.stackSize / 3, tOutput),
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
index d80e3b1c1e..88f39309cf 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPlate.java
@@ -4,15 +4,15 @@ import static gregtech.api.enums.ConfigCategories.Recipes.harderrecipes;
import static gregtech.api.enums.GT_Values.L;
import static gregtech.api.enums.GT_Values.NI;
import static gregtech.api.enums.GT_Values.W;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.implosionRecipes;
import static gregtech.api.util.GT_ModHandler.RecipeBits.BUFFERED;
import static gregtech.api.util.GT_ModHandler.RecipeBits.DO_NOT_CHECK_FOR_COLLISIONS;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -36,6 +36,7 @@ import gregtech.api.enums.SubTag;
import gregtech.api.enums.TextureSet;
import gregtech.api.enums.TierEU;
import gregtech.api.enums.ToolDictNames;
+import gregtech.api.recipe.RecipeCategories;
import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
@@ -104,8 +105,6 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, aMaterial.mFuelPower)
.metadata(FUEL_TYPE, aMaterial.mFuelType)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
@@ -117,7 +116,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(aMaterial.getMolten(L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
GT_ModHandler.addCraftingRecipe(
@@ -195,7 +194,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateQuadruple, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
// 2 plates -> 1 double plate
GT_Values.RA.stdBuilder()
@@ -205,7 +204,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(Math.max(aMaterialMass * 2L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -215,7 +214,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Glue.getFluid(10L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!aNoSmashing) {
@@ -253,7 +252,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateDense, aMaterial, 1L))
.duration(Math.max(aMaterialMass * 3L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
GT_Values.RA.stdBuilder()
@@ -263,7 +262,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(Math.max(aMaterialMass * 3L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -273,7 +272,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Glue.getFluid(20L))
.duration(4 * SECONDS + 16 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!aNoSmashing) {
@@ -310,7 +309,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_ModHandler.getIC2Item("dynamite", 1, null))
.itemOutputs(
@@ -318,7 +317,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), new ItemStack(Blocks.tnt, 2))
.itemOutputs(
@@ -326,7 +325,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_ModHandler.getIC2Item("industrialTnt", 1))
.itemOutputs(
@@ -334,7 +333,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.DarkAsh, 1L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
@@ -354,7 +353,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(Math.max(aMaterialMass * 4L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -364,7 +363,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Glue.getFluid(30L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!aNoSmashing) {
if (GregTech_API.sRecipeFile.get(
@@ -408,7 +407,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(Math.max(aMaterialMass * 5L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -418,7 +417,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Glue.getFluid(40L))
.duration(8 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!aNoSmashing) {
if (GregTech_API.sRecipeFile.get(
@@ -462,7 +461,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(Math.max(aMaterialMass * 9L, 1L))
.eut(calculateRecipeEU(aMaterial, 96))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
}
@@ -478,7 +477,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(aMaterial.getMolten(L / 2))
.duration(16 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (aMaterial.mUnificatable && aMaterial.mMaterialInto == aMaterial
@@ -508,7 +507,8 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(3, aStack))
.duration(6 * SECONDS + 8 * TICKS)
.eut(calculateRecipeEU(aMaterial, 15))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -517,7 +517,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, aMaterial, 2L))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 45))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L) != null) {
@@ -533,7 +533,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
((int) Math.max(aMaterial.getMass(), 1L)) * (calculateRecipeEU(aMaterial, 16)) / 320))))
.duration(2 * ((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
@@ -547,7 +547,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
((int) Math.max(aMaterial.getMass(), 1L)) * (calculateRecipeEU(aMaterial, 16)) / 426))))
.duration(2 * ((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial, 1L))
@@ -562,7 +562,7 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
/ 1280))))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
GT_RecipeRegistrator.registerReverseFluidSmelting(aStack, aMaterial, aPrefix.mMaterialAmount, null);
}
@@ -576,20 +576,20 @@ public class ProcessingPlate implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_ModHandler.getIC2Item("windMill", 1L))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), new ItemStack(Blocks.glass, 3, W))
.itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), Materials.Glass.getDust(3))
.itemOutputs(GT_ModHandler.getIC2Item("reinforcedGlass", 4L))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
case "plateAlloyAdvanced" -> {
GT_ModHandler.addAlloySmelterRecipe(
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java
index bafc7402b5..01262d32f4 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingPure.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -28,7 +28,7 @@ public class ProcessingPure implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustPure, aMaterial.mMacerateInto, 1L))
.duration(10)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -45,6 +45,6 @@ public class ProcessingPure implements gregtech.api.interfaces.IOreRecipeRegistr
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java
index 153011c639..bfa580b4c4 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRecycling.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.cannerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import net.minecraft.item.ItemStack;
@@ -39,7 +39,7 @@ public class ProcessingRecycling implements gregtech.api.interfaces.IOreRecipeRe
}
recipeBuilder.duration(((int) Math.max(aMaterial.getMass() / 2L, 1L)) * TICKS)
.eut(2)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRotor.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRotor.java
index b004a68515..3548bd437b 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRotor.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRotor.java
@@ -1,8 +1,8 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -51,7 +51,7 @@ public class ProcessingRotor implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Tin.getMolten(32))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(tPlate.copy(), tRing.copy(), GT_Utility.getIntegratedCircuit(4))
@@ -59,7 +59,7 @@ public class ProcessingRotor implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.Lead.getMolten(48))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(tPlate.copy(), tRing.copy(), GT_Utility.getIntegratedCircuit(4))
@@ -67,7 +67,7 @@ public class ProcessingRotor implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(Materials.SolderingAlloy.getMolten(16))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) {
@@ -78,7 +78,7 @@ public class ProcessingRotor implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.rotor, aMaterial, 1L))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (aMaterial.mStandardMoltenFluid != null) {
if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
@@ -89,7 +89,7 @@ public class ProcessingRotor implements gregtech.api.interfaces.IOreRecipeRegist
.fluidInputs(aMaterial.getMolten(612L))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 24))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java
index 390894b3af..0eb2cb3dd0 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingRound.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import net.minecraft.item.ItemStack;
@@ -31,7 +31,7 @@ public class ProcessingRound implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(((int) Math.max(aMaterial.getMass() / 4L, 1L)) * TICKS)
.eut(8)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java
index 6ceec81e96..b1996d067f 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSand.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.init.Blocks;
@@ -30,7 +30,7 @@ public class ProcessingSand implements gregtech.api.interfaces.IOreRecipeRegistr
new ItemStack(Blocks.sand, 1, 0))
.duration(50 * SECONDS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
index 4205b25fa0..f13c2aa9b5 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSaplings.java
@@ -1,8 +1,8 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -29,14 +29,14 @@ public class ProcessingSaplings implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(8, aStack))
.itemOutputs(ItemList.IC2_Plantball.get(1L))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -45,6 +45,6 @@ public class ProcessingSaplings implements gregtech.api.interfaces.IOreRecipeReg
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Wood, 1L))
.duration(16 * TICKS)
.eut(8)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java
index 5b8ace9ce1..afafe8525d 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingScrew.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -32,7 +32,7 @@ public class ProcessingScrew implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(((int) Math.max(aMaterial.getMass() / 8L, 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial))
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java
index 06860e0a61..3c25574798 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingShaping.java
@@ -1,8 +1,8 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -17,6 +17,7 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeCategories;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
@@ -55,7 +56,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial.mSmeltInto, tAmount))
.duration((10 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
// Allow creation of alloy smelter recipes for material recycling if < IV tier.
if (tTrueVoltage < TierEU.IV) {
@@ -64,7 +65,8 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, aMaterial.mSmeltInto, tAmount))
.duration((5 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4 * tVoltageMultiplier))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
}
}
if ((aPrefix != OrePrefixes.ingot || aMaterial != aMaterial.mSmeltInto)
@@ -74,7 +76,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial.mSmeltInto, tAmount))
.duration(10 * TICKS)
.eut(calculateRecipeEU(aMaterial, 4 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeTiny, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -82,7 +84,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeTiny, aMaterial.mSmeltInto, tAmount * 2))
.duration((4 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeSmall, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -90,7 +92,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeSmall, aMaterial.mSmeltInto, tAmount))
.duration((8 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeMedium, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -98,7 +100,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeMedium, aMaterial.mSmeltInto, tAmount))
.duration((24 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeLarge, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -106,7 +108,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeLarge, aMaterial.mSmeltInto, tAmount))
.duration((48 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeHuge, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -114,7 +116,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.pipeHuge, aMaterial.mSmeltInto, tAmount))
.duration((96 * tAmount) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -122,7 +124,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -130,7 +132,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gearGtSmall, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -138,7 +140,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (!(aMaterial == Materials.AnnealedCopper || aMaterial == Materials.WroughtIron)) {
@@ -150,7 +152,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(36L))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 4 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.screw, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -159,7 +161,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(18L))
.duration(2 * SECONDS + 10 * TICKS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -168,7 +170,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(72L))
.duration(7 * SECONDS + 10 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -177,7 +179,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(18L))
.duration(2 * SECONDS + 10 * TICKS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.round, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -186,7 +188,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(18L))
.duration(2 * SECONDS + 10 * TICKS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -195,7 +197,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(144L))
.duration(15 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -204,7 +206,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(864L))
.duration(20 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeTiny, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -213,7 +215,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(72L))
.duration(1 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeSmall, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -222,7 +224,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(144L))
.duration(2 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeMedium, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -231,7 +233,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(432L))
.duration(4 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeLarge, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -240,7 +242,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(864L))
.duration(8 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.pipeHuge, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -249,7 +251,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.fluidInputs(aMaterial.getMolten(1728L))
.duration(16 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
}
@@ -262,7 +264,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mSmeltInto, tAmount * 2))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 6 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
} else {
if (GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mSmeltInto, 1L) != null) {
@@ -272,7 +274,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.get(OrePrefixes.stick, aMaterial.mSmeltInto, tAmount * 2))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
}
}
@@ -284,7 +286,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.get(OrePrefixes.wireGt01, aMaterial.mSmeltInto, tAmount * 2))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 6 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
}
if (tAmount * 8 <= 64) {
@@ -294,7 +296,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial.mSmeltInto, tAmount * 8))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
}
if (tAmount * 4 <= 64) {
@@ -304,7 +306,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ring, aMaterial.mSmeltInto, tAmount * 4))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 6 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)
&& !aMaterial.contains(SubTag.NO_SMASHING)) {
@@ -325,7 +327,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadSword, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -334,7 +336,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.get(OrePrefixes.toolHeadPickaxe, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 3L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -343,7 +345,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 1L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -351,7 +353,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 3L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -359,7 +361,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -368,7 +370,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
GT_OreDictUnificator.get(OrePrefixes.toolHeadHammer, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 6L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadFile, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -376,7 +378,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadFile, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.toolHeadSaw, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -384,7 +386,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadSaw, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial.mSmeltInto, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -392,7 +394,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 5L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 8 * tVoltageMultiplier))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (!(aMaterial == Materials.StyreneButadieneRubber || aMaterial == Materials.Silicone)) {
@@ -403,7 +405,8 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
}
}
} else {
@@ -415,7 +418,8 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 2L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
}
}
}
@@ -428,7 +432,8 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gearGt, aMaterial.mSmeltInto, tAmount))
.duration(((int) Math.max(aMaterialMass * 10L * tAmount, tAmount)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 2 * tVoltageMultiplier))
- .addTo(sAlloySmelterRecipes);
+ .recipeCategory(RecipeCategories.alloySmelterMolding)
+ .addTo(alloySmelterRecipes);
}
}
@@ -439,13 +444,13 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(new ItemStack(Items.glass_bottle, 1))
.duration((tAmount * 32) * TICKS)
.eut(16)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), ItemList.Shape_Mold_Bottle.get(0L))
.itemOutputs(new ItemStack(Items.glass_bottle, 1))
.duration((tAmount * 64) * TICKS)
.eut(4)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
case "Steel" -> {
GT_Values.RA.stdBuilder()
@@ -453,14 +458,14 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(ItemList.Cell_Empty.get(tAmount))
.duration((tAmount * 128) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), ItemList.Shape_Extruder_Casing.get(0L))
.itemOutputs(GT_ModHandler.getIC2Item("casingadviron", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -468,7 +473,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingadviron", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Iron", "WroughtIron" -> {
@@ -477,14 +482,14 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("fuelRod", tAmount))
.duration((tAmount * 128) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), ItemList.Shape_Extruder_Casing.get(0L))
.itemOutputs(GT_ModHandler.getIC2Item("casingiron", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -492,7 +497,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingiron", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
if (tAmount * 31 <= 64) {
GT_Values.RA.stdBuilder()
@@ -500,7 +505,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(new ItemStack(Blocks.anvil, 1, 0))
.duration((tAmount * 512) * TICKS)
.eut(4 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Tin" -> {
@@ -509,14 +514,14 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(ItemList.Cell_Empty.get(tAmount))
.duration((tAmount * 128) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), ItemList.Shape_Extruder_Casing.get(0L))
.itemOutputs(GT_ModHandler.getIC2Item("casingtin", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -524,7 +529,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingtin", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Lead" -> {
@@ -534,7 +539,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casinglead", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -542,7 +547,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casinglead", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Copper", "AnnealedCopper" -> {
@@ -552,7 +557,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingcopper", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -560,7 +565,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingcopper", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Bronze" -> {
@@ -570,7 +575,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingbronze", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -578,7 +583,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casingbronze", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Gold" -> {
@@ -588,7 +593,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casinggold", tAmount * 2))
.duration((tAmount * 32) * TICKS)
.eut(3 * tVoltageMultiplier)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
if (tAmount * 2 <= 64) {
GT_Values.RA.stdBuilder()
@@ -596,7 +601,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(GT_ModHandler.getIC2Item("casinggold", tAmount * 3))
.duration((tAmount * 128) * TICKS)
.eut(1 * tVoltageMultiplier)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
case "Polytetrafluoroethylene" -> {
@@ -605,7 +610,7 @@ public class ProcessingShaping implements gregtech.api.interfaces.IOreRecipeRegi
.itemOutputs(ItemList.Cell_Empty.get(tAmount * 4))
.duration((tAmount * 128) * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java
index 72a5ccc960..35947755d3 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingSlab.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.Railcraft;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -29,7 +29,7 @@ public class ProcessingSlab implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Creosote.getFluid(300L))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java
index 55a785b9fd..e5aac7bfe7 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStick.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -49,7 +49,7 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
GT_OreDictUnificator.get(OrePrefixes.dustSmall, aMaterial.mMacerateInto, 2L))
.duration(((int) Math.max(aMaterial.getMass() * 5L, 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.bolt, aMaterial, 1L) != null) {
@@ -68,7 +68,7 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
/ 320))))
.duration(2 * ((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -84,7 +84,7 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
/ 426))))
.duration(2 * ((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -99,7 +99,7 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
/ 1280))))
.duration(((int) Math.max(aMaterial.getMass() * 2L, 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
if ((aMaterial.mUnificatable) && (aMaterial.mMaterialInto == aMaterial)) {
@@ -124,7 +124,7 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
}
@@ -134,7 +134,7 @@ public class ProcessingStick implements gregtech.api.interfaces.IOreRecipeRegist
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stickLong, aMaterial, 1L))
.duration(Math.max(aMaterial.getMass(), 1L))
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java
index c318e12ad0..1f00300264 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStickLong.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -49,7 +49,7 @@ public class ProcessingStickLong implements gregtech.api.interfaces.IOreRecipeRe
/ 320))))
.duration(2 * ((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -64,7 +64,7 @@ public class ProcessingStickLong implements gregtech.api.interfaces.IOreRecipeRe
/ 426))))
.duration(2 * ((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -79,7 +79,7 @@ public class ProcessingStickLong implements gregtech.api.interfaces.IOreRecipeRe
/ 1280))))
.duration(((int) Math.max(aMaterial.getMass(), 1L)) * TICKS)
.eut(calculateRecipeEU(aMaterial, 4))
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
if (aMaterial.mUnificatable && (aMaterial.mMaterialInto == aMaterial)) {
@@ -104,7 +104,7 @@ public class ProcessingStickLong implements gregtech.api.interfaces.IOreRecipeRe
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.spring, aMaterial, 1L))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 16))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java
index c423e91308..199feeb08e 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStone.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
import static gregtech.api.enums.Mods.Railcraft;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.block.Block;
@@ -39,7 +39,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Redstone.getMolten(144L))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
break;
case "Sand":
GT_Values.RA.stdBuilder()
@@ -47,7 +47,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.itemOutputs(new ItemStack(Blocks.sand, 1, 0))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Endstone":
GT_Values.RA.stdBuilder()
@@ -58,7 +58,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 500)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Netherrack":
GT_Values.RA.stdBuilder()
@@ -69,7 +69,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 500)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "NetherBrick":
GT_Values.RA.stdBuilder()
@@ -77,7 +77,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.itemOutputs(new ItemStack(Blocks.nether_brick_fence, 1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
break;
case "Obsidian":
if (aBlock != Blocks.air) aBlock.setResistance(20.0F);
@@ -87,7 +87,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.itemOutputs(ItemList.IC2_Compressed_Coal_Chunk.get(1L))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -97,7 +97,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Concrete":
GT_Values.RA.stdBuilder()
@@ -106,7 +106,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, 200 * 30 / 320))))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -114,7 +114,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, 200 * 30 / 426))))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -122,14 +122,14 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, 100 * 30 / 1280))))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Rhyolite":
GT_Values.RA.stdBuilder()
@@ -140,7 +140,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 2000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Komatiite":
GT_Values.RA.stdBuilder()
@@ -151,7 +151,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 500)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Dacite":
case "Andesite":
@@ -163,7 +163,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 2000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Gabbro":
GT_Values.RA.stdBuilder()
@@ -174,7 +174,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 2000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Eclogite":
GT_Values.RA.stdBuilder()
@@ -185,7 +185,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Soapstone":
GT_Values.RA.stdBuilder()
@@ -196,7 +196,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Greenschist":
case "Blueschist":
@@ -208,7 +208,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Gneiss":
case "Migmatite":
@@ -220,7 +220,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Redrock":
case "Marble":
@@ -230,7 +230,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, 400 * 30 / 320))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -238,7 +238,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, 400 * 30 / 426))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -246,7 +246,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, 200 * 30 / 1280))))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
case "Basalt":
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
@@ -254,7 +254,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, 400 * 30 / 320))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
@@ -262,7 +262,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, 400 * 30 / 426))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack), GT_Utility.getIntegratedCircuit(3))
@@ -270,7 +270,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, 200 * 30 / 1280))))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
case "Quartzite":
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -280,7 +280,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "Flint":
GT_Values.RA.stdBuilder()
@@ -291,7 +291,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "GraniteBlack":
GT_Values.RA.stdBuilder()
@@ -300,7 +300,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, 400 * 30 / 320))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -308,7 +308,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, 400 * 30 / 426))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -316,7 +316,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, 200 * 30 / 1280))))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -326,7 +326,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 100)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
break;
case "GraniteRed":
GT_Values.RA.stdBuilder()
@@ -335,7 +335,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, 400 * 30 / 320))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -343,7 +343,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, 400 * 30 / 426))))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -351,7 +351,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, 200 * 30 / 1280))))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(1, aStack))
@@ -361,7 +361,7 @@ public class ProcessingStone implements IOreRecipeRegistrator {
.outputChances(10000, 100)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java
index 7e6dcb9863..fb9431e8e4 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingStoneCobble.java
@@ -1,6 +1,6 @@
package gregtech.loaders.oreprocessing;
-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;
@@ -25,6 +25,6 @@ public class ProcessingStoneCobble implements gregtech.api.interfaces.IOreRecipe
.itemOutputs(new ItemStack(Blocks.furnace, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
index 72b409bb86..4b610fea8e 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingToolHead.java
@@ -1,9 +1,9 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
+import static gregtech.api.recipe.RecipeMaps.formingPressRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -67,7 +67,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.fluidInputs(aMaterial.getMolten(36L))
.duration(16 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (aSpecialRecipeReq2) {
GT_ModHandler.addCraftingRecipe(
@@ -101,7 +101,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (aSpecialRecipeReq1) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadAxe, aMaterial, 1L),
@@ -532,7 +532,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.fluidInputs(aMaterial.getMolten(144 * 4))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
if (GT_OreDictUnificator.get(OrePrefixes.ingot, aMaterial, 1L) != null) {
GT_Values.RA.stdBuilder()
@@ -542,7 +542,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.toolHeadDrill, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
}
}
@@ -588,7 +588,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case toolHeadHoe -> {
@@ -617,7 +617,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (aSpecialRecipeReq1) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadHoe, aMaterial, 1L),
@@ -667,7 +667,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case toolHeadPlow -> {
@@ -707,7 +707,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case toolHeadSaw -> {
@@ -748,7 +748,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case toolHeadSense -> {
@@ -789,7 +789,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case toolHeadShovel -> {
@@ -816,7 +816,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (aSpecialRecipeReq1) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadShovel, aMaterial, 1L),
@@ -866,7 +866,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case toolHeadUniversalSpade -> {
@@ -892,7 +892,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (aSpecialRecipeReq2) GT_ModHandler.addCraftingRecipe(
GT_OreDictUnificator.get(OrePrefixes.toolHeadUniversalSpade, aMaterial, 1L),
@@ -1163,7 +1163,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
null))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, (int) TierEU.RECIPE_MV))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if ((aMaterial != Materials.Stone) && (aMaterial != Materials.Flint)) {
GT_ModHandler.addShapelessCraftingRecipe(
@@ -1217,7 +1217,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(170, 1, aMaterial, aMaterial, null))
.duration(8 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 100))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 8L),
@@ -1225,7 +1225,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(172, 1, aMaterial, aMaterial, null))
.duration(16 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 400))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 12L),
@@ -1233,7 +1233,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(174, 1, aMaterial, aMaterial, null))
.duration(32 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 1600))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 16L),
@@ -1241,7 +1241,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_MetaGenerated_Tool_01.INSTANCE.getToolWithStats(176, 1, aMaterial, aMaterial, null))
.duration(1 * MINUTES + 4 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 6400))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
if (aSpecialRecipeReq2) {
if (aMaterial.getProcessingMaterialTierEU() < TierEU.IV) {
GT_ModHandler.addCraftingRecipe(
@@ -1263,7 +1263,7 @@ public class ProcessingToolHead implements gregtech.api.interfaces.IOreRecipeReg
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.turbineBlade, aMaterial, 1L))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 60))
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java
index 6b8d758a2f..4e3febc469 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingTransforming.java
@@ -1,7 +1,7 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPolarizerRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.polarizerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -44,7 +44,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.getFluid(GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 120L, true)))
.duration(5 * SECONDS)
.eut(TierEU.ULV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
@@ -60,7 +60,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 250L, true)))
.duration(5 * SECONDS)
.eut(TierEU.ULV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
@@ -72,7 +72,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L))
.duration(((int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M)) * TICKS)
.eut((int) TierEU.LV / 2)
- .addTo(sPolarizerRecipes);
+ .addTo(polarizerRecipes);
}
}
}
@@ -88,7 +88,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 225L, true)))
.duration(5 * SECONDS)
.eut(TierEU.ULV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
@@ -100,7 +100,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.IronMagnetic, 1L))
.duration(((int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M)) * TICKS)
.eut((int) TierEU.LV / 2)
- .addTo(sPolarizerRecipes);
+ .addTo(polarizerRecipes);
}
}
}
@@ -116,7 +116,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
GT_Utility.translateMaterialToAmount(aPrefix.mMaterialAmount, 200L, true)))
.duration(5 * SECONDS)
.eut(TierEU.ULV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
@@ -128,7 +128,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.SteelMagnetic, 1L))
.duration(((int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M)) * TICKS)
.eut((int) TierEU.LV / 2)
- .addTo(sPolarizerRecipes);
+ .addTo(polarizerRecipes);
}
}
}
@@ -141,7 +141,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.NeodymiumMagnetic, 1L))
.duration(((int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M)) * TICKS)
.eut((int) TierEU.HV / 2)
- .addTo(sPolarizerRecipes);
+ .addTo(polarizerRecipes);
}
}
case "Samarium" ->
@@ -153,7 +153,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.SamariumMagnetic, 1L))
.duration(((int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M)) * TICKS)
.eut((int) TierEU.IV / 2)
- .addTo(sPolarizerRecipes);
+ .addTo(polarizerRecipes);
}
}
@@ -166,7 +166,7 @@ public class ProcessingTransforming implements IOreRecipeRegistrator {
.itemOutputs(GT_OreDictUnificator.get(aPrefix, Materials.TengamAttuned, 1L))
.duration(((int) Math.max(16L, aPrefix.mMaterialAmount * 128L / GT_Values.M)) * TICKS)
.eut((int) TierEU.RECIPE_UHV)
- .addTo(sPolarizerRecipes);
+ .addTo(polarizerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java
index 127f7465b9..7635546d23 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWax.java
@@ -25,8 +25,6 @@ public class ProcessingWax implements gregtech.api.interfaces.IOreRecipeRegistra
.itemInputs(GT_Utility.copyAmount(1, aStack))
.metadata(FUEL_VALUE, 6)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
}
diff --git a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
index 95071a3322..1f5bd5f1c2 100644
--- a/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
+++ b/src/main/java/gregtech/loaders/oreprocessing/ProcessingWire.java
@@ -1,11 +1,11 @@
package gregtech.loaders.oreprocessing;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sUnboxinatorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
+import static gregtech.api.recipe.RecipeMaps.packagerRecipes;
+import static gregtech.api.recipe.RecipeMaps.unpackagerRecipes;
+import static gregtech.api.recipe.RecipeMaps.wiremillRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_Utility.calculateRecipeEU;
@@ -70,7 +70,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.springSmall, aMaterial, 2L))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
}
}
@@ -82,7 +82,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireFine, aMaterial, 4L))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
}
}
@@ -105,31 +105,31 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt02, aMaterial, 1L))
.duration(7 * SECONDS + 10 * TICKS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(4, aStack), GT_Utility.getIntegratedCircuit(4))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt04, aMaterial, 1L))
.duration(10 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(8, aStack), GT_Utility.getIntegratedCircuit(8))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt08, aMaterial, 1L))
.duration(15 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(12, aStack), GT_Utility.getIntegratedCircuit(12))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt12, aMaterial, 1L))
.duration(20 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(16, aStack), GT_Utility.getIntegratedCircuit(16))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.wireGt16, aMaterial, 1L))
.duration(25 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
case wireGt02 -> {
@@ -256,7 +256,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
}
// alloy smelter recipes
{
@@ -267,7 +267,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cableGt01, aMaterial, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 2L),
@@ -275,7 +275,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cableGt02, aMaterial, 1L))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 4L),
@@ -283,7 +283,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cableGt04, aMaterial, 1L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
// Assembler recipes
{
@@ -294,7 +294,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Rubber.getMolten(144L * costMultiplier))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, GT_Utility.getIntegratedCircuit(24))
@@ -302,7 +302,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.StyreneButadieneRubber.getMolten(108L * costMultiplier))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, GT_Utility.getIntegratedCircuit(24))
@@ -310,7 +310,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Silicone.getMolten(72L * costMultiplier))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
for (Materials dielectric : dielectrics) {
for (Materials syntheticRubber : syntheticRubbers) {
@@ -321,7 +321,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 144L))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, dielectric.getDustSmall(costMultiplier))
@@ -329,7 +329,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 36L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
}
@@ -347,7 +347,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Rubber.getMolten(144 * costMultiplier))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, GT_Utility.getIntegratedCircuit(24))
@@ -355,7 +355,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.StyreneButadieneRubber.getMolten(108 * costMultiplier))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, GT_Utility.getIntegratedCircuit(24))
@@ -363,7 +363,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Silicone.getMolten(72 * costMultiplier))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
for (Materials dielectric : dielectrics) {
for (Materials syntheticRubber : syntheticRubbers) {
@@ -374,7 +374,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 144L))
.duration(20 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(aStack, dielectric.getDustSmall(costMultiplier))
@@ -382,7 +382,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 36L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
}
@@ -402,7 +402,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Silicone.getMolten(costMultiplier * 72))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -413,7 +413,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(Materials.Silicone.getMolten(costMultiplier * 72))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
for (Materials dielectric : dielectrics) {
for (Materials syntheticRubber : syntheticRubbers) {
@@ -427,7 +427,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 144L))
.duration(20 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_Utility.copyAmount(4, aStack),
@@ -438,7 +438,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 144L))
.duration(20 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
aStack,
@@ -448,7 +448,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 36L))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
aStack,
@@ -459,7 +459,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.fluidInputs(syntheticRubber.getMolten(costMultiplier * 36L))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
}
@@ -471,7 +471,7 @@ public class ProcessingWire implements gregtech.api.interfaces.IOreRecipeRegistr
.itemOutputs(GT_Utility.copyAmount(1, aStack))
.duration(5 * SECONDS)
.eut(calculateRecipeEU(aMaterial, 8))
- .addTo(sUnboxinatorRecipes);
+ .addTo(unpackagerRecipes);
}
if (GT_OreDictUnificator.get(correspondingCable, aMaterial, 1L) != null) {
diff --git a/src/main/java/gregtech/loaders/postload/GT_ExtremeDieselFuelLoader.java b/src/main/java/gregtech/loaders/postload/GT_ExtremeDieselFuelLoader.java
deleted file mode 100644
index 8ff392e817..0000000000
--- a/src/main/java/gregtech/loaders/postload/GT_ExtremeDieselFuelLoader.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package gregtech.loaders.postload;
-
-import gregtech.api.util.GT_Log;
-import gregtech.api.util.GT_Recipe;
-
-public class GT_ExtremeDieselFuelLoader implements Runnable {
-
- @Override
- public void run() {
- GT_Log.out.println("GT_Mod: Adding extreme diesel fuel.");
- int added = 0;
- for (GT_Recipe aRecipe : GT_Recipe.GT_Recipe_Map.sDieselFuels.mRecipeList) {
- if (aRecipe.mSpecialValue < 1500) {
- continue;
- }
-
- added += 1;
- GT_Recipe.GT_Recipe_Map.sExtremeDieselFuels.add(aRecipe);
- }
- GT_Log.out.println("GT_Mod: Added " + added + " kind(s) of extreme diesel fuel.");
- }
-}
diff --git a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java
index 5bf025cf20..5ec4391d71 100644
--- a/src/main/java/gregtech/loaders/postload/GT_PostLoad.java
+++ b/src/main/java/gregtech/loaders/postload/GT_PostLoad.java
@@ -1,12 +1,11 @@
package gregtech.loaders.postload;
-import static gregtech.api.enums.GT_Values.VP;
import static gregtech.api.enums.Mods.Forestry;
import static gregtech.api.enums.Mods.GalacticraftCore;
import static gregtech.api.enums.Mods.GalacticraftMars;
import static gregtech.api.enums.Mods.GalaxySpace;
import static gregtech.api.enums.Mods.Thaumcraft;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import java.lang.reflect.InvocationTargetException;
@@ -38,13 +37,15 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SubTag;
+import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_CLS_Compat;
import gregtech.api.util.GT_Forestry_Compat;
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_RecipeBuilder;
+import gregtech.api.util.GT_RecipeConstants;
import gregtech.api.util.GT_RecipeRegistrator;
import gregtech.api.util.GT_Utility;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
@@ -95,20 +96,12 @@ public class GT_PostLoad {
.findAny()
.ifPresent(e -> aCompressorRecipeList.remove(e.getKey()));
// Add default IC2 recipe to GT
+ GT_ModHandler.addIC2RecipesToGT(aMaceratorRecipeList, RecipeMaps.maceratorRecipes, true, true, true);
+ GT_ModHandler.addIC2RecipesToGT(aCompressorRecipeList, RecipeMaps.compressorRecipes, true, true, true);
+ GT_ModHandler.addIC2RecipesToGT(aExtractorRecipeList, RecipeMaps.extractorRecipes, true, true, true);
+ GT_ModHandler.addIC2RecipesToGT(aOreWashingRecipeList, RecipeMaps.oreWasherRecipes, false, true, true);
GT_ModHandler
- .addIC2RecipesToGT(aMaceratorRecipeList, GT_Recipe.GT_Recipe_Map.sMaceratorRecipes, true, true, true);
- GT_ModHandler
- .addIC2RecipesToGT(aCompressorRecipeList, GT_Recipe.GT_Recipe_Map.sCompressorRecipes, true, true, true);
- GT_ModHandler
- .addIC2RecipesToGT(aExtractorRecipeList, GT_Recipe.GT_Recipe_Map.sExtractorRecipes, true, true, true);
- GT_ModHandler
- .addIC2RecipesToGT(aOreWashingRecipeList, GT_Recipe.GT_Recipe_Map.sOreWasherRecipes, false, true, true);
- GT_ModHandler.addIC2RecipesToGT(
- aThermalCentrifugeRecipeList,
- GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes,
- true,
- true,
- true);
+ .addIC2RecipesToGT(aThermalCentrifugeRecipeList, RecipeMaps.thermalCentrifugeRecipes, true, true, true);
// noinspection UnstableApiUsage// Stable enough for this project
GT_Mod.GT_FML_LOGGER.info("IC2 Removal (" + stopwatch.stop() + "). Have a Cake.");
}
@@ -125,7 +118,7 @@ public class GT_PostLoad {
.fluidInputs(tData.fluid)
.duration((tData.fluid.amount / 62) * TICKS)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_RecipeBuilder builder = GT_Values.RA.stdBuilder()
.itemInputs(tData.filledContainer);
if (tData.emptyContainer.stackSize > 0) {
@@ -134,7 +127,7 @@ public class GT_PostLoad {
builder.fluidOutputs(tData.fluid)
.duration((tData.fluid.amount / 62) * TICKS)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
}
}
@@ -146,7 +139,7 @@ public class GT_PostLoad {
}
if (ItemList.IC2_Crop_Seeds.get(1L) != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.IC2_Crop_Seeds.getWildcard(1L) },
new ItemStack[] { ItemList.IC2_Crop_Seeds.getWithName(1L, "Scanned Seeds") },
@@ -157,7 +150,7 @@ public class GT_PostLoad {
8,
0);
}
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { new ItemStack(Items.written_book, 1, 32767) },
new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Book Data") },
@@ -167,7 +160,7 @@ public class GT_PostLoad {
128,
30,
0);
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { new ItemStack(Items.filled_map, 1, 32767) },
new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Scanned Map Data") },
@@ -177,7 +170,7 @@ public class GT_PostLoad {
128,
30,
0);
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.Tool_DataOrb.getWithName(1L, "Orb to overwrite") },
new ItemStack[] { ItemList.Tool_DataOrb.getWithName(1L, "Copy of the Orb") },
@@ -187,7 +180,7 @@ public class GT_PostLoad {
512,
30,
0);
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Stick to overwrite") },
new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Copy of the Stick") },
@@ -197,7 +190,7 @@ public class GT_PostLoad {
128,
30,
0);
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Raw Prospection Data") },
new ItemStack[] { ItemList.Tool_DataStick.getWithName(1L, "Analyzed Prospection Data") },
@@ -208,7 +201,7 @@ public class GT_PostLoad {
30,
0);
if (GalacticraftCore.isModLoaded()) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { Objects
.requireNonNull(GT_ModHandler.getModItem(GalacticraftCore.ID, "item.schematic", 1, Short.MAX_VALUE))
@@ -220,7 +213,7 @@ public class GT_PostLoad {
36000,
480,
0);
- if (GalacticraftMars.isModLoaded()) GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ if (GalacticraftMars.isModLoaded()) RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { Objects
.requireNonNull(GT_ModHandler.getModItem(GalacticraftMars.ID, "item.schematic", 1, Short.MAX_VALUE))
@@ -234,7 +227,7 @@ public class GT_PostLoad {
0);
if (GalaxySpace.isModLoaded()) {
for (int i = 4; i < 9; i++) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
+ RecipeMaps.scannerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { GT_ModHandler.getModItem(GalaxySpace.ID, "item.SchematicTier" + i, 1)
.setStackDisplayName("Any Schematic") },
@@ -254,73 +247,66 @@ public class GT_PostLoad {
if ((tMaterial.mElement != null) && (!tMaterial.mElement.mIsIsotope)
&& (tMaterial != Materials.Magic)
&& (tMaterial.getMass() > 0L)) {
- ItemStack tOutput = ItemList.Tool_DataOrb.get(1L);
- Behaviour_DataOrb.setDataTitle(tOutput, "Elemental-Scan");
- Behaviour_DataOrb.setDataName(tOutput, tMaterial.mElement.name());
- ItemStack tInput = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, 1L);
- ItemStack[] iSMat0 = new ItemStack[] { tInput };
- ItemStack[] iSMat1 = new ItemStack[] { tOutput };
- if (tInput != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
- false,
- iSMat0,
- iSMat1,
- ItemList.Tool_DataOrb.get(1L),
- null,
- null,
- (int) (tMaterial.getMass() * 8192L),
- 30,
- 0);
- GT_Recipe.GT_Recipe_Map.sReplicatorFakeRecipes.addFakeRecipe(
- false,
- null,
- iSMat0,
- iSMat1,
- new FluidStack[] { Materials.UUMatter.getFluid(tMaterial.getMass()) },
- null,
- (int) (tMaterial.getMass() * 512L),
- (int) VP[1],
- 0);
+ ItemStack dataOrb = ItemList.Tool_DataOrb.get(1L);
+ Behaviour_DataOrb.setDataTitle(dataOrb, "Elemental-Scan");
+ Behaviour_DataOrb.setDataName(dataOrb, tMaterial.mElement.name());
+ ItemStack dustItem = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, 1L);
+ if (dustItem != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(dustItem)
+ .itemOutputs(dataOrb)
+ .special(ItemList.Tool_DataOrb.get(1L))
+ .duration((int) (tMaterial.getMass() * 8192L))
+ .eut(TierEU.RECIPE_LV)
+ .fake()
+ .ignoreCollision()
+ .addTo(RecipeMaps.scannerFakeRecipes);
+ GT_Values.RA.stdBuilder()
+ .itemOutputs(dustItem)
+ .special(dataOrb)
+ .metadata(GT_RecipeConstants.MATERIAL, tMaterial)
+ .addTo(RecipeMaps.replicatorRecipes);
return;
}
- tInput = GT_OreDictUnificator.get(OrePrefixes.cell, tMaterial, 1L);
- iSMat0 = new ItemStack[] { tInput };
- if (tInput != null) {
- GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes.addFakeRecipe(
- false,
- iSMat0,
- iSMat1,
- ItemList.Tool_DataOrb.get(1L),
- null,
- null,
- (int) (tMaterial.getMass() * 8192L),
- 30,
- 0);
- GT_Recipe.GT_Recipe_Map.sReplicatorFakeRecipes.addFakeRecipe(
- false,
- null,
- iSMat0,
- iSMat1,
- new FluidStack[] { Materials.UUMatter.getFluid(tMaterial.getMass()) },
- null,
- (int) (tMaterial.getMass() * 512L),
- (int) VP[1],
- 0);
+ ItemStack cellItem = GT_OreDictUnificator.get(OrePrefixes.cell, tMaterial, 1L);
+ if (cellItem != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(cellItem)
+ .itemOutputs(dataOrb)
+ .special(ItemList.Tool_DataOrb.get(1L))
+ .duration((int) (tMaterial.getMass() * 8192L))
+ .eut(TierEU.RECIPE_LV)
+ .fake()
+ .ignoreCollision()
+ .addTo(RecipeMaps.scannerFakeRecipes);
+ FluidStack fluidStack = GT_Utility.getFluidForFilledItem(cellItem, false);
+ GT_RecipeBuilder builder = GT_Values.RA.stdBuilder();
+ if (fluidStack != null) {
+ builder.fluidOutputs(fluidStack);
+ } else {
+ builder.itemInputs(Materials.Empty.getCells(1))
+ .itemOutputs(cellItem);
+ }
+ builder.special(dataOrb)
+ .metadata(GT_RecipeConstants.MATERIAL, tMaterial)
+ .addTo(RecipeMaps.replicatorRecipes);
}
}
});
- if (!GT_MetaTileEntity_Massfabricator.sRequiresUUA) GT_Recipe.GT_Recipe_Map.sMassFabFakeRecipes.addFakeRecipe(
- false,
- null,
- null,
- null,
- null,
- new FluidStack[] { Materials.UUMatter.getFluid(1L) },
- GT_MetaTileEntity_Massfabricator.sDurationMultiplier,
- 256,
- 0);
- GT_Recipe.GT_Recipe_Map.sMassFabFakeRecipes.addFakeRecipe(
+ if (!GT_MetaTileEntity_Massfabricator.sRequiresUUA) {
+ GT_MetaTileEntity_Massfabricator.nonUUARecipe = RecipeMaps.massFabFakeRecipes.addFakeRecipe(
+ false,
+ null,
+ null,
+ null,
+ null,
+ new FluidStack[] { Materials.UUMatter.getFluid(1L) },
+ GT_MetaTileEntity_Massfabricator.sDurationMultiplier,
+ GT_MetaTileEntity_Massfabricator.BASE_EUT,
+ 0);
+ }
+ GT_MetaTileEntity_Massfabricator.uuaRecipe = RecipeMaps.massFabFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { GT_Utility.getIntegratedCircuit(1) },
null,
@@ -328,9 +314,9 @@ public class GT_PostLoad {
new FluidStack[] { Materials.UUAmplifier.getFluid(GT_MetaTileEntity_Massfabricator.sUUAperUUM) },
new FluidStack[] { Materials.UUMatter.getFluid(1L) },
GT_MetaTileEntity_Massfabricator.sDurationMultiplier / GT_MetaTileEntity_Massfabricator.sUUASpeedBonus,
- 256,
+ GT_MetaTileEntity_Massfabricator.BASE_EUT,
0);
- GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes.addFakeRecipe(
+ RecipeMaps.rockBreakerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Side") },
new ItemStack[] { new ItemStack(Blocks.cobblestone, 1) },
@@ -340,7 +326,7 @@ public class GT_PostLoad {
16,
30,
0);
- GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes.addFakeRecipe(
+ RecipeMaps.rockBreakerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { ItemList.Display_ITS_FREE.getWithName(1L, "IT'S FREE! Place Lava on Top") },
new ItemStack[] { new ItemStack(Blocks.stone, 1) },
@@ -350,7 +336,7 @@ public class GT_PostLoad {
16,
30,
0);
- GT_Recipe.GT_Recipe_Map.sRockBreakerFakeRecipes.addFakeRecipe(
+ RecipeMaps.rockBreakerFakeRecipes.addFakeRecipe(
false,
new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L),
GT_Utility.getIntegratedCircuit(1) },
@@ -491,32 +477,33 @@ public class GT_PostLoad {
}
public static void addSolidFakeLargeBoilerFuels() {
- GT_Recipe.GT_Recipe_Map.sLargeBoilerFakeFuels.addSolidRecipes(
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Charcoal, 1),
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 1),
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1),
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1),
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1),
- GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Coal, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lignite, 1),
- GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1),
- GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1),
- GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Lignite, 1),
- GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1),
- GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 1),
- GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),
- GT_OreDictUnificator.get(OrePrefixes.slab, Materials.Wood, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Caesium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1),
- GT_OreDictUnificator.get(ItemList.Block_SSFUEL.get(1)),
- GT_OreDictUnificator.get(ItemList.Block_MSSFUEL.get(1)),
- GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Blaze, 1));
+ RecipeMaps.largeBoilerFakeFuels.getBackend()
+ .addSolidRecipes(
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Charcoal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Charcoal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Charcoal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Coal, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.block, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Lignite, 1),
+ GT_OreDictUnificator.get(OrePrefixes.log, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.plank, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.slab, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Caesium, 1),
+ GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 1),
+ GT_OreDictUnificator.get(ItemList.Block_SSFUEL.get(1)),
+ GT_OreDictUnificator.get(ItemList.Block_MSSFUEL.get(1)),
+ GT_OreDictUnificator.get(OrePrefixes.rod, Materials.Blaze, 1));
if (Thaumcraft.isModLoaded()) {
- GT_Recipe.GT_Recipe_Map.sLargeBoilerFakeFuels
+ RecipeMaps.largeBoilerFakeFuels.getBackend()
.addSolidRecipe(GT_ModHandler.getModItem(Thaumcraft.ID, "ItemResource", 1));
}
}
diff --git a/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
index 32023df99a..0ff53d0424 100644
--- a/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
+++ b/src/main/java/gregtech/loaders/postload/GT_ProcessingArrayRecipeLoader.java
@@ -1,171 +1,167 @@
package gregtech.loaders.postload;
import gregtech.api.enums.SoundResource;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_ProcessingArray_Manager;
-import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
public class GT_ProcessingArrayRecipeLoader {
public static void registerDefaultGregtechMaps() {
// Alloy Smelter
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.alloysmelter", GT_Recipe_Map.sAlloySmelterRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.alloysmelter", RecipeMaps.alloySmelterRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.alloysmelter", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
// Arc Furnace
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.arcfurnace", GT_Recipe_Map.sArcFurnaceRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.arcfurnace", RecipeMaps.arcFurnaceRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.arcfurnace", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
// Assembler
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.assembler", GT_Recipe_Map.sAssemblerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.assembler", RecipeMaps.assemblerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.assembler", SoundResource.NONE);
// Autoclave
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.autoclave", GT_Recipe_Map.sAutoclaveRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.autoclave", RecipeMaps.autoclaveRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.autoclave", SoundResource.NONE);
// Bender
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.bender", GT_Recipe_Map.sBenderRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.bender", RecipeMaps.benderRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.bender", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
// Boxinator
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.boxinator", GT_Recipe_Map.sBoxinatorRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.boxinator", RecipeMaps.packagerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.boxinator", SoundResource.NONE);
// Brewery
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.brewery", GT_Recipe_Map.sBrewingRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.brewery", RecipeMaps.brewingRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.brewery", SoundResource.NONE);
// Canner
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.canner", GT_Recipe_Map.sCannerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.canner", RecipeMaps.cannerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.canner", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
// Centrifuge
- GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.centrifuge", GT_Recipe_Map.sMultiblockCentrifugeRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.centrifuge", RecipeMaps.centrifugeNonCellRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.centrifuge", SoundResource.NONE);
// Chemical Bath
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.chemicalbath", GT_Recipe_Map.sChemicalBathRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.chemicalbath", RecipeMaps.chemicalBathRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.chemicalbath", SoundResource.NONE);
// Chemical Reactor
GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.chemicalreactor", GT_Recipe_Map.sMultiblockChemicalRecipes);
+ .addRecipeMapToPA("basicmachine.chemicalreactor", RecipeMaps.multiblockChemicalReactorRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.chemicalreactor", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
// Circuit Assembler
GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.circuitassembler", GT_Recipe_Map.sCircuitAssemblerRecipes);
+ .addRecipeMapToPA("basicmachine.circuitassembler", RecipeMaps.circuitAssemblerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.circuitassembler", SoundResource.NONE);
// Compressor
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.compressor", GT_Recipe_Map.sCompressorRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.compressor", RecipeMaps.compressorRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.compressor", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
// Cutting Machine
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.cutter", GT_Recipe_Map.sCutterRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.cutter", RecipeMaps.cutterRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.cutter", SoundResource.NONE);
// Distillery
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.distillery", GT_Recipe_Map.sDistilleryRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.distillery", RecipeMaps.distilleryRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.distillery", SoundResource.GT_MACHINES_DISTILLERY_LOOP);
// Electrolyzer
- GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.electrolyzer", GT_Recipe_Map.sMultiblockElectrolyzerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.electrolyzer", RecipeMaps.electrolyzerNonCellRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.electrolyzer", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
// Extractor
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.extractor", GT_Recipe_Map.sExtractorRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.extractor", RecipeMaps.extractorRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.extractor", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
// Extruder
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.extruder", GT_Recipe_Map.sExtruderRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.extruder", RecipeMaps.extruderRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.extruder", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
// Fermenter
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fermenter", GT_Recipe_Map.sFermentingRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fermenter", RecipeMaps.fermentingRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.fermenter", SoundResource.NONE);
// Fluid Canner
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidcanner", GT_Recipe_Map.sFluidCannerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidcanner", RecipeMaps.fluidCannerRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.fluidcanner", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
// Fluid Extractor
- GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.fluidextractor", GT_Recipe_Map.sFluidExtractionRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidextractor", RecipeMaps.fluidExtractionRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.fluidextractor", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
// Fluid Heater
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidheater", GT_Recipe_Map.sFluidHeaterRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidheater", RecipeMaps.fluidHeaterRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.fluidheater", SoundResource.NONE);
// Fluid Solidifier
- GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.fluidsolidifier", GT_Recipe_Map.sFluidSolidficationRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.fluidsolidifier", RecipeMaps.fluidSolidifierRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.fluidsolidifier", SoundResource.NONE);
// Forge Hammer
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.hammer", GT_Recipe_Map.sHammerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.hammer", RecipeMaps.hammerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.hammer", SoundResource.RANDOM_ANVIL_USE);
// Forming Press
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.press", GT_Recipe_Map.sPressRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.press", RecipeMaps.formingPressRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.press", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
// Laser Engraver
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.laserengraver", GT_Recipe_Map.sLaserEngraverRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.laserengraver", RecipeMaps.laserEngraverRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.laserengraver", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
// Lathe
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.lathe", GT_Recipe_Map.sLatheRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.lathe", RecipeMaps.latheRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.lathe", SoundResource.NONE);
// Macerator
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.macerator", GT_Recipe_Map.sMaceratorRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.macerator", RecipeMaps.maceratorRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.macerator", SoundResource.IC2_MACHINES_MACERATOR_OP);
// Magnetic Separator
GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.electromagneticseparator", GT_Recipe_Map.sElectroMagneticSeparatorRecipes);
+ .addRecipeMapToPA("basicmachine.electromagneticseparator", RecipeMaps.electroMagneticSeparatorRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.electromagneticseparator", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
// Matter Amplifier
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.amplifab", GT_Recipe_Map.sAmplifiers);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.amplifab", RecipeMaps.amplifierRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.amplifab", SoundResource.IC2_MACHINES_EXTRACTOR_OP);
// Microwave
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.microwave", GT_Recipe_Map.sMicrowaveRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.microwave", RecipeMaps.microwaveRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.microwave", SoundResource.IC2_MACHINES_ELECTROFURNACE_LOOP);
// Mixer
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.mixer", GT_Recipe_Map.sMultiblockMixerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.mixer", RecipeMaps.mixerNonCellRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.mixer", SoundResource.NONE);
// Ore Washer
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.orewasher", GT_Recipe_Map.sOreWasherRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.orewasher", RecipeMaps.oreWasherRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.orewasher", SoundResource.NONE);
// Plasma Arc Furnace
GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.plasmaarcfurnace", GT_Recipe_Map.sPlasmaArcFurnaceRecipes);
+ .addRecipeMapToPA("basicmachine.plasmaarcfurnace", RecipeMaps.plasmaArcFurnaceRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.plasmaarcfurnace", SoundResource.IC2_MACHINES_INDUCTION_LOOP);
// Polarizer
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.polarizer", GT_Recipe_Map.sPolarizerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.polarizer", RecipeMaps.polarizerRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.polarizer", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
// Printer
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.printer", GT_Recipe_Map.sPrinterRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.printer", RecipeMaps.printerRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.printer", SoundResource.IC2_MACHINES_COMPRESSOR_OP);
// Recycler
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.recycler", GT_Recipe_Map.sRecyclerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.recycler", RecipeMaps.recyclerRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.recycler", SoundResource.IC2_MACHINES_RECYCLER_OP);
// Scanner
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.scanner", GT_Recipe_Map.sScannerFakeRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.scanner", RecipeMaps.scannerFakeRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.scanner", SoundResource.IC2_MACHINES_MAGNETIZER_LOOP);
// Sifter
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.sifter", GT_Recipe_Map.sSifterRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.sifter", RecipeMaps.sifterRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.sifter", SoundResource.NONE);
// Slicer
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.slicer", GT_Recipe_Map.sSlicerRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.slicer", RecipeMaps.slicerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.slicer", SoundResource.NONE);
// Thermal Centrifuge
GT_ProcessingArray_Manager
- .addRecipeMapToPA("basicmachine.thermalcentrifuge", GT_Recipe_Map.sThermalCentrifugeRecipes);
+ .addRecipeMapToPA("basicmachine.thermalcentrifuge", RecipeMaps.thermalCentrifugeRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.thermalcentrifuge", SoundResource.NONE);
// Unboxinator
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.unboxinator", GT_Recipe_Map.sUnboxinatorRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.unboxinator", RecipeMaps.unpackagerRecipes);
GT_ProcessingArray_Manager.addSoundResourceToPA("basicmachine.unboxinator", SoundResource.NONE);
// Wiremill
- GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.wiremill", GT_Recipe_Map.sWiremillRecipes);
+ GT_ProcessingArray_Manager.addRecipeMapToPA("basicmachine.wiremill", RecipeMaps.wiremillRecipes);
GT_ProcessingArray_Manager
.addSoundResourceToPA("basicmachine.wiremill", SoundResource.IC2_MACHINES_RECYCLER_OP);
}
diff --git a/src/main/java/gregtech/loaders/postload/GT_UUMRecipeLoader.java b/src/main/java/gregtech/loaders/postload/GT_UUMRecipeLoader.java
deleted file mode 100644
index bf2c2c4ebb..0000000000
--- a/src/main/java/gregtech/loaders/postload/GT_UUMRecipeLoader.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package gregtech.loaders.postload;
-
-public class GT_UUMRecipeLoader implements Runnable {
-
- @Override
- public void run() {}
-}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java
index d5d1537a49..aaf25812e4 100644
--- a/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_BauxiteRefineChain.java
@@ -1,10 +1,10 @@
package gregtech.loaders.postload.chains;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCrackingRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
+import static gregtech.api.recipe.RecipeMaps.crackingRecipes;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -34,7 +34,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.BauxiteSlurry.getFluid(8000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -46,7 +46,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.BauxiteSlurry.getFluid(8000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -54,7 +54,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.HeatedBauxiteSlurry.getFluid(32000))
.duration(8 * SECONDS)
.eut(400)
- .addTo(sCrackingRecipes);
+ .addTo(crackingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Aluminiumhydroxide.getDust(1))
@@ -68,7 +68,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(5000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(MaterialsOreAlum.BauxiteSlag.getDust(1))
@@ -81,7 +81,7 @@ public class GT_BauxiteRefineChain {
.outputChances(10000, 3000, 2000, 9000, 8000)
.duration(2 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Ilmenite, 1))
@@ -91,7 +91,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(new FluidStack(ItemList.sGreenVitriol, 2000))
.duration(21 * SECONDS)
.eut(1000)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Ilmenite, 1))
@@ -101,7 +101,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(new FluidStack(ItemList.sGreenVitriol, 2000))
.duration(21 * SECONDS)
.eut(1000)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(MaterialsOreAlum.IlmeniteSlag.getDust(1))
@@ -114,7 +114,7 @@ public class GT_BauxiteRefineChain {
.outputChances(8000, 500, 2000, 5000, 6000)
.duration(2 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
OrePrefixes[] washable = new OrePrefixes[] { OrePrefixes.crushed, OrePrefixes.crushedPurified,
OrePrefixes.dustImpure, OrePrefixes.dustPure };
@@ -129,7 +129,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SapphireJuice.getFluid(1000))
.duration(2 * SECONDS)
.eut(100)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -140,7 +140,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.GreenSapphireJuice.getFluid(1000))
.duration(2 * SECONDS)
.eut(100)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -151,7 +151,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.RubyJuice.getFluid(1000))
.duration(2 * SECONDS)
.eut(100)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
GT_Values.RA.stdBuilder()
@@ -166,7 +166,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
.duration(2 * SECONDS + 5 * TICKS)
.eut(100)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -181,7 +181,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
.duration(2 * SECONDS + 5 * TICKS)
.eut(100)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -196,7 +196,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(1000))
.duration(2 * SECONDS + 5 * TICKS)
.eut(100)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Pyrope.getDust(1))
@@ -212,7 +212,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
.duration(2 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Almandine.getDust(1))
@@ -228,7 +228,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
.duration(2 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Spessartine.getDust(1))
@@ -244,7 +244,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
.duration(2 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Andradite.getDust(1))
@@ -260,7 +260,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
.duration(2 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Uvarovite.getDust(1))
@@ -276,7 +276,7 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
.duration(2 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Grossular.getDust(1))
@@ -292,6 +292,6 @@ public class GT_BauxiteRefineChain {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(10))
.duration(2 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
index a72fe0acc9..dabcd93a8d 100644
--- a/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_NaniteChain.java
@@ -23,8 +23,8 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.MaterialsUEVplus;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeMaps;
import gregtech.api.util.GT_OreDictUnificator;
-import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_RecipeBuilder;
public class GT_NaniteChain {
@@ -234,7 +234,7 @@ public class GT_NaniteChain {
.duration(750 * GT_RecipeBuilder.SECONDS)
.eut(TierEU.RECIPE_MAX)
.specialValue(3)
- .addTo(GT_Recipe.GT_Recipe_Map.sNanoForge);
+ .addTo(RecipeMaps.nanoForgeRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
index 7e7e4ec496..392e6fa154 100644
--- a/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/chains/GT_PCBFactoryRecipes.java
@@ -2,7 +2,8 @@ package gregtech.loaders.postload.chains;
import static gregtech.api.enums.Mods.BartWorks;
import static gregtech.api.enums.Mods.GTPlusPlus;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.recipe.metadata.PCBFactoryUpgrade.BIO;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeConstants.AssemblyLine;
@@ -23,6 +24,9 @@ import gregtech.api.enums.Materials;
import gregtech.api.enums.MaterialsUEVplus;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.recipe.metadata.PCBFactoryTierKey;
+import gregtech.api.recipe.metadata.PCBFactoryUpgradeKey;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_PCBFactoryManager;
@@ -31,12 +35,10 @@ import gregtech.api.util.GT_Utility;
@SuppressWarnings("SpellCheckingInspection")
public class GT_PCBFactoryRecipes {
- public static void load() {
- final int mBioUpgradeBitMap = 0b1000;
- final int mTier3BitMap = 0b100;
- final int mTier2BitMap = 0b10;
- final int mTier1BitMap = 0b1;
+ private static final PCBFactoryTierKey TIER = PCBFactoryTierKey.INSTANCE;
+ private static final PCBFactoryUpgradeKey UPGRADE = PCBFactoryUpgradeKey.INSTANCE;
+ public static void load() {
final Fluid solderLuV = FluidRegistry.getFluid("molten.indalloy140") != null
? FluidRegistry.getFluid("molten.indalloy140")
: FluidRegistry.getFluid("molten.solderingalloy");
@@ -65,7 +67,7 @@ public class GT_PCBFactoryRecipes {
.itemOutputs(ItemList.BasicPhotolithographicFrameworkCasing.get(1))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Infinity, 1),
@@ -73,7 +75,7 @@ public class GT_PCBFactoryRecipes {
.itemOutputs(ItemList.ReinforcedPhotolithographicFrameworkCasing.get(1))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_ModHandler.getModItem(GTPlusPlus.ID, "blockFrameGtCelestialTungsten", 1),
@@ -82,7 +84,7 @@ public class GT_PCBFactoryRecipes {
.itemOutputs(ItemList.RadiationProofPhotolithographicFrameworkCasing.get(1))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_UIV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
GT_ModHandler.getModItem(GTPlusPlus.ID, "blockFrameGtHypogen", 1),
@@ -92,7 +94,7 @@ public class GT_PCBFactoryRecipes {
.fluidInputs(MaterialsUEVplus.SpaceTime.getMolten(8 * 144))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_UMV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// Load CircuitBoard Recipes
@@ -106,19 +108,22 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
- GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
- Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 1.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 1.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 0.5))));
@@ -128,19 +133,23 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2), GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
- GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
- Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 1.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 1.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 1; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier))));
@@ -150,19 +159,23 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Plastic_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.AnnealedCopper, (long) (16 * (Math.sqrt(tier)))),
- GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
- Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 1.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Copper, (long) (16 * (Math.sqrt(tier)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier)))),
+ Materials.IronIIIChloride.getFluid((long) (250 * (Math.sqrt(tier)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 1.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
// Advanced Circuit Board
@@ -174,19 +187,21 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
- Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 2.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 2.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1.5))));
@@ -196,19 +211,22 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2), GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
- Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 2.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 2.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 2; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 1))));
@@ -218,19 +236,22 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Epoxy_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Gold, (long) (16 * (Math.sqrt(tier - 1)))),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
- Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 2.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Electrum, (long) (16 * (Math.sqrt(tier - 1)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 1)))),
+ Materials.IronIIIChloride.getFluid((long) (500 * (Math.sqrt(tier - 1)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 2.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
// More Advanced Circuit Board
@@ -242,20 +263,23 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
- Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 3.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 3.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2.5))));
@@ -265,20 +289,24 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2), GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
- Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 3.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap);
+ .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 3.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 3; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 2))));
@@ -288,20 +316,24 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Fiberglass_Advanced.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.Aluminium, (long) (16 * (Math.sqrt(tier - 2)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
- Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 3.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap);
+ .get(OrePrefixes.foil, Materials.EnergeticAlloy, (long) (16 * (Math.sqrt(tier - 2)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 2)))),
+ Materials.IronIIIChloride.getFluid((long) (1000 * (Math.sqrt(tier - 2)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 3.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
// Elite Circuit Board
@@ -313,20 +345,22 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
- Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 4.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 4.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3.5))));
@@ -336,20 +370,23 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2), GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
- Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 4.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 4.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 4; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 3))));
@@ -359,20 +396,23 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Multifiberglass_Elite.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.Palladium, (long) (16 * (Math.sqrt(tier - 3)))),
- GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
- Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 4.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap);
+ GT_OreDictUnificator.get(OrePrefixes.foil, Materials.Platinum, (long) (16 * (Math.sqrt(tier - 3)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 3)))),
+ Materials.IronIIIChloride.getFluid((long) (2000 * (Math.sqrt(tier - 3)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 4.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
// Wetware Circuit Board
@@ -384,21 +424,25 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
- Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap | mBioUpgradeBitMap);
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4.5))));
@@ -408,21 +452,26 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2), GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
- Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap | mBioUpgradeBitMap);
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 5; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 4))));
@@ -432,21 +481,26 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Wetware_Extreme.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.EnrichedHolmium, (long) (16 * (Math.sqrt(tier - 4)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
+ .get(OrePrefixes.foil, Materials.NiobiumTitanium, (long) (16 * (Math.sqrt(tier - 4)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 4)))),
Materials.IronIIIChloride.getFluid((long) (5000 * (Math.sqrt(tier - 4)))),
- Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap | mBioUpgradeBitMap);
+ Materials.GrowthMediumSterilized.getFluid((long) (2000 * (Math.sqrt(tier - 4)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
// Bioware Circuit Board
@@ -458,8 +512,9 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator.get(
@@ -467,14 +522,17 @@ public class GT_PCBFactoryRecipes {
Materials.Longasssuperconductornameforuvwire,
(long) (16 * (Math.sqrt(tier - 5)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
- Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap | mBioUpgradeBitMap);
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5.5))));
@@ -484,8 +542,10 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2), GT_Utility.getNaniteAsCatalyst(Materials.Silver),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
+ GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator.get(
@@ -493,14 +553,17 @@ public class GT_PCBFactoryRecipes {
Materials.Longasssuperconductornameforuvwire,
(long) (16 * (Math.sqrt(tier - 5)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
- Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap | mBioUpgradeBitMap);
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 6; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 5))));
@@ -510,8 +573,10 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Bio_Ultra.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3), GT_Utility.getNaniteAsCatalyst(Materials.Gold),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
+ GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_OreDictUnificator.get(
@@ -519,14 +584,17 @@ public class GT_PCBFactoryRecipes {
Materials.Longasssuperconductornameforuvwire,
(long) (16 * (Math.sqrt(tier - 5)))),
GT_OreDictUnificator
- .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
+ .get(OrePrefixes.foil, Materials.Neutronium, (long) (16 * (Math.sqrt(tier - 5)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 5)))),
Materials.IronIIIChloride.getFluid((long) (7500 * (Math.sqrt(tier - 5)))),
- Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap | mBioUpgradeBitMap);
+ Materials.BioMediumSterilized.getFluid((long) (4000 * (Math.sqrt(tier - 5)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .metadata(UPGRADE, BIO)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
if (GTPlusPlus.isModLoaded()) {
@@ -539,8 +607,9 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(1),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(1),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
GT_ModHandler.getModItem(
@@ -551,14 +620,16 @@ public class GT_PCBFactoryRecipes {
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
GT_ModHandler
- .getModItem("miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ .getModItem("miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
- Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))),
- (int) GT_Values.VP[tier] * 3 / 4,
- mTier1BitMap | mTier2BitMap | mTier3BitMap);
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(600 / Math.sqrt(Math.pow(1.5, tier - 5.5))))
+ .eut((int) GT_Values.VP[tier] * 3 / 4)
+ .metadata(TIER, 1)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6.5))));
@@ -568,8 +639,9 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(2),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(2),
GT_Utility.getNaniteAsCatalyst(Materials.Silver),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
@@ -581,14 +653,16 @@ public class GT_PCBFactoryRecipes {
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
GT_ModHandler
- .getModItem("miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ .getModItem("miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
- Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier2BitMap | mTier3BitMap);
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(500 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 2)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
for (int tier = 7; tier <= GT_PCBFactoryManager.mTiersOfPlastics; tier++) {
int amountOfBoards = (int) Math.ceil(8 * (Math.sqrt(Math.pow(2, tier - 6))));
@@ -598,8 +672,9 @@ public class GT_PCBFactoryRecipes {
amountOfBoards -= 64;
}
aBoards.add(ItemList.Circuit_Board_Optical.get(amountOfBoards));
- GT_Values.RA.addPCBFactoryRecipe(
- new ItemStack[] { GT_Utility.getIntegratedCircuit(3),
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_Utility.getIntegratedCircuit(3),
GT_Utility.getNaniteAsCatalyst(Materials.Gold),
GT_PCBFactoryManager.getPlasticMaterialFromTier(tier)
.getPlates(1),
@@ -611,14 +686,16 @@ public class GT_PCBFactoryRecipes {
GT_OreDictUnificator
.get(OrePrefixes.foil, Materials.InfinityCatalyst, (long) (16 * (Math.sqrt(tier - 6)))),
GT_ModHandler
- .getModItem("miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6)))) },
- new FluidStack[] { Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
+ .getModItem("miscutils", "itemFoilChromaticGlass", (long) (16 * (Math.sqrt(tier - 6)))))
+ .fluidInputs(
+ Materials.SulfuricAcid.getFluid((long) (500 * (Math.sqrt(tier - 6)))),
Materials.IronIIIChloride.getFluid((long) (12500 * (Math.sqrt(tier - 6)))),
- Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))) },
- aBoards.toArray(new ItemStack[0]),
- (int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))),
- (int) GT_Values.VP[tier + 1] * 3 / 4,
- mTier3BitMap);
+ Materials.MysteriousCrystal.getMolten((long) (2880 * (Math.sqrt(tier - 6)))))
+ .itemOutputs(aBoards.toArray(new ItemStack[0]))
+ .duration((int) Math.ceil(400 / Math.sqrt(Math.pow(1.5, tier - 6.5))))
+ .eut((int) GT_Values.VP[tier + 1] * 3 / 4)
+ .metadata(TIER, 3)
+ .addTo(RecipeMaps.pcbFactoryRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java
index 76524541e3..a9e587a145 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/AlloySmelterRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes;
+import static gregtech.api.recipe.RecipeMaps.alloySmelterRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -73,14 +73,14 @@ public class AlloySmelterRecipes implements Runnable {
.itemOutputs(outputIngot)
.duration((int) materials[2].mAmount * 50)
.eut(16)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
if (ingot2 != null) {
GT_Values.RA.stdBuilder()
.itemInputs(ingot1, ingot2)
.itemOutputs(outputIngot)
.duration((int) materials[2].mAmount * 50)
.eut(16)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
@@ -90,7 +90,7 @@ public class AlloySmelterRecipes implements Runnable {
.itemOutputs(outputIngot)
.duration((int) materials[2].mAmount * 50)
.eut(16)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
GT_Values.RA.stdBuilder()
@@ -98,7 +98,7 @@ public class AlloySmelterRecipes implements Runnable {
.itemOutputs(outputIngot)
.duration((int) materials[2].mAmount * 50)
.eut(16)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
@@ -111,6 +111,6 @@ public class AlloySmelterRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Rubber, 1L))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sAlloySmelterRecipes);
+ .addTo(alloySmelterRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java
index c2309d3cb5..a6c85b7afd 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ArcFurnaceRecipes.java
@@ -4,6 +4,7 @@ import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.util.GT_ModHandler.getModItem;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
+import static gregtech.api.util.GT_RecipeConstants.RECYCLE;
import static gregtech.api.util.GT_RecipeConstants.UniversalArcFurnace;
import gregtech.api.enums.GT_Values;
@@ -25,6 +26,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Concrete, 1))
.duration(8 * SECONDS)
.eut(96)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -32,6 +34,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 19L))
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -41,6 +44,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 7L))
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -48,6 +52,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 2L))
.duration(10 * TICKS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -57,6 +62,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 1L))
.duration(10 * TICKS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -67,6 +73,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 2))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -77,6 +84,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 3))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -87,6 +95,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 4))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -97,6 +106,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 5))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -107,6 +117,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 6))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -117,6 +128,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 7))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -127,6 +139,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 8))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -137,6 +150,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 9))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -147,6 +161,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 10))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -157,6 +172,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 11))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -167,6 +183,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 12))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -174,6 +191,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iron, 2L))
.duration(7 * SECONDS + 10 * TICKS)
.eut(90)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -183,6 +201,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(7 * SECONDS + 10 * TICKS)
.eut(90)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -192,6 +211,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iron, 6))
.duration(7 * SECONDS + 10 * TICKS)
.eut(90)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -199,6 +219,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Steel, 2L))
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -208,6 +229,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -217,6 +239,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Steel, 6L))
.duration(9 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -224,6 +247,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Aluminium, 2L))
.duration(10 * SECONDS + 10 * TICKS)
.eut(150)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -231,6 +255,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Aluminium, 3))
.duration(10 * SECONDS + 10 * TICKS)
.eut(150)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -240,6 +265,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Aluminium, 6L))
.duration(10 * SECONDS + 10 * TICKS)
.eut(150)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -247,6 +273,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.StainlessSteel, 2L))
.duration(12 * SECONDS)
.eut(TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -256,6 +283,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(12 * SECONDS)
.eut(TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -265,6 +293,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.StainlessSteel, 6L))
.duration(12 * SECONDS)
.eut(TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -272,6 +301,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titanium, 2L))
.duration(13 * SECONDS + 10 * TICKS)
.eut(210)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -281,6 +311,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(13 * SECONDS + 10 * TICKS)
.eut(210)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -290,6 +321,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Titanium, 6L))
.duration(13 * SECONDS + 10 * TICKS)
.eut(210)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -297,6 +329,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.TungstenSteel, 2L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -306,6 +339,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -315,6 +349,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.TungstenSteel, 6L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -322,6 +357,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Palladium, 2L))
.duration(16 * SECONDS + 10 * TICKS)
.eut(270)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -331,6 +367,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(16 * SECONDS + 10 * TICKS)
.eut(270)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -340,6 +377,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Chrome, 6L))
.duration(16 * SECONDS + 10 * TICKS)
.eut(270)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -347,6 +385,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Iridium, 2L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -356,6 +395,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -365,6 +405,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Iridium, 6L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -372,6 +413,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Osmium, 2L))
.duration(18 * SECONDS)
.eut(330)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -381,6 +423,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(18 * SECONDS)
.eut(330)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -390,6 +433,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Osmium, 6L))
.duration(18 * SECONDS)
.eut(330)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -397,6 +441,7 @@ public class ArcFurnaceRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Neutronium, 2L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -406,6 +451,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
@@ -415,6 +461,7 @@ public class ArcFurnaceRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.nugget, Materials.Neutronium, 6L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_HV)
+ .metadata(RECYCLE, true)
.addTo(UniversalArcFurnace);
GT_Values.RA.stdBuilder()
diff --git a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java
index 897ea7f57d..0f5023e854 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/AssemblerRecipes.java
@@ -19,8 +19,8 @@ import static gregtech.api.enums.Mods.OpenComputers;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.TinkerConstruct;
import static gregtech.api.enums.Mods.TwilightForest;
+import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.EIGHTH_INGOT;
import static gregtech.api.util.GT_RecipeBuilder.HALF_INGOT;
import static gregtech.api.util.GT_RecipeBuilder.INGOTS;
@@ -77,7 +77,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.SeedOil.getFluid(50L))
.duration(16 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -87,7 +87,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -97,7 +97,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
for (int j = 0; j < Dyes.VALUES[i].getSizeOfFluidList(); j++) {
@@ -108,7 +108,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Dyes.VALUES[i].getFluidDye(j, 24))
.duration(6 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -120,7 +120,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -130,7 +130,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(20 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -140,7 +140,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Component_Filter.get(1))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -151,7 +151,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(144))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -162,7 +162,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.AdvancedGlue.getFluid(500))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -173,7 +173,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.AdvancedGlue.getFluid(250))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -183,7 +183,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_LV.get(1))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -193,7 +193,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_MV.get(1))
.duration(17 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -203,7 +203,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_HV.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -213,7 +213,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_EV.get(1))
.duration(12 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -223,7 +223,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_IV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -233,7 +233,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_LuV.get(1))
.duration(7 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -243,7 +243,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_ZPM.get(1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -253,7 +253,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FluidRegulator_UV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(500000)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -263,7 +263,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Regulator_LV.get(1))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -273,7 +273,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Regulator_MV.get(1))
.duration(17 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -283,7 +283,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Regulator_HV.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -293,7 +293,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Regulator_EV.get(1))
.duration(12 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -303,7 +303,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Regulator_IV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -314,7 +314,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Valve_LV.get(1))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -325,7 +325,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Valve_MV.get(1))
.duration(17 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -336,7 +336,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Valve_HV.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -347,7 +347,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Valve_EV.get(1))
.duration(12 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -358,7 +358,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Steam_Valve_IV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -368,7 +368,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Schematic.get(1L))
.duration(30 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -378,7 +378,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Schematic.get(1L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -388,7 +388,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Schematic.get(1L))
.duration(7 * SECONDS + 10 * TICKS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -401,7 +401,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Energy_HV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -414,7 +414,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Energy_EV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -427,7 +427,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Energy_IV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -440,7 +440,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Energy_HV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -453,7 +453,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Energy_EV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -466,7 +466,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Energy_IV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -479,7 +479,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Dynamo_HV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -492,7 +492,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Dynamo_EV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -505,7 +505,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Dynamo_IV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -518,7 +518,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Dynamo_HV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -531,7 +531,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Dynamo_EV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -544,7 +544,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Dynamo_IV.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -556,7 +556,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Tin.getMolten(144L))
.duration(15 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -568,7 +568,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Tin.getMolten(144L))
.duration(15 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -579,7 +579,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Tin.getMolten(144L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -590,7 +590,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Tin.getMolten(144L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -601,7 +601,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(2304L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -612,7 +612,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(2304L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -623,7 +623,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2304L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -634,7 +634,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2304L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -645,7 +645,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(2304L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -656,7 +656,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(2304L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -667,7 +667,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Gearbox_TungstenSteel.get(1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
{ // limiting lifetime of the variables
ItemStack flask = ItemList.VOLUMETRIC_FLASK.get(1);
@@ -685,7 +685,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(flask)
.duration(10 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -699,7 +699,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_LV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -711,7 +711,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_MV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -723,7 +723,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_HV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -735,7 +735,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_EV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -747,7 +747,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_IV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -759,7 +759,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_LuV.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -771,7 +771,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_ZPM.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -783,7 +783,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_UV.get(1))
.duration(10 * SECONDS)
.eut(500000)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -795,7 +795,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hatch_Muffler_MAX.get(1))
.duration(10 * SECONDS)
.eut(2000000)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -805,7 +805,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144))
.duration(4 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.leather, 1, 32767), new ItemStack(Items.lead, 1, 32767))
@@ -813,7 +813,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(72))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -823,7 +823,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(72))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -832,7 +832,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.map, 1, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -842,14 +842,14 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(144))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TwilightForest.ID, "item.charmOfLife1", 4L, 0), GT_Utility.getIntegratedCircuit(4))
.itemOutputs(getModItem(TwilightForest.ID, "item.charmOfLife2", 1L, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -858,7 +858,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping2", 1L, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -867,14 +867,14 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping3", 1L, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TwilightForest.ID, "item.charmOfLife2", 1L, 0), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(getModItem(TwilightForest.ID, "item.charmOfLife1", 4L, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -883,7 +883,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping1", 4L, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -892,7 +892,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(TwilightForest.ID, "item.charmOfKeeping2", 4L, 0))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -902,7 +902,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Redstone.getMolten(144))
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -912,7 +912,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Redstone.getMolten(144))
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -922,7 +922,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Redstone.getMolten(144))
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -931,7 +931,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 2L, 0))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -940,7 +940,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 2L, 600))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -949,7 +949,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 2L, 1200))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.FR_Wax.get(6), new ItemStack(Items.string, 1, 32767))
@@ -957,7 +957,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(600))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.FR_Wax.get(2), ItemList.FR_Silk.get(1))
@@ -965,7 +965,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(200))
.duration(16 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.FR_Silk.get(9), GT_Utility.getIntegratedCircuit(9))
@@ -973,14 +973,14 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(500))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "propolis", 5L, 2), GT_Utility.getIntegratedCircuit(5))
.itemOutputs(getModItem(Forestry.ID, "craftingMaterial", 1L, 1))
.duration(16 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -990,7 +990,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(5000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(32)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -999,7 +999,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.FR_Casing_Sturdy.get(1))
.duration(1 * SECONDS + 12 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1009,28 +1009,28 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Creosote.getFluid(1000))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "craftingMaterial", 5L, 1), GT_Utility.getIntegratedCircuit(5))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.EnderPearl, 1))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.piston, 1, 32767), new ItemStack(Items.slime_ball, 1, 32767))
.itemOutputs(new ItemStack(Blocks.sticky_piston, 1, 0))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.piston, 1, 32767), ItemList.IC2_Resin.get(1))
.itemOutputs(new ItemStack(Blocks.sticky_piston, 1, 0))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.piston, 1, 32767), GT_Utility.getIntegratedCircuit(1))
@@ -1038,7 +1038,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(100))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1049,7 +1049,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(300))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1060,7 +1060,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(200))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1071,7 +1071,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(100))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// Maintenance Hatch Recipes Using BrainTech + Refined Glue. Info: One BrainTech Recipe Is In GT+ü Originally.
// The Maintenance Hatch Recipe using SuperGlue is there.
@@ -1082,7 +1082,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(1000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1092,7 +1092,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1102,7 +1102,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1112,7 +1112,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Paper_Printed_Pages.get(1), new ItemStack(Items.leather, 1, 32767))
@@ -1120,7 +1120,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1130,14 +1130,14 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 4))
.itemOutputs(ItemList.Cell_Universal_Fluid.get(1))
.duration(6 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Baked_Cake.get(1), new ItemStack(Items.egg, 1, 0))
@@ -1145,49 +1145,49 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Milk.getFluid(3000))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Bun.get(2), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(ItemList.Food_Sliced_Buns.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Bread.get(2), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(ItemList.Food_Sliced_Breads.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Baguette.get(2), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(ItemList.Food_Sliced_Baguettes.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Buns.get(1), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(ItemList.Food_Sliced_Bun.get(2))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Breads.get(1), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(ItemList.Food_Sliced_Bread.get(2))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Baguettes.get(1), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(ItemList.Food_Sliced_Baguette.get(2))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1196,7 +1196,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Burger_Meat.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1205,35 +1205,35 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Burger_Meat.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Bun.get(2), ItemList.Food_Chum.get(1))
.itemOutputs(ItemList.Food_Burger_Chum.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Buns.get(1), ItemList.Food_Chum.get(1))
.itemOutputs(ItemList.Food_Burger_Chum.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Bun.get(2), ItemList.Food_Sliced_Cheese.get(3))
.itemOutputs(ItemList.Food_Burger_Cheese.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Sliced_Buns.get(1), ItemList.Food_Sliced_Cheese.get(3))
.itemOutputs(ItemList.Food_Burger_Cheese.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1242,14 +1242,14 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Raw_Pizza_Meat.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Flat_Dough.get(1), ItemList.Food_Sliced_Cheese.get(3))
.itemOutputs(ItemList.Food_Raw_Pizza_Cheese.get(1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// SC craft
@@ -1263,7 +1263,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(2000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1275,7 +1275,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(4000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1287,7 +1287,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(6000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1299,7 +1299,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(8000))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1314,7 +1314,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(12000))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1326,7 +1326,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(16000))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1338,7 +1338,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(20000))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1350,7 +1350,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(24000))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1360,7 +1360,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.ULV_Coil.get(1))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1370,7 +1370,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.LV_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1380,7 +1380,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.MV_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1390,7 +1390,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.HV_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1400,7 +1400,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.EV_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1410,7 +1410,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.IV_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1420,7 +1420,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.LuV_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1430,7 +1430,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.ZPM_Coil.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1440,7 +1440,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.UV_Coil.get(1))
.duration(10 * SECONDS)
.eut(500000)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1450,7 +1450,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.UHV_Coil.get(1))
.duration(10 * SECONDS)
.eut(2000000)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1460,7 +1460,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(10))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1470,7 +1470,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(20))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1480,7 +1480,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(60))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1491,7 +1491,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Ingot_IridiumAlloy.get(1))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1503,7 +1503,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Grate.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1515,7 +1515,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Vent_T2.get(1))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
if (!GregTech_API.sRecipeFile.get(ConfigCategories.Recipes.disabledrecipes, "torchesFromCoal", false)) {
GT_Values.RA.stdBuilder()
@@ -1525,7 +1525,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.torch, 4))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
GT_Values.RA.stdBuilder()
@@ -1535,7 +1535,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.light_weighted_pressure_plate, 1))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1544,7 +1544,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.heavy_weighted_pressure_plate, 1))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1553,7 +1553,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_door, 1))
.duration(30 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1562,7 +1562,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.cauldron, 1))
.duration(35 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1571,7 +1571,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("ironFence", 1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1580,7 +1580,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.iron_bars, 4))
.duration(15 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1589,7 +1589,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_door, 1))
.duration(30 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1598,7 +1598,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.cauldron, 1))
.duration(35 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1607,7 +1607,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("ironFence", 1))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1616,7 +1616,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.iron_bars, 4))
.duration(15 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1625,7 +1625,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.fence, 1))
.duration(15 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1634,7 +1634,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.tripwire_hook, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1643,7 +1643,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.tripwire_hook, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1652,7 +1652,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.bow, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1661,7 +1661,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.minecart, 1))
.duration(5 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1670,7 +1670,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.minecart, 1))
.duration(4 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1679,7 +1679,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.minecart, 1))
.duration(5 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1688,7 +1688,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Component_Minecart_Wheels_Iron.get(1))
.duration(5 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1697,7 +1697,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Component_Minecart_Wheels_Iron.get(1))
.duration(4 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1706,77 +1706,77 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Component_Minecart_Wheels_Steel.get(1))
.duration(3 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.hopper, 1, 32767))
.itemOutputs(new ItemStack(Items.hopper_minecart, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.tnt, 1, 32767))
.itemOutputs(new ItemStack(Items.tnt_minecart, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.chest, 1, 32767))
.itemOutputs(new ItemStack(Items.chest_minecart, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.trapped_chest, 1, 32767))
.itemOutputs(new ItemStack(Items.chest_minecart, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.minecart, 1), new ItemStack(Blocks.furnace, 1, 32767))
.itemOutputs(new ItemStack(Items.furnace_minecart, 1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.tripwire_hook, 1), new ItemStack(Blocks.chest, 1, 32767))
.itemOutputs(new ItemStack(Blocks.trapped_chest, 1))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.stone, 1, 0), GT_Utility.getIntegratedCircuit(4))
.itemOutputs(new ItemStack(Blocks.stonebrick, 1, 0))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sandstone, 1, 0), GT_Utility.getIntegratedCircuit(23))
.itemOutputs(new ItemStack(Blocks.sandstone, 1, 2))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sandstone, 1, 1), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(new ItemStack(Blocks.sandstone, 1, 0))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sandstone, 1, 2), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(new ItemStack(Blocks.sandstone, 1, 0))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1785,7 +1785,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("machine", 1))
.duration(1 * SECONDS + 5 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1794,7 +1794,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_ULV.get(1))
.duration(1 * SECONDS + 5 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1803,7 +1803,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_LV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1812,7 +1812,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_MV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1821,7 +1821,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_HV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1830,7 +1830,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_EV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1839,7 +1839,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_IV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1848,7 +1848,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_LuV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1857,7 +1857,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_ZPM.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1866,7 +1866,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_UV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1875,7 +1875,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_MAX.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1884,7 +1884,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_HeatProof.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1894,7 +1894,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_SolidSteel.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1903,7 +1903,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_FrostProof.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1912,7 +1912,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_RobustTungstenSteel.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1921,7 +1921,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_CleanStainlessSteel.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1930,7 +1930,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_StableTitanium.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1939,7 +1939,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_MiningOsmiridium.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1948,7 +1948,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_MiningNeutronium.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1957,7 +1957,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_MiningBlackPlutonium.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 4), ItemList.Casing_LuV.get(1))
@@ -1965,7 +1965,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.HSSG.getMolten(288))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1975,7 +1975,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.NaquadahAlloy.getMolten(288))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1984,7 +1984,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Turbine.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1993,7 +1993,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Turbine1.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2002,7 +2002,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Turbine2.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2011,14 +2011,14 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Turbine3.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.HSSS, 6), ItemList.Casing_Turbine.get(1))
.itemOutputs(ItemList.Casing_TurbineGasAdvanced.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_SolidSteel.get(1), GT_Utility.getIntegratedCircuit(6))
@@ -2026,7 +2026,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(216))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2035,7 +2035,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Advanced_Iridium.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
if (GT_Mod.gregtechproxy.mHardMachineCasings) {
GT_Values.RA.stdBuilder()
@@ -2046,7 +2046,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(288))
.duration(1 * SECONDS + 5 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2056,7 +2056,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2066,7 +2066,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2076,7 +2076,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2086,7 +2086,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2096,7 +2096,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2106,7 +2106,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2116,7 +2116,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2126,7 +2126,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2136,7 +2136,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2146,7 +2146,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(288))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2155,7 +2155,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_ULV.get(1))
.duration(1 * SECONDS + 5 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2164,7 +2164,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_LV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2173,7 +2173,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_MV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2182,7 +2182,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_MV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2191,7 +2191,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_HV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2200,7 +2200,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_EV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2209,7 +2209,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_IV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2218,7 +2218,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_LuV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2227,7 +2227,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_ZPM.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2236,7 +2236,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_UV.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2245,7 +2245,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Hull_MAX.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
GT_Values.RA.stdBuilder()
@@ -2256,7 +2256,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(144))
.duration(4 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2266,7 +2266,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(432))
.duration(16 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2276,7 +2276,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(432))
.duration(16 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2286,42 +2286,42 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1296))
.duration(1 * MINUTES + 4 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.string, 4, 32767), new ItemStack(Items.slime_ball, 1, 32767))
.itemOutputs(new ItemStack(Items.lead, 2))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Compressed_Coal_Ball.get(8), new ItemStack(Blocks.brick_block, 1))
.itemOutputs(ItemList.IC2_Compressed_Coal_Chunk.get(1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("waterMill", 2), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(GT_ModHandler.getIC2Item("generator", 1))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("batPack", 1L, 32767), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(ItemList.IC2_ReBattery.get(6))
.duration(40 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("carbonFiber", 2), GT_Utility.getIntegratedCircuit(2))
.itemOutputs(GT_ModHandler.getIC2Item("carbonMesh", 1))
.duration(8 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2330,7 +2330,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("waterMill", 2))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2339,7 +2339,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.hopper))
.duration(8 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2348,7 +2348,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.hopper))
.duration(8 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2357,7 +2357,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.hopper))
.duration(8 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2366,7 +2366,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.hopper))
.duration(8 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2375,7 +2375,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("windMill", 1))
.duration(5 * MINUTES + 20 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2384,7 +2384,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Component_Sawblade_Diamond.get(1))
.duration(16 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2393,7 +2393,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.redstone_torch, 1))
.duration(1 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2402,7 +2402,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.torch, 2))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2411,21 +2411,21 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.torch, 6))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Wood, 1), ItemList.IC2_Resin.get(1))
.itemOutputs(new ItemStack(Blocks.torch, 6))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 8), new ItemStack(Items.flint, 1))
.itemOutputs(ItemList.IC2_Compressed_Coal_Ball.get(1))
.duration(20 * SECONDS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
if (!GT_Mod.gregtechproxy.mDisableIC2Cables) {
GT_Values.RA.stdBuilder()
@@ -2435,7 +2435,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("insulatedTinCableItem", 1))
.duration(1 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2444,7 +2444,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("insulatedCopperCableItem", 1))
.duration(1 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2453,7 +2453,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("insulatedGoldCableItem", 1))
.duration(2 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2462,7 +2462,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("insulatedIronCableItem", 1))
.duration(3 * SECONDS)
.eut(20)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2471,7 +2471,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.wooden_sword, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2480,7 +2480,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.stone_sword, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2489,7 +2489,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_sword, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2498,7 +2498,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.golden_sword, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2507,7 +2507,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.diamond_sword, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2516,7 +2516,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Sword_Bronze.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2525,7 +2525,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Sword_Steel.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2534,7 +2534,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.wooden_pickaxe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2543,7 +2543,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.stone_pickaxe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2552,7 +2552,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_pickaxe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2561,7 +2561,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.golden_pickaxe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2570,7 +2570,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.diamond_pickaxe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2579,7 +2579,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Pickaxe_Bronze.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2588,7 +2588,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Pickaxe_Steel.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2597,7 +2597,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.wooden_shovel, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2606,7 +2606,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.stone_shovel, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2615,7 +2615,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_shovel, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2624,7 +2624,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.golden_shovel, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2633,7 +2633,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.diamond_shovel, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2642,7 +2642,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Shovel_Bronze.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2651,7 +2651,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Shovel_Steel.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2660,7 +2660,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.wooden_axe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2669,7 +2669,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.stone_axe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2678,7 +2678,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_axe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2687,7 +2687,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.golden_axe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2696,7 +2696,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.diamond_axe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2705,7 +2705,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Axe_Bronze.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2714,7 +2714,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Axe_Steel.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2723,7 +2723,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.wooden_hoe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2732,7 +2732,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.stone_hoe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2741,7 +2741,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.iron_hoe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2750,7 +2750,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.golden_hoe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2759,7 +2759,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.diamond_hoe, 1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2768,7 +2768,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Hoe_Bronze.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2777,7 +2777,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Tool_Hoe_Steel.getUndamaged(1))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// fuel rod assembler recipes
@@ -2789,7 +2789,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.ThoriumCell_2.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2799,7 +2799,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.ThoriumCell_4.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2809,7 +2809,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.ThoriumCell_4.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2819,7 +2819,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Uraniumcell_2.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2829,7 +2829,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Uraniumcell_4.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2839,7 +2839,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Uraniumcell_4.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2849,7 +2849,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Moxcell_2.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2859,7 +2859,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Moxcell_4.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2869,7 +2869,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Moxcell_4.get(1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2879,7 +2879,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.NaquadahCell_2.get(1))
.duration(5 * SECONDS)
.eut(400)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2889,7 +2889,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.NaquadahCell_4.get(1))
.duration(7 * SECONDS + 10 * TICKS)
.eut(400)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2899,7 +2899,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.NaquadahCell_4.get(1))
.duration(5 * SECONDS)
.eut(400)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2909,7 +2909,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.MNqCell_2.get(1))
.duration(5 * SECONDS)
.eut(400)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2919,7 +2919,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.MNqCell_4.get(1))
.duration(7 * SECONDS + 10 * TICKS)
.eut(400)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2929,7 +2929,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.MNqCell_4.get(1))
.duration(5 * SECONDS)
.eut(400)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2938,7 +2938,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.neutroniumHeatCapacitor.get(1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2947,14 +2947,14 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RadiantNaquadahAlloyCasing.get(1))
.duration(10 * TICKS)
.eut(400000)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.KevlarFiber.get(8), GT_Utility.getIntegratedCircuit(8))
.itemOutputs(ItemList.WovenKevlar.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2967,7 +2967,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.SolderingAlloy.getMolten(INGOTS))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemStack[] plates = new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L),
GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L),
@@ -2984,7 +2984,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -2995,7 +2995,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3006,7 +3006,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3017,7 +3017,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("ecMeter", 1), tPlate, GT_Utility.getIntegratedCircuit(1))
@@ -3025,7 +3025,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -3046,7 +3046,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3057,7 +3057,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3068,7 +3068,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3079,7 +3079,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// LV input bus
@@ -3090,7 +3090,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(5 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1))
@@ -3098,7 +3098,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1))
@@ -3106,7 +3106,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(1))
@@ -3114,7 +3114,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(9))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// MV input bus
@@ -3128,7 +3128,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3139,7 +3139,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3150,7 +3150,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// HV input bus
@@ -3164,7 +3164,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(3 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3175,7 +3175,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3186,7 +3186,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// EV input bus
@@ -3200,7 +3200,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3211,7 +3211,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// IV input bus
@@ -3225,7 +3225,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3236,7 +3236,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// LuV input bus
@@ -3250,7 +3250,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3261,7 +3261,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// ZPM input bus
@@ -3275,7 +3275,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UV input bus
@@ -3289,7 +3289,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UHV input bus
@@ -3303,7 +3303,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -3332,7 +3332,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3343,7 +3343,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3354,7 +3354,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3365,7 +3365,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// LV output bus
@@ -3376,7 +3376,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(5 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2))
@@ -3384,7 +3384,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2))
@@ -3392,7 +3392,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Hull_LV.get(1), new ItemStack(Blocks.chest), GT_Utility.getIntegratedCircuit(2))
@@ -3400,7 +3400,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(9))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!IronChests.isModLoaded()) {
@@ -3418,7 +3418,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3429,7 +3429,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3440,7 +3440,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// HV output bus
@@ -3454,7 +3454,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(3 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3465,7 +3465,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3476,7 +3476,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// EV output bus
@@ -3490,7 +3490,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3501,7 +3501,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// IV output bus
@@ -3515,7 +3515,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3526,7 +3526,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// LuV output bus
@@ -3540,7 +3540,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3551,7 +3551,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// ZPM output bus
@@ -3565,7 +3565,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UV output bus
@@ -3579,7 +3579,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!AvaritiaAddons.isModLoaded()) {
@@ -3597,7 +3597,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -3616,7 +3616,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3627,7 +3627,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3638,7 +3638,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3649,7 +3649,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
/*
@@ -3672,7 +3672,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(5 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3683,7 +3683,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3694,7 +3694,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3705,7 +3705,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(9))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!IronTanks.isModLoaded()) {
@@ -3723,7 +3723,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3734,7 +3734,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3745,7 +3745,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// HV input hatch
@@ -3759,7 +3759,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(3 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3770,7 +3770,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3781,7 +3781,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// EV input hatch
@@ -3795,7 +3795,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3806,7 +3806,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// IV input hatch
@@ -3820,7 +3820,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3831,7 +3831,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// LuV input hatch
@@ -3845,7 +3845,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3856,7 +3856,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// ZPM input hatch
@@ -3870,7 +3870,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UV input hatch
@@ -3881,7 +3881,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UHV input hatch
@@ -3892,7 +3892,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -3911,7 +3911,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3922,7 +3922,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3933,7 +3933,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3944,7 +3944,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ULV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
/*
@@ -3967,7 +3967,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(5 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3978,7 +3978,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -3989,7 +3989,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4000,7 +4000,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(9))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
if (!IronTanks.isModLoaded()) {
@@ -4018,7 +4018,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4029,7 +4029,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4040,7 +4040,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * EIGHTH_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// HV output hatch
@@ -4054,7 +4054,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(3 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4065,7 +4065,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4076,7 +4076,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * QUARTER_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// EV output hatch
@@ -4090,7 +4090,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4101,7 +4101,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * HALF_INGOT))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// IV output hatch
@@ -4115,7 +4115,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4126,7 +4126,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(1 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// LuV output hatch
@@ -4140,7 +4140,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4151,7 +4151,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(2 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// ZPM output hatch
@@ -4165,7 +4165,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(4 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UV output hatch
@@ -4176,7 +4176,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(8 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// UHV output hatch
@@ -4187,7 +4187,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(16 * INGOTS))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
@@ -4205,7 +4205,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Tie_Stone.get(1))
.duration(6 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4215,7 +4215,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Tie_Stone.get(1))
.duration(6 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4226,7 +4226,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Blaze.getMolten(216))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4237,7 +4237,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.ConductiveIron.getMolten(432))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4248,7 +4248,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.VibrantAlloy.getMolten(216))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4259,7 +4259,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.CrystallineAlloy.getMolten(216))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4270,7 +4270,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Redstone.getMolten(216))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4281,7 +4281,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.RedAlloy.getMolten(216))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4292,7 +4292,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.ConductiveIron.getMolten(216))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4303,7 +4303,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.VibrantAlloy.getMolten(216))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4313,7 +4313,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4323,7 +4323,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4333,7 +4333,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(2))
.duration(2 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4343,7 +4343,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(4))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4353,7 +4353,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(8))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4363,7 +4363,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(16))
.duration(2 * SECONDS + 10 * TICKS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4373,7 +4373,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(32))
.duration(2 * SECONDS + 10 * TICKS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4383,7 +4383,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Electric.get(64))
.duration(2 * SECONDS + 10 * TICKS)
.eut(96)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4393,7 +4393,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Wooden.get(8))
.duration(6 * SECONDS + 13 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4403,7 +4403,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Wooden.get(8))
.duration(6 * SECONDS + 13 * TICKS)
.eut(4)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4413,7 +4413,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Wooden.get(16))
.duration(6 * SECONDS + 13 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4423,7 +4423,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Wooden.get(32))
.duration(6 * SECONDS + 13 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4433,35 +4433,35 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Wooden.get(64))
.duration(6 * SECONDS + 13 * TICKS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.RC_Tie_Wood.get(32), GT_Utility.getIntegratedCircuit(20))
.itemOutputs(ItemList.RC_Bed_Wood.get(24))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.RC_Tie_Wood.get(64), GT_Utility.getIntegratedCircuit(24))
.itemOutputs(ItemList.RC_Bed_Wood.get(48))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.RC_Tie_Stone.get(32), GT_Utility.getIntegratedCircuit(20))
.itemOutputs(ItemList.RC_Bed_Stone.get(24))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.RC_Tie_Stone.get(64), GT_Utility.getIntegratedCircuit(24))
.itemOutputs(ItemList.RC_Bed_Stone.get(48))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemStack tRailWood = getModItem(Railcraft.ID, "track", 64, 736);
if (tRailWood != null) {
@@ -4482,7 +4482,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailWood)
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4492,7 +4492,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailWoodB)
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4503,7 +4503,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.golden_rail, 16, 0))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4513,7 +4513,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.rail, 64, 0))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemStack tRailRe = getModItem(Railcraft.ID, "track", 64);
NBTTagCompound tTagRe = new NBTTagCompound();
@@ -4528,7 +4528,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailRe)
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemStack tRailReB = getModItem(Railcraft.ID, "track.reinforced", 16);
NBTTagCompound tTagReB = new NBTTagCompound();
@@ -4543,7 +4543,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailReB)
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemStack tRailEl = getModItem(Railcraft.ID, "track", 64);
NBTTagCompound tTagEl = new NBTTagCompound();
@@ -4558,7 +4558,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailEl)
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
ItemStack tRailHs = getModItem(Railcraft.ID, "track", 64, 816);
if (tRailHs != null) {
@@ -4574,7 +4574,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailHs)
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
ItemStack tRailHsB = getModItem(Railcraft.ID, "track.speed", 16);
NBTTagCompound tTagHsB = new NBTTagCompound();
@@ -4589,7 +4589,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailHsB)
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// --- Wooden Switch Track ---
ItemStack tRailSS = getModItem(Railcraft.ID, "track.slow", 1, 19986);
@@ -4606,7 +4606,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailSS)
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4616,7 +4616,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailSS))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4626,7 +4626,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailSS))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4636,7 +4636,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailSS))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4646,7 +4646,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailSS))
.duration(5 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4656,7 +4656,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailSS))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4666,7 +4666,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailSS))
.duration(5 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Wooden Wye Track ---
ItemStack tRailSW = getModItem(Railcraft.ID, "track.slow", 1);
@@ -4683,7 +4683,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailSW)
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4693,7 +4693,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailSW))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4703,7 +4703,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailSW))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4713,7 +4713,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailSW))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4723,7 +4723,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailSW))
.duration(5 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4733,7 +4733,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailSW))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4743,7 +4743,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailSW))
.duration(5 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Wooden Junction Tack ---
ItemStack tRailSJ = getModItem(Railcraft.ID, "track.slow", 1);
@@ -4760,7 +4760,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailSJ)
.duration(5 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4770,7 +4770,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailSJ))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4780,7 +4780,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailSJ))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4790,7 +4790,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailSJ))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4800,7 +4800,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailSJ))
.duration(5 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4810,7 +4810,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailSJ))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4820,7 +4820,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailSJ))
.duration(5 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Switch Tack ---
ItemStack tRailNS = getModItem(Railcraft.ID, "track", 1, 4767);
@@ -4837,7 +4837,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailNS)
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4847,7 +4847,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailNS))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4857,7 +4857,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailNS))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4867,7 +4867,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailNS))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4877,7 +4877,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailNS))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4887,7 +4887,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailNS))
.duration(10 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4897,7 +4897,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailNS))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Wye Tack ---
@@ -4915,7 +4915,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailNW)
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4925,7 +4925,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailNW))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4935,7 +4935,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailNW))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4945,7 +4945,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailNW))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4955,7 +4955,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailNW))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4965,7 +4965,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailNW))
.duration(10 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4975,7 +4975,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailNW))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Junction Tack ---
ItemStack tRailNJ = getModItem(Railcraft.ID, "track", 1);
@@ -4992,7 +4992,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailNJ)
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5002,7 +5002,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailNJ))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5012,7 +5012,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailNJ))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5022,7 +5022,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailNJ))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5032,7 +5032,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailNJ))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5042,7 +5042,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailNJ))
.duration(10 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5052,7 +5052,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailNJ))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Reinforced Switch Track ---
ItemStack tRailRS = getModItem(Railcraft.ID, "track.reinforced", 1);
@@ -5069,7 +5069,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailRS)
.duration(15 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5079,7 +5079,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailRS))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5089,7 +5089,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailRS))
.duration(15 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5099,7 +5099,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailRS))
.duration(15 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5109,7 +5109,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailRS))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5119,7 +5119,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailRS))
.duration(15 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5129,7 +5129,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailRS))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Reinforced Wye Track ---
ItemStack tRailRW = getModItem(Railcraft.ID, "track.reinforced", 1);
@@ -5146,7 +5146,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailRW)
.duration(15 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5156,7 +5156,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailRW))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5166,7 +5166,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailRW))
.duration(15 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5176,7 +5176,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailRW))
.duration(15 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5186,7 +5186,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailRW))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5196,7 +5196,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailRW))
.duration(15 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5206,7 +5206,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailRW))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Reinforced Junction Track ---
ItemStack tRailRJ = getModItem(Railcraft.ID, "track.reinforced", 1, 764);
@@ -5223,7 +5223,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailRJ)
.duration(15 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5233,7 +5233,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailRJ))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5243,7 +5243,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailRJ))
.duration(15 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5253,7 +5253,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailRJ))
.duration(15 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5263,7 +5263,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailRJ))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5273,7 +5273,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailRJ))
.duration(15 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5283,7 +5283,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailRJ))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- H.S. Switch Track ---
ItemStack tRailSSw = getModItem(Railcraft.ID, "track.speed", 1, 7916);
@@ -5300,7 +5300,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailSSw)
.duration(20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5310,7 +5310,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailSSw))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5320,7 +5320,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailSSw))
.duration(20 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5330,7 +5330,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailSSw))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5340,7 +5340,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailSSw))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5350,7 +5350,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailSSw))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5360,7 +5360,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailSSw))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- H.S. Wye Track ---
ItemStack tRailSWy = getModItem(Railcraft.ID, "track.speed", 1);
@@ -5377,7 +5377,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailSWy)
.duration(20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5387,7 +5387,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailSWy))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5397,7 +5397,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailSWy))
.duration(20 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5407,7 +5407,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailSWy))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5417,7 +5417,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailSWy))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5427,7 +5427,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailSWy))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5437,7 +5437,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailSWy))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- H.S. Transition Track ---
ItemStack tRailSTt = getModItem(Railcraft.ID, "track.speed", 1, 26865);
@@ -5455,7 +5455,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailSTt))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5466,7 +5466,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailSTt))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5477,7 +5477,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailSTt))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5488,7 +5488,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailSTt))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5499,7 +5499,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailSTt))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Electric Switch Track ---
ItemStack tRailES = getModItem(Railcraft.ID, "track.electric", 1, 10488);
@@ -5516,7 +5516,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailES)
.duration(20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5526,7 +5526,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailES))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5536,7 +5536,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailES))
.duration(20 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5546,7 +5546,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailES))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5556,7 +5556,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailES))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5566,7 +5566,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailES))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5576,7 +5576,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailES))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Electric Wye Track ---
ItemStack tRailEw = getModItem(Railcraft.ID, "track.electric", 1);
@@ -5593,7 +5593,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailEw)
.duration(20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5603,7 +5603,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailEw))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5613,7 +5613,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailEw))
.duration(20 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5623,7 +5623,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailEw))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5633,7 +5633,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailEw))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5643,7 +5643,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailEw))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5653,7 +5653,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailEw))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// --- Electric Junction Track ---
ItemStack tRailEJ = getModItem(Railcraft.ID, "track.electric", 1);
@@ -5670,7 +5670,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(tRailEJ)
.duration(20 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5680,7 +5680,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(2, tRailEJ))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5690,7 +5690,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(4, tRailEJ))
.duration(20 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5700,7 +5700,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(8, tRailEJ))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5710,7 +5710,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(16, tRailEJ))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5720,7 +5720,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(32, tRailEJ))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5730,7 +5730,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_Utility.copyAmount(64, tRailEJ))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
// Shunting Wire
for (Materials tMat : solderingMats) {
@@ -5746,7 +5746,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5757,7 +5757,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5768,7 +5768,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5779,7 +5779,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5790,7 +5790,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(48)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5801,7 +5801,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5812,7 +5812,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(16L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// chunkloader upgrade OC
@@ -5827,7 +5827,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(12 * SECONDS + 10 * TICKS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
@@ -5841,7 +5841,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.SeedOil.getFluid(250))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5853,7 +5853,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Lubricant.getFluid(125))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5863,7 +5863,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 11))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5873,7 +5873,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 7))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5883,7 +5883,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 8))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5893,7 +5893,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 9))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5905,7 +5905,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.alpha", 1, 0))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5914,7 +5914,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 0))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5924,7 +5924,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 1))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5934,7 +5934,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 1))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5944,7 +5944,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5953,7 +5953,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 13))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5963,7 +5963,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 14))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5973,7 +5973,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 2L, 14))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5983,7 +5983,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5992,7 +5992,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 0))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6002,7 +6002,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 1))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6012,7 +6012,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 1))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6022,7 +6022,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6031,7 +6031,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 3))
.duration(10 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6041,7 +6041,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 4))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6051,7 +6051,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 4))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6061,7 +6061,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5))
.duration(20 * SECONDS)
.eut(256)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6070,7 +6070,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 6))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6080,7 +6080,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 7))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6090,7 +6090,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 7))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6100,7 +6100,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6109,7 +6109,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 9))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6119,7 +6119,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 10))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6129,7 +6129,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 10))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6139,7 +6139,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6148,7 +6148,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 12))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6158,7 +6158,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 13))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6168,7 +6168,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 2L, 13))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6178,7 +6178,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6187,7 +6187,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 0))
.duration(10 * SECONDS)
.eut(4096)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6197,7 +6197,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 1))
.duration(20 * SECONDS)
.eut(4096)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6207,7 +6207,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 1))
.duration(20 * SECONDS)
.eut(4096)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6217,7 +6217,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2))
.duration(20 * SECONDS)
.eut(4096)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6226,7 +6226,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 3))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6236,7 +6236,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 4))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6246,7 +6246,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 4))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6256,7 +6256,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6265,7 +6265,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 6))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6275,7 +6275,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 7))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6285,7 +6285,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 2L, 7))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6295,7 +6295,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// Water Tank
@@ -6307,7 +6307,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(36))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6317,7 +6317,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(36))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6327,7 +6327,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(36))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6337,7 +6337,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(72))
.duration(20 * SECONDS)
.eut(30)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6347,7 +6347,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(36))
.duration(20 * SECONDS)
.eut(30)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6357,7 +6357,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(72))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// Steam Boilers
@@ -6366,14 +6366,14 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 3))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Item_Casing_Steel.get(6), GT_Utility.getIntegratedCircuit(6))
.itemOutputs(getModItem(Railcraft.ID, "machine.beta", 1L, 4))
.duration(20 * SECONDS)
.eut(64)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
public void withBartWorks() {
@@ -6388,7 +6388,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(ItemList.Casing_Advanced_Rhodium_Palladium.get(1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
@@ -6407,7 +6407,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.StainlessSteel.getMolten(72))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6418,7 +6418,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.TungstenSteel.getMolten(72))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6429,7 +6429,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.Platinum.getMolten(72))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
public void withGalaxySpace() {
@@ -6447,7 +6447,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 2000))
.duration(16 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6459,7 +6459,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 4000))
.duration(16 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6471,7 +6471,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 6000))
.duration(16 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6483,7 +6483,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 8000))
.duration(32 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6498,7 +6498,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 12000))
.duration(32 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6510,7 +6510,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 16000))
.duration(1 * MINUTES + 4 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6522,7 +6522,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 20000))
.duration(1 * MINUTES + 4 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6534,7 +6534,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 24000))
.duration(2 * MINUTES + 8 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6546,7 +6546,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 28000))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UEV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6558,7 +6558,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("liquid helium"), 36000))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UMV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
public void withGTNHLanthAndGTPP() {
@@ -6581,7 +6581,7 @@ public class AssemblerRecipes implements Runnable {
.fluidInputs(Materials.SolderingAlloy.getMolten(144))
.duration(2 * MINUTES)
.eut(TierEU.RECIPE_EV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
public void withIC2NuclearControl() {
@@ -6596,7 +6596,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6605,7 +6605,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6614,14 +6614,14 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(IC2NuclearControl.ID, "RFSensorCard", 1L, 0), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -6630,7 +6630,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// counter
@@ -6641,7 +6641,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 1))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// liquid
@@ -6652,7 +6652,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// generator
@@ -6663,7 +6663,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// 2-6 liquid
@@ -6674,7 +6674,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// 2-6 energy
@@ -6685,7 +6685,7 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
// non-fluid nuke
@@ -6696,21 +6696,21 @@ public class AssemblerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.circuit.get(Materials.Good), 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(IC2NuclearControl.ID, "CardAppeng", 1L, 0), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.NC_SensorCard.get(1), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(GT_ModHandler.getIC2Item("electronicCircuit", 3))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAssemblerRecipes);
+ .addTo(assemblerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java
index d4b5606660..519d584136 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/AutoclaveRecipes.java
@@ -1,8 +1,8 @@
package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -27,7 +27,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.EnergeticAlloy.getMolten(288))
.duration(30 * SECONDS)
.eut(256)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Energium_Dust.get(9L))
@@ -36,7 +36,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.ConductiveIron.getMolten(576))
.duration(60 * SECONDS)
.eut(256)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 0))
@@ -45,7 +45,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(200L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 600))
@@ -54,7 +54,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(200L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 1200))
@@ -63,7 +63,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(200L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 0))
@@ -72,7 +72,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(100L))
.duration(50 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 600))
@@ -81,7 +81,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(100L))
.duration(50 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 1200))
@@ -90,7 +90,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(100L))
.duration(50 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 0))
@@ -99,7 +99,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Void.getMolten(36L))
.duration(25 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 600))
@@ -108,7 +108,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Void.getMolten(36L))
.duration(25 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemCrystalSeed", 1L, 1200))
@@ -117,7 +117,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Void.getMolten(36L))
.duration(25 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 32))
@@ -126,7 +126,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Polybenzimidazole.getMolten(36L))
.duration(7 * SECONDS + 10 * TICKS)
.eut((int) TierEU.RECIPE_EV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64))
@@ -135,7 +135,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Epoxid.getMolten(144L))
.duration(15 * SECONDS)
.eut((int) TierEU.RECIPE_HV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64))
@@ -144,7 +144,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(288L))
.duration(20 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 64))
@@ -153,7 +153,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Plastic.getMolten(576L))
.duration(30 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NetherStar, 1))
@@ -162,7 +162,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.UUMatter.getFluid(576L))
.duration(60 * MINUTES)
.eut((int) TierEU.RECIPE_HV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(ItemList.QuantumStar.get(1L)))
@@ -171,7 +171,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Neutronium.getMolten(288))
.duration(24 * SECONDS)
.eut((int) TierEU.RECIPE_IV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(ItemList.Gravistar.get(16L)))
@@ -180,7 +180,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Infinity.getMolten(288))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_UEV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SiliconDioxide.getDust(1))
@@ -189,7 +189,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(200L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SiliconDioxide.getDust(1))
@@ -198,7 +198,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(100L))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SiliconDioxide.getDust(1))
@@ -207,7 +207,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Void.getMolten(36L))
.duration(50 * SECONDS)
.eut(24)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -218,7 +218,7 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000L))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -229,6 +229,6 @@ public class AutoclaveRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(1000L))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java
index a2601392f2..192422437a 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/BenderRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBenderRecipes;
+import static gregtech.api.recipe.RecipeMaps.benderRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -27,7 +27,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -36,7 +36,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -45,7 +45,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -54,7 +54,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -63,7 +63,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -72,7 +72,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -81,7 +81,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -90,7 +90,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -99,7 +99,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -108,7 +108,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -117,7 +117,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Standard.get(64L))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -126,7 +126,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Reinforced.get(64L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -135,7 +135,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Reinforced.get(64L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -144,7 +144,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Reinforced.get(64L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -153,7 +153,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Reinforced.get(64L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -162,7 +162,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rail_Reinforced.get(64L))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -171,7 +171,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -180,7 +180,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -189,7 +189,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -198,7 +198,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -207,7 +207,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -216,7 +216,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -225,7 +225,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -234,7 +234,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -243,7 +243,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -252,14 +252,14 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.RC_Rebar.get(64L))
.duration(10 * SECONDS)
.eut(200)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Mixed_Metal_Ingot.get(1L), GT_Utility.getIntegratedCircuit(1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plateAlloy, Materials.Advanced, 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -268,7 +268,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.Cell_Empty.get(1L))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -277,7 +277,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.Cell_Empty.get(1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -286,7 +286,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(ItemList.Cell_Empty.get(4L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -295,7 +295,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.bucket, 1, 0))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -304,7 +304,7 @@ public class BenderRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.bucket, 1, 0))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -313,16 +313,18 @@ public class BenderRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("fuelRod", 1L))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sBenderRecipes);
-
- GT_Values.RA.stdBuilder()
- .itemInputs(
- GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 1L),
- GT_Utility.getIntegratedCircuit(1))
- .itemOutputs(ItemList.IC2_Food_Can_Empty.get(1L))
- .duration(20 * TICKS)
- .eut((int) TierEU.RECIPE_HV)
- .addTo(sBenderRecipes);
+ .addTo(benderRecipes);
+
+ if (GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 1L) != null) {
+ GT_Values.RA.stdBuilder()
+ .itemInputs(
+ GT_OreDictUnificator.get(OrePrefixes.itemCasing, Materials.Tin, 1L),
+ GT_Utility.getIntegratedCircuit(1))
+ .itemOutputs(ItemList.IC2_Food_Can_Empty.get(1L))
+ .duration(20 * TICKS)
+ .eut((int) TierEU.RECIPE_HV)
+ .addTo(benderRecipes);
+ }
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
index b20ccf7040..5da5192dfd 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/BlastFurnaceRecipes.java
@@ -3,9 +3,9 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.BartWorks;
import static gregtech.api.enums.Mods.GTNHLanthanides;
import static gregtech.api.enums.Mods.GTPlusPlus;
+import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes;
+import static gregtech.api.recipe.RecipeMaps.primitiveBlastRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPrimitiveBlastRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -43,7 +43,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_HV)
.metadata(COIL_HEAT, 3200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// Carbothermic Reduction
// Depend on real amount except real ores
@@ -56,7 +56,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedAntimony.getDust(2), Materials.Carbon.getDust(1))
@@ -65,7 +65,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedIron.getDust(2), Materials.Carbon.getDust(1))
@@ -74,7 +74,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedNickel.getDust(2), Materials.Carbon.getDust(1))
@@ -83,7 +83,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedZinc.getDust(2), Materials.Carbon.getDust(1))
@@ -92,7 +92,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedCobalt.getDust(2), Materials.Carbon.getDust(1))
@@ -101,7 +101,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedArsenic.getDust(2), Materials.Carbon.getDust(1))
@@ -110,7 +110,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.RoastedLead.getDust(2), Materials.Carbon.getDust(1))
@@ -119,7 +119,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Malachite.getDust(2), Materials.Carbon.getDust(1))
@@ -128,7 +128,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Magnetite.getDust(2), Materials.Carbon.getDust(1))
@@ -137,7 +137,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDust(1))
@@ -146,7 +146,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDust(1))
@@ -155,7 +155,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDust(1))
@@ -164,7 +164,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDust(1))
@@ -173,7 +173,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Cassiterite.getDust(2), Materials.Carbon.getDust(1))
@@ -182,7 +182,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDust(1))
@@ -191,7 +191,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SiliconDioxide.getDust(3), Materials.Carbon.getDust(2))
@@ -200,7 +200,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(4 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
if (GT_Mod.gregtechproxy.mMixedOreOnlyYieldsTwoThirdsOfPureOre) {
GT_Values.RA.stdBuilder()
@@ -210,7 +210,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Malachite.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -219,7 +219,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.AntimonyTrioxide.getDust(5), Materials.Carbon.getDustSmall(4))
@@ -228,7 +228,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.BandedIron.getDust(5), Materials.Carbon.getDustSmall(4))
@@ -237,7 +237,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Magnetite.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -246,7 +246,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.YellowLimonite.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -255,7 +255,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.BrownLimonite.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -264,7 +264,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.BasalticMineralSand.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -273,7 +273,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.GraniticMineralSand.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -282,7 +282,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Cassiterite.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -291,7 +291,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.CassiteriteSand.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -300,7 +300,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Garnierite.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -309,7 +309,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.CobaltOxide.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -318,7 +318,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.ArsenicTrioxide.getDust(5), Materials.Carbon.getDustSmall(4))
@@ -327,7 +327,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Massicot.getDust(2), Materials.Carbon.getDustSmall(4))
@@ -336,7 +336,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
GT_Values.RA.stdBuilder()
@@ -348,7 +348,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(7 * MINUTES + 30 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1784)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -361,7 +361,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(10 * MINUTES)
.eut((int) TierEU.RECIPE_HV)
.metadata(COIL_HEAT, 2484)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -374,7 +374,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(12 * MINUTES + 30 * SECONDS)
.eut((int) TierEU.RECIPE_EV)
.metadata(COIL_HEAT, 4484)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -387,7 +387,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(15 * MINUTES)
.eut((int) TierEU.RECIPE_IV)
.metadata(COIL_HEAT, 6484)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -400,7 +400,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(17 * MINUTES + 30 * SECONDS)
.eut((int) TierEU.RECIPE_LuV)
.metadata(COIL_HEAT, 9000)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// CaH2 + 2Si = CaSi2 + 2H
@@ -413,7 +413,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(15 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1273)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -423,7 +423,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(16 * MINUTES + 23 * SECONDS)
.eut((int) TierEU.RECIPE_UV)
.metadata(COIL_HEAT, 11800)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -434,7 +434,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(7 * MINUTES + 22 * SECONDS + 7 * TICKS)
.eut((int) TierEU.RECIPE_UV)
.metadata(COIL_HEAT, 11800)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// 0.45 * 19660 = 8847
@@ -446,7 +446,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(16 * MINUTES + 23 * SECONDS)
.eut((int) TierEU.RECIPE_UHV)
.metadata(COIL_HEAT, 12700)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -457,7 +457,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(7 * MINUTES + 22 * SECONDS + 7 * TICKS)
.eut((int) TierEU.RECIPE_UHV)
.metadata(COIL_HEAT, 12700)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// 0.45 * 19660 = 8847
@@ -469,7 +469,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(16 * MINUTES + 23 * SECONDS)
.eut((int) TierEU.RECIPE_UEV)
.metadata(COIL_HEAT, 13600)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -480,7 +480,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(7 * MINUTES + 22 * SECONDS + 7 * TICKS)
.eut((int) TierEU.RECIPE_UEV)
.metadata(COIL_HEAT, 13600)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// 0.45 * 19660 = 8847
// CaO + 3C = CaC2 + CO
@@ -492,7 +492,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(30 * SECONDS)
.eut((int) TierEU.RECIPE_HV)
.metadata(COIL_HEAT, 2573)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// Ni + 3Al = NiAl3
@@ -502,7 +502,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(45 * SECONDS)
.eut((int) TierEU.RECIPE_HV)
.metadata(COIL_HEAT, 1688)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
ItemStack[] tSiliconDioxide = new ItemStack[] { Materials.SiliconDioxide.getDust(3),
Materials.NetherQuartz.getDust(3), Materials.CertusQuartz.getDust(3), Materials.Quartzite.getDust(6) };
@@ -518,7 +518,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
GT_Values.RA.stdBuilder()
@@ -529,7 +529,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Pyrite.getDust(1))
.itemOutputs(Materials.RoastedIron.getDust(1), Materials.Ash.getDustTiny(1))
@@ -538,7 +538,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Pentlandite.getDust(1))
.itemOutputs(Materials.RoastedNickel.getDust(1), Materials.Ash.getDustTiny(1))
@@ -547,7 +547,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Sphalerite.getDust(1))
.itemOutputs(Materials.RoastedZinc.getDust(1), Materials.Ash.getDustTiny(1))
@@ -556,7 +556,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Cobaltite.getDust(1))
.itemOutputs(Materials.RoastedCobalt.getDust(1), Materials.RoastedArsenic.getDust(1))
@@ -565,7 +565,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Stibnite.getDust(1))
.itemOutputs(Materials.RoastedAntimony.getDust(1), Materials.Ash.getDustTiny(1))
@@ -574,7 +574,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Galena.getDust(1))
.itemOutputs(Materials.RoastedLead.getDust(1), Materials.Ash.getDustTiny(1))
@@ -583,7 +583,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_MV)
.metadata(COIL_HEAT, 1200)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
if (GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded()) {
@@ -595,7 +595,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(3 * MINUTES)
.eut(32000000)
.metadata(COIL_HEAT, 11701)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
// Rh + 3Cl = RhCl3
@@ -608,7 +608,7 @@ public class BlastFurnaceRecipes implements Runnable {
.duration(30 * SECONDS)
.eut((int) TierEU.RECIPE_HV)
.metadata(COIL_HEAT, 573)
- .addTo(sBlastRecipes);
+ .addTo(blastFurnaceRecipes);
}
}
@@ -617,32 +617,28 @@ public class BlastFurnaceRecipes implements Runnable {
.itemInputs(Materials.Iron.getIngots(1))
.itemOutputs(Materials.Steel.getIngots(1))
.duration(6 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 4)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Iron.getDust(1))
.itemOutputs(Materials.Steel.getIngots(1))
.duration(6 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 4)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Iron.getBlocks(1))
.itemOutputs(Materials.Steel.getIngots(9))
.duration(54 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 36)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Steel.getDust(1))
.itemOutputs(Materials.Steel.getIngots(1))
.duration(6 * MINUTES)
- .eut(0)
.metadata(ADDITIVE_AMOUNT, 2)
- .addTo(sPrimitiveBlastRecipes);
+ .addTo(primitiveBlastRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java
index a188a9b420..e5972f4e77 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/BreweryRecipes.java
@@ -2,8 +2,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.Forestry;
import static gregtech.api.enums.Mods.IndustrialCraft2;
+import static gregtech.api.recipe.RecipeMaps.brewingRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBrewingRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static net.minecraftforge.fluids.FluidRegistry.getFluidStack;
@@ -39,7 +39,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("lubricant", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
// seed oil to lubricant recipes
GT_Values.RA.stdBuilder()
@@ -48,7 +48,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("lubricant", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
// lubricant recipes
{
@@ -58,7 +58,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("lubricant", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(item)
@@ -66,7 +66,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("lubricant", 500))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(item)
@@ -74,7 +74,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("lubricant", 500))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(item)
@@ -82,7 +82,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("lubricant", 750))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
}
@@ -107,7 +107,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("milk", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L))
@@ -115,7 +115,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.wheatyjuice", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Potassium, 1L))
@@ -123,7 +123,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mineralwater", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sodium, 1L))
@@ -131,7 +131,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mineralwater", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L))
@@ -139,7 +139,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mineralwater", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Magnesium, 1L))
@@ -147,7 +147,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mineralwater", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 1L))
@@ -155,7 +155,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.thick", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L))
@@ -163,7 +163,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -171,7 +171,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L))
@@ -179,7 +179,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.magma_cream, 1, 0))
@@ -187,7 +187,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0))
@@ -195,7 +195,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.spider_eye, 1, 0))
@@ -203,7 +203,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.speckled_melon, 1, 0))
@@ -211,7 +211,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.ghast_tear, 1, 0))
@@ -219,7 +219,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.mundane", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.nether_wart, 1, 0))
@@ -227,7 +227,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.awkward", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.red_mushroom, 1, 0))
@@ -235,7 +235,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.poison", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fish, 1, 3))
@@ -244,7 +244,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Grin_Powder.get(1L))
@@ -252,7 +252,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.poison.strong", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.reeds, 1, 0))
@@ -260,7 +260,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.reedwater", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.apple, 1, 0))
@@ -268,7 +268,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.applejuice", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.golden_apple, 1, 0))
@@ -277,7 +277,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.golden_apple, 1, 1))
@@ -286,7 +286,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Hops.get(1L))
@@ -294,7 +294,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.hopsjuice", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L))
@@ -302,7 +302,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.darkcoffee", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L))
@@ -310,7 +310,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.chillysauce", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
}
@@ -323,7 +323,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.hotsauce", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L))
@@ -332,7 +332,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Chili, 1L))
@@ -341,7 +341,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coffee, 1L))
@@ -349,7 +349,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.coffee", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cocoa, 1L))
@@ -357,7 +357,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.darkchocolatemilk", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Hops.get(1L))
@@ -365,7 +365,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.wheatyhopsjuice", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1L))
@@ -373,7 +373,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.wheatyhopsjuice", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -382,7 +382,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -390,7 +390,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.cafeaulait", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -399,7 +399,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -407,7 +407,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.lemonade", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -416,7 +416,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -424,7 +424,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.chocolatemilk", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1L))
@@ -432,7 +432,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.icetea", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1L))
@@ -441,7 +441,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1L))
@@ -450,7 +450,7 @@ public class BreweryRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
.hidden()
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0))
@@ -458,7 +458,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.weakness", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fermented_spider_eye, 1, 0))
@@ -466,7 +466,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.weakness", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
// biomass recipes
@@ -477,7 +477,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("biomass", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "mulch", 16L, 0))
@@ -485,7 +485,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("biomass", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "mulch", 8L, 0))
@@ -493,7 +493,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("biomass", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
// ic2 biomass recipes
@@ -504,7 +504,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("ic2biomass", 1000))
.duration(8 * SECONDS + 10 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
// Would add 2 different amount of water input if IC2 isn't loaded
if (IndustrialCraft2.isModLoaded()) {
@@ -514,7 +514,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("ic2biomass", 1000))
.duration(10 * TICKS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
}
@@ -540,7 +540,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion." + aName, 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
// strong
if (aName.equals("regen") || aName.equals("speed")
@@ -553,7 +553,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion." + aName + ".strong", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
// long
@@ -564,7 +564,7 @@ public class BreweryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion." + aName + ".long", 750))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sBrewingRecipes);
+ .addTo(brewingRecipes);
}
MixerRecipes.addMixerPotionRecipes(aName);
diff --git a/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java
index 0ad5ed23a8..aef837a6b3 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/CannerRecipes.java
@@ -1,7 +1,7 @@
package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.IndustrialCraft2;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.cannerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -27,7 +27,7 @@ public class CannerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("reactorLithiumCell", 1, 1))
.duration(16 * TICKS)
.eut(64)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -36,21 +36,21 @@ public class CannerRecipes implements Runnable {
.itemOutputs(ItemList.ThoriumCell_1.get(1L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), GT_ModHandler.getIC2Item("UranFuel", 1))
.itemOutputs(ItemList.Uraniumcell_1.get(1))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("fuelRod", 1), GT_ModHandler.getIC2Item("MOXFuel", 1))
.itemOutputs(ItemList.Moxcell_1.get(1))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
}
GT_Values.RA.stdBuilder()
@@ -60,7 +60,7 @@ public class CannerRecipes implements Runnable {
.itemOutputs(ItemList.NaquadahCell_1.get(1L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -69,6 +69,6 @@ public class CannerRecipes implements Runnable {
.itemOutputs(ItemList.MNqCell_1.get(1L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sCannerRecipes);
+ .addTo(cannerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java
index 877d52f3f4..b9375ebb1d 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/CentrifugeRecipes.java
@@ -6,8 +6,8 @@ import static gregtech.api.enums.Mods.GregTech;
import static gregtech.api.enums.Mods.Thaumcraft;
import static gregtech.api.enums.Mods.ThaumicTinkerer;
import static gregtech.api.enums.Mods.TwilightForest;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -42,7 +42,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(200))
.duration(20 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Cell_Empty.get(1))
@@ -51,7 +51,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Nitrogen.getGas(3900))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(8)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.PlatinumGroupSludge, 9))
@@ -65,7 +65,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(10000, 10000, 10000, 9500, 9000, 8500)
.duration(6 * MINUTES + 45 * SECONDS)
.eut(30)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemOutputs(
@@ -80,7 +80,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(500))
.duration(2 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// food ->CH4
@@ -90,7 +90,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(4608))
.duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.golden_apple, 1, 0), GT_Utility.getIntegratedCircuit(1))
@@ -98,7 +98,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(576))
.duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.golden_carrot, 1, 0), GT_Utility.getIntegratedCircuit(1))
@@ -106,7 +106,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(576))
.duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.speckled_melon, 1, 0), GT_Utility.getIntegratedCircuit(1))
@@ -114,7 +114,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(576))
.duration(7 * MINUTES + 40 * SECONDS + 16 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.mushroom_stew, 16, 0), GT_Utility.getIntegratedCircuit(1))
@@ -122,203 +122,203 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.apple, 32, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.bread, 64, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.porkchop, 12, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.cooked_porkchop, 16, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.beef, 12, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.cooked_beef, 16, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fish, 12, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.cooked_fished, 16, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.chicken, 12, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.cooked_chicken, 16, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.melon, 64, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.pumpkin, 16, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.rotten_flesh, 16, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.spider_eye, 32, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.carrot, 16, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Raw_Potato.get(16), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Poisonous_Potato.get(12), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Baked_Potato.get(24), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.cookie, 64, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.cake, 8, 0), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.brown_mushroom_block, 12, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.red_mushroom_block, 12, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.brown_mushroom, 32, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.red_mushroom, 32, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.nether_wart, 32, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("terraWart", 16), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TwilightForest.ID, "item.meefRaw", 12L, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TwilightForest.ID, "item.meefSteak", 16L, 32767), GT_Utility.getIntegratedCircuit(1))
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -327,7 +327,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -336,7 +336,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(576))
.duration(3 * MINUTES + 50 * SECONDS + 8 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -345,7 +345,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(60))
.duration(10 * SECONDS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sand, 1, 1))
@@ -356,7 +356,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(5000, 100, 5000)
.duration(30 * SECONDS)
.eut((int) TierEU.RECIPE_MV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.dirt, 1, 32767))
@@ -367,7 +367,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(1250, 5000, 5000)
.duration(12 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.grass, 1, 32767))
@@ -378,7 +378,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(2500, 5000, 5000)
.duration(12 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.mycelium, 1, 32767))
@@ -390,7 +390,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(2500, 2500, 5000, 5000)
.duration(32 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Resin.get(1))
@@ -401,7 +401,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Glue.getFluid(100))
.duration(15 * SECONDS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -413,7 +413,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(1000, 500)
.duration(1 * MINUTES + 40 * SECONDS)
.eut((int) TierEU.RECIPE_HV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Uranium Enrichment in Centrifuge by adding Fluorine (Uranium Hexafluoride)
@@ -424,7 +424,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidInputs(Materials.Fluorine.getGas(4000))
.duration(3 * MINUTES + 20 * SECONDS)
.eut((int) TierEU.RECIPE_EV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 1))
@@ -434,7 +434,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(2000, 3000)
.duration(1 * MINUTES + 20 * SECONDS)
.eut(320)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadah, 9))
@@ -444,7 +444,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(5000, 1000)
.duration(24 * MINUTES)
.eut(320)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.NaquadahEnriched, 4))
@@ -454,28 +454,28 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(2000, 3000)
.duration(21 * MINUTES + 20 * SECONDS)
.eut(640)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Hydrogen.getGas(160))
.fluidOutputs(Materials.Deuterium.getGas(40))
.duration(8 * SECONDS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Deuterium.getGas(160))
.fluidOutputs(Materials.Tritium.getGas(40))
.duration(8 * SECONDS)
.eut(80)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Helium.getGas(80))
.fluidOutputs(Materials.Helium_3.getGas(5))
.duration(8 * SECONDS)
.eut(80)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glowstone, 2))
@@ -484,7 +484,7 @@ public class CentrifugeRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gold, 1))
.duration(48 * SECONDS + 16 * TICKS)
.eut(80)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Endstone, 36))
@@ -496,7 +496,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Helium.getGas(4320))
.duration(9 * MINUTES + 36 * SECONDS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Netherrack, 36))
@@ -508,7 +508,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(5625, 9900, 5625, 2500)
.duration(4 * MINUTES + 48 * SECONDS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(10))
@@ -523,7 +523,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidInputs(Materials.Lava.getFluid(400))
.duration(16 * SECONDS)
.eut(80)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(20))
@@ -538,7 +538,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidInputs(Materials.Lava.getFluid(3600))
.duration(2 * MINUTES + 24 * SECONDS)
.eut(80)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.soul_sand, 1))
@@ -550,7 +550,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.Oil.getFluid(200))
.duration(10 * SECONDS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(10))
@@ -565,7 +565,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidInputs(getFluidStack("ic2pahoehoelava", 100))
.duration(2 * SECONDS)
.eut(1024)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(20))
@@ -580,23 +580,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidInputs(getFluidStack("ic2pahoehoelava", 3600))
.duration(16 * SECONDS + 8 * TICKS)
.eut(4096)
- .addTo(sCentrifugeRecipes);
-
- // rare earth ( why this still remain
-
- GT_Values.RA.stdBuilder()
- .itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 1))
- .itemOutputs(
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Neodymium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Yttrium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Lanthanum, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cerium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Cadmium, 1),
- GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Caesium, 1))
- .outputChances(2500, 2500, 2500, 2500, 2500, 2500)
- .duration(3 * SECONDS + 4 * TICKS)
- .eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -612,7 +596,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(2000, 2000, 2000, 2000, 2000, 2000)
.duration(3 * SECONDS + 4 * TICKS)
.eut(20)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -628,7 +612,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(9000, 9000, 9000, 9000, 9000, 9000)
.duration(25 * SECONDS + 18 * TICKS)
.eut(80)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Ash centrifuge recipes
@@ -644,7 +628,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(6400, 6000, 4500, 10000, 10000, 10000)
.duration(5 * MINUTES)
.eut(30)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Stone Dust and Metal Mixture centrifuge recipes
@@ -660,7 +644,7 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(10000, 10000, 10000, 10000, 10000, 10000)
.duration(7 * MINUTES + 12 * SECONDS)
.eut(30)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.MetalMixture.getDust(36))
@@ -674,21 +658,21 @@ public class CentrifugeRecipes implements Runnable {
.outputChances(10000, 10000, 10000, 10000, 10000, 10000)
.duration(10 * MINUTES + 56 * SECONDS + 5 * TICKS)
.eut((int) TierEU.RECIPE_EV)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Propane.getGas(320))
.fluidOutputs(Materials.LPG.getFluid(290))
.duration(20 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Butane.getGas(320))
.fluidOutputs(Materials.LPG.getFluid(370))
.duration(20 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemOutputs(
@@ -699,7 +683,7 @@ public class CentrifugeRecipes implements Runnable {
.fluidOutputs(Materials.FluidNaquadahFuel.getFluid(4806))
.duration(30 * SECONDS)
.eut(2000000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1))
@@ -708,14 +692,14 @@ public class CentrifugeRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 1))
.duration(12 * SECONDS + 10 * TICKS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.magma_cream, 1))
.itemOutputs(new ItemStack(Items.blaze_powder, 1), new ItemStack(Items.slime_ball, 1))
.duration(25 * SECONDS)
.eut(5)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
if (Thaumcraft.isModLoaded()) {
// air
@@ -725,7 +709,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedAir, 1))
.duration(51 * SECONDS + 4 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// fire
@@ -734,7 +718,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedFire, 1))
.duration(51 * SECONDS + 4 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// aqua
@@ -743,7 +727,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedWater, 1))
.duration(51 * SECONDS + 4 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// terra
@@ -752,7 +736,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEarth, 1))
.duration(51 * SECONDS + 4 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// ordo
@@ -761,7 +745,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedOrder, 1))
.duration(51 * SECONDS + 4 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// perditio
@@ -770,7 +754,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.InfusedEntropy, 1))
.duration(51 * SECONDS + 4 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Nethershard
@@ -779,7 +763,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 6))
.duration(6 * SECONDS + 8 * TICKS)
.eut(512)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Endshard
@@ -788,7 +772,7 @@ public class CentrifugeRecipes implements Runnable {
.itemOutputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 7))
.duration(6 * SECONDS + 8 * TICKS)
.eut(512)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
if (ExtraUtilities.isModLoaded()) {
@@ -805,7 +789,7 @@ public class CentrifugeRecipes implements Runnable {
getModItem(ExtraUtilities.ID, "greenscreen", 1L, 6))
.duration(25 * SECONDS + 12 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Caelestis green
@@ -819,7 +803,7 @@ public class CentrifugeRecipes implements Runnable {
getModItem(ExtraUtilities.ID, "greenscreen", 1L, 0))
.duration(25 * SECONDS + 12 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
// Caelestis blue
@@ -833,7 +817,7 @@ public class CentrifugeRecipes implements Runnable {
getModItem(ExtraUtilities.ID, "greenscreen", 1L, 15))
.duration(25 * SECONDS + 12 * TICKS)
.eut(12)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java
index d05c709802..8ca67db192 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalBathRecipes.java
@@ -1,8 +1,8 @@
package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.BuildCraftTransport;
+import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -32,7 +32,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.FryingOilHot.getFluid(10))
.duration(16 * TICKS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("dynamite", 1))
@@ -40,7 +40,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Glue.getFluid(10))
.duration(16 * TICKS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1))
@@ -48,7 +48,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Coal, 1))
@@ -56,7 +56,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(125))
.duration(12 * TICKS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// paper creation recipes
ItemStack[] paperSources = new ItemStack[] { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L),
@@ -68,7 +68,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(paperSource)
@@ -76,7 +76,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(100))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
GT_Values.RA.stdBuilder()
@@ -85,7 +85,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(125))
.duration(12 * TICKS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
for (int i = 1; i < 16; i++) {
// wool cleaning recipes
@@ -95,7 +95,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Chlorine.getGas(50))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// carpet cleaning recipes
GT_Values.RA.stdBuilder()
@@ -104,7 +104,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Chlorine.getGas(25))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
// stained hardened clay cleaning
@@ -114,7 +114,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Chlorine.getGas(50))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// stained glass cleaning
GT_Values.RA.stdBuilder()
@@ -123,7 +123,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Chlorine.getGas(50))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// stained glass pane cleaning
GT_Values.RA.stdBuilder()
@@ -132,7 +132,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Chlorine.getGas(20))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// light -> dark concrete recipes
for (int i = 0; i < 8; i++) {
@@ -142,7 +142,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(250))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(GregTech_API.sBlockConcretes, 1, i + 8))
@@ -150,7 +150,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(250))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
// reinforced blocks
@@ -161,7 +161,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Steel, 1))
@@ -169,7 +169,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Steel.getMolten(288))
.duration(12 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Titanium, 1))
@@ -177,7 +177,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Titanium.getMolten(144))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1))
@@ -185,7 +185,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.TungstenSteel.getMolten(144))
.duration(17 * SECONDS + 10 * TICKS)
.eut(64)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iridium, 1))
@@ -193,7 +193,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Iridium.getMolten(144))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Naquadah, 1))
@@ -201,7 +201,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Osmium.getMolten(144))
.duration(22 * SECONDS + 10 * TICKS)
.eut(256)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Neutronium, 1))
@@ -209,7 +209,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Naquadria.getMolten(144))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.TungstenSteel, 1))
@@ -217,7 +217,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144))
.duration(10 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
for (int j = 0; j < Dyes.dyeRed.getSizeOfFluidList(); j++) {
@@ -227,7 +227,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.dyeRed.getFluidDye(j, 72))
.duration(1 * SECONDS + 12 * TICKS)
.eut(16)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
for (int j = 0; j < Dyes.dyeBlue.getSizeOfFluidList(); j++) {
GT_Values.RA.stdBuilder()
@@ -236,7 +236,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.dyeBlue.getFluidDye(j, 72))
.duration(1 * SECONDS + 12 * TICKS)
.eut(16)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
for (int j = 0; j < Dyes.dyeGreen.getSizeOfFluidList(); j++) {
GT_Values.RA.stdBuilder()
@@ -245,7 +245,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.dyeGreen.getFluidDye(j, 72))
.duration(1 * SECONDS + 12 * TICKS)
.eut(16)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
for (int j = 0; j < Dyes.dyeYellow.getSizeOfFluidList(); j++) {
GT_Values.RA.stdBuilder()
@@ -254,7 +254,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.dyeYellow.getFluidDye(j, 72))
.duration(1 * SECONDS + 12 * TICKS)
.eut(16)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
for (byte i = 0; i < 16; i = (byte) (i + 1)) {
for (int j = 0; j < Dyes.VALUES[i].getSizeOfFluidList(); j++) {
@@ -265,7 +265,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.VALUES[i].getFluidDye(j, 72))
.duration(3 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
GT_Values.RA.stdBuilder()
@@ -274,7 +274,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.VALUES[i].getFluidDye(j, 18))
.duration(3 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.hardened_clay, 1, 0))
@@ -282,7 +282,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Dyes.VALUES[i].getFluidDye(j, 18))
.duration(3 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
@@ -293,7 +293,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Radon.getGas(250))
.duration(24 * SECONDS)
.eut(384)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.NetherStar, 1))
@@ -301,7 +301,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.Radon.getGas(1250))
.duration(1 * MINUTES + 36 * SECONDS)
.eut(384)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.WovenKevlar.get(1))
@@ -309,7 +309,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(MaterialsKevlar.PolyurethaneResin.getFluid(1000))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// Na + H2O = NaOH + H
GT_Values.RA.stdBuilder()
@@ -319,7 +319,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(1000))
.duration(5 * SECONDS)
.eut(4)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
// Custom Sodium Persulfate Ore Processing Recipes
@@ -333,7 +333,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Pyrolusite, 1))
.itemOutputs(
@@ -344,7 +344,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Quartzite, 1))
.itemOutputs(
@@ -355,7 +355,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.CertusQuartz, 1))
.itemOutputs(
@@ -366,7 +366,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Bauxite, 1))
.itemOutputs(
@@ -377,7 +377,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Thorium, 1))
.itemOutputs(
@@ -388,7 +388,7 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.Stibnite, 1))
.itemOutputs(
@@ -399,6 +399,6 @@ public class ChemicalBathRecipes implements Runnable {
.fluidInputs(Materials.SodiumPersulfate.getFluid(100))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sChemicalBathRecipes);
+ .addTo(chemicalBathRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java
index e914ab214c..285781996f 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ChemicalRecipes.java
@@ -6,9 +6,9 @@ import static gregtech.api.enums.Mods.GTPlusPlus;
import static gregtech.api.enums.Mods.GalaxySpace;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.recipe.RecipeMaps.chemicalReactorRecipes;
+import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -196,7 +196,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydricSulfide.getGas(125))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -220,7 +220,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydricSulfide.getGas(125))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -244,7 +244,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydricSulfide.getGas(250))
.duration(2 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -268,7 +268,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydricSulfide.getGas(250))
.duration(2 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -292,7 +292,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydricSulfide.getGas(125))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -690,7 +690,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Titaniumtetrachloride.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -700,7 +700,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Titaniumtetrachloride.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -710,7 +710,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.CarbonMonoxide.getGas(2000), Materials.Titaniumtetrachloride.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 4Na + 2MgCl2 = 2Mg + 4NaCl
@@ -3850,7 +3850,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(aPolymer, 3240))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -3861,7 +3861,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(aPolymer, 4320))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
}
@@ -3899,7 +3899,7 @@ public class ChemicalRecipes implements Runnable {
.itemOutputs(Materials.GasolineRegular.getCells(11))
.duration(10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Benzene.getCells(1), Materials.Empty.getCells(1))
@@ -3908,7 +3908,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Styrene.getFluid(1000))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Ethylene.getCells(1), Materials.Empty.getCells(1))
@@ -3917,7 +3917,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Styrene.getFluid(1000))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Methane.getCells(1), Materials.Empty.getCells(2))
@@ -3926,7 +3926,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Chloroform.getFluid(1000))
.duration(4 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Silicon.getDust(1), Materials.Chloromethane.getCells(2))
@@ -3934,7 +3934,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Dimethyldichlorosilane.getFluid(1000))
.duration(12 * SECONDS)
.eut(96)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Dimethyldichlorosilane.getCells(1), Materials.Water.getCells(1))
@@ -3942,7 +3942,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(1000))
.duration(12 * SECONDS)
.eut(96)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// Ca5(PO4)3Cl + 5H2SO4 + 10H2O = 5CaSO4(H2O)2 + HCl + 3H3PO4
@@ -3953,7 +3953,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.PhosphoricAcid.getFluid(3000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// 10O + 4P = P4O10
@@ -3963,7 +3963,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Oxygen.getGas(10000))
.duration(2 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// HCl + C3H8O3 = C3H5ClO + 2H2O
@@ -3973,7 +3973,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Epichlorohydrin.getFluid(1000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// H2O + Cl =Hg= HClO + H
@@ -3984,7 +3984,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HypochlorousAcid.getFluid(10000))
.duration(30 * SECONDS)
.eut(8)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Water.getCells(10), Materials.Mercury.getCells(1))
@@ -3993,7 +3993,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HypochlorousAcid.getFluid(10000))
.duration(30 * SECONDS)
.eut(8)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Chlorine.getCells(1), Materials.Water.getCells(1))
@@ -4002,7 +4002,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HypochlorousAcid.getFluid(1000))
.duration(3 * SECONDS)
.eut(8)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// P + 3Cl = PCl3
@@ -4012,7 +4012,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.PhosphorusTrichloride.getFluid(1000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4023,7 +4023,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(5000))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4034,7 +4034,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(5000))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4045,14 +4045,14 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.Ethyleneglycol.getFluid(1000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(MaterialsKevlar.CobaltIIHydroxide.getDust(5), MaterialsKevlar.NaphthenicAcid.getCells(1))
.itemOutputs(MaterialsKevlar.CobaltIINaphthenate.getDust(41), ItemList.Cell_Empty.get(1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(MaterialsKevlar.CobaltIIAcetate.getDust(15), MaterialsKevlar.NaphthenicAcid.getCells(1))
@@ -4060,7 +4060,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.AceticAcid.getFluid(1500))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4070,7 +4070,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SiliconTetrachloride.getFluid(1000))
.duration(20 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4080,7 +4080,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sIndiumConcentrate, 8000))
.duration(3 * SECONDS)
.eut(150)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Carbon.getDust(1), Materials.Empty.getCells(1))
@@ -4088,7 +4088,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Hydrogen.getGas(4000))
.duration(10 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// O + 2H = H2O
@@ -4101,7 +4101,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(GT_ModHandler.getDistilledWater(1000))
.duration(10 * TICKS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4112,7 +4112,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(GT_ModHandler.getDistilledWater(500))
.duration(5 * TICKS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// Si + 4Cl = SiCl4
@@ -4123,7 +4123,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Trichlorosilane.getFluid(1000))
.duration(15 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4133,7 +4133,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(4000))
.duration(15 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Silane, 1), ItemList.Cell_Empty.get(3))
@@ -4142,7 +4142,7 @@ public class ChemicalRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 4))
.duration(15 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// S + 2Cl = SCl2
@@ -4155,7 +4155,7 @@ public class ChemicalRecipes implements Runnable {
ItemList.Cell_Empty.get(8))
.duration(40 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 8), ItemList.Cell_Empty.get(8))
@@ -4163,7 +4163,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Chlorine.getGas(16000))
.duration(40 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// C6H6 + C3H6 = C9H12
@@ -4174,7 +4174,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Cumene.getFluid(8000))
.duration(1 * MINUTES + 36 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.PhosphoricAcid.getCells(1), Materials.Benzene.getCells(8))
@@ -4183,7 +4183,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Cumene.getFluid(8000))
.duration(1 * MINUTES + 36 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Benzene.getCells(1), Materials.Propene.getCells(1))
@@ -4192,7 +4192,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Cumene.getFluid(1000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// C3H6O + 2C6H6O =HCl= C15H16O2 + H2O
@@ -4203,7 +4203,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.BisphenolA.getFluid(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.HydrochloricAcid.getCells(1), Materials.Acetone.getCells(1))
@@ -4212,7 +4212,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.BisphenolA.getFluid(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Phenol.getCells(2), Materials.HydrochloricAcid.getCells(1))
@@ -4221,7 +4221,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.BisphenolA.getFluid(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// N + 3H = NH3
@@ -4232,7 +4232,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Ammonia.getGas(1000))
.duration(16 * SECONDS)
.eut(TierEU.HV * 3 / 4)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Hydrogen.getCells(3), GT_Utility.getIntegratedCircuit(1))
@@ -4241,7 +4241,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Ammonia.getGas(1000))
.duration(16 * SECONDS)
.eut(TierEU.HV * 3 / 4)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Nitrogen.getCells(1), GT_Utility.getIntegratedCircuit(11))
@@ -4249,7 +4249,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Hydrogen.getGas(3000))
.duration(16 * SECONDS)
.eut(TierEU.HV * 3 / 4)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Hydrogen.getCells(3), GT_Utility.getIntegratedCircuit(11))
@@ -4257,7 +4257,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Nitrogen.getGas(1000))
.duration(16 * SECONDS)
.eut(TierEU.HV * 3 / 4)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Ammonia.getCells(1), Materials.Empty.getCells(1))
@@ -4266,7 +4266,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Dimethylamine.getGas(1000))
.duration(12 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Ammonia.getCells(4), Materials.Empty.getCells(2))
@@ -4275,7 +4275,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(4000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Water.getCells(1), Materials.Empty.getCells(1))
@@ -4284,7 +4284,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(1000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// 2NO2 + O + H2O = 2HNO3
@@ -4295,7 +4295,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(2000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Oxygen.getCells(1), Materials.Water.getCells(1))
@@ -4304,7 +4304,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(2000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Water.getCells(1), Materials.NitrogenDioxide.getCells(2))
@@ -4313,7 +4313,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(2000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Sulfur.getDust(1), Materials.Empty.getCells(1))
@@ -4321,7 +4321,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Hydrogen.getGas(2000))
.duration(3 * SECONDS)
.eut(8)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// C2H4 + HCl + O = C2H3Cl + H2O
@@ -4332,7 +4332,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.VinylChloride.getGas(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.HydrochloricAcid.getCells(1), Materials.Oxygen.getCells(1))
@@ -4341,7 +4341,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.VinylChloride.getGas(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Oxygen.getCells(1), Materials.Ethylene.getCells(1))
@@ -4350,7 +4350,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.VinylChloride.getGas(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Butadiene.getCells(1), ItemList.Cell_Air.get(5))
@@ -4358,7 +4358,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Styrene.getFluid(350))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Butadiene.getCells(1), Materials.Oxygen.getCells(5))
@@ -4366,7 +4366,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Styrene.getFluid(350))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Styrene.getCells(1), ItemList.Cell_Air.get(15))
@@ -4374,7 +4374,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Butadiene.getGas(3000))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Styrene.getCells(1), Materials.Oxygen.getCells(15))
@@ -4382,7 +4382,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Butadiene.getGas(3000))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Styrene.getCells(1), Materials.Butadiene.getCells(3))
@@ -4390,7 +4390,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Air.getGas(15000))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Styrene.getCells(1), Materials.Butadiene.getCells(3))
@@ -4398,7 +4398,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Oxygen.getGas(15000))
.duration(24 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Benzene.getCells(1), Materials.Empty.getCells(1))
@@ -4407,7 +4407,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Dichlorobenzene.getFluid(1000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Glycerol.getCells(1), Materials.Empty.getCells(2))
@@ -4416,7 +4416,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Glyceryl.getFluid(1000))
.duration(9 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SodiumHydroxide.getDust(12), Materials.Empty.getCells(4))
@@ -4424,14 +4424,14 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Chlorobenzene.getFluid(4000))
.duration(48 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SodiumHydroxide.getDust(12), Materials.Chlorobenzene.getCells(4))
.itemOutputs(Materials.Salt.getDust(8), Materials.Phenol.getCells(4))
.duration(48 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// Recipes for gasoline
// 2N + O = N2O
@@ -4441,7 +4441,7 @@ public class ChemicalRecipes implements Runnable {
.itemOutputs(Materials.NitrousOxide.getCells(1), Materials.Empty.getCells(2))
.duration(10 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Nitrogen.getCells(2), GT_Utility.getIntegratedCircuit(1))
@@ -4450,7 +4450,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitrousOxide.getGas(1000))
.duration(10 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Nitrogen.getCells(2), GT_Utility.getIntegratedCircuit(11))
@@ -4458,7 +4458,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Oxygen.getGas(1000))
.duration(10 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(1))
@@ -4467,7 +4467,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitrousOxide.getGas(1000))
.duration(10 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Oxygen.getCells(1), GT_Utility.getIntegratedCircuit(11))
@@ -4475,7 +4475,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Nitrogen.getGas(2000))
.duration(10 * SECONDS)
.eut(30)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// C2H6O + C4H8 = C6H14O
@@ -4484,7 +4484,7 @@ public class ChemicalRecipes implements Runnable {
.itemOutputs(Materials.AntiKnock.getCells(1), Materials.Empty.getCells(1))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
// Potassium Dichromate
// 2KNO3 + 2CrO3 = K2Cr2O7 + 2NO + 3O
@@ -4495,7 +4495,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(2000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.PotassiumNitrade.getDust(10), Materials.ChromiumTrioxide.getDust(8))
@@ -4503,7 +4503,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(2000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sChemicalRecipes);
+ .addTo(chemicalReactorRecipes);
}
public void multiblockOnly() {
@@ -4514,7 +4514,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(GT_ModHandler.getDistilledWater(8000))
.duration(4 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.PotassiumNitrade.getDust(10), Materials.ChromiumTrioxide.getDust(8))
@@ -4522,7 +4522,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(2000), Materials.Oxygen.getGas(3000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Saltpeter.getDust(10), Materials.ChromiumTrioxide.getDust(8))
@@ -4530,7 +4530,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(2000), Materials.Oxygen.getGas(3000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// Potassium Dichromate shortcut
// 2 Cr + 6O + 10 Saltpeter/Potassium Dichromate = 10 K2Cr2O7 + 2NO + 3O
@@ -4550,7 +4550,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(2000 * 16), Materials.Oxygen.getGas(3000 * 16))
.duration(2 * MINUTES + 8 * SECONDS)
.eut((int) GT_Values.VP[7])
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4567,7 +4567,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(2000 * 16), Materials.Oxygen.getGas(3000 * 16))
.duration(2 * MINUTES + 8 * SECONDS)
.eut((int) GT_Values.VP[7])
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -4575,7 +4575,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Dimethylbenzene.getFluid(1000), Materials.Hydrogen.getGas(4000))
.duration(3 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4586,7 +4586,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sIndiumConcentrate, 8000))
.duration(3 * SECONDS)
.eut(150)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4597,7 +4597,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sIndiumConcentrate, 72000))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4608,7 +4608,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sNickelSulfate, 18000))
.duration(1 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4619,7 +4619,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sBlueVitriol, 18000))
.duration(1 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4631,7 +4631,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Radon.getGas(800))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 3SiO2 + 4Al = 3Si + 2Al2O3
@@ -4645,7 +4645,7 @@ public class ChemicalRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminiumoxide, 10))
.duration(10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 10Si + 30HCl -> 0.3 SiH2Cl2 + 9 HSiCl3 + 0.3 SiCl4 + 0.2 Si2Cl6 + 20.4H
@@ -4662,7 +4662,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Hydrogen.getGas(20400))
.duration(7 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2CO + 2C3H6 + 4H =RhHCO(P(C6H5)3)3= C4H8O + C4H8O
@@ -4675,7 +4675,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.Butyraldehyde.getFluid(1000), MaterialsKevlar.Isobutyraldehyde.getFluid(1000))
.duration(15 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9), MaterialsKevlar.OrganorhodiumCatalyst.getDust(1))
@@ -4686,7 +4686,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.Butyraldehyde.getFluid(9000), MaterialsKevlar.Isobutyraldehyde.getFluid(9000))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C2H4 + O =Al2O3,Ag= C2H4O
@@ -4699,7 +4699,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.EthyleneOxide.getGas(1000))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4710,7 +4710,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.EthyleneOxide.getGas(9000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -4721,7 +4721,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(5000))
.duration(15 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(8))
@@ -4732,7 +4732,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.SiliconOil.getFluid(45000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// NH3 + CH4O =SiO2,Al2O3= CH5N + H2O
@@ -4745,7 +4745,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.Methylamine.getGas(1000), Materials.Water.getFluid(1000))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4757,7 +4757,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.PolyurethaneResin.getFluid(1000))
.duration(10 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4769,7 +4769,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.PolyurethaneResin.getFluid(9000))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 3NH3 + 6CH4O =Al2O3,SiO2= CH5N + C2H7N + C3H9N + 6H2O
@@ -4786,7 +4786,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Water.getFluid(6000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4801,7 +4801,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Water.getFluid(54000))
.duration(2 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 18SOCl2 + 5C10H10O4 + 6CO2 = 7C8H4Cl2O2 + 22HCl + 18SO2
@@ -4817,7 +4817,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(22000), Materials.SulfurDioxide.getGas(18000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2CH4O + C8H6O4 =H2SO4= C10H10O4 + 2H2O
@@ -4832,7 +4832,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedSulfuricAcid.getFluid(2000))
.duration(12 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -4845,7 +4845,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedSulfuricAcid.getFluid(18000))
.duration(1 * MINUTES + 27 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -4853,7 +4853,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.IIIDimethylbenzene.getFluid(1000), Materials.Hydrogen.getGas(4000))
.duration(3 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -4861,7 +4861,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.IVDimethylbenzene.getFluid(1000), Materials.Hydrogen.getGas(4000))
.duration(3 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4877,7 +4877,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(MaterialsKevlar.NaphthenicAcid.getFluid(10000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -4896,7 +4896,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.AceticAcid.getFluid(15000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// PCl3 + 3C6H5Cl + 6Na = 6NaCl + C18H15P
@@ -4908,7 +4908,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(MaterialsKevlar.PhosphorusTrichloride.getFluid(1000), Materials.Chlorobenzene.getFluid(3000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 4NaH + C3H9BO3 = NaBH4 + 3CH3ONa
@@ -4918,7 +4918,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(MaterialsKevlar.TrimethylBorate.getFluid(1000))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9), MaterialsKevlar.SodiumHydride.getDust(64))
@@ -4930,7 +4930,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(MaterialsKevlar.TrimethylBorate.getFluid(8000))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2CH3COOH = CH3COCH3 + CO2 + H
@@ -4943,7 +4943,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Water.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(0, Materials.Calcium.getDust(1)), GT_Utility.getIntegratedCircuit(24))
@@ -4954,7 +4954,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Water.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.copyAmount(0, Materials.Quicklime.getDust(2)), GT_Utility.getIntegratedCircuit(24))
@@ -4965,7 +4965,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Water.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C + 4H + O = CH3OH
@@ -4975,7 +4975,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Methanol.getFluid(1000))
.duration(16 * SECONDS)
.eut(96)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// This recipe collides with one for Vinyl Chloride
// 2C + 4H + 2O = CH3COOH
@@ -4986,7 +4986,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.AceticAcid.getFluid(1000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2CO + 4H = CH3COOH
@@ -4996,7 +4996,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.AceticAcid.getFluid(1000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(8))
@@ -5004,7 +5004,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(9000))
.duration(7 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -5015,7 +5015,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HypochlorousAcid.getFluid(10000), Materials.Hydrogen.getGas(10000))
.duration(30 * SECONDS)
.eut(8)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// H2O + 4Cl + C3H6 + NaOH = C3H5ClO + NaCl·H2O + 2HCl
@@ -5031,7 +5031,7 @@ public class ChemicalRecipes implements Runnable {
Materials.HydrochloricAcid.getFluid(2000))
.duration(32 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// H2O + 2Cl + C3H6 + NaOH =Hg= C3H5ClO + NaCl·H2O + 2H
@@ -5048,7 +5048,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Hydrogen.getGas(2000))
.duration(32 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// HClO + 2Cl + C3H6 + NaOH = C3H5ClO + NaCl·H2O + HCl
@@ -5064,7 +5064,7 @@ public class ChemicalRecipes implements Runnable {
Materials.HydrochloricAcid.getFluid(1000))
.duration(32 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Apatite.getDust(9))
@@ -5073,7 +5073,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.PhosphoricAcid.getFluid(3000), Materials.HydrochloricAcid.getFluid(1000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Phosphorus.getDust(4), GT_Utility.getIntegratedCircuit(1))
@@ -5081,7 +5081,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Oxygen.getGas(10000))
.duration(2 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2P + 5O + 3H2O = 2H3PO4
@@ -5091,7 +5091,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.PhosphoricAcid.getFluid(1000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -5102,7 +5102,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Cumene.getFluid(8000))
.duration(1 * MINUTES + 36 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5114,7 +5114,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Phenol.getFluid(1000), Materials.Acetone.getFluid(1000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -5125,7 +5125,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.BisphenolA.getFluid(1000), Materials.Water.getFluid(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.SodiumHydroxide.getDust(6), GT_Utility.getIntegratedCircuit(24))
@@ -5137,7 +5137,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Epoxid.getMolten(1000), Materials.SaltWater.getFluid(2000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5145,7 +5145,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydrofluoricAcid.getFluid(9000))
.duration(7 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5156,7 +5156,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Tetrafluoroethylene.getGas(1000), Materials.HydrochloricAcid.getFluid(12000))
.duration(27 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Silicon.getDust(1), GT_Utility.getIntegratedCircuit(24))
@@ -5168,7 +5168,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(2000), Materials.DilutedHydrochloricAcid.getFluid(2000))
.duration(24 * SECONDS)
.eut(96)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Silicon.getDust(1), GT_Utility.getIntegratedCircuit(24))
@@ -5177,7 +5177,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.DilutedHydrochloricAcid.getFluid(2000))
.duration(24 * SECONDS)
.eut(96)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -5185,7 +5185,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Ammonia.getGas(1000))
.duration(16 * SECONDS)
.eut(TierEU.HV * 3 / 4)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5193,7 +5193,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Ammonia.getGas(10000))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.HV * 3 / 4)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2NH3 + 7O = N2O4 + 3H2O
@@ -5203,7 +5203,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.DinitrogenTetroxide.getGas(1000), Materials.Water.getFluid(3000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 7O + 6H + 2N = N2O4 + 3H2O
@@ -5216,7 +5216,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.DinitrogenTetroxide.getGas(1000), Materials.Water.getFluid(3000))
.duration(55 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5224,7 +5224,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(36000), Materials.Water.getFluid(54000))
.duration(8 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(8))
@@ -5232,7 +5232,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricOxide.getGas(36000))
.duration(8 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5240,7 +5240,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitrogenDioxide.getGas(9000))
.duration(4 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5248,7 +5248,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(18000), Materials.NitricOxide.getGas(9000))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5259,7 +5259,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(1000), Materials.Water.getFluid(1000))
.duration(16 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5267,7 +5267,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(1000), Materials.Water.getFluid(1000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5278,7 +5278,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitricAcid.getFluid(2000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Sulfur.getDust(9))
@@ -5286,7 +5286,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydricSulfide.getGas(9000))
.duration(4 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Sulfur.getDust(9))
@@ -5294,7 +5294,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfurDioxide.getGas(9000))
.duration(4 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5302,7 +5302,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfurDioxide.getGas(9000), Materials.Water.getFluid(9000))
.duration(3 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(8))
@@ -5310,7 +5310,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfurDioxide.getGas(9000))
.duration(3 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(7))
@@ -5318,7 +5318,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.SulfurDioxide.getGas(9000), Materials.HydricSulfide.getGas(18000))
.duration(3 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5326,7 +5326,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(9000))
.duration(13 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// S + O3 + H2O = H2SO4
@@ -5336,7 +5336,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(1000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(7), Materials.Sulfur.getDust(9))
@@ -5344,7 +5344,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(9000))
.duration(13 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// H2S + O4 = H2SO4
@@ -5354,7 +5354,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(1000))
.duration(24 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// SO2 + O + H2O = H2SO4
@@ -5367,7 +5367,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(1000))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5378,7 +5378,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(9000))
.duration(7 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -5389,7 +5389,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.VinylChloride.getGas(1000), Materials.Water.getFluid(1000))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5400,7 +5400,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.VinylChloride.getGas(2000), Materials.Water.getFluid(1000))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -5411,7 +5411,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Titaniumtetrachloride.getFluid(80))
.duration(32 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -5422,7 +5422,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Titaniumtetrachloride.getFluid(80))
.duration(32 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -5430,7 +5430,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Styrene.getFluid(36), Materials.Butadiene.getGas(108), Materials.Air.getGas(2000))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -5438,7 +5438,7 @@ public class ChemicalRecipes implements Runnable {
.fluidInputs(Materials.Styrene.getFluid(72), Materials.Butadiene.getGas(216), Materials.Oxygen.getGas(2000))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -5452,7 +5452,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Air.getGas(15000))
.duration(32 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -5464,7 +5464,7 @@ public class ChemicalRecipes implements Runnable {
Materials.Oxygen.getGas(7500))
.duration(32 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.Salt.getDust(18))
@@ -5473,7 +5473,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(9000))
.duration(6 * SECONDS + 15 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9), Materials.SodiumHydroxide.getDust(27))
@@ -5482,7 +5482,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(9000))
.duration(6 * SECONDS + 15 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5496,7 +5496,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedHydrochloricAcid.getFluid(1000))
.duration(28 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C6H6 + 2Cl + NaOH = C6H6O + NaCl + HCl
@@ -5507,7 +5507,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Phenol.getFluid(2000), Materials.HydrochloricAcid.getFluid(2000))
.duration(56 * SECONDS)
.eut(30)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5515,7 +5515,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Fuel.getFluid(24000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5523,7 +5523,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitroFuel.getFluid(10000))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5531,7 +5531,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitroFuel.getFluid(9000))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// CH4 + 2H2O = CO2 + 8H
@@ -5541,7 +5541,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.CarbonDioxide.getGas(5000), Materials.Hydrogen.getGas(40000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// CH4 + H2O = CO + 6H
@@ -5551,7 +5551,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.CarbonMonoxide.getGas(5000), Materials.Hydrogen.getGas(30000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5559,7 +5559,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.NitrousOxide.getGas(10000))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5571,7 +5571,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.GasolineRaw.getFluid(20000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5579,7 +5579,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.GasolineRegular.getFluid(11000))
.duration(10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5592,7 +5592,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.GasolinePremium.getFluid(32000))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C2H6O + C4H8 = C6H14O
@@ -5602,7 +5602,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.AntiKnock.getFluid(1000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// CH4O + C4H8 = C5H12O
@@ -5612,7 +5612,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.MTBEMixture.getGas(1000))
.duration(20 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -5623,7 +5623,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.EnrichedNaquadria.getFluid(9216))
.duration(30 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
if (GTNHLanthanides.isModLoaded() && GTPlusPlus.isModLoaded()) {
// CH2O + 2C6H7N + HCl = C13H14N2(HCl) + H2O
@@ -5637,7 +5637,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.DiaminodiphenylmethanMixture.getFluid(1000))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C6H5NO2 + 6H =Pd= C6H7N + 2H2O
@@ -5651,7 +5651,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(18000), new FluidStack(FluidRegistry.getFluid("aniline"), 9000))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C6H6 + HNO3 =H2SO4= C6H5NO2 + H2O
@@ -5667,7 +5667,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedSulfuricAcid.getFluid(3000))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C13H14N2(HCl) + 2COCl2 = C15H10N2O2(5HCl)
@@ -5679,7 +5679,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.DiphenylmethaneDiisocyanateMixture.getFluid(1000))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5689,7 +5689,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("butanol"), 9000))
.duration(4 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5702,7 +5702,7 @@ public class ChemicalRecipes implements Runnable {
Materials.IronIIIChloride.getFluid(100))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5715,7 +5715,7 @@ public class ChemicalRecipes implements Runnable {
Materials.IronIIIChloride.getFluid(900))
.duration(3 * MINUTES + 45 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C2H4 + CO + H2O =C4NiO= C3H6O2
@@ -5729,7 +5729,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("propionicacid"), 1000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5741,7 +5741,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("propionicacid"), 9000))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C6H7N + HNO3 =H2SO4,C4H6O3= C6H6N2O2 + H2O
@@ -5756,7 +5756,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedSulfuricAcid.getFluid(1000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5769,7 +5769,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedSulfuricAcid.getFluid(9000))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C6H6N2O2 + 6H =Pd,NO2= C6H8N2 + 2H2O
@@ -5785,7 +5785,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(2000))
.duration(20 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C4H10O2 =Cu= C4H6O2 + 4H
@@ -5797,7 +5797,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.GammaButyrolactone.getFluid(1000), Materials.Hydrogen.getGas(4000))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5807,7 +5807,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.GammaButyrolactone.getFluid(9000), Materials.Hydrogen.getGas(36000))
.duration(35 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2CH2O + C2H2 =SiO2,CuO,Bi2O3= C4H6O2
@@ -5823,7 +5823,7 @@ public class ChemicalRecipes implements Runnable {
new FluidStack(FluidRegistry.getFluid("fluid.formaldehyde"), 2000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5839,7 +5839,7 @@ public class ChemicalRecipes implements Runnable {
new FluidStack(FluidRegistry.getFluid("fluid.formaldehyde"), 18000))
.duration(2 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// C4H6O2 + 4H =NiAl= C4H10O2
@@ -5852,7 +5852,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("1,4-butanediol"), 1000))
.duration(15 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5866,7 +5866,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedHydrochloricAcid.getFluid(2000))
.duration(30 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5880,7 +5880,7 @@ public class ChemicalRecipes implements Runnable {
Materials.DilutedHydrochloricAcid.getFluid(14000))
.duration(2 * MINUTES + 55 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// Na2B4O7(H2O)10 + 2HCl = 2NaCl + 4H3BO3 + 5H2O
@@ -5893,7 +5893,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("boricacid"), 4000), Materials.Water.getFluid(5000))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// H3BO3 + 3CH4O =H2SO4= C3H9BO3 + 3H2O
@@ -5908,7 +5908,7 @@ public class ChemicalRecipes implements Runnable {
MaterialsKevlar.TrimethylBorate.getFluid(1000))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -5921,7 +5921,7 @@ public class ChemicalRecipes implements Runnable {
MaterialsKevlar.TrimethylBorate.getFluid(9000))
.duration(3 * MINUTES + 45 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// RhCl3 + 3C18H15P + 3NaBH4 + CO = RhC55H46P3O + 3NaCl + 3B + 11H
@@ -5941,7 +5941,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(11000))
.duration(40 * SECONDS)
.eut(500000)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
// 2NaOH + N2H4 =Mn= 2N + 2H2O + 2NaH
@@ -5955,7 +5955,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Nitrogen.getGas(2000), Materials.Water.getFluid(2000))
.duration(10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -5967,7 +5967,7 @@ public class ChemicalRecipes implements Runnable {
.fluidOutputs(Materials.Nitrogen.getGas(18000), Materials.Water.getFluid(18000))
.duration(3 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMultiblockChemicalRecipes);
+ .addTo(multiblockChemicalReactorRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java
index a552369087..10aaff6b4d 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/CircuitAssemblerRecipes.java
@@ -3,8 +3,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.Forestry;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.recipe.RecipeMaps.circuitAssemblerRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.loaders.postload.GT_MachineRecipeLoader.solderingMats;
@@ -48,7 +48,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(15 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -59,7 +59,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(15 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -70,7 +70,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(15 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -81,7 +81,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(20 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -92,7 +92,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(20 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -103,7 +103,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(20 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -114,7 +114,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(25 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -125,7 +125,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(25 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -136,7 +136,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(144L * tMultiplier / 2))
.duration(25 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -150,7 +150,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -164,7 +164,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -178,7 +178,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -192,7 +192,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
}
}
@@ -214,7 +214,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(576))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
// alternative version of the iron electron tube
@@ -228,7 +228,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(576))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
ItemStack[] rodMaterials = new ItemStack[] {
GT_OreDictUnificator.get(OrePrefixes.stickLong, Materials.Copper, 2L),
@@ -257,7 +257,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(576))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
}
for (Materials tMat : solderingMats) {
@@ -277,7 +277,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -291,7 +291,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -305,7 +305,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -319,7 +319,7 @@ public class CircuitAssemblerRecipes implements Runnable {
.fluidInputs(tMat.getMolten(1152L * tMultiplier / 2))
.duration(10 * SECONDS)
.eut((int) TierEU.RECIPE_LV)
- .addTo(sCircuitAssemblerRecipes);
+ .addTo(circuitAssemblerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java
index 6f7b8f4a04..ef7441c13b 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/CompressorRecipes.java
@@ -3,8 +3,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
import static gregtech.api.enums.Mods.GTPlusPlus;
import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.recipe.RecipeMaps.compressorRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.init.Blocks;
@@ -29,98 +29,98 @@ public class CompressorRecipes implements Runnable {
.itemOutputs(ItemList.IC2_Plantball.get(1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Compressed_Coal_Chunk.get(1))
.itemOutputs(ItemList.IC2_Industrial_Diamond.get(1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium, 1))
.itemOutputs(GT_ModHandler.getIC2Item("Uran238", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Uranium235, 1))
.itemOutputs(GT_ModHandler.getIC2Item("Uran235", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Plutonium, 1))
.itemOutputs(GT_ModHandler.getIC2Item("Plutonium", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Uranium235, 1))
.itemOutputs(GT_ModHandler.getIC2Item("smallUran235", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1))
.itemOutputs(GT_ModHandler.getIC2Item("smallPlutonium", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.ice, 2, 32767))
.itemOutputs(new ItemStack(Blocks.packed_ice, 1, 0))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1))
.itemOutputs(new ItemStack(Blocks.ice, 1, 0))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.CertusQuartz, 4))
.itemOutputs(getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 10))
.itemOutputs(getModItem(AppliedEnergistics2.ID, "tile.BlockQuartz", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 11))
.itemOutputs(new ItemStack(Blocks.quartz_block, 1, 0))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 12))
.itemOutputs(getModItem(AppliedEnergistics2.ID, "tile.BlockFluix", 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.quartz, 4, 0))
.itemOutputs(new ItemStack(Blocks.quartz_block, 1, 0))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
/*
* GT_Values.RA.stdBuilder() .itemInputs( new ItemStack(Items.wheat, 9, 0) ) .itemOutputs( new
@@ -133,14 +133,14 @@ public class CompressorRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.glowstone, 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Fireclay.getDust(1))
.itemOutputs(ItemList.CompressedFireclay.get(1))
.duration(4 * SECONDS)
.eut(4)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
if (Railcraft.isModLoaded()) {
GT_Values.RA.stdBuilder()
@@ -148,7 +148,7 @@ public class CompressorRecipes implements Runnable {
.itemOutputs(EnumCube.COKE_BLOCK.getItem())
.duration(15 * SECONDS)
.eut(2)
- .addTo(sCompressorRecipes);
+ .addTo(compressorRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java
index cdf8a52e93..e69af249ee 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/CropProcessingRecipes.java
@@ -1,7 +1,7 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
+import static gregtech.api.recipe.RecipeMaps.autoclaveRecipes;
+import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.UniversalChemical;
@@ -152,7 +152,7 @@ public class CropProcessingRecipes implements Runnable {
.fluidInputs(Materials.UUMatter.getFluid(Math.max(1, ((aMaterial.getMass() + 9) / 10))))
.duration((int) (aMaterial.getMass() * 128))
.eut(384)
- .addTo(sAutoclaveRecipes);
+ .addTo(autoclaveRecipes);
} else {
if (aMainOutput) {
@@ -161,7 +161,7 @@ public class CropProcessingRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, aMaterial, 1))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sExtractorRecipes);
+ .addTo(extractorRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java
index e97bcce2af..dd81fd2d66 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/CuttingRecipes.java
@@ -3,8 +3,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.BuildCraftTransport;
import static gregtech.api.enums.Mods.Forestry;
import static gregtech.api.enums.Mods.TinkerConstruct;
+import static gregtech.api.recipe.RecipeMaps.cutterRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -235,7 +235,7 @@ public class CuttingRecipes implements Runnable {
.duration(2 * duration)
.eut(eut)
.requiresCleanRoom()
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(inputs)
@@ -244,7 +244,7 @@ public class CuttingRecipes implements Runnable {
.duration(2 * duration)
.eut(eut)
.requiresCleanRoom()
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(inputs)
@@ -253,7 +253,7 @@ public class CuttingRecipes implements Runnable {
.duration(duration)
.eut(eut)
.requiresCleanRoom()
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
} else {
GT_Values.RA.stdBuilder()
.itemInputs(inputs)
@@ -261,7 +261,7 @@ public class CuttingRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(Math.max(4, Math.min(1000, duration * eut / 320))))
.duration(2 * duration)
.eut(eut)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(inputs)
@@ -269,7 +269,7 @@ public class CuttingRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(Math.max(3, Math.min(750, duration * eut / 426))))
.duration(2 * duration)
.eut(eut)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(inputs)
@@ -277,7 +277,7 @@ public class CuttingRecipes implements Runnable {
.fluidInputs(Materials.Lubricant.getFluid(Math.max(1, Math.min(250, duration * eut / 1280))))
.duration(duration)
.eut(eut)
- .addTo(sCutterRecipes);
+ .addTo(cutterRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java
index 30a938b6b9..6008eea927 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/DistilleryRecipes.java
@@ -1,8 +1,8 @@
package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.TinkerConstruct;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistillationRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistilleryRecipes;
+import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes;
+import static gregtech.api.recipe.RecipeMaps.distilleryRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -39,7 +39,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(32L))
.duration(12 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -47,7 +47,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(8L))
.duration(4 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -55,7 +55,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(8L))
.duration(4 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -63,7 +63,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(60L))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -71,7 +71,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(30L))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -79,7 +79,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(60L))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -87,7 +87,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(90L))
.duration(8 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -95,7 +95,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Ethanol.getFluid(12L))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(5))
@@ -103,7 +103,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(12L))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(5))
@@ -111,7 +111,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(GT_ModHandler.getDistilledWater(5L))
.duration(16 * TICKS)
.eut(10)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -119,7 +119,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.vodka", 1))
.duration(16 * TICKS)
.eut(16)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -127,7 +127,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.alcopops", 1))
.duration(16 * TICKS)
.eut(16)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -135,7 +135,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Oil.getFluid(100L))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -143,7 +143,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Oil.getFluid(100L))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -151,7 +151,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Oil.getFluid(100L))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -160,7 +160,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(500))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(6))
@@ -168,7 +168,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.IIIDimethylbenzene.getFluid(30))
.duration(16 * TICKS)
.eut(64)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(6))
@@ -176,7 +176,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.IIIDimethylbenzene.getFluid(20))
.duration(5 * SECONDS)
.eut(64)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(7))
@@ -184,7 +184,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.IVDimethylbenzene.getFluid(30))
.duration(16 * TICKS)
.eut(64)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(7))
@@ -192,7 +192,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(MaterialsKevlar.IVDimethylbenzene.getFluid(20))
.duration(5 * SECONDS)
.eut(64)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
// (NaCl·H2O) = NaCl + H2O
GT_Values.RA.stdBuilder()
@@ -202,7 +202,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(GT_ModHandler.getDistilledWater(1000))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -211,7 +211,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.AceticAcid.getFluid(25))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -220,7 +220,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(375))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -229,7 +229,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Ethanol.getFluid(150))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -238,7 +238,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Methanol.getFluid(150))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(5))
@@ -247,7 +247,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Ammonia.getGas(100))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(6))
@@ -256,7 +256,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.CarbonDioxide.getGas(400))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(7))
@@ -265,7 +265,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Methane.getGas(600))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(17))
@@ -274,7 +274,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 1800))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -282,7 +282,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 3000))
.duration(8 * SECONDS)
.eut(8)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -290,7 +290,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Benzene.getFluid(40))
.duration(8 * SECONDS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -298,7 +298,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Phenol.getFluid(25))
.duration(8 * SECONDS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
// Dimethylbenzene
GT_Values.RA.stdBuilder()
@@ -307,7 +307,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Dimethylbenzene.getFluid(30))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(5))
@@ -315,7 +315,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Dimethylbenzene.getFluid(20))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -323,7 +323,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.OilHeavy.getFluid(15))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -331,7 +331,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sToluene, 4))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -339,7 +339,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.LightFuel.getFluid(30L))
.duration(16 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -347,7 +347,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 32))
.duration(2 * SECONDS)
.eut(16)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -355,7 +355,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(2))
.duration(4 * SECONDS)
.eut(30)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -363,7 +363,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(getFluidStack("potion.scotch", 1))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
if (TinkerConstruct.isModLoaded()) {
@@ -373,7 +373,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(getFluidStack("glue", 8))
.duration(1 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -381,7 +381,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Glue.getFluid(4L))
.duration(1 * TICKS)
.eut(24)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
}
}
@@ -393,7 +393,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(500L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -401,7 +401,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(500L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -409,7 +409,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(500L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 2L))
@@ -417,14 +417,14 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Ethanol.getFluid(600L), Materials.Water.getFluid(300L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(400)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Water.getFluid(1000L))
.fluidOutputs(GT_ModHandler.getDistilledWater(1000L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -432,7 +432,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(250L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -440,7 +440,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(500L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -448,7 +448,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.Lubricant.getFluid(750L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
// C15H10N2O2(5HCl) = C15H10N2O2 + 5HCl
GT_Values.RA.stdBuilder()
@@ -457,7 +457,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(Materials.HydrochloricAcid.getFluid(5000L))
.duration(2 * MINUTES + 5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -470,7 +470,7 @@ public class DistilleryRecipes implements Runnable {
MaterialsKevlar.IIIDimethylbenzene.getFluid(100))
.duration(2 * SECONDS)
.eut(256)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -483,7 +483,7 @@ public class DistilleryRecipes implements Runnable {
MaterialsKevlar.IIIDimethylbenzene.getFluid(150))
.duration(2 * SECONDS)
.eut(256)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -496,7 +496,7 @@ public class DistilleryRecipes implements Runnable {
MaterialsKevlar.IVDimethylbenzene.getFluid(100))
.duration(2 * SECONDS)
.eut(256)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -511,7 +511,7 @@ public class DistilleryRecipes implements Runnable {
MaterialsKevlar.IVDimethylbenzene.getFluid(20))
.duration(2 * SECONDS)
.eut(256)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -526,7 +526,7 @@ public class DistilleryRecipes implements Runnable {
MaterialsKevlar.IVDimethylbenzene.getFluid(30))
.duration(2 * SECONDS)
.eut(256)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -539,7 +539,7 @@ public class DistilleryRecipes implements Runnable {
Materials.SulfuricGas.getGas(2400))
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -552,7 +552,7 @@ public class DistilleryRecipes implements Runnable {
Materials.SulfuricGas.getGas(600))
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -565,7 +565,7 @@ public class DistilleryRecipes implements Runnable {
Materials.SulfuricGas.getGas(600))
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(9))
@@ -578,7 +578,7 @@ public class DistilleryRecipes implements Runnable {
Materials.SulfuricGas.getGas(600))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
// 9C5H12O = 4C6H14O + 5CH4O + 4C4H8
GT_Values.RA.stdBuilder()
@@ -589,7 +589,7 @@ public class DistilleryRecipes implements Runnable {
Materials.Butene.getGas(400L))
.duration(2 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemOutputs(ItemList.IC2_Fertilizer.get(1))
@@ -604,7 +604,7 @@ public class DistilleryRecipes implements Runnable {
Materials.Methane.getGas(600))
.duration(3 * SECONDS + 15 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.itemOutputs(ItemList.IC2_Fertilizer.get(1))
@@ -612,13 +612,13 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biogas"), 8000), Materials.Water.getFluid(125L))
.duration(12 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(new FluidStack(ItemList.sOilExtraHeavy, 1000))
.fluidOutputs(Materials.OilHeavy.getFluid(1500))
.duration(16 * TICKS)
.eut(2400)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
}
public void universalDistillationTowerRecipes() {
@@ -1239,7 +1239,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(aOutputs[i])
.duration(2 * aDuration)
.eut(aEUt / 4)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
}
GT_RecipeBuilder buildDT = GT_Values.RA.stdBuilder()
.itemInputs(aCircuit);
@@ -1250,7 +1250,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(aOutputs)
.duration(aDuration)
.eut(aEUt)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
}
public void addUniversalDistillationRecipe(FluidStack aInput, FluidStack[] aOutputs, ItemStack aOutput2,
@@ -1265,7 +1265,7 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(aOutputs[i])
.duration(2 * aDuration)
.eut(aEUt / 4)
- .addTo(sDistilleryRecipes);
+ .addTo(distilleryRecipes);
}
GT_RecipeBuilder buildDT = GT_Values.RA.stdBuilder();
if (aOutput2 != GT_Values.NI) {
@@ -1275,6 +1275,6 @@ public class DistilleryRecipes implements Runnable {
.fluidOutputs(aOutputs)
.duration(aDuration)
.eut(aEUt)
- .addTo(sDistillationRecipes);
+ .addTo(distillationTowerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java
index d2ac35c08e..efcfa7e3dc 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ElectrolyzerRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes;
+import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -31,7 +31,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(2000L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2), ItemList.Cell_Empty.get(1L))
@@ -40,7 +40,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(2000L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3), ItemList.Cell_Empty.get(2L))
@@ -49,7 +49,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Oxygen.getGas(1000L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4), ItemList.Cell_Empty.get(2L))
@@ -58,7 +58,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Oxygen.getGas(1000L))
.duration(1 * MINUTES + 40 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("electrolyzedWaterCell", 1L), ItemList.Cell_Empty.get(2L))
@@ -67,7 +67,7 @@ public class ElectrolyzerRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("electrolyzedWaterCell", 1L), GT_Utility.getIntegratedCircuit(1))
@@ -75,42 +75,42 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(2000L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Water, 1L))
.itemOutputs(GT_ModHandler.getIC2Item("electrolyzedWaterCell", 1L))
.duration(1 * MINUTES + 13 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Dye_Bonemeal.get(3L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcium, 1L))
.duration(4 * SECONDS + 18 * TICKS)
.eut(26)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sand, 8, 0))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3L))
.duration(25 * SECONDS)
.eut(25)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sand, 8, 1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SiliconDioxide, 3L))
.duration(25 * SECONDS)
.eut(25)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 4))
.duration(5 * SECONDS)
.eut(64)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// ZnS = Zn + S + 1 Ga(9.17%)
GT_Values.RA.stdBuilder()
@@ -122,7 +122,7 @@ public class ElectrolyzerRecipes implements Runnable {
.outputChances(10000, 10000, 917)
.duration(10 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// IC2 Fertilizer = H2O + CaCO3 + C
GT_Values.RA.stdBuilder()
@@ -133,7 +133,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(1000L))
.duration(5 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// NaOH = Na + O + H
GT_Values.RA.stdBuilder()
@@ -143,7 +143,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Oxygen.getGas(1000))
.duration(50 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -152,7 +152,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Oxygen.getGas(2000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(11), Materials.Empty.getCells(2))
@@ -160,7 +160,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidInputs(Materials.CarbonDioxide.getGas(1000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// SO2 = S + 2O
GT_Values.RA.stdBuilder()
@@ -170,7 +170,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Oxygen.getGas(2000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(11), Materials.Empty.getCells(2))
@@ -178,7 +178,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidInputs(Materials.SulfurDioxide.getGas(1000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// NaCl = Na +Cl
GT_Values.RA.stdBuilder()
@@ -187,7 +187,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Chlorine.getGas(1000))
.duration(16 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// (NaCl·H2O)= NaOH + H
GT_Values.RA.stdBuilder()
@@ -197,7 +197,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Chlorine.getGas(1000))
.duration(36 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(11))
@@ -206,7 +206,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(1000))
.duration(36 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// HCl = H + Cl
GT_Values.RA.stdBuilder()
@@ -216,7 +216,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Chlorine.getGas(1000))
.duration(36 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(11))
@@ -225,7 +225,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(1000))
.duration(36 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(1))
@@ -233,7 +233,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Chlorine.getGas(1000))
.duration(36 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.HydrochloricAcid.getCells(1), GT_Utility.getIntegratedCircuit(11))
@@ -241,7 +241,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(1000))
.duration(36 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
// 2NaHSO4 = 2H + Na2S2O8
GT_Values.RA.stdBuilder()
@@ -250,7 +250,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.SodiumPersulfate.getFluid(1000))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemOutputs(
@@ -262,7 +262,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(2000))
.duration(15 * SECONDS)
.eut(192)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Cell_Empty.get(1))
@@ -273,7 +273,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(1000))
.duration(45 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Cell_Empty.get(1))
@@ -284,7 +284,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(1000))
.duration(45 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Cell_Empty.get(1))
@@ -295,7 +295,7 @@ public class ElectrolyzerRecipes implements Runnable {
.fluidOutputs(Materials.SulfuricAcid.getFluid(1000))
.duration(45 * SECONDS)
.eut(30)
- .addTo(sElectrolyzerRecipes);
+ .addTo(electrolyzerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java
index 2fd92c6a07..d9031ac64f 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ElectromagneticSeparatorRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectroMagneticSeparatorRecipes;
+import static gregtech.api.recipe.RecipeMaps.electroMagneticSeparatorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import gregtech.api.enums.GT_Values;
@@ -18,7 +18,7 @@ public class ElectromagneticSeparatorRecipes implements Runnable {
.outputChances(4000, 2000, 2000)
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV / 2)
- .addTo(sElectroMagneticSeparatorRecipes);
+ .addTo(electroMagneticSeparatorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.TengamRaw.getDust(1))
@@ -29,6 +29,6 @@ public class ElectromagneticSeparatorRecipes implements Runnable {
.outputChances(10000, 1000, 1000)
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sElectroMagneticSeparatorRecipes);
+ .addTo(electroMagneticSeparatorRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java
index 3cd8f19315..e26c4fef97 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ExtractorRecipes.java
@@ -1,7 +1,7 @@
package gregtech.loaders.postload.recipes;
+import static gregtech.api.recipe.RecipeMaps.extractorRecipes;
import static gregtech.api.util.GT_ModHandler.getIC2Item;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.WILDCARD;
@@ -43,6 +43,6 @@ public class ExtractorRecipes implements Runnable {
.itemOutputs(output)
.duration(15 * SECONDS)
.eut(2)
- .addTo(sExtractorRecipes);
+ .addTo(extractorRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java
index f916981c33..e52ad3d4fb 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ExtruderRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes;
+import static gregtech.api.recipe.RecipeMaps.extruderRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -17,13 +17,13 @@ public class ExtruderRecipes implements Runnable {
.itemOutputs(ItemList.FR_WaxCapsule.get(1L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.FR_RefractoryWax.get(1L), ItemList.Shape_Extruder_Cell.get(0L))
.itemOutputs(ItemList.FR_RefractoryCapsule.get(1L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(16)
- .addTo(sExtruderRecipes);
+ .addTo(extruderRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java
index d73dcd891a..c0954fda18 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FermenterRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFermentingRecipes;
+import static gregtech.api.recipe.RecipeMaps.fermentingRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -22,273 +22,273 @@ public class FermenterRecipes implements Runnable {
.fluidOutputs(Materials.FermentedBiomass.getFluid(100))
.duration(7 * SECONDS + 10 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 100))
.fluidOutputs(Materials.FermentedBiomass.getFluid(100))
.duration(7 * SECONDS + 10 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("milk", 50))
.fluidOutputs(getFluidStack("potion.mundane", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.lemonjuice", 50))
.fluidOutputs(getFluidStack("potion.limoncello", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.applejuice", 50))
.fluidOutputs(getFluidStack("potion.cider", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.goldenapplejuice", 50))
.fluidOutputs(getFluidStack("potion.goldencider", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.idunsapplejuice", 50))
.fluidOutputs(getFluidStack("potion.notchesbrew", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.reedwater", 50))
.fluidOutputs(getFluidStack("potion.rum", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.rum", 50))
.fluidOutputs(getFluidStack("potion.piratebrew", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.grapejuice", 50))
.fluidOutputs(getFluidStack("potion.wine", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.wine", 50))
.fluidOutputs(getFluidStack("potion.vinegar", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.scotch", 50))
.fluidOutputs(getFluidStack("potion.glenmckenner", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.wheatyhopsjuice", 50))
.fluidOutputs(getFluidStack("potion.beer", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.hopsjuice", 50))
.fluidOutputs(getFluidStack("potion.darkbeer", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.darkbeer", 50))
.fluidOutputs(getFluidStack("potion.dragonblood", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.beer", 75))
.fluidOutputs(getFluidStack("potion.vinegar", 50))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.cider", 75))
.fluidOutputs(getFluidStack("potion.vinegar", 50))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.goldencider", 75))
.fluidOutputs(getFluidStack("potion.vinegar", 50))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.rum", 75))
.fluidOutputs(getFluidStack("potion.vinegar", 50))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.wine", 75))
.fluidOutputs(getFluidStack("potion.vinegar", 50))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.awkward", 50))
.fluidOutputs(getFluidStack("potion.weakness", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.mundane", 50))
.fluidOutputs(getFluidStack("potion.weakness", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.thick", 50))
.fluidOutputs(getFluidStack("potion.weakness", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.poison", 50))
.fluidOutputs(getFluidStack("potion.damage", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.health", 50))
.fluidOutputs(getFluidStack("potion.damage", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.waterbreathing", 50))
.fluidOutputs(getFluidStack("potion.damage", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.nightvision", 50))
.fluidOutputs(getFluidStack("potion.invisibility", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.fireresistance", 50))
.fluidOutputs(getFluidStack("potion.slowness", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.speed", 50))
.fluidOutputs(getFluidStack("potion.slowness", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.strength", 50))
.fluidOutputs(getFluidStack("potion.weakness", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.regen", 50))
.fluidOutputs(getFluidStack("potion.poison", 25))
.duration(51 * SECONDS + 4 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.poison.strong", 50))
.fluidOutputs(getFluidStack("potion.damage.strong", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.health.strong", 50))
.fluidOutputs(getFluidStack("potion.damage.strong", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.nightvision.long", 50))
.fluidOutputs(getFluidStack("potion.invisibility.long", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.regen.strong", 50))
.fluidOutputs(getFluidStack("potion.poison.strong", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.fireresistance.long", 50))
.fluidOutputs(getFluidStack("potion.slowness.long", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.speed.long", 50))
.fluidOutputs(getFluidStack("potion.slowness.long", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.strength.long", 50))
.fluidOutputs(getFluidStack("potion.weakness.long", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(getFluidStack("potion.regen.long", 50))
.fluidOutputs(getFluidStack("potion.poison.long", 10))
.duration(1 * MINUTES + 42 * SECONDS + 8 * TICKS)
.eut(2)
- .addTo(sFermentingRecipes);
+ .addTo(fermentingRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java
index 23acb5c772..ea2b87996f 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FluidCannerRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
@@ -16,7 +16,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.Redstone.getMolten(288))
.duration(4)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Battery_Hull_LV.get(1))
@@ -24,7 +24,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(1000))
.duration(16)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Battery_Hull_MV.get(1))
@@ -32,7 +32,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(4000))
.duration(64)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Battery_Hull_HV.get(1))
@@ -40,7 +40,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(16000))
.duration(258)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Battery_Hull_LV.get(1))
@@ -48,7 +48,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.SulfuricAcid.getFluid(1000))
.duration(16)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Battery_Hull_MV.get(1))
@@ -56,7 +56,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.SulfuricAcid.getFluid(4000))
.duration(64)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Battery_Hull_HV.get(1))
@@ -64,7 +64,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidInputs(Materials.SulfuricAcid.getFluid(16000))
.duration(258)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.TF_Vial_FieryTears.get(1))
@@ -72,7 +72,7 @@ public class FluidCannerRecipes implements Runnable {
.fluidOutputs(Materials.FierySteel.getFluid(250))
.duration(4)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Spray_Color_Remover_Empty.get(1))
@@ -80,7 +80,7 @@ public class FluidCannerRecipes implements Runnable {
.itemOutputs(ItemList.Spray_Color_Remover.get(1))
.duration(74)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Spray_Color_Remover.get(1))
@@ -88,6 +88,6 @@ public class FluidCannerRecipes implements Runnable {
.fluidOutputs(Materials.Acetone.getFluid(4000))
.duration(74)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java
index 4bb712e99a..11861a9618 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FluidExtractorRecipes.java
@@ -7,8 +7,8 @@ import static gregtech.api.enums.Mods.IndustrialCraft2;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static net.minecraftforge.fluids.FluidRegistry.getFluidStack;
@@ -22,6 +22,7 @@ import gregtech.api.enums.ItemList;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.TierEU;
+import gregtech.api.recipe.RecipeCategories;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_OreDictUnificator;
@@ -35,21 +36,21 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(getFluidStack("squidink", 144))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Dye_Indigo.get(1L))
.fluidOutputs(getFluidStack("indigo", 144))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Indigo.get(1L))
.fluidOutputs(getFluidStack("indigo", 144))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_MilkWart.get(1L))
@@ -58,56 +59,56 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(GT_ModHandler.getMilk(150L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_OilBerry.get(1L))
.fluidOutputs(Materials.Oil.getFluid(100L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_UUMBerry.get(1L))
.fluidOutputs(Materials.UUMatter.getFluid(4L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_UUABerry.get(1L))
.fluidOutputs(Materials.UUAmplifier.getFluid(4L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fish, 1, 0))
.fluidOutputs(Materials.FishOil.getFluid(40L))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fish, 1, 1))
.fluidOutputs(Materials.FishOil.getFluid(60L))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fish, 1, 2))
.fluidOutputs(Materials.FishOil.getFluid(70L))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.fish, 1, 3))
.fluidOutputs(Materials.FishOil.getFluid(30L))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.coal, 1, 1))
@@ -116,7 +117,7 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.WoodTar.getFluid(100L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 1L))
@@ -125,7 +126,7 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Creosote.getFluid(5L))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.HydratedCoal, 1L))
@@ -134,56 +135,57 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(100L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 3))
.fluidOutputs(Materials.Mercury.getFluid(1000L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.gem, Materials.Mercury, 1L))
.fluidOutputs(Materials.Mercury.getFluid(1000L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Monazite, 1L))
.fluidOutputs(Materials.Helium.getGas(200L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(64)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(IndustrialCraft2.ID, "blockAlloyGlass", 1L, 0))
.fluidOutputs(Materials.ReinforceGlass.getMolten(144))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(NewHorizonsCoreMod.ID, "item.ReinforcedGlassPlate", 1L, 0))
.fluidOutputs(Materials.ReinforceGlass.getMolten(72))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(NewHorizonsCoreMod.ID, "item.ReinforcedGlassLense", 1L, 0))
.fluidOutputs(Materials.ReinforceGlass.getMolten(54))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Fluid.get(1L))
.fluidOutputs(Materials.Steel.getMolten(19 * 144))
.duration(20 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1L))
@@ -192,14 +194,16 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Tin.getMolten(12 * 144))
.duration(20 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(4L))
.fluidOutputs(Materials.Steel.getMolten(189))
.duration(2 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(16L))
@@ -208,7 +212,8 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Steel.getMolten(324))
.duration(20 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("TritiumCell", 1))
@@ -217,28 +222,30 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Tritium.getGas(32))
.duration(16 * TICKS)
.eut(64)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Quartzite, 1L))
.fluidOutputs(Materials.Glass.getMolten(72))
.duration(30 * SECONDS)
.eut(28)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 0))
.fluidOutputs(Materials.Iron.getMolten(288))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 1))
.fluidOutputs(Materials.Iron.getMolten(144))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2))
@@ -247,42 +254,48 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Bronze.getMolten(1728))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 13))
.fluidOutputs(Materials.Steel.getMolten(288))
.duration(20 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 14))
.fluidOutputs(Materials.Steel.getMolten(144))
.duration(20 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15))
.fluidOutputs(Materials.Steel.getMolten(1836))
.duration(20 * SECONDS)
.eut(90)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 0))
.fluidOutputs(Materials.Aluminium.getMolten(288))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 1))
.fluidOutputs(Materials.Aluminium.getMolten(144))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2))
@@ -291,84 +304,96 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Aluminium.getMolten(108L))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 3))
.fluidOutputs(Materials.StainlessSteel.getMolten(288))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 4))
.fluidOutputs(Materials.StainlessSteel.getMolten(144))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5))
.fluidOutputs(Materials.StainlessSteel.getMolten(1836))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 6))
.fluidOutputs(Materials.Titanium.getMolten(288))
.duration(35 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 7))
.fluidOutputs(Materials.Titanium.getMolten(144))
.duration(35 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8))
.fluidOutputs(Materials.Titanium.getMolten(1836))
.duration(35 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 9))
.fluidOutputs(Materials.TungstenSteel.getMolten(288))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 10))
.fluidOutputs(Materials.TungstenSteel.getMolten(144))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11))
.fluidOutputs(Materials.TungstenSteel.getMolten(1836))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 12))
.fluidOutputs(Materials.Palladium.getMolten(288))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 13))
.fluidOutputs(Materials.Palladium.getMolten(144))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14))
@@ -377,21 +402,24 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.NiobiumTitanium.getMolten(1728))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 0))
.fluidOutputs(Materials.Iridium.getMolten(288))
.duration(50 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 1))
.fluidOutputs(Materials.Iridium.getMolten(144))
.duration(50 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2))
@@ -400,21 +428,24 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Enderium.getMolten(1728))
.duration(50 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 3))
.fluidOutputs(Materials.Osmium.getMolten(288))
.duration(55 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 4))
.fluidOutputs(Materials.Osmium.getMolten(144))
.duration(55 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5))
@@ -423,77 +454,81 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Naquadah.getMolten(1728))
.duration(55 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 6))
.fluidOutputs(Materials.Neutronium.getMolten(288))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 7))
.fluidOutputs(Materials.Neutronium.getMolten(144))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8))
.fluidOutputs(Materials.Neutronium.getMolten(1836))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidExtractionRecipes);
+ .recipeCategory(RecipeCategories.fluidExtractorRecycling)
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.wheat_seeds, 1, 32767))
.fluidOutputs(Materials.SeedOil.getFluid(10))
.duration(1 * SECONDS + 12 * TICKS)
.eut(2)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.melon_seeds, 1, 32767))
.fluidOutputs(Materials.SeedOil.getFluid(10))
.duration(1 * SECONDS + 12 * TICKS)
.eut(2)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.pumpkin_seeds, 1, 32767))
.fluidOutputs(Materials.SeedOil.getFluid(10))
.duration(1 * SECONDS + 12 * TICKS)
.eut(2)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Crop_Drop_Rape.get(1))
.fluidOutputs(Materials.SeedOil.getFluid(125))
.duration(1 * SECONDS + 12 * TICKS)
.eut(2)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.snowball, 1, 0))
.fluidOutputs(Materials.Water.getFluid(250L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.snow, 1, 0))
.fluidOutputs(Materials.Water.getFluid(1000L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1L))
.fluidOutputs(Materials.Ice.getSolid(1000L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "phosphor", 1L))
@@ -502,7 +537,7 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(Materials.Lava.getFluid(800L))
.duration(12 * SECONDS + 16 * TICKS)
.eut(128)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
// Beecombs fluid extractor recipes
if (BartWorks.isModLoaded()) {
@@ -512,7 +547,7 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(getFluidStack("xenon", 250))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_IV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
// neon
GT_Values.RA.stdBuilder()
@@ -520,7 +555,7 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(getFluidStack("neon", 250))
.duration(15 * TICKS)
.eut(TierEU.RECIPE_IV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
// krpton
GT_Values.RA.stdBuilder()
@@ -528,7 +563,7 @@ public class FluidExtractorRecipes implements Runnable {
.fluidOutputs(getFluidStack("krypton", 250))
.duration(1 * SECONDS + 5 * TICKS)
.eut(TierEU.RECIPE_IV)
- .addTo(sFluidExtractionRecipes);
+ .addTo(fluidExtractionRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java
index 38890ebb26..b9cdfc4aa3 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FluidHeaterRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -21,7 +21,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.GrowthMediumSterilized.getFluid(1000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -29,7 +29,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.BioMediumSterilized.getFluid(1000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -37,7 +37,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.Water.getGas(960))
.duration(1 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -45,7 +45,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.Water.getGas(960))
.duration(1 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -53,7 +53,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.FryingOilHot.getFluid(16))
.duration(16 * TICKS)
.eut(30)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -61,7 +61,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.FryingOilHot.getFluid(16))
.duration(16 * TICKS)
.eut(30)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
// Ca(CH3COO)2 = CH3COCH3 + CaO + CO2
GT_Values.RA.stdBuilder()
@@ -70,7 +70,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.Acetone.getFluid(1000))
.duration(4 * SECONDS)
.eut(30)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
// Fluid Sodium
GT_Values.RA.stdBuilder()
@@ -81,7 +81,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.Sodium.getFluid(1000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -89,7 +89,7 @@ public class FluidHeaterRecipes implements Runnable {
.fluidOutputs(Materials.Ethenone.getGas(1000))
.duration(8 * SECONDS)
.eut(160)
- .addTo(sFluidHeaterRecipes);
+ .addTo(fluidHeaterRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java
index d194da4469..2d52f9eb69 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FluidSolidifierRecipes.java
@@ -4,8 +4,8 @@ import static gregtech.api.enums.Mods.IndustrialCraft2;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.fluidSolidifierRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes;
import static gregtech.api.util.GT_RecipeBuilder.INGOTS;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -55,7 +55,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(materialArray[i].getMolten(72L))
.duration(16 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
{
@@ -69,7 +69,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(new FluidStack(FluidRegistry.getFluid("molten.borosilicateglass"), 144))
.duration(2 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
GT_Values.RA.stdBuilder()
@@ -78,7 +78,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(1000L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -86,7 +86,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(1000L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -94,7 +94,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(250L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -102,7 +102,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(250L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -110,7 +110,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000L))
.duration(25 * SECONDS + 12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -118,7 +118,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(1000L))
.duration(25 * SECONDS + 12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -126,7 +126,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Lava.getFluid(1000L))
.duration(51 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -134,7 +134,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Concrete.getMolten(144L))
.duration(12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -142,7 +142,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Glowstone.getMolten(576L))
.duration(12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -150,7 +150,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(144L))
.duration(12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Plate.get(0L))
@@ -158,7 +158,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(144L))
.duration(12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Bottle.get(0L))
@@ -166,7 +166,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(144L))
.duration(12 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Cylinder.get(0L))
@@ -174,7 +174,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Milk.getFluid(250L))
.duration(51 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Cylinder.get(0L))
@@ -182,7 +182,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Cheese.getMolten(144L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Anvil.get(0L))
@@ -190,7 +190,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Iron.getMolten(4464L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Anvil.get(0L))
@@ -198,7 +198,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.WroughtIron.getMolten(4464L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(1))
@@ -206,7 +206,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Boron.getMolten(144L))
.duration(1 * SECONDS + 10 * TICKS)
.eut(30)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Cylinder.get(0))
@@ -214,7 +214,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Polytetrafluoroethylene.getMolten(36))
.duration(8 * SECONDS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Cylinder.get(0))
@@ -222,7 +222,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Polystyrene.getMolten(36))
.duration(8 * SECONDS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Cylinder.get(0))
@@ -230,7 +230,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.BorosilicateGlass.getMolten(72))
.duration(8 * SECONDS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Plate.get(0L))
@@ -238,7 +238,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.ReinforceGlass.getMolten(72))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -246,7 +246,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.ReinforceGlass.getMolten(144))
.duration(8 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -254,7 +254,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Glass.getMolten(144))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -262,7 +262,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.ReinforceGlass.getMolten(288))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -270,7 +270,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(getFluidStack("glass.molten", 1000))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ball.get(0L))
@@ -278,7 +278,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(new FluidStack(ItemList.sToluene, 100))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Nugget.get(0L))
@@ -286,7 +286,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.AnnealedCopper.getMolten(16))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ingot.get(0L))
@@ -294,7 +294,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.AnnealedCopper.getMolten(144))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -302,7 +302,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.AnnealedCopper.getMolten(1296))
.duration(14 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Nugget.get(0L))
@@ -310,7 +310,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.WroughtIron.getMolten(16))
.duration(16 * TICKS)
.eut(4)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Ingot.get(0L))
@@ -318,7 +318,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.WroughtIron.getMolten(144))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Block.get(0L))
@@ -326,7 +326,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.WroughtIron.getMolten(1296))
.duration(14 * SECONDS + 8 * TICKS)
.eut(8)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Spinneret.get(0L))
@@ -334,7 +334,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsKevlar.LiquidCrystalKevlar.getFluid(144L))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Mold_Anvil.get(0L))
@@ -342,7 +342,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(Materials.Steel.getMolten(4464L))
.duration(6 * SECONDS + 8 * TICKS)
.eut(16)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
final int whiteDwarfShapeSolidifierTime = 10 * SECONDS;
final int fluidPerShapeSolidifierRecipe = 4 * INGOTS;
@@ -354,7 +354,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Plate.get(1))
@@ -362,7 +362,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Cell.get(1))
@@ -370,7 +370,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Ring.get(1))
@@ -378,7 +378,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Rod.get(1))
@@ -386,7 +386,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Bolt.get(1))
@@ -394,7 +394,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Ingot.get(1))
@@ -402,7 +402,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Wire.get(1))
@@ -410,7 +410,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Casing.get(1))
@@ -418,7 +418,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Pipe_Tiny.get(1))
@@ -426,7 +426,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Pipe_Small.get(1))
@@ -434,7 +434,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Pipe_Medium.get(1))
@@ -442,7 +442,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Pipe_Large.get(1))
@@ -450,7 +450,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Pipe_Huge.get(1))
@@ -458,7 +458,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Block.get(1))
@@ -466,7 +466,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Sword.get(1))
@@ -474,7 +474,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Pickaxe.get(1))
@@ -482,7 +482,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Shovel.get(1))
@@ -490,7 +490,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Axe.get(1))
@@ -498,7 +498,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Hoe.get(1))
@@ -506,7 +506,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Hammer.get(1))
@@ -514,7 +514,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_File.get(1))
@@ -522,7 +522,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Saw.get(1))
@@ -530,7 +530,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Gear.get(1))
@@ -538,7 +538,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Rotor.get(1))
@@ -546,7 +546,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Turbine_Blade.get(1))
@@ -554,7 +554,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_Small_Gear.get(1))
@@ -562,7 +562,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Shape_Extruder_ToolHeadDrill.get(1))
@@ -570,7 +570,7 @@ public class FluidSolidifierRecipes implements Runnable {
.fluidInputs(MaterialsUEVplus.WhiteDwarfMatter.getMolten(fluidPerShapeSolidifierRecipe))
.duration(whiteDwarfShapeSolidifierTime)
.eut(TierEU.RECIPE_UMV)
- .addTo(sFluidSolidficationRecipes);
+ .addTo(fluidSolidifierRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java
index b703076968..49ad1154c7 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ForgeHammerRecipes.java
@@ -2,8 +2,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.GTPlusPlus;
import static gregtech.api.enums.Mods.HardcoreEnderExpansion;
+import static gregtech.api.recipe.RecipeMaps.hammerRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sHammerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -29,112 +29,112 @@ public class ForgeHammerRecipes implements Runnable {
.itemOutputs(new ItemStack(Blocks.stonebrick, 1, 2))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.stone, 1, 0))
.itemOutputs(new ItemStack(Blocks.cobblestone, 1, 0))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.cobblestone, 1, 0))
.itemOutputs(new ItemStack(Blocks.gravel, 1, 0))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.gravel, 1, 0))
.itemOutputs(new ItemStack(Blocks.sand, 1, 0))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.sandstone, 1, 32767))
.itemOutputs(new ItemStack(Blocks.sand, 1, 0))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.ice, 1, 0))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 1))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.packed_ice, 1, 0))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ice, 2))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.brick_block, 1, 0))
.itemOutputs(new ItemStack(Items.brick, 3, 0))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.nether_brick, 1, 0))
.itemOutputs(new ItemStack(Items.netherbrick, 3, 0))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.stained_glass, 1, 32767))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 1))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.glass, 1, 32767))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Glass, 1))
.duration(10 * TICKS)
.eut(10)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.stained_glass_pane, 1, 32767))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.glass_pane, 1, 32767))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Brick.getIngots(1))
.itemOutputs(Materials.Brick.getDustSmall(1))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Firebrick.get(1))
.itemOutputs(Materials.Brick.getDust(1))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Firebricks.get(1))
.itemOutputs(ItemList.Firebrick.get(3))
.duration(10 * TICKS)
.eut(16)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
if (GTPlusPlus.isModLoaded()) {
GT_Values.RA.stdBuilder()
@@ -143,7 +143,7 @@ public class ForgeHammerRecipes implements Runnable {
.fluidOutputs(MaterialsUEVplus.Space.getMolten(1440L), MaterialsUEVplus.Time.getMolten(1440L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_UXV)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
if (HardcoreEnderExpansion.isModLoaded()) {
@@ -152,7 +152,7 @@ public class ForgeHammerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.crushed, Materials.HeeEndium, 1))
.duration(16)
.eut(10)
- .addTo(sHammerRecipes);
+ .addTo(hammerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java
index 230dcad61a..80a34561e6 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FormingPressRecipes.java
@@ -2,8 +2,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.AppliedEnergistics2;
import static gregtech.api.enums.Mods.BuildCraftSilicon;
+import static gregtech.api.recipe.RecipeMaps.formingPressRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPressRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -30,7 +30,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -39,7 +39,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -48,7 +48,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 2))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -57,7 +57,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 3))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -66,7 +66,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 2L, 4))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -75,7 +75,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 5))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -84,7 +84,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(BuildCraftSilicon.ID, "redstoneChipset", 1L, 6))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
}
if (AppliedEnergistics2.isModLoaded()) {
@@ -95,7 +95,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 16))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -104,7 +104,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 16))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -113,7 +113,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 17))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -122,7 +122,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 18))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -131,7 +131,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 20))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
}
GT_Values.RA.stdBuilder()
@@ -139,14 +139,14 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(ItemList.Food_Raw_Cake.get(1L))
.duration(19 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.glass, 1, 32767), ItemList.Shape_Mold_Arrow.get(0L))
.itemOutputs(ItemList.Arrow_Head_Glass_Emtpy.get(1L))
.duration(3 * SECONDS + 4 * TICKS)
.eut(4)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -155,7 +155,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(ItemList.Credit_Greg_Cupronickel.get(4L))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -164,7 +164,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(ItemList.Coin_Doge.get(4L))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -173,7 +173,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(ItemList.Credit_Iron.get(4L))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -182,7 +182,7 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(ItemList.Credit_Iron.get(4L))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -191,6 +191,6 @@ public class FormingPressRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.brick, 1, 0))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sPressRecipes);
+ .addTo(formingPressRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java
index d3e3b0d339..2c3c979b11 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FuelRecipes.java
@@ -24,8 +24,6 @@ public class FuelRecipes implements Runnable {
.itemInputs(GT_ModHandler.getIC2Item("biogasCell", 1L))
.metadata(FUEL_VALUE, 40)
.metadata(FUEL_TYPE, 1)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
@@ -33,128 +31,96 @@ public class FuelRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.apple, 1))
.metadata(FUEL_VALUE, 6400)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Thaumcraft.ID, "ItemShard", 1L, 6))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "GluttonyShard", 1L))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "FMResource", 1L, 3))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 1))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 2))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 3))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 4))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 5))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ForbiddenMagic.ID, "NetherShard", 1L, 6))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TaintedMagic.ID, "ItemMaterial", 1L, 3))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TaintedMagic.ID, "ItemMaterial", 1L, 4))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(TaintedMagic.ID, "ItemMaterial", 1L, 5))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 6))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(ThaumicTinkerer.ID, "kamiResource", 1L, 7))
.metadata(FUEL_VALUE, 720)
.metadata(FUEL_TYPE, 5)
- .duration(0)
- .eut(0)
.addTo(GT_RecipeConstants.Fuel);
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java
index 1a78db2ee3..2d533dde0c 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/FusionReactorRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFusionRecipes;
+import static gregtech.api.recipe.RecipeMaps.fusionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeConstants.FUSION_THRESHOLD;
@@ -26,7 +26,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LuV)
.metadata(FUSION_THRESHOLD, 300000000)
- .addTo(sFusionRecipes); // FT1+ - utility
+ .addTo(fusionRecipes); // FT1+ - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Deuterium.getGas(125), Materials.Tritium.getGas(125))
@@ -34,7 +34,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(4096)
.metadata(FUSION_THRESHOLD, 40000000)
- .addTo(sFusionRecipes); // FT1 Cheap - farmable
+ .addTo(fusionRecipes); // FT1 Cheap - farmable
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Deuterium.getGas(125), Materials.Helium_3.getGas(125))
@@ -42,7 +42,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(2048)
.metadata(FUSION_THRESHOLD, 60000000)
- .addTo(sFusionRecipes); // FT1 Expensive //
+ .addTo(fusionRecipes); // FT1 Expensive //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Aluminium.getMolten(16), Materials.Lithium.getMolten(16))
@@ -50,7 +50,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(10240)
.metadata(FUSION_THRESHOLD, 240000000)
- .addTo(sFusionRecipes); // FT1+ Cheap
+ .addTo(fusionRecipes); // FT1+ Cheap
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Beryllium.getMolten(16), Materials.Deuterium.getGas(375))
@@ -58,7 +58,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(16384)
.metadata(FUSION_THRESHOLD, 180000000)
- .addTo(sFusionRecipes); // FT1+ Expensive //
+ .addTo(fusionRecipes); // FT1+ Expensive //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Silicon.getMolten(16), Materials.Magnesium.getMolten(16))
@@ -66,7 +66,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(8192)
.metadata(FUSION_THRESHOLD, 360000000)
- .addTo(sFusionRecipes); // FT1++ Cheap //
+ .addTo(fusionRecipes); // FT1++ Cheap //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Potassium.getMolten(16), Materials.Fluorine.getGas(144))
@@ -74,7 +74,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(TierEU.RECIPE_LuV)
.metadata(FUSION_THRESHOLD, 480000000)
- .addTo(sFusionRecipes); // FT1++ Expensive //
+ .addTo(fusionRecipes); // FT1++ Expensive //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Beryllium.getMolten(16), Materials.Tungsten.getMolten(16))
@@ -82,7 +82,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_LuV)
.metadata(FUSION_THRESHOLD, 150000000)
- .addTo(sFusionRecipes); // FT1 - utility
+ .addTo(fusionRecipes); // FT1 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Neodymium.getMolten(16), Materials.Hydrogen.getGas(48))
@@ -90,7 +90,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(24576)
.metadata(FUSION_THRESHOLD, 150000000)
- .addTo(sFusionRecipes); // FT1 - utility
+ .addTo(fusionRecipes); // FT1 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Lutetium.getMolten(16), Materials.Chrome.getMolten(16))
@@ -98,7 +98,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(4 * SECONDS + 16 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 200000000)
- .addTo(sFusionRecipes); // FT2 - utility
+ .addTo(fusionRecipes); // FT2 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Plutonium.getMolten(16), Materials.Thorium.getMolten(16))
@@ -106,7 +106,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LuV)
.metadata(FUSION_THRESHOLD, 300000000)
- .addTo(sFusionRecipes); // FT1+ - utility
+ .addTo(fusionRecipes); // FT1+ - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Americium.getMolten(144), Materials.Naquadria.getMolten(144))
@@ -114,7 +114,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(12 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
.metadata(FUSION_THRESHOLD, 640000000)
- .addTo(sFusionRecipes); // FT3 - utility
+ .addTo(fusionRecipes); // FT3 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Glowstone.getMolten(16), Materials.Helium.getPlasma(4))
@@ -122,8 +122,8 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_IV)
.metadata(FUSION_THRESHOLD, 40000000)
- .addTo(sFusionRecipes); // Mark 1 Expensive
- // //
+ .addTo(fusionRecipes); // Mark 1 Expensive
+ // //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Tungsten.getMolten(16), Materials.Helium.getGas(16))
@@ -131,7 +131,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(12 * SECONDS + 16 * TICKS)
.eut(24578)
.metadata(FUSION_THRESHOLD, 150000000)
- .addTo(sFusionRecipes); // FT1 - utility
+ .addTo(fusionRecipes); // FT1 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Manganese.getMolten(16), Materials.Hydrogen.getGas(16))
@@ -139,7 +139,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(8192)
.metadata(FUSION_THRESHOLD, 120000000)
- .addTo(sFusionRecipes); // FT1 - utility
+ .addTo(fusionRecipes); // FT1 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Magnesium.getMolten(128), Materials.Oxygen.getGas(128))
@@ -147,7 +147,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(8192)
.metadata(FUSION_THRESHOLD, 120000000)
- .addTo(sFusionRecipes); //
+ .addTo(fusionRecipes); //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Mercury.getFluid(16), Materials.Magnesium.getMolten(16))
@@ -155,7 +155,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 240000000)
- .addTo(sFusionRecipes); // FT2 - utility
+ .addTo(fusionRecipes); // FT2 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Gold.getMolten(16), Materials.Aluminium.getMolten(16))
@@ -163,7 +163,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 240000000)
- .addTo(sFusionRecipes); // FT2 - utility
+ .addTo(fusionRecipes); // FT2 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Uranium.getMolten(16), Materials.Helium.getGas(16))
@@ -171,7 +171,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(6 * SECONDS + 8 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 480000000)
- .addTo(sFusionRecipes); // FT2+ - utility
+ .addTo(fusionRecipes); // FT2+ - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Vanadium.getMolten(16), Materials.Hydrogen.getGas(125))
@@ -179,7 +179,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(24576)
.metadata(FUSION_THRESHOLD, 140000000)
- .addTo(sFusionRecipes); // FT1 - utility
+ .addTo(fusionRecipes); // FT1 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Gallium.getMolten(16), Materials.Radon.getGas(125))
@@ -187,7 +187,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(16384)
.metadata(FUSION_THRESHOLD, 140000000)
- .addTo(sFusionRecipes);
+ .addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Titanium.getMolten(48), Materials.Duranium.getMolten(32))
@@ -195,7 +195,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(TierEU.RECIPE_LuV)
.metadata(FUSION_THRESHOLD, 200000000)
- .addTo(sFusionRecipes);
+ .addTo(fusionRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Tantalum.getMolten(16), Materials.Tritium.getGas(16))
@@ -203,7 +203,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(24576)
.metadata(FUSION_THRESHOLD, 200000000)
- .addTo(sFusionRecipes); //
+ .addTo(fusionRecipes); //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Silver.getMolten(16), Materials.Lithium.getMolten(16))
@@ -211,7 +211,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(24576)
.metadata(FUSION_THRESHOLD, 380000000)
- .addTo(sFusionRecipes); //
+ .addTo(fusionRecipes); //
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Copper.getMolten(72), Materials.Tritium.getGas(250))
@@ -219,7 +219,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 180000000)
- .addTo(sFusionRecipes); // FT2 - farmable
+ .addTo(fusionRecipes); // FT2 - farmable
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Cobalt.getMolten(144), Materials.Silicon.getMolten(144))
@@ -227,7 +227,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 200000000)
- .addTo(sFusionRecipes); // FT2 - utility
+ .addTo(fusionRecipes); // FT2 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Gold.getMolten(144), Materials.Arsenic.getMolten(144))
@@ -235,7 +235,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 350000000)
- .addTo(sFusionRecipes); // FT2+
+ .addTo(fusionRecipes); // FT2+
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Silver.getMolten(144), Materials.Helium_3.getGas(375))
@@ -243,7 +243,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(49152)
.metadata(FUSION_THRESHOLD, 280000000)
- .addTo(sFusionRecipes); // FT2
+ .addTo(fusionRecipes); // FT2
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Tantalum.getMolten(144), Materials.Zinc.getPlasma(72))
@@ -251,7 +251,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(16 * TICKS)
.eut(98304)
.metadata(FUSION_THRESHOLD, 350000000)
- .addTo(sFusionRecipes); // FT3 - farmable
+ .addTo(fusionRecipes); // FT3 - farmable
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Iridium.getMolten(144), Materials.Fluorine.getGas(500))
@@ -259,7 +259,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(1 * SECONDS + 12 * TICKS)
.eut(98304)
.metadata(FUSION_THRESHOLD, 450000000)
- .addTo(sFusionRecipes); // FT3 - utility
+ .addTo(fusionRecipes); // FT3 - utility
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Plutonium241.getMolten(144), Materials.Hydrogen.getGas(2000))
@@ -267,7 +267,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(3 * SECONDS + 4 * TICKS)
.eut(98304)
.metadata(FUSION_THRESHOLD, 500000000)
- .addTo(sFusionRecipes); // FT3
+ .addTo(fusionRecipes); // FT3
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Lutetium.getMolten(144), Materials.Vanadium.getMolten(144))
@@ -275,7 +275,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(8 * TICKS)
.eut(TierEU.RECIPE_UEV / 2)
.metadata(FUSION_THRESHOLD, 1_000_000_000)
- .addTo(sFusionRecipes); // FT5 because of UEV voltage
+ .addTo(fusionRecipes); // FT5 because of UEV voltage
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Tellurium.getMolten(144), Materials.Zinc.getMolten(144))
@@ -283,7 +283,7 @@ public class FusionReactorRecipes implements Runnable {
.duration(8 * TICKS)
.eut(TierEU.RECIPE_UEV / 2)
.metadata(FUSION_THRESHOLD, 1_000_000_000)
- .addTo(sFusionRecipes); // FT5 because of UEV voltage
+ .addTo(fusionRecipes); // FT5 because of UEV voltage
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Osmium.getMolten(144), Materials.Silicon.getMolten(144))
@@ -291,6 +291,6 @@ public class FusionReactorRecipes implements Runnable {
.duration(8 * TICKS)
.eut(TierEU.RECIPE_UEV / 2)
.metadata(FUSION_THRESHOLD, 1_000_000_000)
- .addTo(sFusionRecipes); // FT5 because of UEV voltage
+ .addTo(fusionRecipes); // FT5 because of UEV voltage
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java
index e0eaa38a5c..a9764de8c6 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ImplosionCompressorRecipes.java
@@ -2,8 +2,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.GalacticraftCore;
import static gregtech.api.enums.Mods.GalacticraftMars;
+import static gregtech.api.recipe.RecipeMaps.implosionRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sImplosionRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.item.ItemStack;
@@ -28,7 +28,7 @@ public class ImplosionCompressorRecipes implements Runnable {
.metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 8)
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Ingot_IridiumAlloy.get(1L))
@@ -38,7 +38,7 @@ public class ImplosionCompressorRecipes implements Runnable {
.metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 8)
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
if (GalacticraftMars.isModLoaded()) {
@@ -50,7 +50,7 @@ public class ImplosionCompressorRecipes implements Runnable {
.metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 8)
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Ingot_Heavy2.get(1L))
@@ -60,7 +60,7 @@ public class ImplosionCompressorRecipes implements Runnable {
.metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 16)
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Ingot_Heavy3.get(1L))
@@ -70,7 +70,7 @@ public class ImplosionCompressorRecipes implements Runnable {
.metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, 24)
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
@@ -82,6 +82,6 @@ public class ImplosionCompressorRecipes implements Runnable {
.metadata(GT_RecipeConstants.ADDITIVE_AMOUNT, explosiveAmount)
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sImplosionRecipes);
+ .addTo(implosionRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java
index d6727644fa..be21c84d66 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/LaserEngraverRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes;
+import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
@@ -20,7 +20,7 @@ public class LaserEngraverRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut((int) TierEU.RECIPE_ZPM)
.noOptimize()
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(MaterialsUEVplus.DimensionallyTranscendentProsaicCatalyst.getFluid(1000))
@@ -29,7 +29,7 @@ public class LaserEngraverRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut((int) TierEU.RECIPE_UV)
.noOptimize()
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(MaterialsUEVplus.DimensionallyTranscendentResplendentCatalyst.getFluid(1000))
@@ -38,7 +38,7 @@ public class LaserEngraverRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut((int) TierEU.RECIPE_UHV)
.noOptimize()
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(MaterialsUEVplus.DimensionallyTranscendentExoticCatalyst.getFluid(1000))
@@ -47,7 +47,7 @@ public class LaserEngraverRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut((int) TierEU.RECIPE_UEV)
.noOptimize()
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(MaterialsUEVplus.DimensionallyTranscendentStellarCatalyst.getFluid(1000))
@@ -56,7 +56,7 @@ public class LaserEngraverRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut((int) TierEU.RECIPE_UIV)
.noOptimize()
- .addTo(sLaserEngraverRecipes);
+ .addTo(laserEngraverRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java
index 619c261762..4413f61200 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/LatheRecipes.java
@@ -1,8 +1,8 @@
package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.Forestry;
+import static gregtech.api.recipe.RecipeMaps.latheRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLatheRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -26,7 +26,7 @@ public class LatheRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(8)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "slabs", 1L, GT_Values.W))
@@ -35,6 +35,6 @@ public class LatheRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Wood, 1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(8)
- .addTo(sLatheRecipes);
+ .addTo(latheRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java
index f286e66ab8..863f0ae440 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/MatterAmplifierRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAmplifiers;
+import static gregtech.api.recipe.RecipeMaps.amplifierRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import gregtech.api.enums.GT_Values;
@@ -17,13 +17,13 @@ public class MatterAmplifierRecipes implements Runnable {
.fluidOutputs(Materials.UUAmplifier.getFluid(1))
.duration(9 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAmplifiers);
+ .addTo(amplifierRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.IC2_Scrapbox.get(1L))
.fluidOutputs(Materials.UUAmplifier.getFluid(1))
.duration(9 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sAmplifiers);
+ .addTo(amplifierRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java
index fbb87a941c..fd315542e5 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/MixerRecipes.java
@@ -7,8 +7,8 @@ import static gregtech.api.enums.Mods.Natura;
import static gregtech.api.enums.Mods.PamsHarvestCraft;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.mixerRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -48,7 +48,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.EnderEye, OrePrefixes.dust.mMaterialAmount))
.duration(5 * SECONDS)
.eut(48)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -58,7 +58,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Electrum, 2L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -68,7 +68,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Invar, 3L * OrePrefixes.dust.mMaterialAmount))
.duration(15 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -80,7 +80,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.StainlessSteel, 9L * OrePrefixes.dust.mMaterialAmount))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -91,7 +91,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Kanthal, 3L * OrePrefixes.dust.mMaterialAmount))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -101,7 +101,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Brass, 4L * OrePrefixes.dust.mMaterialAmount))
.duration(2 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -111,7 +111,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Bronze, 4L * OrePrefixes.dust.mMaterialAmount))
.duration(2 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -121,7 +121,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Cupronickel, 2L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -131,7 +131,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.SterlingSilver, 5L * OrePrefixes.dust.mMaterialAmount))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -141,7 +141,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.BlackBronze, 5L * OrePrefixes.dust.mMaterialAmount))
.duration(25 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -151,7 +151,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.BismuthBronze, 5L * OrePrefixes.dust.mMaterialAmount))
.duration(25 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -162,7 +162,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.BlackSteel, 5L * OrePrefixes.dust.mMaterialAmount))
.duration(25 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -174,7 +174,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.RedSteel, 8L * OrePrefixes.dust.mMaterialAmount))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -186,7 +186,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.BlueSteel, 8L * OrePrefixes.dust.mMaterialAmount))
.duration(40 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -199,7 +199,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.BlackSteel, 25L * OrePrefixes.dust.mMaterialAmount))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -213,7 +213,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.RedSteel, 40L * OrePrefixes.dust.mMaterialAmount))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -230,7 +230,7 @@ public class MixerRecipes implements Runnable {
GT_OreDictUnificator.getDust(Materials.BlueSteel, 32L * OrePrefixes.dust.mMaterialAmount))
.duration(3 * MINUTES)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -242,7 +242,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Ultimet, 9L * OrePrefixes.dust.mMaterialAmount))
.duration(45 * SECONDS)
.eut(500)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -253,7 +253,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.CobaltBrass, 9L * OrePrefixes.dust.mMaterialAmount))
.duration(45 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -264,7 +264,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount))
.duration(30 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -275,7 +275,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount))
.duration(30 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -286,7 +286,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Gunpowder, 6L * OrePrefixes.dust.mMaterialAmount))
.duration(30 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -298,7 +298,7 @@ public class MixerRecipes implements Runnable {
GT_OreDictUnificator.getDust(Materials.IndiumGalliumPhosphide, 3L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -307,7 +307,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Fireclay, 2L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -317,7 +317,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Nichrome, 5L * OrePrefixes.dust.mMaterialAmount))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -327,7 +327,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.Osmiridium, 4L * OrePrefixes.dust.mMaterialAmount))
.duration(2 * SECONDS)
.eut(2000)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -337,7 +337,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.NiobiumTitanium, 2L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(2000)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -347,7 +347,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.VanadiumGallium, 4L * OrePrefixes.dust.mMaterialAmount))
.duration(2 * SECONDS)
.eut(2000)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -357,7 +357,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.TungstenCarbide, 2L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(500)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -367,7 +367,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.TungstenSteel, 2L * OrePrefixes.dust.mMaterialAmount))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -378,7 +378,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.TPV, 7L * OrePrefixes.dust.mMaterialAmount))
.duration(8 * SECONDS + 15 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -390,7 +390,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.HSSG, 9L * OrePrefixes.dust.mMaterialAmount))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -402,7 +402,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.HSSE, 9L * OrePrefixes.dust.mMaterialAmount))
.duration(35 * SECONDS)
.eut(4096)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -413,7 +413,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.HSSS, 9L * OrePrefixes.dust.mMaterialAmount))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -424,7 +424,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.getDust(Materials.FerriteMixture, 6L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -434,7 +434,7 @@ public class MixerRecipes implements Runnable {
GT_OreDictUnificator.getDust(Materials.BorosilicateGlass, 8L * OrePrefixes.dust.mMaterialAmount))
.duration(10 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -447,7 +447,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(getFluidStack("sludge", 1000))
.duration(6 * SECONDS + 8 * TICKS)
.eut(24)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wheat, 1))
@@ -455,7 +455,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -464,7 +464,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(ItemList.Food_ChiliChips.get(1))
.duration(1 * SECONDS + 12 * TICKS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -473,7 +473,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(ItemList.IC2_Energium_Dust.get(1))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -482,7 +482,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(ItemList.IC2_Energium_Dust.get(9))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -492,7 +492,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.fermented_spider_eye, 1))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -502,7 +502,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.IronWood, 2))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -512,7 +512,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.IronWood, 18))
.duration(45 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -523,7 +523,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(500))
.duration(20 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -534,7 +534,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(GT_ModHandler.getDistilledWater(500))
.duration(20 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -545,7 +545,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -556,7 +556,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -567,7 +567,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -578,7 +578,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(1000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -589,7 +589,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(250))
.duration(16 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -598,7 +598,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Fuel, 6))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -609,7 +609,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.HeavyFuel.getFluid(1000))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -620,7 +620,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.LightFuel.getFluid(5000))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -631,7 +631,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.Fuel.getFluid(6000))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -642,7 +642,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.Fuel.getFluid(6000))
.duration(16 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -653,7 +653,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sDrillingFluid, 5000))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -663,7 +663,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(getFluidStack("ic2coolant", 125))
.duration(12 * SECONDS + 16 * TICKS)
.eut(48)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -673,7 +673,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(getFluidStack("ic2coolant", 1000))
.duration(12 * SECONDS + 16 * TICKS)
.eut(48)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -685,7 +685,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.AdvancedGlue.getFluid(200))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -697,7 +697,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.AdvancedGlue.getFluid(200))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -709,7 +709,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.AdvancedGlue.getFluid(200))
.duration(40 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -721,7 +721,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.McGuffium239.getFluid(12))
.duration(20 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -733,7 +733,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.McGuffium239.getFluid(8))
.duration(20 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -745,7 +745,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.McGuffium239.getFluid(4))
.duration(20 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.SFMixture.get(2), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.EnderEye, 1))
@@ -753,7 +753,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(1000))
.duration(15 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.SFMixture.get(1), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1))
@@ -761,7 +761,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Mercury.getFluid(500))
.duration(15 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -773,7 +773,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(4000))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -785,7 +785,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(3000))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -797,7 +797,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(2000))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -809,7 +809,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(1600))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -821,7 +821,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(1200))
.duration(15 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -833,7 +833,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(800))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
if (Thaumcraft.isModLoaded()) {
GT_Values.RA.stdBuilder()
@@ -845,7 +845,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.FierySteel.getFluid(50))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -856,7 +856,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.FierySteel.getFluid(50))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -867,7 +867,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.FierySteel.getFluid(50))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -878,7 +878,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.FierySteel.getFluid(50))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -889,7 +889,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.FierySteel.getFluid(50))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -900,7 +900,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.FierySteel.getFluid(50))
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
FluidStack tFD = getFluidStack("fluiddeath", 30);
if (tFD != null && tFD.getFluid() != null && tFD.amount > 0) {
@@ -913,7 +913,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(tFD)
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -924,7 +924,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(tFD)
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -935,7 +935,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(tFD)
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -946,7 +946,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(tFD)
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -957,7 +957,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(tFD)
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -968,7 +968,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(tFD)
.duration(10 * SECONDS)
.eut(64)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -980,7 +980,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(1000))
.duration(7 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -992,7 +992,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(750))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1004,7 +1004,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(500))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1016,7 +1016,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(400))
.duration(7 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1028,7 +1028,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(300))
.duration(6 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1040,7 +1040,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(200))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
}
@@ -1053,7 +1053,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(1000))
.duration(7 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1064,7 +1064,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(750))
.duration(6 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1075,7 +1075,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(500))
.duration(5 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1086,7 +1086,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(400))
.duration(7 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1097,7 +1097,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(300))
.duration(6 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1108,7 +1108,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(200))
.duration(5 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1119,7 +1119,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(new FluidStack(ItemList.sNitrationMixture, 2000))
.duration(24 * SECONDS)
.eut(2)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1129,7 +1129,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.NitrationMixture, 2))
.duration(24 * SECONDS)
.eut(2)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1140,7 +1140,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1151,7 +1151,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1162,7 +1162,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1173,7 +1173,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1184,7 +1184,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1195,7 +1195,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1206,7 +1206,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1217,7 +1217,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1228,7 +1228,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1239,7 +1239,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1250,7 +1250,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1261,7 +1261,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1272,7 +1272,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1283,7 +1283,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Water.getFluid(100))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// radiation manufacturing
@@ -1293,7 +1293,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.Helium.getGas(250))
.duration(1 * SECONDS + 10 * TICKS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(MaterialsOreAlum.SluiceSand.getDust(1))
@@ -1301,7 +1301,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(MaterialsOreAlum.SluiceJuice.getFluid(1000))
.duration(5 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// NaCl + H2O = (NaCl·H2O)
@@ -1311,7 +1311,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.SaltWater.getFluid(1000))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// CaCO3 + 2 CH3COOH = Ca(CH3COO)2 + H2O + CO2
@@ -1322,7 +1322,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000))
.duration(12 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(2), GT_Utility.getIntegratedCircuit(11))
@@ -1331,7 +1331,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(1000))
.duration(12 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(2), GT_Utility.getIntegratedCircuit(21))
@@ -1340,7 +1340,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.CarbonDioxide.getGas(1000))
.duration(12 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(4))
@@ -1349,7 +1349,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000))
.duration(12 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Calcite.getDust(5), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(14))
@@ -1358,7 +1358,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.CarbonDioxide.getGas(1000))
.duration(12 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// Ca + 2 CH3COOH = Ca(CH3COO)2 + 2H
@@ -1369,7 +1369,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000))
.duration(4 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Calcium.getDust(1), Materials.Empty.getCells(1), GT_Utility.getIntegratedCircuit(11))
@@ -1378,7 +1378,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.Hydrogen.getGas(2000))
.duration(4 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// CaO + 2 CH3COOH = Ca(CH3COO)2 + H2O
@@ -1389,7 +1389,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.CalciumAcetateSolution.getFluid(1000))
.duration(4 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1401,7 +1401,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(1000))
.duration(4 * SECONDS)
.eut(16)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// 2CH3COOCH3 + 3CH3COCH3/(C4H6O2)n = 5Glue
@@ -1412,7 +1412,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.AdvancedGlue.getFluid(5000))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.PolyvinylAcetate.getCells(2))
@@ -1421,7 +1421,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.AdvancedGlue.getFluid(5000))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.MethylAcetate.getCells(3))
@@ -1430,7 +1430,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.AdvancedGlue.getFluid(5000))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.PolyvinylAcetate.getCells(2))
@@ -1439,7 +1439,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.AdvancedGlue.getFluid(5000))
.duration(5 * SECONDS)
.eut(8)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Sugar.getDust(4))
@@ -1448,7 +1448,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000))
.duration(60 * SECONDS)
.eut(2)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Wood.getDust(4))
@@ -1457,7 +1457,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.DilutedSulfuricAcid.getFluid(1000))
.duration(60 * SECONDS)
.eut(2)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Fuel.getCells(1))
@@ -1466,7 +1466,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.NitroFuel.getFluid(1000))
.duration(20 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.BioDiesel.getCells(1))
@@ -1475,7 +1475,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.NitroFuel.getFluid(900))
.duration(20 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// CH4O + C4H8 = C5H12O
@@ -1484,7 +1484,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(Materials.MTBEMixture.getCells(1), Materials.Empty.getCells(1))
.duration(20 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1495,7 +1495,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(Materials.GasolineRaw.getCells(20))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1508,7 +1508,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.GasolinePremium.getFluid(32000))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_EV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
if (Railcraft.isModLoaded()) {
GT_Values.RA.stdBuilder()
@@ -1520,7 +1520,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(300))
.duration(5 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1531,7 +1531,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(120))
.duration(5 * SECONDS)
.eut(250)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
if (Thaumcraft.isModLoaded() && Railcraft.isModLoaded()) {
@@ -1545,7 +1545,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.NitroFuel.getFluid(300))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -1557,7 +1557,7 @@ public class MixerRecipes implements Runnable {
.fluidInputs(Materials.GasolinePremium.getFluid(120))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
}
@@ -1576,7 +1576,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".splash"), 750))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
if (splashStrong) GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1))
@@ -1584,7 +1584,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".strong.splash"), 750))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
if (splashLong) GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Gunpowder, 1))
@@ -1592,7 +1592,7 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("potion." + aName + ".long.splash"), 750))
.duration(10 * SECONDS)
.eut(24)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
public void registerSingleBlockAndMulti() {
@@ -1604,7 +1604,7 @@ public class MixerRecipes implements Runnable {
.itemOutputs(Materials.EnrichedHolmium.getDust(10))
.duration(30 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
// Catalysts for Plasma Forge.
{
@@ -1619,7 +1619,7 @@ public class MixerRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
.noOptimize()
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(10))
@@ -1633,7 +1633,7 @@ public class MixerRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UV)
.noOptimize()
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(11))
@@ -1647,7 +1647,7 @@ public class MixerRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UHV)
.noOptimize()
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(12))
@@ -1661,7 +1661,7 @@ public class MixerRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UEV)
.noOptimize()
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(13))
@@ -1675,7 +1675,7 @@ public class MixerRecipes implements Runnable {
.duration(41 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UIV)
.noOptimize()
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
GT_Values.RA.stdBuilder()
@@ -1684,6 +1684,6 @@ public class MixerRecipes implements Runnable {
.fluidOutputs(Materials.WeedEX9000.getFluid(750))
.duration(5 * SECONDS)
.eut(100)
- .addTo(sMixerRecipes);
+ .addTo(mixerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java
index d4e84e91e7..bb434cbf7d 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/PackagerRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes;
+import static gregtech.api.recipe.RecipeMaps.packagerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -19,7 +19,7 @@ public class PackagerRecipes implements Runnable {
.itemOutputs(ItemList.IC2_Scrapbox.get(1))
.duration(16 * TICKS)
.eut(1)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -28,7 +28,7 @@ public class PackagerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Packaged_Fries.get(1))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -37,7 +37,7 @@ public class PackagerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Packaged_PotatoChips.get(1))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -46,6 +46,6 @@ public class PackagerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Packaged_ChiliChips.get(1))
.duration(3 * SECONDS + 4 * TICKS)
.eut(16)
- .addTo(sBoxinatorRecipes);
+ .addTo(packagerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java
index cb67c043ba..fe0f7c7ed5 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/PlasmaForgeRecipes.java
@@ -3,8 +3,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.GTPlusPlus;
import static gregtech.api.enums.Mods.GoodGenerator;
import static gregtech.api.enums.Mods.NewHorizonsCoreMod;
+import static gregtech.api.recipe.RecipeMaps.plasmaForgeRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPlasmaForgeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT;
@@ -31,7 +31,7 @@ public class PlasmaForgeRecipes implements Runnable {
.duration(86400 * 20 * 2)
.eut(2_000_000_000)
.metadata(COIL_HEAT, 13500)
- .addTo(sPlasmaForgeRecipes);
+ .addTo(plasmaForgeRecipes);
// Quantum anomaly recipe bypass for UEV+. Avoids RNG.
GT_Values.RA.stdBuilder()
@@ -45,6 +45,6 @@ public class PlasmaForgeRecipes implements Runnable {
.duration(60 * SECONDS)
.eut((int) TierEU.RECIPE_UEV)
.metadata(COIL_HEAT, 10800)
- .addTo(sPlasmaForgeRecipes);
+ .addTo(plasmaForgeRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java
index 7fc192025c..e8a52dd1f8 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/PrinterRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPrinterRecipes;
+import static gregtech.api.recipe.RecipeMaps.printerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static net.minecraftforge.fluids.FluidRegistry.getFluidStack;
@@ -24,7 +24,7 @@ public class PrinterRecipes implements Runnable {
.fluidInputs(getFluidStack("squidink", 36))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sPrinterRecipes);
+ .addTo(printerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Paper_Punch_Card_Empty.get(1L))
@@ -33,7 +33,7 @@ public class PrinterRecipes implements Runnable {
.fluidInputs(getFluidStack("squidink", 36))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sPrinterRecipes);
+ .addTo(printerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Paper, 3L))
@@ -42,7 +42,7 @@ public class PrinterRecipes implements Runnable {
.fluidInputs(getFluidStack("squidink", 144))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sPrinterRecipes);
+ .addTo(printerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.map, 1, 32767))
@@ -51,7 +51,7 @@ public class PrinterRecipes implements Runnable {
.fluidInputs(getFluidStack("squidink", 144))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sPrinterRecipes);
+ .addTo(printerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.book, 1, 32767))
@@ -59,6 +59,6 @@ public class PrinterRecipes implements Runnable {
.fluidInputs(getFluidStack("squidink", 144))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sPrinterRecipes);
+ .addTo(printerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java b/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java
index 162c7d72f2..180e751d35 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/Pulverizer.java
@@ -4,8 +4,8 @@ import static gregtech.api.enums.Mods.AppliedEnergistics2;
import static gregtech.api.enums.Mods.HardcoreEnderExpansion;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -32,7 +32,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 19))
.duration(15 * SECONDS)
.eut(4)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Item.get(1))
@@ -41,14 +41,14 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 7))
.duration(15 * SECONDS)
.eut(4)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Fluid_Pipe.get(1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Steel, 2))
.duration(10 * TICKS)
.eut(4)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Long_Distance_Pipeline_Item_Pipe.get(1))
@@ -57,7 +57,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Steel, 1))
.duration(10 * TICKS)
.eut(4)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
// marbe dust( stone dust
@@ -66,21 +66,21 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Marble, 1))
.duration(8 * SECONDS)
.eut(4)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Thaumcraft.ID, "ItemResource", 1, 18))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Gold, 1))
.duration(1 * SECONDS + 1 * TICKS)
.eut(4)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.reeds, 1))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sugar, 1))
.duration(2 * SECONDS + 10 * TICKS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Cupronickel.get(1))
@@ -90,7 +90,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 2))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Kanthal.get(1))
@@ -100,7 +100,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 3))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Nichrome.get(1))
@@ -110,7 +110,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 4))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_TungstenSteel.get(1))
@@ -120,7 +120,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 5))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_HSSG.get(1))
@@ -130,7 +130,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 6))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_HSSS.get(1))
@@ -140,7 +140,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 7))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Naquadah.get(1))
@@ -150,7 +150,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 8))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_NaquadahAlloy.get(1))
@@ -160,7 +160,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 9))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_Trinium.get(1))
@@ -170,7 +170,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 10))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_ElectrumFlux.get(1))
@@ -180,7 +180,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 11))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Coil_AwakenedDraconium.get(1))
@@ -190,7 +190,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.QuartzSand, 12))
.duration(1 * MINUTES + 15 * SECONDS)
.eut(80)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
if (Railcraft.isModLoaded()) {
// recycling RC Tanks
@@ -201,7 +201,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 1))
@@ -210,7 +210,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 2))
@@ -219,7 +219,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iron, 3))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Steel
@@ -228,7 +228,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Steel, 2))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 14))
@@ -237,7 +237,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.beta", 1L, 15))
@@ -246,7 +246,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Steel, 3))
.duration(15 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Aluminium
@@ -255,7 +255,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 2))
.duration(22 * SECONDS + 10 * TICKS)
.eut(8)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 1))
@@ -264,7 +264,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(22 * SECONDS + 10 * TICKS)
.eut(8)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 2))
@@ -273,7 +273,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Aluminium, 3))
.duration(22 * SECONDS + 10 * TICKS)
.eut(8)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Stainless Steel
@@ -282,7 +282,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.StainlessSteel, 2))
.duration(30 * SECONDS)
.eut(16)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 4))
@@ -291,7 +291,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(30 * SECONDS)
.eut(16)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 5))
@@ -300,7 +300,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.StainlessSteel, 3))
.duration(30 * SECONDS)
.eut(16)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Titanium
@@ -309,7 +309,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 2))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 7))
@@ -318,7 +318,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 8))
@@ -327,7 +327,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Titanium, 3))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Tungesten Steel
@@ -336,7 +336,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.TungstenSteel, 2))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 10))
@@ -345,7 +345,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 11))
@@ -354,7 +354,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.TungstenSteel, 3))
.duration(30 * SECONDS)
.eut(30)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Palladium
@@ -363,7 +363,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 2))
.duration(37 * SECONDS + 10 * TICKS)
.eut(64)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 13))
@@ -372,7 +372,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(37 * SECONDS + 10 * TICKS)
.eut(64)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.zeta", 1L, 14))
@@ -381,7 +381,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Chrome, 3))
.duration(37 * SECONDS + 10 * TICKS)
.eut(64)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Iridium
@@ -390,7 +390,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 2))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 1))
@@ -399,7 +399,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 2))
@@ -408,7 +408,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Iridium, 3))
.duration(45 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Osmium
@@ -417,7 +417,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Osmium, 2))
.duration(52 * SECONDS + 10 * TICKS)
.eut(256)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 4))
@@ -426,7 +426,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(52 * SECONDS + 10 * TICKS)
.eut(256)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 5))
@@ -435,7 +435,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Osmium, 3))
.duration(52 * SECONDS + 10 * TICKS)
.eut(256)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
// Neutronium
@@ -444,7 +444,7 @@ public class Pulverizer implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Neutronium, 2))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 7))
@@ -453,7 +453,7 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Glass, 3))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "machine.eta", 1L, 8))
@@ -462,14 +462,14 @@ public class Pulverizer implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Neutronium, 3))
.duration(60 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Railcraft.ID, "cube.crushed.obsidian", 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Obsidian, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
if (AppliedEnergistics2.isModLoaded()) {
@@ -478,14 +478,14 @@ public class Pulverizer implements Runnable {
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 1L, 45))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(AppliedEnergistics2.ID, "tile.BlockSkyChest", 1L, 32767))
.itemOutputs(getModItem(AppliedEnergistics2.ID, "item.ItemMultiMaterial", 8L, 45))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
GT_Values.RA.stdBuilder()
@@ -494,7 +494,7 @@ public class Pulverizer implements Runnable {
.outputChances(10000, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.web, 1, 0))
@@ -502,14 +502,14 @@ public class Pulverizer implements Runnable {
.outputChances(10000, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.red_mushroom, 1, 32767))
.itemOutputs(ItemList.IC2_Grin_Powder.get(1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.item_frame, 1, 32767))
@@ -519,7 +519,7 @@ public class Pulverizer implements Runnable {
.outputChances(10000, 9500)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Items.bow, 1, 0))
@@ -529,49 +529,49 @@ public class Pulverizer implements Runnable {
.outputChances(10000, 9500)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Brick.getIngots(1))
.itemOutputs(Materials.Brick.getDustSmall(1))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.brick_stairs, 1, 0))
.itemOutputs(Materials.Brick.getDustSmall(6))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.CompressedFireclay.get(1))
.itemOutputs(Materials.Fireclay.getDustSmall(1))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Firebrick.get(1))
.itemOutputs(Materials.Brick.getDust(1))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Casing_Firebricks.get(1))
.itemOutputs(Materials.Brick.getDust(4))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Machine_Bricked_BlastFurnace.get(1))
.itemOutputs(Materials.Brick.getDust(8), Materials.Iron.getDust(1))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
if (HardcoreEnderExpansion.isModLoaded()) {
GT_Values.RA.stdBuilder()
@@ -582,7 +582,7 @@ public class Pulverizer implements Runnable {
.outputChances(10000, 5000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java
index d465f0f33c..51017358b4 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/PyrolyseRecipes.java
@@ -2,8 +2,8 @@ package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.Forestry;
import static gregtech.api.enums.Mods.Railcraft;
+import static gregtech.api.recipe.RecipeMaps.pyrolyseRecipes;
import static gregtech.api.util.GT_ModHandler.getModItem;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
@@ -32,7 +32,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Creosote.getFluid(8000))
.duration(32 * SECONDS)
.eut(64)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -43,7 +43,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Creosote.getFluid(8000))
.duration(16 * SECONDS)
.eut(96)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -53,7 +53,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Creosote.getFluid(32000))
.duration(2 * MINUTES + 8 * SECONDS)
.eut(64)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -64,7 +64,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Creosote.getFluid(32000))
.duration(1 * MINUTES + 4 * SECONDS)
.eut(96)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
}
if (Forestry.isModLoaded()) {
@@ -74,7 +74,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Biomass.getFluid(5000))
.duration(45 * SECONDS)
.eut(10)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(getModItem(Forestry.ID, "mulch", 32), GT_Utility.getIntegratedCircuit(1))
@@ -82,7 +82,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Biomass.getFluid(5000))
.duration(45 * SECONDS)
.eut(10)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
}
GT_Values.RA.stdBuilder()
@@ -91,7 +91,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(new FluidStack(FluidRegistry.getFluid("ic2biomass"), 5000))
.duration(45 * SECONDS)
.eut(10)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("biochaff", 1), GT_Utility.getIntegratedCircuit(2))
@@ -99,7 +99,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.FermentedBiomass.getFluid(1500))
.duration(10 * SECONDS)
.eut(10)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -107,7 +107,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.FermentedBiomass.getFluid(1000))
.duration(5 * SECONDS)
.eut(10)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -115,7 +115,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.FermentedBiomass.getFluid(1000))
.duration(5 * SECONDS)
.eut(10)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Sugar.getDust(23), GT_Utility.getIntegratedCircuit(1))
@@ -123,7 +123,7 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(1500))
.duration(16 * SECONDS)
.eut(64)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(Materials.Sugar.getDust(23), GT_Utility.getIntegratedCircuit(2))
@@ -132,6 +132,6 @@ public class PyrolyseRecipes implements Runnable {
.fluidOutputs(Materials.Water.getFluid(1500))
.duration(8 * SECONDS)
.eut(96)
- .addTo(sPyrolyseRecipes);
+ .addTo(pyrolyseRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java
index 183583763f..8d3614d76a 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/SifterRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSifterRecipes;
+import static gregtech.api.recipe.RecipeMaps.sifterRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.init.Blocks;
@@ -28,7 +28,7 @@ public class SifterRecipes implements Runnable {
.outputChances(10000, 9000, 8000, 6000, 3300, 2500)
.duration(30 * SECONDS)
.eut(16)
- .addTo(sSifterRecipes);
+ .addTo(sifterRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.crushedPurified, Materials.Coal, 1L))
@@ -42,6 +42,6 @@ public class SifterRecipes implements Runnable {
.outputChances(10000, 9000, 8000, 7000, 6000, 5000)
.duration(30 * SECONDS)
.eut(16)
- .addTo(sSifterRecipes);
+ .addTo(sifterRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java
index 2db50141b6..73d251014e 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/SlicerRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sSlicerRecipes;
+import static gregtech.api.recipe.RecipeMaps.slicerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
@@ -16,27 +16,27 @@ public class SlicerRecipes implements Runnable {
.itemOutputs(ItemList.Food_Raw_Cookie.get(4))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Baked_Bun.get(1), ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Sliced_Bun.get(2))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Baked_Bread.get(1), ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Sliced_Bread.get(2))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Food_Baked_Baguette.get(1), ItemList.Shape_Slicer_Flat.get(0))
.itemOutputs(ItemList.Food_Sliced_Baguette.get(2))
.duration(6 * SECONDS + 8 * TICKS)
.eut(4)
- .addTo(sSlicerRecipes);
+ .addTo(slicerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java
index 597cde3825..7e10d2a1fc 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/ThermalCentrifugeRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.init.Items;
@@ -25,6 +25,6 @@ public class ThermalCentrifugeRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1))
.duration(25 * SECONDS)
.eut(TierEU.RECIPE_LV)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java
index 058ab39279..123f9903ea 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/TranscendentPlasmaMixerRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sTranscendentPlasmaMixerRecipes;
+import static gregtech.api.recipe.RecipeMaps.transcendentPlasmaMixerRecipes;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
@@ -31,7 +31,7 @@ public class TranscendentPlasmaMixerRecipes implements Runnable {
.duration(100)
.eut(CRUDE_EU_PER_L)
.noOptimize()
- .addTo(sTranscendentPlasmaMixerRecipes);
+ .addTo(transcendentPlasmaMixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(2))
@@ -48,7 +48,7 @@ public class TranscendentPlasmaMixerRecipes implements Runnable {
.duration(100)
.eut(PROSAIC_EU_PER_L)
.noOptimize()
- .addTo(sTranscendentPlasmaMixerRecipes);
+ .addTo(transcendentPlasmaMixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(3))
@@ -69,7 +69,7 @@ public class TranscendentPlasmaMixerRecipes implements Runnable {
.duration(100)
.eut(RESPLENDENT_EU_PER_L)
.noOptimize()
- .addTo(sTranscendentPlasmaMixerRecipes);
+ .addTo(transcendentPlasmaMixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(4))
@@ -94,7 +94,7 @@ public class TranscendentPlasmaMixerRecipes implements Runnable {
.duration(100)
.eut(EXOTIC_EU_PER_L)
.noOptimize()
- .addTo(sTranscendentPlasmaMixerRecipes);
+ .addTo(transcendentPlasmaMixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(5))
@@ -123,7 +123,7 @@ public class TranscendentPlasmaMixerRecipes implements Runnable {
.duration(200)
.eut(STELLAR_EU_PER_HALF_L)
.noOptimize()
- .addTo(sTranscendentPlasmaMixerRecipes);
+ .addTo(transcendentPlasmaMixerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_Utility.getIntegratedCircuit(24))
@@ -136,7 +136,7 @@ public class TranscendentPlasmaMixerRecipes implements Runnable {
.duration(100)
.eut(PRIMORDIAL_MATTER)
.noOptimize()
- .addTo(sTranscendentPlasmaMixerRecipes);
+ .addTo(transcendentPlasmaMixerRecipes);
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java
index 400ffcbc44..444db30889 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/VacuumFreezerRecipes.java
@@ -1,7 +1,7 @@
package gregtech.loaders.postload.recipes;
import static gregtech.api.enums.Mods.GTPlusPlus;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes;
+import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes;
import static gregtech.api.util.GT_RecipeBuilder.HOURS;
import static gregtech.api.util.GT_RecipeBuilder.MINUTES;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
@@ -32,28 +32,28 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitch", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitchCore", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitchCore", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitchSpread", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitchSpread", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorHeatSwitchDiamond", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorHeatSwitchDiamond", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
// reactor vent
@@ -63,28 +63,28 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("reactorVent", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorVentCore", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorVentCore", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorVentGold", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorVentGold", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorVentDiamond", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorVentDiamond", 1L, 1))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
// reactor vent spread
@@ -93,7 +93,7 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("reactorVentSpread", 1L, 0))
.duration(5 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
// reactor coolant
{
@@ -103,98 +103,98 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("reactorCoolantSimple", 1L, 1))
.duration(10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorCoolantTriple", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorCoolantTriple", 1L, 1))
.duration(1 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("reactorCoolantSix", 1L, 32767))
.itemOutputs(GT_ModHandler.getIC2Item("reactorCoolantSix", 1L, 1))
.duration(3 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_He_1.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_He_1.get(1L))
.duration(3 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_He_3.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_He_3.get(1L))
.duration(9 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_He_6.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_He_6.get(1L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_NaK_1.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_NaK_1.get(1L))
.duration(3 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_NaK_3.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_NaK_3.get(1L))
.duration(9 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_NaK_6.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_NaK_6.get(1L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.neutroniumHeatCapacitor.getWildcard(1L))
.itemOutputs(ItemList.neutroniumHeatCapacitor.get(1L))
.duration(13 * HOURS + 53 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_1.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_1.get(1L))
.duration(9 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_2.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_2.get(1L))
.duration(18 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_3.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_3.get(1L))
.duration(27 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_6.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_6.get(1L))
.duration(54 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
}
@@ -206,56 +206,56 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Ice, 1L))
.duration(2 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LiquidOxygen, 1L))
.duration(1 * MINUTES)
.eut(TierEU.RECIPE_HV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LiquidNitrogen, 1L))
.duration(1 * MINUTES)
.eut(TierEU.RECIPE_HV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_ModHandler.getIC2Item("airCell", 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.LiquidAir, 1L))
.duration(1 * SECONDS + 8 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_1.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_1.get(1L))
.duration(1 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_2.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_2.get(1L))
.duration(3 * MINUTES)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_3.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_3.get(1L))
.duration(4 * MINUTES + 30 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Reactor_Coolant_Sp_6.getWildcard(1L))
.itemOutputs(ItemList.Reactor_Coolant_Sp_6.get(1L))
.duration(9 * MINUTES)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
// Freeze superconductors.
@@ -265,7 +265,7 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Pentacadmiummagnesiumhexaoxid, 1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -274,21 +274,21 @@ public class VacuumFreezerRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Titaniumonabariumdecacoppereikosaoxid, 1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_HV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Uraniumtriplatinid, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Uraniumtriplatinid, 1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_EV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.Vanadiumtriindinid, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Vanadiumtriindinid, 1L))
.duration(10 * SECONDS)
.eut(TierEU.RECIPE_IV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -303,7 +303,7 @@ public class VacuumFreezerRecipes implements Runnable {
1L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -313,7 +313,7 @@ public class VacuumFreezerRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Tetranaquadahdiindiumhexaplatiumosminid, 1L))
.duration(20 * SECONDS)
.eut(TierEU.RECIPE_ZPM)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -322,7 +322,7 @@ public class VacuumFreezerRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Longasssuperconductornameforuvwire, 1L))
.duration(40 * SECONDS)
.eut(TierEU.RECIPE_UV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(
@@ -331,28 +331,28 @@ public class VacuumFreezerRecipes implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.Longasssuperconductornameforuhvwire, 1L))
.duration(1 * MINUTES + 20 * SECONDS)
.eut(TierEU.RECIPE_UHV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUEVBase, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SuperconductorUEVBase, 1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UEV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUIVBase, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SuperconductorUIVBase, 1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UIV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.ingotHot, Materials.SuperconductorUMVBase, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.ingot, Materials.SuperconductorUMVBase, 1L))
.duration(2 * MINUTES + 40 * SECONDS)
.eut(TierEU.RECIPE_UMV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
// Plasma Freezing
@@ -362,42 +362,42 @@ public class VacuumFreezerRecipes implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cellMolten, Materials.Americium, 1L))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_LuV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Helium, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Helium, 1L))
.duration(5 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Nitrogen, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Nitrogen, 1L))
.duration(1 * SECONDS + 8 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Oxygen, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Oxygen, 1L))
.duration(1 * SECONDS + 12 * TICKS)
.eut(TierEU.RECIPE_MV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.cellPlasma, Materials.Radon, 1L))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Radon, 1L))
.duration(5 * SECONDS + 10 * TICKS)
.eut(TierEU.RECIPE_HV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
GT_Values.RA.stdBuilder()
.fluidInputs(Materials.Boron.getPlasma(144L))
.fluidOutputs(Materials.Boron.getMolten(144L))
.duration(1 * SECONDS)
.eut(12)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
if (GTPlusPlus.isModLoaded()) {
@@ -410,7 +410,7 @@ public class VacuumFreezerRecipes implements Runnable {
Materials.SuperCoolant.getFluid(1000))
.duration(1 * SECONDS)
.eut(TierEU.RECIPE_UIV)
- .addTo(sVacuumRecipes);
+ .addTo(vacuumFreezerRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java b/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java
index ec391e748b..017a8e6582 100644
--- a/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java
+++ b/src/main/java/gregtech/loaders/postload/recipes/WiremillRecipes.java
@@ -1,6 +1,6 @@
package gregtech.loaders.postload.recipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sWiremillRecipes;
+import static gregtech.api.recipe.RecipeMaps.wiremillRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeRegistrator.registerWiremillRecipes;
@@ -31,14 +31,14 @@ public class WiremillRecipes implements Runnable {
.itemOutputs(new ItemStack(Items.string, 32))
.duration(4 * SECONDS)
.eut(48)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.pipeTiny, Materials.Steel, 1))
.itemOutputs(GT_ModHandler.getIC2Item("miningPipe", 1))
.duration(10 * SECONDS)
.eut(16)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
if (!GT_Mod.gregtechproxy.mDisableIC2Cables) {
GT_Values.RA.stdBuilder()
@@ -46,42 +46,42 @@ public class WiremillRecipes implements Runnable {
.itemOutputs(GT_ModHandler.getIC2Item("copperCableItem", 3L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.AnnealedCopper, 1L))
.itemOutputs(GT_ModHandler.getIC2Item("copperCableItem", 3L))
.duration(5 * SECONDS)
.eut(2)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Tin, 1L))
.itemOutputs(GT_ModHandler.getIC2Item("tinCableItem", 4L))
.duration(7 * SECONDS + 10 * TICKS)
.eut(1)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Iron, 1L))
.itemOutputs(GT_ModHandler.getIC2Item("ironCableItem", 6L))
.duration(10 * SECONDS)
.eut(2)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.WroughtIron, 1L))
.itemOutputs(GT_ModHandler.getIC2Item("ironCableItem", 6L))
.duration(10 * SECONDS)
.eut(2)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Gold, 1L))
.itemOutputs(GT_ModHandler.getIC2Item("goldCableItem", 6L))
.duration(10 * SECONDS)
.eut(1)
- .addTo(sWiremillRecipes);
+ .addTo(wiremillRecipes);
}
}
}
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
index 20b0b46098..0d1257350d 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_Item_Block_And_Fluid.java
@@ -9,10 +9,10 @@ import static gregtech.api.enums.Mods.PamsHarvestCraft;
import static gregtech.api.enums.Mods.Railcraft;
import static gregtech.api.enums.Mods.Thaumcraft;
import static gregtech.api.enums.Mods.TwilightForest;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes;
-import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes;
+import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes;
+import static gregtech.api.recipe.RecipeMaps.maceratorRecipes;
+import static gregtech.api.recipe.RecipeMaps.thermalCentrifugeRecipes;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import static gregtech.api.util.GT_RecipeBuilder.TICKS;
import static gregtech.api.util.GT_RecipeBuilder.WILDCARD;
@@ -275,7 +275,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 1L))
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Thorium_2.get(1))
@@ -285,7 +285,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 3L))
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Thorium_4.get(1))
@@ -295,7 +295,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 6L))
.duration(25 * SECONDS)
.eut(48)
- .addTo(sThermalCentrifugeRecipes);
+ .addTo(thermalCentrifugeRecipes);
ItemList.Depleted_Naquadah_1
.set(new GT_DepletetCell_Item("NaquadahcellDep", "Fuel Rod (Depleted Naquadah)", 1));
@@ -349,7 +349,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(25 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Naquadah_2.get(1))
@@ -363,7 +363,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(50 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_Naquadah_4.get(1))
@@ -377,7 +377,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(100 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
ItemList.Depleted_MNq_1.set(new GT_DepletetCell_Item("MNqCellDep", "Fuel Rod (Depleted Nq*)", 1));
ItemList.Depleted_MNq_2.set(new GT_DepletetCell_Item("Double_MNqCellDep", "Dual Fuel Rod (Depleted Nq*)", 1));
@@ -428,7 +428,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(25 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_MNq_2.get(1))
@@ -442,7 +442,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(50 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(ItemList.Depleted_MNq_4.get(1))
@@ -456,7 +456,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10_000, 5_000, 5_000, 2_500, 10_000, 10_000)
.duration(100 * SECONDS)
.eut(2000)
- .addTo(sCentrifugeRecipes);
+ .addTo(centrifugeRecipes);
ItemList.Uraniumcell_1.set(
new GT_RadioactiveCellIC_Item(
@@ -827,7 +827,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.fluidInputs(GT_ModHandler.getSteam(1000))
.duration(16 * TICKS)
.eut(1)
- .addTo(sFluidCannerRecipes);
+ .addTo(fluidCannerRecipes);
Materials.Ice.mGas = Materials.Water.mGas;
Materials.Water.mGas.setTemperature(375)
@@ -2072,7 +2072,7 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 1L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.gravel, 1, WILDCARD))
@@ -2080,21 +2080,21 @@ public class GT_Loader_Item_Block_And_Fluid implements Runnable {
.outputChances(10000, 1000)
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.furnace, 1, WILDCARD))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 8L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_Values.RA.stdBuilder()
.itemInputs(new ItemStack(Blocks.lit_furnace, 1, WILDCARD))
.itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Stone, 8L))
.duration(20 * SECONDS)
.eut(2)
- .addTo(sMaceratorRecipes);
+ .addTo(maceratorRecipes);
GT_OreDictUnificator.set(
OrePrefixes.ingot,
diff --git a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
index 8ab21db198..9977af29f8 100644
--- a/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
+++ b/src/main/java/gregtech/loaders/preload/GT_Loader_MetaTileEntities.java
@@ -65,7 +65,6 @@ import static gregtech.api.enums.MetaTileEntityIDs.BREWERY_IV;
import static gregtech.api.enums.MetaTileEntityIDs.BREWERY_LV;
import static gregtech.api.enums.MetaTileEntityIDs.BREWERY_MV;
import static gregtech.api.enums.MetaTileEntityIDs.BRICKED_BLAST_FURNACE_CONTROLLER;
-import static gregtech.api.enums.MetaTileEntityIDs.BRONZE_BLAST_FURNACE_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.CHARCOAL_PILE_IGNITER_CONTROLLER;
import static gregtech.api.enums.MetaTileEntityIDs.CHEST_BUFFER_EV;
import static gregtech.api.enums.MetaTileEntityIDs.CHEST_BUFFER_HV;
@@ -536,7 +535,6 @@ import gregtech.common.tileentities.machines.long_distance.GT_MetaTileEntity_Lon
import gregtech.common.tileentities.machines.long_distance.GT_MetaTileEntity_LongDistancePipelineItem;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_AssemblyLine;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_BrickedBlastFurnace;
-import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_BronzeBlastFurnace;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Charcoal_Pit;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_Cleanroom;
import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_ConcreteBackfiller1;
@@ -815,13 +813,6 @@ public class GT_Loader_MetaTileEntities implements Runnable { // TODO CHECK CIRC
"multimachine.brickedblastfurnace",
"Bricked Blast Furnace").getStackForm(1L));
- // deprecated since ages, maybe time to remove it from the game?
- ItemList.Machine_Bronze_BlastFurnace.set(
- new GT_MetaTileEntity_BronzeBlastFurnace(
- BRONZE_BLAST_FURNACE_CONTROLLER.ID,
- "bronzemachine.blastfurnace",
- "Bronze Plated Blast Furnace").getStackForm(1L));
-
ItemList.Machine_Multi_BlastFurnace.set(
new GT_MetaTileEntity_ElectricBlastFurnace(
EBF_CONTROLLER.ID,
diff --git a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
index 2f7ed5ca16..412eb3bba9 100644
--- a/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
+++ b/src/main/java/gregtech/loaders/preload/GT_PreLoad.java
@@ -17,6 +17,7 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.PrintStream;
+import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
@@ -33,6 +34,8 @@ import org.apache.commons.lang3.StringUtils;
import cpw.mods.fml.common.LoadController;
import cpw.mods.fml.common.Loader;
import cpw.mods.fml.common.ModContainer;
+import cpw.mods.fml.common.discovery.ASMDataTable;
+import cpw.mods.fml.common.discovery.ModDiscoverer;
import gregtech.GT_Mod;
import gregtech.api.GregTech_API;
import gregtech.api.enums.ConfigCategories;
@@ -40,6 +43,9 @@ import gregtech.api.enums.Dyes;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeCategoryHolder;
+import gregtech.api.recipe.RecipeCategorySetting;
import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
@@ -516,8 +522,6 @@ public class GT_PreLoad {
.getBoolean(true);
GT_Mod.gregtechproxy.mHideUnusedOres = tMainConfig.get(GT_Mod.aTextGeneral, "HideUnusedOres", true)
.getBoolean(true);
- GT_Mod.gregtechproxy.mHideRecyclingRecipes = tMainConfig.get(GT_Mod.aTextGeneral, "HideRecyclingRecipes", true)
- .getBoolean(true);
GT_Mod.gregtechproxy.mArcSmeltIntoAnnealed = tMainConfig
.get(GT_Mod.aTextGeneral, "ArcSmeltIntoAnnealedWrought", true)
.getBoolean(true);
@@ -853,6 +857,18 @@ public class GT_PreLoad {
.get("nei", "RecipeOwnerStackTrace", false);
GT_Mod.gregtechproxy.mNEIOriginalVoltage = GregTech_API.sClientDataFile.get("nei", "OriginalVoltage", false);
+ GT_Mod.gregtechproxy.recipeCategorySettings.clear();
+ for (RecipeCategory recipeCategory : findRecipeCategories()) {
+ RecipeCategorySetting setting = RecipeCategorySetting.find(
+ GregTech_API.sClientDataFile.getWithValidValues(
+ "nei.recipe_categories",
+ recipeCategory.unlocalizedName,
+ RecipeCategorySetting.NAMES,
+ RecipeCategorySetting.getDefault()
+ .toName()));
+ GT_Mod.gregtechproxy.recipeCategorySettings.put(recipeCategory, setting);
+ }
+
GT_Mod.gregtechproxy.mWailaTransformerVoltageTier = GregTech_API.sClientDataFile
.get("waila", "WailaTransformerVoltageTier", true);
GT_Mod.gregtechproxy.wailaAverageNS = GregTech_API.sClientDataFile.get("waila", "WailaAverageNS", false);
@@ -862,5 +878,38 @@ public class GT_PreLoad {
for (int i = 0; i < Circuits.length; i++) {
GT_Mod.gregtechproxy.mCircuitsOrder.putIfAbsent(Circuits[i], i);
}
+
+ GT_Mod.gregtechproxy.reloadNEICache();
+ }
+
+ private static List<RecipeCategory> findRecipeCategories() {
+ List<RecipeCategory> ret = new ArrayList<>();
+ try {
+ Field discovererField = Loader.class.getDeclaredField("discoverer");
+ discovererField.setAccessible(true);
+ ModDiscoverer discoverer = (ModDiscoverer) discovererField.get(Loader.instance());
+ for (ASMDataTable.ASMData asmData : discoverer.getASMTable()
+ .getAll(RecipeCategoryHolder.class.getName())) {
+ try {
+ Object obj = Class.forName(asmData.getClassName())
+ .getDeclaredField(asmData.getObjectName())
+ .get(null);
+ if (obj instanceof RecipeCategory recipeCategory) {
+ ret.add(recipeCategory);
+ } else {
+ GT_FML_LOGGER.error(
+ "{}#{} is not an instance of RecipeCategory",
+ asmData.getClassName(),
+ asmData.getObjectName());
+ }
+ } catch (ClassNotFoundException | NoSuchFieldException | IllegalAccessException e) {
+ GT_FML_LOGGER.error("Failed to find RecipeCategory");
+ GT_FML_LOGGER.catching(e);
+ }
+ }
+ } catch (NoSuchFieldException | IllegalAccessException e) {
+ throw new RuntimeException(e);
+ }
+ return ret;
}
}
diff --git a/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java b/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java
deleted file mode 100644
index bb14a02618..0000000000
--- a/src/main/java/gregtech/nei/GT_NEI_AssLineHandler.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package gregtech.nei;
-
-import gregtech.api.util.GT_Recipe;
-
-@Deprecated
-public class GT_NEI_AssLineHandler extends RecipeMapHandler {
-
- public GT_NEI_AssLineHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) {
- super(aRecipeMap);
- }
-
- @Override
- public String getGuiTexture() {
- return null;
- }
-
- @Override
- public String getRecipeName() {
- return null;
- }
-}
diff --git a/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java b/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java
index f61bd7621f..dd99b6bb0e 100644
--- a/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java
+++ b/src/main/java/gregtech/nei/GT_NEI_DefaultHandler.java
@@ -1,12 +1,12 @@
package gregtech.nei;
-import static codechicken.nei.recipe.RecipeInfo.getGuiOffset;
+import static gregtech.api.enums.GT_Values.V;
-import java.awt.Point;
import java.awt.Rectangle;
import java.lang.ref.SoftReference;
import java.text.DecimalFormat;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -16,14 +16,15 @@ import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import net.minecraft.client.Minecraft;
import net.minecraft.client.gui.FontRenderer;
-import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.item.ItemStack;
+import net.minecraft.util.StatCollector;
import net.minecraftforge.fluids.FluidStack;
import org.apache.commons.lang3.Range;
@@ -38,58 +39,62 @@ import com.gtnewhorizons.modularui.api.screen.ModularWindow;
import com.gtnewhorizons.modularui.api.widget.Widget;
import com.gtnewhorizons.modularui.common.widget.SlotWidget;
-import codechicken.lib.gui.GuiDraw;
import codechicken.nei.NEIClientUtils;
import codechicken.nei.PositionedStack;
-import codechicken.nei.guihook.GuiContainerManager;
-import codechicken.nei.guihook.IContainerInputHandler;
-import codechicken.nei.guihook.IContainerTooltipHandler;
-import codechicken.nei.recipe.GuiCraftingRecipe;
import codechicken.nei.recipe.GuiRecipe;
-import codechicken.nei.recipe.GuiUsageRecipe;
import codechicken.nei.recipe.ICraftingHandler;
import codechicken.nei.recipe.IUsageHandler;
import codechicken.nei.recipe.RecipeCatalysts;
import codechicken.nei.recipe.TemplateRecipeHandler;
import gregtech.GT_Mod;
-import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.enums.SteamVariant;
-import gregtech.api.gui.GT_GUIContainer;
+import gregtech.api.gui.GT_GUIColorOverride;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.IOverclockDescriptionProvider;
import gregtech.api.objects.ItemData;
-import gregtech.api.util.GT_LanguageManager;
-import gregtech.api.util.GT_Log;
+import gregtech.api.objects.overclockdescriber.EUNoOverclockDescriber;
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.recipe.BasicUIProperties;
+import gregtech.api.recipe.NEIRecipeProperties;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeCategorySetting;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMapFrontend;
import gregtech.api.util.GT_OreDictUnificator;
+import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_Recipe;
import gregtech.api.util.GT_Utility;
import gregtech.common.blocks.GT_Item_Machines;
import gregtech.common.gui.modularui.UIHelper;
-import gregtech.common.power.Power;
-public class GT_NEI_DefaultHandler extends RecipeMapHandler {
+public class GT_NEI_DefaultHandler extends TemplateRecipeHandler {
- public static final int sOffsetX = 5;
- public static final int sOffsetY = 11;
+ private static final int offsetX = 5;
+ private static final int offsetY = 11;
+ protected static final Pos2d WINDOW_OFFSET = new Pos2d(-offsetX, -offsetY);
- private static final ConcurrentMap<GT_Recipe.GT_Recipe_Map, SortedRecipeListCache> CACHE = new ConcurrentHashMap<>();
+ private static final ConcurrentMap<RecipeCategory, SortedRecipeListCache> CACHE = new ConcurrentHashMap<>();
- protected Power mPower;
- private String mRecipeName; // Name of the handler displayed on top
- private NEIHandlerAbsoluteTooltip mRecipeNameTooltip;
private static final int RECIPE_NAME_WIDTH = 140;
/**
* Static version of {@link TemplateRecipeHandler#cycleticks}. Can be referenced from cached recipes.
*/
- public static int cycleTicksStatic = Math.abs((int) System.currentTimeMillis());
+ private static int cycleTicksStatic = Math.abs((int) System.currentTimeMillis());
/**
* Basically {@link #cycleTicksStatic} but always updated even while holding shift
*/
private static int drawTicks;
+ private static final int PROGRESSBAR_CYCLE_TICKS = 200;
- protected static final int PROGRESSBAR_CYCLE_TICKS = 200;
+ protected final RecipeCategory recipeCategory;
+ protected final RecipeMap<?> recipeMap;
+ protected final RecipeMapFrontend frontend;
+ protected final BasicUIProperties uiProperties;
+ protected final NEIRecipeProperties neiProperties;
protected final ModularWindow modularWindow;
protected final ItemStackHandler itemInputsInventory;
@@ -97,80 +102,117 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
protected final ItemStackHandler specialSlotInventory;
protected final ItemStackHandler fluidInputsInventory;
protected final ItemStackHandler fluidOutputsInventory;
- protected static final Pos2d WINDOW_OFFSET = new Pos2d(-sOffsetX, -sOffsetY);
- static {
- GuiContainerManager.addInputHandler(new GT_RectHandler());
- GuiContainerManager.addTooltipHandler(new GT_RectHandler());
- }
-
- public GT_NEI_DefaultHandler(GT_Recipe.GT_Recipe_Map aRecipeMap) {
- super(aRecipeMap);
- Rectangle transferRect = new Rectangle(aRecipeMap.neiTransferRect);
- transferRect.translate(WINDOW_OFFSET.x, WINDOW_OFFSET.y);
- this.transferRects.add(new RecipeTransferRect(transferRect, getOverlayIdentifier()));
-
- if (mRecipeMap.useModularUI) {
- ModularWindow.Builder builder = mRecipeMap.createNEITemplate(
- itemInputsInventory = new ItemStackHandler(mRecipeMap.mUsualInputCount),
- itemOutputsInventory = new ItemStackHandler(mRecipeMap.mUsualOutputCount),
- specialSlotInventory = new ItemStackHandler(1),
- fluidInputsInventory = new ItemStackHandler(mRecipeMap.getUsualFluidInputCount()),
- fluidOutputsInventory = new ItemStackHandler(mRecipeMap.getUsualFluidOutputCount()),
- () -> ((float) getDrawTicks() % PROGRESSBAR_CYCLE_TICKS) / PROGRESSBAR_CYCLE_TICKS,
- WINDOW_OFFSET);
- modularWindow = builder.build();
- UIInfos.initializeWindow(Minecraft.getMinecraft().thePlayer, modularWindow);
- } else {
- itemInputsInventory = itemOutputsInventory = specialSlotInventory = fluidInputsInventory = fluidOutputsInventory = null;
- modularWindow = null;
- }
- }
-
- @Deprecated
- public List<GT_Recipe> getSortedRecipes() {
- List<GT_Recipe> result = new ArrayList<>(this.mRecipeMap.mRecipeList);
- Collections.sort(result);
- return result;
+ protected OverclockDescriber overclockDescriber;
+ /**
+ * Localized name of this handler displayed on the top.
+ */
+ private String recipeNameDisplay;
+ /**
+ * Tooltip shown while hovering over header of this handler. Can be null if the full name fits in the screen.
+ */
+ private NEIHandlerAbsoluteTooltip recipeNameTooltip;
+
+ protected final GT_GUIColorOverride colorOverride = GT_GUIColorOverride
+ .get(GT_UITextures.BACKGROUND_NEI_SINGLE_RECIPE.location);
+ private int neiTextColorOverride = -1;
+
+ public GT_NEI_DefaultHandler(RecipeCategory recipeCategory) {
+ this.recipeCategory = recipeCategory;
+ this.recipeMap = recipeCategory.recipeMap;
+ this.frontend = recipeMap.getFrontend();
+ this.uiProperties = frontend.getUIProperties();
+ this.neiProperties = frontend.getNEIProperties();
+ uiProperties.neiTransferRect.forEach(transferRect -> {
+ transferRect = new Rectangle(transferRect);
+ transferRect.translate(WINDOW_OFFSET.x, WINDOW_OFFSET.y);
+ this.transferRects.add(new RecipeTransferRect(transferRect, recipeMap.unlocalizedName));
+ });
+
+ ModularWindow.Builder builder = frontend.createNEITemplate(
+ itemInputsInventory = new ItemStackHandler(uiProperties.maxItemInputs),
+ itemOutputsInventory = new ItemStackHandler(uiProperties.maxItemOutputs),
+ specialSlotInventory = new ItemStackHandler(1),
+ fluidInputsInventory = new ItemStackHandler(uiProperties.maxFluidInputs),
+ fluidOutputsInventory = new ItemStackHandler(uiProperties.maxFluidOutputs),
+ () -> ((float) getDrawTicks() % PROGRESSBAR_CYCLE_TICKS) / PROGRESSBAR_CYCLE_TICKS,
+ WINDOW_OFFSET);
+ modularWindow = builder.build();
+ UIInfos.initializeWindow(Minecraft.getMinecraft().thePlayer, modularWindow);
+ }
+
+ public RecipeMap<?> getRecipeMap() {
+ return recipeMap;
}
private SortedRecipeListCache getCacheHolder() {
- return CACHE.computeIfAbsent(mRecipeMap, m -> new SortedRecipeListCache());
+ return CACHE.computeIfAbsent(recipeCategory, m -> new SortedRecipeListCache());
}
public List<CachedDefaultRecipe> getCache() {
SortedRecipeListCache cacheHolder = getCacheHolder();
List<CachedDefaultRecipe> cache;
- if (cacheHolder.getCachedRecipesVersion() != GT_Mod.gregtechproxy.getReloadCount()
+ if (cacheHolder.getCachedRecipesVersion() != GT_Mod.gregtechproxy.getNEIReloadCount()
|| (cache = cacheHolder.getCachedRecipes()) == null) {
- cache = mRecipeMap.mRecipeList.stream() // do not use parallel stream. This is already parallelized by NEI
+ RecipeCategory defaultCategory = recipeMap.getDefaultRecipeCategory();
+ Collection<GT_Recipe> recipes;
+ if (this.recipeCategory == defaultCategory) {
+ // This is main category, so merge categories that are configured as such
+ Stream<GT_Recipe> recipesToMerge = recipeMap.getBackend()
+ .getRecipeCategoryMap()
+ .entrySet()
+ .stream()
+ .flatMap(entry -> {
+ boolean merge = entry.getKey() != defaultCategory && GT_Mod.gregtechproxy.recipeCategorySettings
+ .getOrDefault(entry.getKey(), RecipeCategorySetting.getDefault())
+ == RecipeCategorySetting.MERGE;
+ return merge ? entry.getValue()
+ .stream() : Stream.empty();
+ });
+ recipes = Stream.concat(
+ recipesToMerge,
+ recipeMap.getBackend()
+ .getRecipesByCategory(defaultCategory)
+ .stream())
+ .collect(Collectors.toList());
+ } else {
+ // This is "sub" category
+ if (GT_Mod.gregtechproxy.recipeCategorySettings
+ .getOrDefault(recipeCategory, RecipeCategorySetting.getDefault()) == RecipeCategorySetting.ENABLE) {
+ recipes = recipeMap.getBackend()
+ .getRecipesByCategory(recipeCategory);
+ } else {
+ recipes = Collections.emptyList();
+ }
+ }
+ cache = recipes.stream() // do not use parallel stream. This is already parallelized by NEI
.filter(r -> !r.mHidden)
- .sorted()
+ .sorted(neiProperties.comparator)
.map(CachedDefaultRecipe::new)
.collect(Collectors.toList());
// while the NEI parallelize handlers, for each individual handler it still uses sequential execution model,
// so we do not need any synchronization here
// even if it does break, at worst case it's just recreating the cache multiple times, which should be fine
cacheHolder.setCachedRecipes(cache);
- cacheHolder.setCachedRecipesVersion(GT_Mod.gregtechproxy.getReloadCount());
+ cacheHolder.setCachedRecipesVersion(GT_Mod.gregtechproxy.getNEIReloadCount());
}
return cache;
}
@Override
public TemplateRecipeHandler newInstance() {
- return new GT_NEI_DefaultHandler(this.mRecipeMap);
+ return new GT_NEI_DefaultHandler(recipeCategory);
}
@Override
public void loadCraftingRecipes(String outputId, Object... results) {
- if (outputId.equals(getOverlayIdentifier())) {
- if (results.length > 0 && results[0] instanceof Power) {
- mPower = (Power) results[0];
- if (mRecipeMap.useComparatorForNEI) {
- loadTieredCraftingRecipesWithPower(mPower);
+ if (outputId.equals(recipeMap.unlocalizedName)) {
+ if (results.length > 0 && results[0] instanceof OverclockDescriber) {
+ overclockDescriber = (OverclockDescriber) results[0];
+ if (neiProperties.useCustomFilter) {
+ loadTieredRecipesWithCustomFilter(overclockDescriber);
} else {
- loadTieredCraftingRecipesUpTo(mPower.getTier());
+ loadTieredRecipesUpTo(overclockDescriber.getTier());
}
} else {
arecipes.addAll(getCache());
@@ -218,29 +260,27 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
}
}
- private void loadTieredCraftingRecipesWithPower(Power power) {
- arecipes.addAll(getTieredRecipes(power));
+ private void loadTieredRecipesWithCustomFilter(OverclockDescriber overclockDescriber) {
+ arecipes.addAll(getTieredRecipesWithCustomFilter(overclockDescriber));
}
- private List<CachedDefaultRecipe> getTieredRecipes(Power power) {
+ private List<CachedDefaultRecipe> getTieredRecipesWithCustomFilter(OverclockDescriber overclockDescriber) {
List<CachedDefaultRecipe> recipes = getCache();
- if (recipes.size() > 0) {
+ if (!recipes.isEmpty()) {
recipes = recipes.stream()
- .filter(
- recipe -> power.compareTo(GT_Utility.getTier(recipe.mRecipe.mEUt), recipe.mRecipe.mSpecialValue)
- >= 0)
+ .filter(recipe -> overclockDescriber.canHandle(recipe.mRecipe))
.collect(Collectors.toList());
}
return recipes;
}
- private void loadTieredCraftingRecipesUpTo(byte upperTier) {
+ private void loadTieredRecipesUpTo(byte upperTier) {
arecipes.addAll(getTieredRecipes(upperTier));
}
private List<CachedDefaultRecipe> getTieredRecipes(byte upperTier) {
List<CachedDefaultRecipe> recipes = getCache();
- if (recipes.size() > 0) {
+ if (!recipes.isEmpty()) {
Range<Integer> indexRange = getCacheHolder().getIndexRangeForTiers((byte) 0, upperTier);
recipes = recipes.subList(indexRange.getMinimum(), indexRange.getMaximum() + 1);
}
@@ -271,14 +311,14 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
ItemStack candidate = (ItemStack) ingredients[0];
GT_NEI_DefaultHandler handler = (GT_NEI_DefaultHandler) newInstance();
if (RecipeCatalysts.containsCatalyst(handler, candidate)) {
- IMetaTileEntity gtTileEntity = GT_Item_Machines.getMetaTileEntity(candidate);
- Power power;
- if (gtTileEntity != null) {
- power = gtTileEntity.getPower();
+ IMetaTileEntity metaTile = GT_Item_Machines.getMetaTileEntity(candidate);
+ OverclockDescriber overclockDescriber;
+ if (metaTile instanceof IOverclockDescriptionProvider provider) {
+ overclockDescriber = provider.getOverclockDescriber();
} else {
- power = null;
+ overclockDescriber = null;
}
- handler.loadCraftingRecipes(getOverlayIdentifier(), power);
+ handler.loadCraftingRecipes(recipeMap.unlocalizedName, overclockDescriber);
return handler;
}
}
@@ -288,37 +328,27 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
@Override
public ICraftingHandler getRecipeHandler(String outputId, Object... results) {
GT_NEI_DefaultHandler handler = (GT_NEI_DefaultHandler) super.getRecipeHandler(outputId, results);
- if (results.length > 0 && results[0] instanceof Power) {
- handler.mPower = (Power) results[0];
+ if (results.length > 0 && results[0] instanceof OverclockDescriber) {
+ handler.overclockDescriber = (OverclockDescriber) results[0];
}
return handler;
}
@Override
public String getOverlayIdentifier() {
- return this.mRecipeMap.mNEIName;
+ return recipeCategory.unlocalizedName;
}
@Override
public void drawBackground(int recipe) {
- if (modularWindow != null) {
- drawUI(modularWindow);
- } else {
- GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
- GuiDraw.changeTexture(getGuiTexture());
- GuiDraw.drawTexturedModalRect(-4, -8, 1, 3, 174, 78);
- }
+ drawUI(modularWindow);
}
@Override
public void drawForeground(int recipe) {
- if (mRecipeMap.useModularUI) {
- GL11.glColor4f(1, 1, 1, 1);
- GL11.glDisable(GL11.GL_LIGHTING);
- drawExtras(recipe);
- } else {
- super.drawForeground(recipe);
- }
+ GL11.glColor4f(1, 1, 1, 1);
+ GL11.glDisable(GL11.GL_LIGHTING);
+ drawExtras(recipe);
}
@Override
@@ -335,71 +365,69 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
@Override
public String getRecipeName() {
- if (mRecipeName == null) {
- mRecipeName = computeRecipeName();
- updateOverrideTextColor();
- mRecipeMap.updateNEITextColorOverride();
+ if (recipeNameDisplay == null) {
+ recipeNameDisplay = computeRecipeName();
+ neiTextColorOverride = colorOverride.getTextColorOrDefault("nei", -1);
}
- return mRecipeName;
+ return recipeNameDisplay;
}
private String computeRecipeName() {
- String recipeName = GT_LanguageManager.getTranslation(this.mRecipeMap.mUnlocalizedName);
- if (mPower != null) {
- recipeName = addSuffixToRecipeName(recipeName, mPower.getTierString() + ")");
+ String recipeName = StatCollector.translateToLocal(recipeCategory.unlocalizedName);
+ if (overclockDescriber != null) {
+ String suffix = "(" + overclockDescriber.getTierString() + ")";
+ // Space will be cropped if title exceeds
+ return shrinkRecipeName(recipeName + " ", suffix);
+ } else {
+ return shrinkRecipeName(recipeName, "");
}
- return recipeName;
}
- private String addSuffixToRecipeName(final String aRecipeName, final String suffix) {
- final String recipeName;
- final String separator;
+ private String shrinkRecipeName(final String originalRecipeName, final String suffix) {
FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
- int recipeNameWidth = fontRenderer.getStringWidth(aRecipeName);
- int targetWidth = RECIPE_NAME_WIDTH - fontRenderer.getStringWidth(suffix);
- if (recipeNameWidth + fontRenderer.getStringWidth(" (") <= targetWidth) {
- recipeName = aRecipeName;
- separator = " (";
- } else {
- setupRecipeNameTooltip(aRecipeName + " (" + suffix);
- separator = "...(";
- recipeName = shrinkRecipeName(aRecipeName, targetWidth - fontRenderer.getStringWidth(separator));
+ int suffixWidth = fontRenderer.getStringWidth(suffix);
+ if (fontRenderer.getStringWidth(originalRecipeName) + suffixWidth <= RECIPE_NAME_WIDTH) {
+ return originalRecipeName + suffix;
}
- return recipeName + separator + suffix;
- }
- private String shrinkRecipeName(String recipeName, int targetWidth) {
- FontRenderer fontRenderer = Minecraft.getMinecraft().fontRenderer;
+ final String ellipsis = "...";
+ final int ellipsisWidth = fontRenderer.getStringWidth(ellipsis);
+ String recipeName = originalRecipeName;
do {
- recipeName = recipeName.substring(0, recipeName.length() - 2);
- } while (fontRenderer.getStringWidth(recipeName) > targetWidth);
- return recipeName;
+ recipeName = recipeName.substring(0, recipeName.length() - 1);
+ } while (fontRenderer.getStringWidth(recipeName) + ellipsisWidth + suffixWidth > RECIPE_NAME_WIDTH);
+ setupRecipeNameTooltip(originalRecipeName + suffix);
+ return recipeName + ellipsis + suffix;
}
private void setupRecipeNameTooltip(String tooltip) {
- mRecipeNameTooltip = new NEIHandlerAbsoluteTooltip(tooltip, new Rectangle(13, -34, RECIPE_NAME_WIDTH - 1, 11));
+ recipeNameTooltip = new NEIHandlerAbsoluteTooltip(tooltip, new Rectangle(13, -34, RECIPE_NAME_WIDTH - 1, 11));
}
@Override
public String getRecipeTabName() {
- return GT_LanguageManager.getTranslation(this.mRecipeMap.mUnlocalizedName);
+ return StatCollector.translateToLocal(recipeCategory.unlocalizedName);
}
@Override
public String getGuiTexture() {
- return this.mRecipeMap.mNEIGUIPath;
+ // not called
+ return "";
}
@Override
public List<String> handleItemTooltip(GuiRecipe<?> gui, ItemStack aStack, List<String> currentTip,
int aRecipeIndex) {
- CachedRecipe tObject = this.arecipes.get(aRecipeIndex);
- if (tObject instanceof CachedDefaultRecipe) {
- currentTip = mRecipeMap.handleNEIItemTooltip(aStack, currentTip, (CachedDefaultRecipe) tObject);
+ if (recipeNameTooltip != null) {
+ recipeNameTooltip.handleTooltip(currentTip, aRecipeIndex);
+ }
+ if (aStack == null) {
+ return currentTip;
}
- if (mRecipeNameTooltip != null) {
- mRecipeNameTooltip.handleTooltip(currentTip, aRecipeIndex);
+ CachedRecipe tObject = this.arecipes.get(aRecipeIndex);
+ if (tObject instanceof CachedDefaultRecipe) {
+ currentTip = frontend.handleNEIItemTooltip(aStack, currentTip, (CachedDefaultRecipe) tObject);
}
return currentTip;
}
@@ -409,40 +437,42 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
CachedDefaultRecipe cachedRecipe = ((CachedDefaultRecipe) this.arecipes.get(aRecipeIndex));
drawDescription(cachedRecipe);
- mRecipeMap.drawNEIOverlays(cachedRecipe);
+ frontend.drawNEIOverlays(cachedRecipe);
}
private void drawDescription(CachedDefaultRecipe cachedRecipe) {
GT_Recipe recipe = cachedRecipe.mRecipe;
- if (mPower == null) {
- mPower = mRecipeMap.getPowerFromRecipeMap();
+ if (overclockDescriber == null) {
+ // By default, assume generic LV EU with no overclocks
+ overclockDescriber = new EUNoOverclockDescriber((byte) 1, uiProperties.amperage);
}
- mPower.computePowerUsageAndDuration(recipe.mEUt, recipe.mDuration, recipe.mSpecialValue);
-
- mRecipeMap
- .drawNEIDescription(new NEIRecipeInfo(recipe, mRecipeMap, cachedRecipe, mPower, getDescriptionYOffset()));
- }
- @Deprecated
- protected String getSpecialInfo(int specialValue) {
- return "";
- }
+ GT_OverclockCalculator calculator = overclockDescriber.createCalculator(
+ new GT_OverclockCalculator().setRecipeEUt(recipe.mEUt)
+ .setDuration(recipe.mDuration),
+ recipe);
+ calculator.calculate();
- @Deprecated
- protected void drawLine(int lineNumber, String line) {
- drawText(10, getDescriptionYOffset() + lineNumber * 10, line, 0xFF000000);
+ frontend.drawDescription(
+ new RecipeDisplayInfo(
+ recipe,
+ recipeMap,
+ overclockDescriber,
+ calculator,
+ getDescriptionYOffset(),
+ neiTextColorOverride));
}
protected int getDescriptionYOffset() {
- return mRecipeMap.neiBackgroundSize.height + mRecipeMap.neiBackgroundOffset.y + WINDOW_OFFSET.y + 3;
+ return neiProperties.recipeBackgroundSize.height + neiProperties.recipeBackgroundOffset.y + WINDOW_OFFSET.y + 3;
}
protected void drawUI(ModularWindow window) {
for (IDrawable background : window.getBackground()) {
GlStateManager.pushMatrix();
GlStateManager.translate(
- WINDOW_OFFSET.x + mRecipeMap.neiBackgroundOffset.x,
- WINDOW_OFFSET.y + mRecipeMap.neiBackgroundOffset.y,
+ WINDOW_OFFSET.x + neiProperties.recipeBackgroundOffset.x,
+ WINDOW_OFFSET.y + neiProperties.recipeBackgroundOffset.y,
0);
GlStateManager.color(1f, 1f, 1f, 1f);
background.draw(Pos2d.ZERO, window.getSize(), 0);
@@ -469,99 +499,6 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
return drawTicks;
}
- public static class GT_RectHandler implements IContainerInputHandler, IContainerTooltipHandler {
-
- @Override
- public boolean mouseClicked(GuiContainer gui, int mouseX, int mouseY, int button) {
- if (canHandle(gui)) {
- NEI_TransferRectHost host = (NEI_TransferRectHost) gui;
- if (hostRectContainsMouse(host, getMousePos(gui, mouseX, mouseY))) {
- if (button == 0) {
- return handleTransferRectMouseClick(host, false);
- }
- if (button == 1) {
- return handleTransferRectMouseClick(host, true);
- }
- }
- }
- return false;
- }
-
- private Point getMousePos(GuiContainer gui, int mouseX, int mouseY) {
- return new Point(
- mouseX - ((GT_GUIContainer) gui).getLeft() - getGuiOffset(gui)[0],
- mouseY - ((GT_GUIContainer) gui).getTop() - getGuiOffset(gui)[1]);
- }
-
- private boolean hostRectContainsMouse(NEI_TransferRectHost host, Point mousePos) {
- return host.getNeiTransferRect()
- .contains(mousePos);
- }
-
- private boolean handleTransferRectMouseClick(NEI_TransferRectHost gui, boolean usage) {
- String mNEI = gui.getNeiTransferRectString();
- Object[] args = gui.getNeiTransferRectArgs();
- return usage ? GuiUsageRecipe.openRecipeGui(mNEI) : GuiCraftingRecipe.openRecipeGui(mNEI, args);
- }
-
- @Override
- public boolean lastKeyTyped(GuiContainer gui, char keyChar, int keyCode) {
- return false;
- }
-
- public boolean canHandle(GuiContainer gui) {
- return gui instanceof NEI_TransferRectHost
- && GT_Utility.isStringValid(((NEI_TransferRectHost) gui).getNeiTransferRectString());
- }
-
- @Override
- public List<String> handleTooltip(GuiContainer gui, int mouseX, int mouseY, List<String> currentTip) {
- if ((canHandle(gui)) && (currentTip.isEmpty())) {
- NEI_TransferRectHost host = (NEI_TransferRectHost) gui;
- if (hostRectContainsMouse(host, getMousePos(gui, mouseX, mouseY))) {
- currentTip.add(host.getNeiTransferRectTooltip());
- }
- }
- return currentTip;
- }
-
- @Override
- public List<String> handleItemDisplayName(GuiContainer gui, ItemStack itemstack, List<String> currentTip) {
- return currentTip;
- }
-
- @Override
- public List<String> handleItemTooltip(GuiContainer gui, ItemStack itemstack, int mouseX, int mouseY,
- List<String> currentTip) {
- return currentTip;
- }
-
- @Override
- public boolean keyTyped(GuiContainer gui, char keyChar, int keyCode) {
- return false;
- }
-
- @Override
- public void onKeyTyped(GuiContainer gui, char keyChar, int keyID) {}
-
- @Override
- public void onMouseClicked(GuiContainer gui, int mouseX, int mouseY, int button) {}
-
- @Override
- public void onMouseUp(GuiContainer gui, int mouseX, int mouseY, int button) {}
-
- @Override
- public boolean mouseScrolled(GuiContainer gui, int mouseX, int mouseY, int scrolled) {
- return false;
- }
-
- @Override
- public void onMouseScrolled(GuiContainer gui, int mouseX, int mouseY, int scrolled) {}
-
- @Override
- public void onMouseDragged(GuiContainer gui, int mouseX, int mouseY, int button, long heldTime) {}
- }
-
public static class FixedPositionedStack extends PositionedStack {
public static final DecimalFormat chanceFormat = new DecimalFormat("##0.##%");
@@ -569,26 +506,6 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
public final int realStackSize;
public final boolean renderRealStackSize;
- @Deprecated
- public FixedPositionedStack(Object object, int x, int y) {
- this(object, true, x, y, 0, true);
- }
-
- @Deprecated
- public FixedPositionedStack(Object object, int x, int y, boolean aUnificate) {
- this(object, true, x, y, 0, aUnificate);
- }
-
- @Deprecated
- public FixedPositionedStack(Object object, int x, int y, int aChance) {
- this(object, true, x, y, aChance, true);
- }
-
- @Deprecated
- public FixedPositionedStack(Object object, int x, int y, int aChance, boolean aUnificate) {
- this(object, true, x, y, aChance, aUnificate);
- }
-
public FixedPositionedStack(Object object, boolean renderRealStackSizes, int x, int y) {
this(object, renderRealStackSizes, x, y, 0, true);
}
@@ -633,366 +550,138 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
public final List<PositionedStack> mOutputs;
public final List<PositionedStack> mInputs;
- // Draws a grid of items for NEI rendering.
- private void drawNEIItemGrid(ItemStack[] ItemArray, int x_coord_origin, int y_coord_origin, int x_dir_max_items,
- int y_max_dir_max_items, GT_Recipe Recipe, boolean is_input) {
- if (ItemArray.length > x_dir_max_items * y_max_dir_max_items) {
- GT_Log.err.println("Recipe cannot be properly displayed in NEI due to too many items.");
- }
- // 18 pixels to get to a new grid for placing an item tile since they are 16x16 and have 1 pixel buffers
- // around them.
- int x_max = x_coord_origin + x_dir_max_items * 18;
-
- // Temp variables to keep track of current coordinates to place item at.
- int x_coord = x_coord_origin;
- int y_coord = y_coord_origin;
-
- // Iterate over all items in array and display them.
- int special_counter = 0;
- for (ItemStack item : ItemArray) {
- if (item != GT_Values.NI) {
- if (is_input) {
- mInputs.add(
- new FixedPositionedStack(
- item,
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- x_coord,
- y_coord,
- true));
- } else {
- mOutputs.add(
- new FixedPositionedStack(
- item,
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- x_coord,
- y_coord,
- Recipe.getOutputChance(special_counter),
- GT_NEI_DefaultHandler.this.mRecipeMap.mNEIUnificateOutput));
- special_counter++;
- }
- x_coord += 18;
- if (x_coord == x_max) {
- x_coord = x_coord_origin;
- y_coord += 18;
- }
- }
- }
- }
-
- @SuppressWarnings("deprecation")
public CachedDefaultRecipe(GT_Recipe aRecipe) {
super();
this.mRecipe = aRecipe;
- List<PositionedStack> maybeIn;
- List<PositionedStack> maybeOut;
-
- try {
- maybeIn = GT_NEI_DefaultHandler.this.mRecipeMap.getInputPositionedStacks(aRecipe);
- } catch (NullPointerException npe) {
- maybeIn = null;
- GT_Log.err.println("CachedDefaultRecipe - Invalid InputPositionedStacks " + aRecipe);
- npe.printStackTrace(GT_Log.err);
- }
- try {
- maybeOut = GT_NEI_DefaultHandler.this.mRecipeMap.getOutputPositionedStacks(aRecipe);
- } catch (NullPointerException npe) {
- maybeOut = null;
- GT_Log.err.println("CachedDefaultRecipe - Invalid OutputPositionedStacks " + aRecipe);
- npe.printStackTrace(GT_Log.err);
- }
-
- if (maybeOut != null && maybeIn != null) {
- mOutputs = maybeOut;
- mInputs = maybeIn;
- return;
- }
-
- try {
- maybeIn = aRecipe.getInputPositionedStacks();
- } catch (NullPointerException npe) {
- maybeIn = null;
- GT_Log.err.println("CachedDefaultRecipe - Invalid InputPositionedStacks " + aRecipe);
- npe.printStackTrace(GT_Log.err);
- }
- try {
- maybeOut = aRecipe.getOutputPositionedStacks();
- } catch (NullPointerException npe) {
- maybeOut = null;
- GT_Log.err.println("CachedDefaultRecipe - Invalid OutputPositionedStacks " + aRecipe);
- npe.printStackTrace(GT_Log.err);
- }
-
- if (maybeOut != null && maybeIn != null) {
- mOutputs = maybeOut;
- mInputs = maybeIn;
- return;
- }
-
mOutputs = new ArrayList<>();
mInputs = new ArrayList<>();
- if (GT_NEI_DefaultHandler.this.mRecipeMap.useModularUI) {
- for (Widget child : modularWindow.getChildren()) {
- if (child instanceof SlotWidget widget) {
- if (widget.getMcSlot()
- .getItemHandler() == itemInputsInventory) {
+ for (Widget child : modularWindow.getChildren()) {
+ if (child instanceof SlotWidget widget) {
+ if (widget.getMcSlot()
+ .getItemHandler() == itemInputsInventory) {
+ int i = widget.getMcSlot()
+ .getSlotIndex();
+ Object input = aRecipe instanceof GT_Recipe.GT_Recipe_WithAlt
+ ? ((GT_Recipe.GT_Recipe_WithAlt) aRecipe).getAltRepresentativeInput(i)
+ : aRecipe.getRepresentativeInput(i);
+ if (input != null) {
+ mInputs.add(
+ new FixedPositionedStack(
+ input,
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
+ widget.getPos().x + 1,
+ widget.getPos().y + 1,
+ true));
+ }
+ } else if (widget.getMcSlot()
+ .getItemHandler() == itemOutputsInventory) {
int i = widget.getMcSlot()
.getSlotIndex();
- Object input = aRecipe instanceof GT_Recipe.GT_Recipe_WithAlt
- ? ((GT_Recipe.GT_Recipe_WithAlt) aRecipe).getAltRepresentativeInput(i)
- : aRecipe.getRepresentativeInput(i);
- if (input != null) {
- mInputs.add(
+ ItemStack output = aRecipe.getRepresentativeOutput(i);
+ if (output != null) {
+ mOutputs.add(
new FixedPositionedStack(
- input,
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
+ output,
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
widget.getPos().x + 1,
widget.getPos().y + 1,
- true));
+ aRecipe.getOutputChance(i),
+ GT_NEI_DefaultHandler.this.neiProperties.unificateOutput));
}
} else if (widget.getMcSlot()
- .getItemHandler() == itemOutputsInventory) {
- int i = widget.getMcSlot()
- .getSlotIndex();
-
- ItemStack output = aRecipe.getRepresentativeOutput(i);
- if (output != null) {
- mOutputs.add(
+ .getItemHandler() == specialSlotInventory) {
+ if (aRecipe.mSpecialItems != null) {
+ mInputs.add(
new FixedPositionedStack(
- output,
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
+ aRecipe.mSpecialItems,
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
widget.getPos().x + 1,
- widget.getPos().y + 1,
- aRecipe.getOutputChance(i),
- GT_NEI_DefaultHandler.this.mRecipeMap.mNEIUnificateOutput));
+ widget.getPos().y + 1));
}
} else if (widget.getMcSlot()
- .getItemHandler() == specialSlotInventory) {
- if (aRecipe.mSpecialItems != null) {
+ .getItemHandler() == fluidInputsInventory) {
+ int i = widget.getMcSlot()
+ .getSlotIndex();
+ if (aRecipe.mFluidInputs.length > i && aRecipe.mFluidInputs[i] != null
+ && aRecipe.mFluidInputs[i].getFluid() != null) {
mInputs.add(
new FixedPositionedStack(
- aRecipe.mSpecialItems,
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
+ GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[i], true),
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
widget.getPos().x + 1,
widget.getPos().y + 1));
}
} else if (widget.getMcSlot()
- .getItemHandler() == fluidInputsInventory) {
+ .getItemHandler() == fluidOutputsInventory) {
int i = widget.getMcSlot()
.getSlotIndex();
- if (aRecipe.mFluidInputs.length > i && aRecipe.mFluidInputs[i] != null
- && aRecipe.mFluidInputs[i].getFluid() != null) {
- mInputs.add(
+ if (aRecipe.mFluidOutputs.length > i && aRecipe.mFluidOutputs[i] != null
+ && aRecipe.mFluidOutputs[i].getFluid() != null) {
+ mOutputs.add(
new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[i], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
+ GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[i], true),
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
widget.getPos().x + 1,
widget.getPos().y + 1));
}
- } else if (widget.getMcSlot()
- .getItemHandler() == fluidOutputsInventory) {
- int i = widget.getMcSlot()
- .getSlotIndex();
- if (aRecipe.mFluidOutputs.length > i && aRecipe.mFluidOutputs[i] != null
- && aRecipe.mFluidOutputs[i].getFluid() != null) {
- mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[i], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- widget.getPos().x + 1,
- widget.getPos().y + 1));
- }
- }
- }
+ }
}
+ }
- // items and fluids that exceed usual count
- UIHelper.forEachSlots((i, backgrounds, pos) -> {
- if (i >= GT_NEI_DefaultHandler.this.mRecipeMap.mUsualInputCount && aRecipe.mInputs[i] != null) {
- mInputs.add(
- new FixedPositionedStack(
- aRecipe.mInputs[i],
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- pos.x + 1,
- pos.y + 1,
- true));
- }
- }, (i, backgrounds, pos) -> {
- if (i >= GT_NEI_DefaultHandler.this.mRecipeMap.mUsualOutputCount && aRecipe.mOutputs[i] != null) {
- mOutputs.add(
- new FixedPositionedStack(
- aRecipe.mOutputs[i],
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- pos.x + 1,
- pos.y + 1,
- aRecipe.getOutputChance(i),
- GT_NEI_DefaultHandler.this.mRecipeMap.mNEIUnificateOutput));
- }
- }, (i, backgrounds, pos) -> {}, (i, backgrounds, pos) -> {
- if (i >= GT_NEI_DefaultHandler.this.mRecipeMap.getUsualFluidInputCount()
- && aRecipe.mFluidInputs[i] != null
- && aRecipe.mFluidInputs[i].getFluid() != null) {
- mInputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[i], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- pos.x + 1,
- pos.y + 1));
- }
- }, (i, backgrounds, pos) -> {
- if (i >= GT_NEI_DefaultHandler.this.mRecipeMap.getUsualFluidOutputCount()
- && aRecipe.mFluidOutputs[i] != null
- && aRecipe.mFluidOutputs[i].getFluid() != null) {
- mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[i], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- pos.x + 1,
- pos.y + 1));
- }
- },
- null,
- null,
- GT_NEI_DefaultHandler.this.mRecipeMap,
- aRecipe.mInputs.length,
- aRecipe.mOutputs.length,
- aRecipe.mFluidInputs.length,
- aRecipe.mFluidOutputs.length,
- SteamVariant.NONE,
- WINDOW_OFFSET);
- } else {
- // todo remove after all the migrations are done
- // Default GT NEI handler for drawing fluids/items on screen.
- switch (GT_NEI_DefaultHandler.this.mRecipeMap.mUsualInputCount) {
- case 0:
- break;
- case 1: // 1x1
- drawNEIItemGrid(aRecipe.mInputs, 48, 14, 1, 1, aRecipe, true);
- break;
- case 2: // 2x1
- drawNEIItemGrid(aRecipe.mInputs, 30, 14, 2, 1, aRecipe, true);
- break;
- case 3: //
- drawNEIItemGrid(aRecipe.mInputs, 12, 14, 3, 1, aRecipe, true);
- break;
- case 4:
- case 5:
- drawNEIItemGrid(aRecipe.mInputs, 12, 14, 3, 2, aRecipe, true);
- break;
- case 6:
- drawNEIItemGrid(aRecipe.mInputs, 12, 5, 3, 2, aRecipe, true);
- break;
- default:
- drawNEIItemGrid(aRecipe.mInputs, 12, -4, 3, 3, aRecipe, true);
+ // items and fluids that exceed usual count
+ UIHelper.forEachSlots((i, backgrounds, pos) -> {
+ if (i >= GT_NEI_DefaultHandler.this.uiProperties.maxItemInputs && aRecipe.mInputs[i] != null) {
+ mInputs.add(
+ new FixedPositionedStack(
+ aRecipe.mInputs[i],
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
+ pos.x + 1,
+ pos.y + 1,
+ true));
}
-
- switch (GT_NEI_DefaultHandler.this.mRecipeMap.mUsualOutputCount) {
- case 0:
- break;
- case 1:
- drawNEIItemGrid(aRecipe.mOutputs, 102, 14, 1, 1, aRecipe, false);
- break;
- case 2:
- drawNEIItemGrid(aRecipe.mOutputs, 102, 14, 2, 1, aRecipe, false);
- break;
- case 3:
- drawNEIItemGrid(aRecipe.mOutputs, 102, 14, 3, 1, aRecipe, false);
- break;
- case 4:
- drawNEIItemGrid(aRecipe.mOutputs, 102, 5, 2, 2, aRecipe, false);
- break;
- case 5:
- case 6:
- drawNEIItemGrid(aRecipe.mOutputs, 102, 5, 3, 2, aRecipe, false);
- break;
- default:
- drawNEIItemGrid(aRecipe.mOutputs, 102, -4, 3, 3, aRecipe, false);
+ }, (i, backgrounds, pos) -> {
+ if (i >= GT_NEI_DefaultHandler.this.uiProperties.maxItemOutputs && aRecipe.mOutputs[i] != null) {
+ mOutputs.add(
+ new FixedPositionedStack(
+ aRecipe.mOutputs[i],
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
+ pos.x + 1,
+ pos.y + 1,
+ aRecipe.getOutputChance(i),
+ GT_NEI_DefaultHandler.this.neiProperties.unificateOutput));
}
-
- // ??? No idea what this does. Leaving it alone.
- if (aRecipe.mSpecialItems != null) {
- this.mInputs.add(
+ }, (i, backgrounds, pos) -> {}, (i, backgrounds, pos) -> {
+ if (i >= GT_NEI_DefaultHandler.this.uiProperties.maxFluidInputs && aRecipe.mFluidInputs[i] != null
+ && aRecipe.mFluidInputs[i].getFluid() != null) {
+ mInputs.add(
new FixedPositionedStack(
- aRecipe.mSpecialItems,
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 120,
- 52));
+ GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[i], true),
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
+ pos.x + 1,
+ pos.y + 1));
}
-
- if ((aRecipe.mFluidInputs.length > 0) && (aRecipe.mFluidInputs[0] != null)
- && (aRecipe.mFluidInputs[0].getFluid() != null)) {
- this.mInputs.add(
+ }, (i, backgrounds, pos) -> {
+ if (i >= GT_NEI_DefaultHandler.this.uiProperties.maxFluidOutputs && aRecipe.mFluidOutputs[i] != null
+ && aRecipe.mFluidOutputs[i].getFluid() != null) {
+ mOutputs.add(
new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[0], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 48,
- 52));
- if ((aRecipe.mFluidInputs.length > 1) && (aRecipe.mFluidInputs[1] != null)
- && (aRecipe.mFluidInputs[1].getFluid() != null)) {
- this.mInputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidInputs[1], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 30,
- 52));
- }
+ GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[i], true),
+ GT_NEI_DefaultHandler.this.neiProperties.renderRealStackSizes,
+ pos.x + 1,
+ pos.y + 1));
}
-
- if (aRecipe.mFluidOutputs.length > 1) {
- if (aRecipe.mFluidOutputs[0] != null && (aRecipe.mFluidOutputs[0].getFluid() != null)) {
- this.mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[0], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 120,
- 5));
- }
- if (aRecipe.mFluidOutputs[1] != null && (aRecipe.mFluidOutputs[1].getFluid() != null)) {
- this.mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[1], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 138,
- 5));
- }
- if (aRecipe.mFluidOutputs.length > 2 && aRecipe.mFluidOutputs[2] != null
- && (aRecipe.mFluidOutputs[2].getFluid() != null)) {
- this.mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[2], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 102,
- 23));
- }
- if (aRecipe.mFluidOutputs.length > 3 && aRecipe.mFluidOutputs[3] != null
- && (aRecipe.mFluidOutputs[3].getFluid() != null)) {
- this.mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[3], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 120,
- 23));
- }
- if (aRecipe.mFluidOutputs.length > 4 && aRecipe.mFluidOutputs[4] != null
- && (aRecipe.mFluidOutputs[4].getFluid() != null)) {
- this.mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[4], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 138,
- 23));
- }
- } else if ((aRecipe.mFluidOutputs.length > 0) && (aRecipe.mFluidOutputs[0] != null)
- && (aRecipe.mFluidOutputs[0].getFluid() != null)) {
- this.mOutputs.add(
- new FixedPositionedStack(
- GT_Utility.getFluidDisplayStack(aRecipe.mFluidOutputs[0], true),
- GT_NEI_DefaultHandler.this.mRecipeMap.renderRealStackSizes,
- 102,
- 52));
- }
- }
+ },
+ IDrawable.EMPTY,
+ IDrawable.EMPTY,
+ GT_NEI_DefaultHandler.this.frontend.getUIProperties(),
+ aRecipe.mInputs.length,
+ aRecipe.mOutputs.length,
+ aRecipe.mFluidInputs.length,
+ aRecipe.mFluidOutputs.length,
+ SteamVariant.NONE,
+ WINDOW_OFFSET);
}
@Override
@@ -1011,11 +700,6 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
}
}
- @Deprecated
- public String trans(String aKey, String aEnglish) {
- return GT_Utility.trans(aKey, aEnglish);
- }
-
private class SortedRecipeListCache {
private int mCachedRecipesVersion = -1;
@@ -1052,7 +736,7 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
private void computeTierIndexes() {
// Holds 16 elements without rehashing
- mTierIndexes = new HashMap<>(GT_Values.V.length + 1, 1f);
+ mTierIndexes = new HashMap<>(V.length + 1, 1f);
assert mCachedRecipes != null;
Iterator<CachedDefaultRecipe> iterator = Objects.requireNonNull(mCachedRecipes.get())
.iterator();
@@ -1065,7 +749,7 @@ public class GT_NEI_DefaultHandler extends RecipeMapHandler {
while (iterator.hasNext()) {
CachedDefaultRecipe recipe = iterator.next();
byte recipeTier = GT_Utility
- .getTier(recipe.mRecipe.mEUt / GT_NEI_DefaultHandler.this.mRecipeMap.mAmperage);
+ .getTier(recipe.mRecipe.mEUt / GT_NEI_DefaultHandler.this.recipeMap.getAmperage());
if (recipeTier != previousTier) {
if (maxIndex != -1) {
mTierIndexes.put(previousTier, Range.between(minIndex, maxIndex));
diff --git a/src/main/java/gregtech/nei/HeatingCoilSpecialValueFormatter.java b/src/main/java/gregtech/nei/HeatingCoilSpecialValueFormatter.java
deleted file mode 100644
index 936aa6b715..0000000000
--- a/src/main/java/gregtech/nei/HeatingCoilSpecialValueFormatter.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package gregtech.nei;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.function.Function;
-
-import gregtech.api.enums.HeatingCoilLevel;
-
-public class HeatingCoilSpecialValueFormatter implements INEISpecialInfoFormatter {
-
- public static final HeatingCoilSpecialValueFormatter INSTANCE = new HeatingCoilSpecialValueFormatter();
-
- @Override
- public List<String> format(NEIRecipeInfo recipeInfo, Function<Integer, String> applyPrefixAndSuffix) {
- int heat = recipeInfo.recipe.mSpecialValue;
-
- List<String> result = new ArrayList<>();
- result.add(applyPrefixAndSuffix.apply(heat));
- result.add(" (" + HeatingCoilLevel.getDisplayNameFromHeat(heat, false) + ")");
- return result;
- }
-}
diff --git a/src/main/java/gregtech/nei/IMCForNEI.java b/src/main/java/gregtech/nei/IMCForNEI.java
deleted file mode 100644
index 2fdda9893c..0000000000
--- a/src/main/java/gregtech/nei/IMCForNEI.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package gregtech.nei;
-
-import static gregtech.api.enums.Mods.GregTech;
-import static gregtech.api.enums.Mods.NotEnoughItems;
-
-import net.minecraft.nbt.NBTTagCompound;
-
-import cpw.mods.fml.common.event.FMLInterModComms;
-
-public class IMCForNEI {
-
- public static void IMCSender() {
- if (!NotEnoughItems.isModLoaded()) {
- return;
- }
-
- sendHandler("gt.recipe.transcendentplasmamixerrecipes", "gregtech:gt.blockmachines:1006", 1);
- sendCatalyst("gt.recipe.transcendentplasmamixerrecipes", "gregtech:gt.blockmachines:1006");
-
- sendHandler("gt.recipe.plasmaforge", "gregtech:gt.blockmachines:1004", 1);
- sendCatalyst("gt.recipe.plasmaforge", "gregtech:gt.blockmachines:1004");
-
- sendHandler("gt.recipe.complexfusionreactor", "gregtech:gt.blockmachines:1193");
- sendCatalyst("gt.recipe.complexfusionreactor", "gregtech:gt.blockmachines:1193");
- sendCatalyst("gt.recipe.complexfusionreactor", "gregtech:gt.blockmachines:1194");
- sendCatalyst("gt.recipe.complexfusionreactor", "gregtech:gt.blockmachines:1195");
-
- sendCatalyst("gt.recipe.gasturbinefuel", "gregtech:gt.blockmachines:1005", -1);
- sendCatalyst("gt.recipe.gasturbinefuel", "gregtech:gt.blockmachines:1118");
- sendCatalyst("gt.recipe.gasturbinefuel", "gregtech:gt.blockmachines:1119");
-
- // overwrite yShift to 6
- sendHandler("gt.recipe.fakeAssemblylineProcess", "gregtech:gt.blockmachines:1170");
- sendHandler("gt.recipe.nanoforge", "gregtech:gt.blockmachines:357");
- sendCatalyst("gt.recipe.nanoforge", "gregtech:gt.blockmachines:357");
- sendHandler("gt.recipe.pcbfactory", "gregtech:gt.blockmachines:356");
- sendCatalyst("gt.recipe.pcbfactory", "gregtech:gt.blockmachines:356");
- sendHandler("gt.recipe.ic2nuke", "IC2:blockGenerator:5");
- sendCatalyst("gt.recipe.ic2nuke", "IC2:blockGenerator:5");
- }
-
- private static void sendHandler(String aName, String aBlock, int aMaxRecipesPerPage) {
- NBTTagCompound aNBT = new NBTTagCompound();
- aNBT.setString("handler", aName);
- aNBT.setString("modName", "GregTech");
- aNBT.setString("modId", GregTech.ID);
- aNBT.setBoolean("modRequired", true);
- aNBT.setString("itemName", aBlock);
- aNBT.setInteger("handlerHeight", 135);
- aNBT.setInteger("handlerWidth", 166);
- aNBT.setInteger("maxRecipesPerPage", aMaxRecipesPerPage);
- aNBT.setInteger("yShift", 6);
- FMLInterModComms.sendMessage("NotEnoughItems", "registerHandlerInfo", aNBT);
- }
-
- private static void sendHandler(String aName, String aBlock) {
- sendHandler(aName, aBlock, 2);
- }
-
- private static void sendCatalyst(String aName, String aStack, int aPriority) {
- NBTTagCompound aNBT = new NBTTagCompound();
- aNBT.setString("handlerID", aName);
- aNBT.setString("itemName", aStack);
- aNBT.setInteger("priority", aPriority);
- FMLInterModComms.sendMessage("NotEnoughItems", "registerCatalystInfo", aNBT);
- }
-
- private static void sendCatalyst(String aName, String aStack) {
- sendCatalyst(aName, aStack, 0);
- }
-}
diff --git a/src/main/java/gregtech/nei/INEISpecialInfoFormatter.java b/src/main/java/gregtech/nei/INEISpecialInfoFormatter.java
deleted file mode 100644
index ef2ba880eb..0000000000
--- a/src/main/java/gregtech/nei/INEISpecialInfoFormatter.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package gregtech.nei;
-
-import java.util.List;
-import java.util.function.Function;
-
-/**
- * Getter for description for {@link gregtech.api.util.GT_Recipe#mSpecialValue} etc. that will be drawn on NEI.
- */
-@FunctionalInterface
-public interface INEISpecialInfoFormatter {
-
- /**
- * @param recipeInfo Recipe info to draw description. You can retrieve special value with
- * {@code recipeInfo.recipe.mSpecialValue}.
- * @param applyPrefixAndSuffix Function to apply
- * {@link gregtech.api.util.GT_Recipe.GT_Recipe_Map#formatSpecialValue}.
- * @return List of strings containing info for special value etc.
- */
- @SuppressWarnings("JavadocReference")
- List<String> format(NEIRecipeInfo recipeInfo, Function<Integer, String> applyPrefixAndSuffix);
-}
diff --git a/src/main/java/gregtech/nei/NEIRecipeInfo.java b/src/main/java/gregtech/nei/NEIRecipeInfo.java
deleted file mode 100644
index 85db921ade..0000000000
--- a/src/main/java/gregtech/nei/NEIRecipeInfo.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package gregtech.nei;
-
-import gregtech.api.util.GT_Recipe;
-import gregtech.common.power.Power;
-
-/**
- * Holds info used for drawing descriptions on NEI.
- */
-public class NEIRecipeInfo {
-
- /**
- * Recipe to show description.
- */
- public final GT_Recipe recipe;
-
- /**
- * RecipeMap the recipe belongs to.
- */
- public final GT_Recipe.GT_Recipe_Map recipeMap;
-
- /**
- * Recipe object for NEI.
- */
- public final GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe;
-
- /**
- * When user looks up usage for machine, NEI will show all the recipes that the machine can process, taking tier of
- * the machine into consideration. This object can be used to show info around overclocked EU/t and duration.
- */
- public final Power power;
-
- /**
- * Current Y position for drawing description.
- */
- public int yPos;
-
- public NEIRecipeInfo(GT_Recipe recipe, GT_Recipe.GT_Recipe_Map recipeMap,
- GT_NEI_DefaultHandler.CachedDefaultRecipe neiCachedRecipe, Power power, int descriptionYOffset) {
- this.recipe = recipe;
- this.recipeMap = recipeMap;
- this.neiCachedRecipe = neiCachedRecipe;
- this.power = power;
- this.yPos = descriptionYOffset;
- }
-}
diff --git a/src/main/java/gregtech/nei/NEI_GT_Config.java b/src/main/java/gregtech/nei/NEI_GT_Config.java
index 324b4cf303..cb51380539 100644
--- a/src/main/java/gregtech/nei/NEI_GT_Config.java
+++ b/src/main/java/gregtech/nei/NEI_GT_Config.java
@@ -1,21 +1,31 @@
package gregtech.nei;
-import java.util.ArrayList;
+import java.util.Collection;
import java.util.Comparator;
-import java.util.List;
+import java.util.Map;
+import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ListMultimap;
import codechicken.nei.api.API;
import codechicken.nei.api.IConfigureNEI;
+import codechicken.nei.event.NEIRegisterHandlerInfosEvent;
import codechicken.nei.recipe.GuiCraftingRecipe;
import codechicken.nei.recipe.GuiUsageRecipe;
+import codechicken.nei.recipe.HandlerInfo;
import codechicken.nei.recipe.TemplateRecipeHandler;
-import cpw.mods.fml.common.FMLCommonHandler;
import cpw.mods.fml.common.event.FMLInterModComms;
+import cpw.mods.fml.common.eventhandler.SubscribeEvent;
+import gregtech.api.GregTech_API;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.ItemList;
-import gregtech.api.util.GT_Recipe;
+import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
+import gregtech.api.interfaces.tileentity.RecipeMapWorkable;
+import gregtech.api.recipe.RecipeCategory;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.recipe.RecipeMaps;
+import gregtech.api.util.GT_ModHandler;
import gregtech.common.items.GT_MetaGenerated_Item_01;
import gregtech.common.items.GT_MetaGenerated_Item_02;
import gregtech.common.items.GT_MetaGenerated_Item_03;
@@ -36,14 +46,17 @@ public class NEI_GT_Config implements IConfigureNEI {
* Handlers will be displayed in ascending order of integer value. Any recipe map that is not present in this map
* will be assigned a value of 0. Negative values are fine.
*/
- private static final ImmutableMap<GT_Recipe.GT_Recipe_Map, Integer> RECIPE_MAP_ORDERING = ImmutableMap.<GT_Recipe.GT_Recipe_Map, Integer>builder()
- .put(GT_Recipe.GT_Recipe_Map.sAssemblylineVisualRecipes, 1)
- .put(GT_Recipe.GT_Recipe_Map.sScannerFakeRecipes, 2)
+ private static final ImmutableMap<RecipeMap<?>, Integer> RECIPE_MAP_ORDERING = ImmutableMap
+ .<RecipeMap<?>, Integer>builder()
+ .put(RecipeMaps.assemblylineVisualRecipes, 1)
+ .put(RecipeMaps.scannerFakeRecipes, 2)
.build();
- private static final Comparator<RecipeMapHandler> RECIPE_MAP_HANDLER_COMPARATOR = Comparator
+ private static final Comparator<GT_NEI_DefaultHandler> RECIPE_MAP_HANDLER_COMPARATOR = Comparator
.comparingInt(handler -> RECIPE_MAP_ORDERING.getOrDefault(handler.getRecipeMap(), 0));
+ private static ListMultimap<RecipeCategory, RecipeMapWorkable> RECIPE_CATALYST_INDEX;
+
public static boolean sIsAdded = true;
private static void addHandler(TemplateRecipeHandler handler) {
@@ -59,33 +72,107 @@ public class NEI_GT_Config implements IConfigureNEI {
@Override
public void loadConfig() {
sIsAdded = false;
- if (FMLCommonHandler.instance()
- .getEffectiveSide()
- .isClient()) {
- List<RecipeMapHandler> handlers = new ArrayList<>();
-
- for (GT_Recipe.GT_Recipe_Map tMap : GT_Recipe.GT_Recipe_Map.sMappings) {
- if (tMap.mNEIAllowed) {
- handlers.add(new GT_NEI_DefaultHandler(tMap));
- }
- }
+ registerHandlers();
+ registerCatalysts();
+ registerItemEntries();
+ registerDumpers();
+ sIsAdded = true;
+ }
- handlers.sort(RECIPE_MAP_HANDLER_COMPARATOR);
- handlers.forEach(NEI_GT_Config::addHandler);
+ private void registerHandlers() {
+ RecipeCategory.ALL_RECIPE_CATEGORIES.values()
+ .stream()
+ .filter(
+ recipeCategory -> recipeCategory.recipeMap.getFrontend()
+ .getNEIProperties().registerNEI)
+ .map(GT_NEI_DefaultHandler::new)
+ .sorted(RECIPE_MAP_HANDLER_COMPARATOR)
+ .forEach(NEI_GT_Config::addHandler);
+ }
- API.addItemListEntry(ItemList.VOLUMETRIC_FLASK.get(1));
+ private void registerCatalysts() {
+ for (Map.Entry<RecipeCategory, Collection<RecipeMapWorkable>> entry : RECIPE_CATALYST_INDEX.asMap()
+ .entrySet()) {
+ entry.getValue()
+ .forEach(
+ recipeMapWorkable -> API.addRecipeCatalyst(
+ recipeMapWorkable.getStackForm(1),
+ entry.getKey().unlocalizedName,
+ recipeMapWorkable.getRecipeCatalystPriority()));
+ }
+ API.addRecipeCatalyst(
+ GT_ModHandler.getIC2Item("nuclearReactor", 1, null),
+ RecipeMaps.ic2NuclearFakeRecipes.unlocalizedName);
+ // Bronze Blast Furnace
+ API.removeRecipeCatalyst(
+ GT_ModHandler.getModItem("gregtech", "gt.blockmachines", 1, 108),
+ RecipeMaps.primitiveBlastRecipes.unlocalizedName);
+ }
- API.addOption(new MetaTileEntityDumper());
- API.addOption(new MaterialDumper());
- API.addOption(new MetaItemDumper(GT_MetaGenerated_Item_01.INSTANCE, "metaitem01"));
- API.addOption(new MetaItemDumper(GT_MetaGenerated_Item_02.INSTANCE, "metaitem02"));
- API.addOption(new MetaItemDumper(GT_MetaGenerated_Item_03.INSTANCE, "metaitem03"));
- API.addOption(new VoidProtectionSupportDumper());
- API.addOption(new InputSeparationSupportDumper());
- API.addOption(new BatchModeSupportDumper());
- API.addOption(new RecipeLockingSupportDumper());
+ private void registerItemEntries() {
+ API.addItemListEntry(ItemList.VOLUMETRIC_FLASK.get(1));
+ }
+
+ private void registerDumpers() {
+ API.addOption(new MetaTileEntityDumper());
+ API.addOption(new MaterialDumper());
+ API.addOption(new MetaItemDumper(GT_MetaGenerated_Item_01.INSTANCE, "metaitem01"));
+ API.addOption(new MetaItemDumper(GT_MetaGenerated_Item_02.INSTANCE, "metaitem02"));
+ API.addOption(new MetaItemDumper(GT_MetaGenerated_Item_03.INSTANCE, "metaitem03"));
+ API.addOption(new VoidProtectionSupportDumper());
+ API.addOption(new InputSeparationSupportDumper());
+ API.addOption(new BatchModeSupportDumper());
+ API.addOption(new RecipeLockingSupportDumper());
+ }
+
+ @SubscribeEvent
+ public void registerHandlerInfo(NEIRegisterHandlerInfosEvent event) {
+ if (RECIPE_CATALYST_INDEX == null) {
+ // This method will be called earlier than #loadConfig
+ generateRecipeCatalystIndex();
}
- sIsAdded = true;
+ RecipeCategory.ALL_RECIPE_CATEGORIES.values()
+ .forEach(recipeCategory -> {
+ HandlerInfo.Builder builder = createHandlerInfoBuilderTemplate(recipeCategory);
+ HandlerInfo handlerInfo;
+ if (recipeCategory.handlerInfoCreator != null) {
+ handlerInfo = recipeCategory.handlerInfoCreator.apply(builder)
+ .build();
+ } else {
+ // Infer icon from recipe catalysts
+ RECIPE_CATALYST_INDEX.get(recipeCategory)
+ .stream()
+ .findFirst()
+ .ifPresent(catalyst -> builder.setDisplayStack(catalyst.getStackForm(1)));
+ handlerInfo = builder.build();
+ }
+ event.registerHandlerInfo(handlerInfo);
+ });
+ }
+
+ private HandlerInfo.Builder createHandlerInfoBuilderTemplate(RecipeCategory recipeCategory) {
+ return new HandlerInfo.Builder(
+ recipeCategory.unlocalizedName,
+ recipeCategory.ownerMod.getName(),
+ recipeCategory.ownerMod.getModId()).setShiftY(6)
+ .setHeight(135)
+ .setMaxRecipesPerPage(2);
+ }
+
+ private static void generateRecipeCatalystIndex() {
+ ImmutableListMultimap.Builder<RecipeCategory, RecipeMapWorkable> builder = new ImmutableListMultimap.Builder<>();
+ builder
+ .orderValuesBy(Comparator.comparing(recipeMapWorkable -> -recipeMapWorkable.getRecipeCatalystPriority()));
+ for (int i = 1; i < GregTech_API.METATILEENTITIES.length; i++) {
+ IMetaTileEntity mte = GregTech_API.METATILEENTITIES[i];
+ if (!(mte instanceof RecipeMapWorkable recipeMapWorkable)) continue;
+ for (RecipeMap<?> recipeMap : recipeMapWorkable.getAvailableRecipeMaps()) {
+ for (RecipeCategory recipeCategory : recipeMap.getAssociatedCategories()) {
+ builder.put(recipeCategory, recipeMapWorkable);
+ }
+ }
+ }
+ RECIPE_CATALYST_INDEX = builder.build();
}
@Override
diff --git a/src/main/java/gregtech/nei/NEI_TransferRectHost.java b/src/main/java/gregtech/nei/NEI_TransferRectHost.java
deleted file mode 100644
index cdc708beb8..0000000000
--- a/src/main/java/gregtech/nei/NEI_TransferRectHost.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package gregtech.nei;
-
-import java.awt.Rectangle;
-
-public interface NEI_TransferRectHost {
-
- String getNeiTransferRectString();
-
- String getNeiTransferRectTooltip();
-
- Object[] getNeiTransferRectArgs();
-
- Rectangle getNeiTransferRect();
-}
diff --git a/src/main/java/gregtech/nei/RecipeDisplayInfo.java b/src/main/java/gregtech/nei/RecipeDisplayInfo.java
new file mode 100644
index 0000000000..f9cc1a9a8c
--- /dev/null
+++ b/src/main/java/gregtech/nei/RecipeDisplayInfo.java
@@ -0,0 +1,99 @@
+package gregtech.nei;
+
+import static gregtech.api.util.GT_Utility.isStringInvalid;
+
+import java.util.List;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.client.Minecraft;
+
+import gregtech.api.objects.overclockdescriber.OverclockDescriber;
+import gregtech.api.recipe.RecipeMap;
+import gregtech.api.util.FieldsAreNonnullByDefault;
+import gregtech.api.util.GT_OverclockCalculator;
+import gregtech.api.util.GT_Recipe;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+
+/**
+ * Holds info used for drawing descriptions on NEI.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FieldsAreNonnullByDefault
+public class RecipeDisplayInfo {
+
+ /**
+ * Recipe to show description.
+ */
+ public final GT_Recipe recipe;
+
+ /**
+ * RecipeMap the recipe belongs to.
+ */
+ public final RecipeMap<?> recipeMap;
+
+ /**
+ * When user looks up usage for machine, NEI will show all the recipes that the machine can process, taking tier of
+ * the machine into consideration. This object can be used to show info around overclocked EU/t and duration.
+ */
+ public final OverclockDescriber overclockDescriber;
+
+ /**
+ * Pre-built overclock calculator, used for drawing OC information. Do not calculate it again.
+ */
+ public final GT_OverclockCalculator calculator;
+
+ /**
+ * Current Y position for drawing description.
+ */
+ private int yPos;
+
+ private final int neiTextColorOverride;
+
+ RecipeDisplayInfo(GT_Recipe recipe, RecipeMap<?> recipeMap, OverclockDescriber overclockDescriber,
+ GT_OverclockCalculator calculator, int descriptionYOffset, int neiTextColorOverride) {
+ this.recipe = recipe;
+ this.recipeMap = recipeMap;
+ this.overclockDescriber = overclockDescriber;
+ this.calculator = calculator;
+ this.yPos = descriptionYOffset;
+ this.neiTextColorOverride = neiTextColorOverride;
+ }
+
+ /**
+ * Draws text.
+ */
+ public void drawText(@Nullable String text) {
+ drawText(text, 10);
+ }
+
+ /**
+ * Draws text.
+ *
+ * @param yShift y position to shift after this text
+ */
+ public void drawText(@Nullable String text, int yShift) {
+ drawText(text, 5, yShift);
+ }
+
+ /**
+ * Draws text.
+ *
+ * @param xStart x position to start drawing
+ * @param yShift y position to shift after this text
+ */
+ public void drawText(@Nullable String text, int xStart, int yShift) {
+ if (isStringInvalid(text)) return;
+ Minecraft.getMinecraft().fontRenderer
+ .drawString(text, xStart, yPos, neiTextColorOverride != -1 ? neiTextColorOverride : 0x000000);
+ yPos += yShift;
+ }
+
+ public void drawTextMultipleLines(List<String> texts) {
+ for (String text : texts) {
+ drawText(text, 10);
+ }
+ }
+}
diff --git a/src/main/java/gregtech/nei/RecipeMapHandler.java b/src/main/java/gregtech/nei/RecipeMapHandler.java
deleted file mode 100644
index a31bcefdff..0000000000
--- a/src/main/java/gregtech/nei/RecipeMapHandler.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package gregtech.nei;
-
-import net.minecraft.client.Minecraft;
-
-import com.gtnewhorizons.modularui.api.ModularUITextures;
-
-import codechicken.nei.recipe.TemplateRecipeHandler;
-import gregtech.api.gui.GT_GUIColorOverride;
-import gregtech.api.util.GT_Recipe;
-
-/**
- * This abstract class represents an NEI handler that is constructed from a {@link GT_Recipe.GT_Recipe_Map}, and allows
- * us to sort NEI handlers by recipe map.
- */
-abstract class RecipeMapHandler extends TemplateRecipeHandler {
-
- protected final GT_Recipe.GT_Recipe_Map mRecipeMap;
-
- protected final GT_GUIColorOverride colorOverride;
- private int overrideTextColor = -1;
-
- RecipeMapHandler(GT_Recipe.GT_Recipe_Map mRecipeMap) {
- this.mRecipeMap = mRecipeMap;
- colorOverride = GT_GUIColorOverride.get(ModularUITextures.VANILLA_BACKGROUND.location);
- }
-
- GT_Recipe.GT_Recipe_Map getRecipeMap() {
- return mRecipeMap;
- }
-
- protected void updateOverrideTextColor() {
- overrideTextColor = colorOverride.getTextColorOrDefault("nei", -1);
- }
-
- protected void drawText(int aX, int aY, String aString, int aColor) {
- Minecraft.getMinecraft().fontRenderer
- .drawString(aString, aX, aY, overrideTextColor != -1 ? overrideTextColor : aColor);
- }
-}
diff --git a/src/main/java/gregtech/nei/formatter/DefaultSpecialValueFormatter.java b/src/main/java/gregtech/nei/formatter/DefaultSpecialValueFormatter.java
new file mode 100644
index 0000000000..1c4d486319
--- /dev/null
+++ b/src/main/java/gregtech/nei/formatter/DefaultSpecialValueFormatter.java
@@ -0,0 +1,36 @@
+package gregtech.nei.formatter;
+
+import static gregtech.api.util.GT_Utility.trans;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.GT_Mod;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class DefaultSpecialValueFormatter implements INEISpecialInfoFormatter {
+
+ public static DefaultSpecialValueFormatter INSTANCE = new DefaultSpecialValueFormatter();
+
+ @Override
+ public List<String> format(RecipeDisplayInfo recipeInfo) {
+ int specialValue = recipeInfo.recipe.mSpecialValue;
+ if (specialValue == -100 && GT_Mod.gregtechproxy.mLowGravProcessing) {
+ return Collections.singletonList(trans("159", "Needs Low Gravity"));
+ } else if (specialValue == -200 && GT_Mod.gregtechproxy.mEnableCleanroom) {
+ return Collections.singletonList(trans("160", "Needs Cleanroom"));
+ } else if (specialValue == -201) {
+ return Collections.singletonList(trans("206", "Scan for Assembly Line"));
+ } else if (specialValue == -300 && GT_Mod.gregtechproxy.mEnableCleanroom) {
+ return Collections.singletonList(trans("160.1", "Needs Cleanroom & LowGrav"));
+ } else if (specialValue == -400) {
+ return Collections.singletonList(trans("216", "Deprecated Recipe"));
+ }
+ return Collections.emptyList();
+ }
+}
diff --git a/src/main/java/gregtech/nei/formatter/FuelSpecialValueFormatter.java b/src/main/java/gregtech/nei/formatter/FuelSpecialValueFormatter.java
new file mode 100644
index 0000000000..dcfe2617dd
--- /dev/null
+++ b/src/main/java/gregtech/nei/formatter/FuelSpecialValueFormatter.java
@@ -0,0 +1,27 @@
+package gregtech.nei.formatter;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.StatCollector;
+
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class FuelSpecialValueFormatter implements INEISpecialInfoFormatter {
+
+ public static FuelSpecialValueFormatter INSTANCE = new FuelSpecialValueFormatter();
+
+ @Override
+ public List<String> format(RecipeDisplayInfo recipeInfo) {
+ return Collections.singletonList(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.nei.fuel",
+ GT_Utility.formatNumbers(recipeInfo.recipe.mSpecialValue * 1000L)));
+ }
+}
diff --git a/src/main/java/gregtech/nei/FusionSpecialValueFormatter.java b/src/main/java/gregtech/nei/formatter/FusionSpecialValueFormatter.java
index 46254a1510..77cd41b343 100644
--- a/src/main/java/gregtech/nei/FusionSpecialValueFormatter.java
+++ b/src/main/java/gregtech/nei/formatter/FusionSpecialValueFormatter.java
@@ -1,26 +1,35 @@
-package gregtech.nei;
+package gregtech.nei.formatter;
import java.util.Collections;
import java.util.List;
-import java.util.function.Function;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.StatCollector;
import gregtech.api.enums.GT_Values;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
public class FusionSpecialValueFormatter implements INEISpecialInfoFormatter {
public static final FusionSpecialValueFormatter INSTANCE = new FusionSpecialValueFormatter();
- private static final int M = 1000000;
+ private static final long M = 1000000;
@Override
- public List<String> format(NEIRecipeInfo recipeInfo, Function<Integer, String> applyPrefixAndSuffix) {
+ public List<String> format(RecipeDisplayInfo recipeInfo) {
int euToStart = recipeInfo.recipe.mSpecialValue;
int voltage = recipeInfo.recipe.mEUt;
int tier = getFusionTier(euToStart, voltage);
- return Collections.singletonList(applyPrefixAndSuffix.apply(euToStart) + " (MK " + tier + ")");
+ return Collections.singletonList(
+ StatCollector.translateToLocalFormatted("GT5U.nei.start_eu", GT_Utility.formatNumbers(euToStart), tier));
}
- public static int getFusionTier(int startupPower, long voltage) {
+ public static int getFusionTier(long startupPower, long voltage) {
int tier;
if (startupPower <= 10 * M * 16) {
tier = 1;
@@ -28,8 +37,10 @@ public class FusionSpecialValueFormatter implements INEISpecialInfoFormatter {
tier = 2;
} else if (startupPower <= 40 * M * 16) {
tier = 3;
- } else {
+ } else if (startupPower <= 320 * M * 16) {
tier = 4;
+ } else {
+ tier = 5;
}
if (voltage <= GT_Values.V[6]) {
diff --git a/src/main/java/gregtech/nei/formatter/HeatingCoilSpecialValueFormatter.java b/src/main/java/gregtech/nei/formatter/HeatingCoilSpecialValueFormatter.java
new file mode 100644
index 0000000000..f5c17a1163
--- /dev/null
+++ b/src/main/java/gregtech/nei/formatter/HeatingCoilSpecialValueFormatter.java
@@ -0,0 +1,30 @@
+package gregtech.nei.formatter;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.StatCollector;
+
+import gregtech.api.enums.HeatingCoilLevel;
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class HeatingCoilSpecialValueFormatter implements INEISpecialInfoFormatter {
+
+ public static final HeatingCoilSpecialValueFormatter INSTANCE = new HeatingCoilSpecialValueFormatter();
+
+ @Override
+ public List<String> format(RecipeDisplayInfo recipeInfo) {
+ int heat = recipeInfo.recipe.mSpecialValue;
+ return Collections.singletonList(
+ StatCollector.translateToLocalFormatted(
+ "GT5U.nei.heat_capacity",
+ GT_Utility.formatNumbers(heat),
+ HeatingCoilLevel.getDisplayNameFromHeat(heat, false)));
+ }
+}
diff --git a/src/main/java/gregtech/nei/formatter/INEISpecialInfoFormatter.java b/src/main/java/gregtech/nei/formatter/INEISpecialInfoFormatter.java
new file mode 100644
index 0000000000..21228240d4
--- /dev/null
+++ b/src/main/java/gregtech/nei/formatter/INEISpecialInfoFormatter.java
@@ -0,0 +1,24 @@
+package gregtech.nei.formatter;
+
+import java.util.List;
+
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Getter for description for {@link gregtech.api.util.GT_Recipe#mSpecialValue} etc. that will be drawn on NEI.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+@FunctionalInterface
+public interface INEISpecialInfoFormatter {
+
+ /**
+ * @param recipeInfo Recipe info to draw description. You can retrieve special value with
+ * {@code recipeInfo.recipe.mSpecialValue}.
+ * @return List of strings containing info for special value etc.
+ */
+ List<String> format(RecipeDisplayInfo recipeInfo);
+}
diff --git a/src/main/java/gregtech/nei/formatter/SimpleSpecialValueFormatter.java b/src/main/java/gregtech/nei/formatter/SimpleSpecialValueFormatter.java
new file mode 100644
index 0000000000..8f2098c0a9
--- /dev/null
+++ b/src/main/java/gregtech/nei/formatter/SimpleSpecialValueFormatter.java
@@ -0,0 +1,49 @@
+package gregtech.nei.formatter;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.annotation.Nullable;
+import javax.annotation.ParametersAreNonnullByDefault;
+
+import net.minecraft.util.StatCollector;
+
+import gregtech.api.util.GT_Utility;
+import gregtech.api.util.MethodsReturnNonnullByDefault;
+import gregtech.nei.RecipeDisplayInfo;
+
+/**
+ * Simple formatter for recipe's special value.
+ */
+@ParametersAreNonnullByDefault
+@MethodsReturnNonnullByDefault
+public class SimpleSpecialValueFormatter implements INEISpecialInfoFormatter {
+
+ @Nullable
+ private final String translationKey;
+ private final int multiplier;
+
+ /**
+ * @param translationKey Localization key to format
+ * @param multiplier Number to multiply to special value for display
+ */
+ public SimpleSpecialValueFormatter(@Nullable String translationKey, int multiplier) {
+ this.translationKey = translationKey;
+ this.multiplier = multiplier;
+ }
+
+ /**
+ * @param translationKey Localization key to format
+ */
+ public SimpleSpecialValueFormatter(@Nullable String translationKey) {
+ this(translationKey, 1);
+ }
+
+ @Override
+ public List<String> format(RecipeDisplayInfo recipeInfo) {
+ return Collections.singletonList(
+ StatCollector.translateToLocalFormatted(
+ translationKey,
+ GT_Utility.formatNumbers((long) recipeInfo.recipe.mSpecialValue * multiplier)));
+ }
+}
diff --git a/src/main/resources/assets/gregtech/lang/en_US.lang b/src/main/resources/assets/gregtech/lang/en_US.lang
index 1a6505a731..f76c25ef71 100644
--- a/src/main/resources/assets/gregtech/lang/en_US.lang
+++ b/src/main/resources/assets/gregtech/lang/en_US.lang
@@ -100,8 +100,8 @@ gt.recipe.assembler=Assembler
gt.recipe.assembler.description=Avengers, Assemble!
gt.recipe.autoclave=Autoclave
gt.recipe.autoclave.description=Crystallizing your Dusts
-gt.recipe.brewery=Brewery
-gt.recipe.brewery.description=Brewing your Drinks
+gt.recipe.brewer=Brewery
+gt.recipe.brewer.description=Brewing your Drinks
gt.recipe.metalbender=Bending Machine
gt.recipe.metalbender.description=Boo, he's bad! We want BENDER!!!
gt.recipe.canner=Canner
@@ -191,6 +191,47 @@ gt.recipe.unpackager.description=Grabs things out of Boxes
gt.recipe.wiremill=Wiremill
gt.recipe.wiremill.description=Produces Wires more efficiently
+# RecipeMaps that are not listed on MachineType enum
+gt.recipe.fakeAssemblylineProcess=Assemblyline Process
+gt.recipe.fusionreactor=Fusion Reactor
+gt.recipe.blastfurnace=Blast Furnace
+gt.recipe.plasmaforge=DTPF
+gt.recipe.transcendentplasmamixerrecipes=Transcendent Plasma Mixer
+gt.recipe.fakespaceprojects=Space Projects
+gt.recipe.primitiveblastfurnace=Primitive Blast Furnace
+gt.recipe.implosioncompressor=Implosion Compressor
+gt.recipe.vacuumfreezer=Vacuum Freezer
+gt.recipe.largechemicalreactor=Large Chemical Reactor
+gt.recipe.distillationtower=Distillation Tower
+gt.recipe.craker=Oil Cracker
+gt.recipe.pyro=Pyrolyse Oven
+gt.recipe.dieselgeneratorfuel=Combustion Generator Fuels
+gt.recipe.extremedieselgeneratorfuel=Extreme Diesel Engine Fuel
+gt.recipe.gasturbinefuel=Gas Turbine Fuel
+gt.recipe.thermalgeneratorfuel=Thermal Generator Fuels
+gt.recipe.semifluidboilerfuels=Semifluid Boiler Fuels
+gt.recipe.plasmageneratorfuels=Plasma Generator Fuels
+gt.recipe.magicfuels=Magic Energy Absorber Fuels
+gt.recipe.smallnaquadahreactor=Naquadah Reactor MkI
+gt.recipe.largenaquadahreactor=Naquadah Reactor MkII
+gt.recipe.fluidnaquadahreactor=Naquadah Reactor MkIII
+gt.recipe.hugenaquadahreactor=Naquadah Reactor MkIV
+gt.recipe.extrahugenaquadahreactor=Naquadah Reactor MkV
+gt.recipe.fluidfuelnaquadahreactor=Fluid Naquadah Reactor
+gt.recipe.largeboilerfakefuels=Large Boiler
+gt.recipe.nanoforge=Nano Forge
+gt.recipe.pcbfactory=PCB Factory
+gt.recipe.ic2nuke=Nuclear Fission
+
+# Recipe categories
+gt.recipe.category.arc_furnace_recycling=Arc Furnace Recycling
+gt.recipe.category.plasma_arc_furnace_recycling=Plasma Arc Furnace Recycling
+gt.recipe.category.macerator_recycling=Macerator Recycling
+gt.recipe.category.fluid_extractor_recycling=Fluid Extractor Recycling
+gt.recipe.category.alloy_smelter_recycling=Alloy Smelter Recycling
+gt.recipe.category.alloy_smelter_molding=Alloy Smelter Molding
+gt.recipe.category.forge_hammer_recycling=Forge Hammer Recycling
+
GT5U.machines.tier=Tier
GT5U.machines.workarea=Work Area
GT5U.machines.workareaset=Work Area set to
@@ -466,6 +507,13 @@ GT5U.multiblock.usage=Probably uses
GT5U.multiblock.parallelism=Max parallelism
GT5U.multiblock.curparallelism=Current parallelism
+# NEI recipe handlers
+GT5U.nei.heat_capacity=Heat Capacity: %s K (%s)
+GT5U.nei.tier=Tier: %s
+GT5U.nei.start_eu=Start: %s EU (MK %s)
+GT5U.nei.stages=Stages: %s
+GT5U.nei.fuel=Fuel Value: %s EU
+
GT5U.config.colormodulation=Color Modulator
GT5U.config.colormodulation.cable_insulation=Cable Insulation
GT5U.config.colormodulation.cable_insulation.B=Blue
@@ -514,6 +562,7 @@ GT5U.config.nei.RecipeOwner=Show which mod added the recipe
GT5U.config.nei.RecipeOwnerStackTrace=[debug] Show stack traces of recipe addition
GT5U.config.nei.RecipeOwnerStackTrace.tooltip=[requires reboot]
GT5U.config.nei.OriginalVoltage=Show original voltage when overclocked
+GT5U.config.nei.recipe_categories=Recipe Categories
GT5U.config.waila=Waila
GT5U.config.waila.WailaTransformerVoltageTier=Show voltage tier of transformer
GT5U.config.waila.WailaAverageNS=Show average ns of multiblocks on waila
@@ -526,7 +575,10 @@ GT5U.interface.coverTabs.south=South
GT5U.interface.coverTabs.west=West
GT5U.interface.coverTabs.east=East
-# NEI
+GT5U.steam_variant.bronze=Bronze
+GT5U.steam_variant.steel=Steel
+
+# NEI options
nei.options.tools.dump.gt5u=GT5u
nei.options.tools.dump.gt5u.metatileentity=MetaTileEntity
nei.options.tools.dump.gt5u.metatileentitys=MetaTileEntities
@@ -1375,7 +1427,6 @@ gt.solar.system.nereid=Nereid
gt.solar.system.mercury=Mercury
gt.solar.system.titan=Titan
gt.solar.system.phobos=Phobos
-gt.specialvalue.stages=Stages:
gt.multiBlock.controller.cokeOven=Coke Oven
diff --git a/src/main/resources/assets/gregtech/textures/gui/background/nei_single_recipe.png b/src/main/resources/assets/gregtech/textures/gui/background/nei_single_recipe.png
new file mode 100644
index 0000000000..e385d976b1
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/background/nei_single_recipe.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_molding.png b/src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_molding.png
new file mode 100644
index 0000000000..333b94759d
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_molding.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_recycling.png
new file mode 100644
index 0000000000..7210d1bd95
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/alloy_smelter_recycling.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/arc_furnace_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/arc_furnace_recycling.png
new file mode 100644
index 0000000000..c5c1bd598d
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/arc_furnace_recycling.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/fluid_extractor_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/fluid_extractor_recycling.png
new file mode 100644
index 0000000000..31a3ed19ee
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/fluid_extractor_recycling.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/forge_hammer_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/forge_hammer_recycling.png
new file mode 100644
index 0000000000..2bba77de12
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/forge_hammer_recycling.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/macerator_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/macerator_recycling.png
new file mode 100644
index 0000000000..69a79e1a8a
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/macerator_recycling.png
Binary files differ
diff --git a/src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.png b/src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.png
new file mode 100644
index 0000000000..2dbf7ce070
--- /dev/null
+++ b/src/main/resources/assets/gregtech/textures/gui/picture/plasma_arc_furnace_recycling.png
Binary files differ