From b6caaf255da083516286321155ef339b60a07393 Mon Sep 17 00:00:00 2001 From: miozune Date: Mon, 4 Dec 2023 06:26:09 +0900 Subject: Migrate to new RecipeMap (#788) * Remove reference to GTPP_Recipe itself * Remove GTPP_Recipe_Map_Internal * Move recipemaps to separated class * Remove unused recipemaps * Migrate GT++ recipemaps Remove sElementalDuplicatorRecipes in favor of GT replicatorRecipes supporting findRecipe * Migrate the rest * Adjust catalyst priorities * Add ABS non-alloy recipe category * Remove s prefixes from recipemaps * Adapt to GT_StreamUtil rename * Adjust recipe catalysts * Fix build * update gradle+bs+deps (cherry picked from commit 8b185c7a4d881d38580cc98456265ebb751b6d93) * update deps --------- Co-authored-by: Martin Robertz --- src/main/java/gtPlusPlus/GTplusplus.java | 37 ++- .../api/recipe/ChemicalPlantFrontend.java | 68 +++++ .../api/recipe/GTPPRecipeCategories.java | 19 ++ .../java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java | 157 +++++++++++ .../gtPlusPlus/api/recipe/MillingFrontend.java | 46 ++++ .../java/gtPlusPlus/api/recipe/TGSFrontend.java | 68 +++++ src/main/java/gtPlusPlus/core/item/ModItems.java | 4 +- .../core/item/base/ingots/BaseItemIngotHot.java | 4 +- .../core/item/base/ingots/BaseItemIngot_OLD.java | 4 +- .../core/item/chemistry/AgriculturalChem.java | 18 +- .../core/item/chemistry/GenericChem.java | 30 +- .../core/item/chemistry/RocketFuels.java | 33 +-- .../java/gtPlusPlus/core/proxy/ClientProxy.java | 4 + .../gtPlusPlus/core/recipe/RECIPES_GREGTECH.java | 154 +++++------ .../gtPlusPlus/core/recipe/RECIPES_General.java | 10 +- .../core/recipe/RECIPES_LaserEngraver.java | 24 +- .../core/recipe/RECIPES_RareEarthProcessing.java | 26 +- .../gtPlusPlus/core/util/minecraft/FluidUtils.java | 10 +- .../java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java | 2 +- src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java | 99 +++++++ src/main/java/gtPlusPlus/nei/NEI_GT_Config.java | 41 --- src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java | 134 --------- .../gtPlusPlus/plugin/agrichem/BioRecipes.java | 74 ++--- .../gtPlusPlus/recipes/CokeAndPyrolyseOven.java | 3 +- .../java/gtPlusPlus/recipes/RecipeRemovals.java | 29 +- .../xmod/bop/blocks/BOP_Block_Registrator.java | 6 +- .../xmod/forestry/bees/custom/GTPP_Bees.java | 4 +- .../xmod/forestry/bees/custom/ItemCustomComb.java | 4 +- .../xmod/forestry/bees/items/output/GTPP_Drop.java | 4 +- .../forestry/bees/items/output/GTPP_Propolis.java | 4 +- .../java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java | 74 ----- ...etaTileEntity_Hatch_ElementalDataOrbHolder.java | 3 - .../GT_MetaTileEntity_Hatch_InputBattery.java | 4 +- .../GT_MetaTileEntity_Hatch_Steam_BusInput.java | 4 +- .../base/GregtechMeta_MultiBlockBase.java | 22 +- .../base/GregtechMeta_SteamMultiBase.java | 8 +- .../GregtechRocketFuelGeneratorBase.java | 20 +- .../GT_MetaTileEntity_Hatch_NbtConsumable.java | 2 - .../GT_MetaTileEntity_SemiFluidGenerator.java | 10 +- .../GregtechMetaTileEntityGeothermalGenerator.java | 7 +- .../GregtechMetaTileEntityRocketFuelGenerator.java | 8 +- .../generators/GregtechMetaTileEntity_RTG.java | 13 +- .../basic/GregtechMetaTileEntity_AutoChisel.java | 30 +- .../machines/multi/misc/GMTE_AmazonPackager.java | 7 +- ...gtechMetaTileEntity_IndustrialAlloySmelter.java | 6 +- ...regtechMetaTileEntity_IndustrialArcFurnace.java | 24 +- ...regtechMetaTileEntity_IndustrialCentrifuge.java | 8 +- .../GregtechMetaTileEntity_IndustrialChisel.java | 33 +-- .../GregtechMetaTileEntity_IndustrialCokeOven.java | 8 +- ...echMetaTileEntity_IndustrialCuttingMachine.java | 23 +- ...regtechMetaTileEntity_IndustrialDehydrator.java | 19 +- ...gtechMetaTileEntity_IndustrialElectrolyzer.java | 7 +- .../GregtechMetaTileEntity_IndustrialExtruder.java | 12 +- ...egtechMetaTileEntity_IndustrialFluidHeater.java | 7 +- ...egtechMetaTileEntity_IndustrialForgeHammer.java | 7 +- ...GregtechMetaTileEntity_IndustrialMacerator.java | 12 +- .../GregtechMetaTileEntity_IndustrialMixer.java | 7 +- ...aTileEntity_IndustrialMolecularTransformer.java | 8 +- ...gtechMetaTileEntity_IndustrialMultiMachine.java | 68 +++-- ...regtechMetaTileEntity_IndustrialPlatePress.java | 23 +- .../GregtechMetaTileEntity_IndustrialSifter.java | 12 +- ...MetaTileEntity_IndustrialThermalCentrifuge.java | 7 +- ...techMetaTileEntity_IndustrialVacuumFreezer.java | 8 +- ...GregtechMetaTileEntity_IndustrialWashPlant.java | 29 +- .../GregtechMetaTileEntity_IndustrialWireMill.java | 12 +- .../processing/GregtechMetaTileEntity_IsaMill.java | 8 +- ...hMetaTileEntity_NuclearSaltProcessingPlant.java | 6 +- .../GregtechMetaTileEntity_SpargeTower.java | 16 +- ...egtechMetaTileEntity_Adv_DistillationTower.java | 26 +- .../advanced/GregtechMetaTileEntity_Adv_EBF.java | 11 +- .../GregtechMetaTileEntity_Adv_Fusion_MK4.java | 34 +-- .../GregtechMetaTileEntity_Adv_Fusion_MK5.java | 35 +-- .../GregtechMetaTileEntity_Adv_Implosion.java | 12 +- .../GregtechMetaTileEntity_SteamCompressor.java | 6 +- .../GregtechMetaTileEntity_SteamMacerator.java | 6 +- .../multi/production/GT4Entity_AutoCrafter.java | 6 +- .../multi/production/GT4Entity_ThermalBoiler.java | 10 +- .../GregtechMTE_ElementalDuplicator.java | 211 +------------- .../production/GregtechMTE_FrothFlotationCell.java | 7 +- .../production/GregtechMTE_NuclearReactor.java | 8 +- .../production/GregtechMetaTileEntityTreeFarm.java | 15 +- .../GregtechMetaTileEntity_AlloyBlastSmelter.java | 8 +- .../GregtechMetaTileEntity_Cyclotron.java | 8 +- ...egtechMetaTileEntity_IndustrialFishingPond.java | 9 +- ...egtechMetaTileEntity_IndustrialRockBreaker.java | 55 +--- .../GregtechMetaTileEntity_LargeRocketEngine.java | 10 +- ...techMetaTileEntity_LargeSemifluidGenerator.java | 4 +- .../GregtechMetaTileEntity_MassFabricator.java | 36 ++- ...techMetaTileEntity_QuantumForceTransformer.java | 7 +- .../GregtechMetaTileEntity_Refinery.java | 8 +- .../GregtechMetaTileEntity_SolarTower.java | 8 +- .../algae/GregtechMTE_AlgaePondBase.java | 24 +- .../chemplant/GregtechMTE_ChemicalPlant.java | 8 +- ...egTechMetaTileEntity_MegaAlloyBlastSmelter.java | 7 +- .../turbines/GT_MTE_LargeTurbine_Gas.java | 16 +- .../turbines/GT_MTE_LargeTurbine_Plasma.java | 16 +- .../common/tools/TOOL_Gregtech_AngleGrinder.java | 14 +- .../gregtech/loaders/RecipeGen_BlastSmelter.java | 27 +- .../loaders/RecipeGen_BlastSmelterGT_GTNH.java | 304 ++++++++++----------- .../gregtech/loaders/RecipeGen_FluidCanning.java | 32 +-- .../RecipeGen_MultisUsingFluidInsteadOfCells.java | 15 +- .../xmod/gregtech/loaders/RecipeGen_Plates.java | 6 +- .../loaders/misc/AddCustomMachineToPA.java | 5 +- .../loaders/recipe/RecipeLoader_AlgaeFarm.java | 3 +- .../loaders/recipe/RecipeLoader_ChemicalSkips.java | 4 +- .../gregtech/loaders/recipe/RecipeLoader_LFTR.java | 8 +- .../loaders/recipe/RecipeLoader_Nuclear.java | 26 +- .../recipe/RecipeLoader_NuclearFuelProcessing.java | 8 +- .../xmod/gregtech/recipes/GregtechRecipeAdder.java | 115 ++++---- .../registration/gregtech/GregtechDehydrator.java | 49 ++-- .../gregtech/GregtechIndustrialMassFabricator.java | 28 +- .../registration/gregtech/GregtechLFTR.java | 18 +- .../gregtech/GregtechSimpleWasher.java | 28 +- .../registration/gregtech/GregtechSolarTower.java | 4 +- .../xmod/pamsharvest/fishtrap/FishTrapHandler.java | 18 +- .../xmod/railcraft/HANDLER_Railcraft.java | 4 +- .../recipe/TF_Gregtech_Recipes.java | 18 +- 117 files changed, 1570 insertions(+), 1477 deletions(-) create mode 100644 src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java create mode 100644 src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java create mode 100644 src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java create mode 100644 src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java create mode 100644 src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java create mode 100644 src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java delete mode 100644 src/main/java/gtPlusPlus/nei/NEI_GT_Config.java delete mode 100644 src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java (limited to 'src/main/java/gtPlusPlus') diff --git a/src/main/java/gtPlusPlus/GTplusplus.java b/src/main/java/gtPlusPlus/GTplusplus.java index b9a1ce86b8..69078ee499 100644 --- a/src/main/java/gtPlusPlus/GTplusplus.java +++ b/src/main/java/gtPlusPlus/GTplusplus.java @@ -28,11 +28,11 @@ import cpw.mods.fml.common.registry.GameRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import gregtech.api.enums.Materials; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.FishPondFakeRecipe; -import gregtech.api.util.GTPP_Recipe; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.SemiFluidFuelHandler; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.commands.CommandEnableDebugWhileRunning; import gtPlusPlus.core.commands.CommandMath; import gtPlusPlus.core.common.CommonProxy; @@ -44,7 +44,6 @@ import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.util.Utils; import gtPlusPlus.core.util.data.LocaleUtils; -import gtPlusPlus.nei.NEI_IMC_Sender; import gtPlusPlus.plugin.manager.Core_Manager; import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -175,7 +174,6 @@ public class GTplusplus implements ActionListener { proxy.registerNetworkStuff(); Meta_GT_Proxy.init(); Core_Manager.init(); - NEI_IMC_Sender.IMCSender(); // Used by foreign players to generate .lang files for translation. if (CORE.ConfigSwitches.dumpItemAndBlockData) { LocaleUtils.generateFakeLocaleFile(); @@ -259,27 +257,24 @@ public class GTplusplus implements ActionListener { FishPondFakeRecipe.generateFishPondRecipes(); SemiFluidFuelHandler.generateFuels(); - mInvalidCount[0] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes_GT); + mInvalidCount[0] = RecipeGen_MultisUsingFluidInsteadOfCells + .generateRecipesNotUsingCells(RecipeMaps.centrifugeRecipes, GTPPRecipeMaps.centrifugeNonCellRecipes); mInvalidCount[1] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockElectrolyzerRecipes_GT); - mInvalidCount[2] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GT_Recipe.GT_Recipe_Map.sVacuumRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sAdvFreezerRecipes_GT); - mInvalidCount[3] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GT_Recipe.GT_Recipe_Map.sMixerRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockMixerRecipes_GT); + RecipeMaps.electrolyzerRecipes, + GTPPRecipeMaps.electrolyzerNonCellRecipes); + mInvalidCount[2] = RecipeGen_MultisUsingFluidInsteadOfCells + .generateRecipesNotUsingCells(RecipeMaps.vacuumFreezerRecipes, GTPPRecipeMaps.advancedFreezerRecipes); + mInvalidCount[3] = RecipeGen_MultisUsingFluidInsteadOfCells + .generateRecipesNotUsingCells(RecipeMaps.mixerRecipes, GTPPRecipeMaps.mixerNonCellRecipes); mInvalidCount[4] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockChemicalDehydratorRecipes); + GTPPRecipeMaps.chemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorNonCellRecipes); mInvalidCount[5] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GTPP_Recipe.GTPP_Recipe_Map.sColdTrapRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sNuclearSaltProcessingPlantRecipes); + GTPPRecipeMaps.coldTrapRecipes, + GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes); mInvalidCount[6] = RecipeGen_MultisUsingFluidInsteadOfCells.generateRecipesNotUsingCells( - GTPP_Recipe.GTPP_Recipe_Map.sReactorProcessingUnitRecipes, - GTPP_Recipe.GTPP_Recipe_Map.sNuclearSaltProcessingPlantRecipes); + GTPPRecipeMaps.reactorProcessingUnitRecipes, + GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes); } private static void setupMaterialBlacklist() { diff --git a/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java b/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java new file mode 100644 index 0000000000..42d1fb9f50 --- /dev/null +++ b/src/main/java/gtPlusPlus/api/recipe/ChemicalPlantFrontend.java @@ -0,0 +1,68 @@ +package gtPlusPlus.api.recipe; + +import static net.minecraft.util.EnumChatFormatting.GRAY; + +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; +import gregtech.common.gui.modularui.UIHelper; +import gregtech.nei.GT_NEI_DefaultHandler; +import gtPlusPlus.core.util.minecraft.ItemUtils; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class ChemicalPlantFrontend extends RecipeMapFrontend { + + public ChemicalPlantFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, + NEIRecipePropertiesBuilder neiPropertiesBuilder) { + super(uiPropertiesBuilder, neiPropertiesBuilder); + } + + @Override + public List getItemInputPositions(int itemInputCount) { + return UIHelper.getGridPositions(itemInputCount, 7, 6, itemInputCount, 1); + } + + @Override + public List getItemOutputPositions(int itemOutputCount) { + return UIHelper.getGridPositions(itemOutputCount, 106, 15, 2); + } + + @Override + public List getFluidInputPositions(int fluidInputCount) { + return UIHelper.getGridPositions(fluidInputCount, 7, 41, fluidInputCount, 1); + } + + @Override + public List getFluidOutputPositions(int fluidOutputCount) { + return UIHelper.getGridPositions(fluidOutputCount, 142, 15, 1, fluidOutputCount); + } + + @Override + protected List handleNEIItemInputTooltip(List currentTip, + GT_NEI_DefaultHandler.FixedPositionedStack pStack) { + if (ItemUtils.isCatalyst(pStack.item)) { + currentTip.add(GRAY + "Does not always get consumed in the process"); + currentTip.add(GRAY + "Higher tier pipe casings allow this item to last longer"); + } else { + super.handleNEIItemInputTooltip(currentTip, pStack); + } + return currentTip; + } + + @Override + protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) { + if (ItemUtils.isCatalyst(stack.item)) { + drawNEIOverlayText("NC*", stack); + } else { + super.drawNEIOverlayForInput(stack); + } + } +} diff --git a/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java b/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java new file mode 100644 index 0000000000..2d1aff7add --- /dev/null +++ b/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeCategories.java @@ -0,0 +1,19 @@ +package gtPlusPlus.api.recipe; + +import static gregtech.api.recipe.RecipeCategory.createIcon; + +import gregtech.api.enums.Mods; +import gregtech.api.recipe.RecipeCategory; +import gregtech.api.recipe.RecipeCategoryHolder; + +public class GTPPRecipeCategories { + + @RecipeCategoryHolder + public static final RecipeCategory absNonAlloyRecipes = new RecipeCategory( + "gtpp.recipe.category.abs_non_alloy_recipes", + GTPPRecipeMaps.alloyBlastSmelterRecipes, + builder -> builder.setDisplayImage( + createIcon( + Mods.GTPlusPlus + .getResourcePath("textures", "gui", "picture", "abs_non_alloy_recipes.png")))); +} diff --git a/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java b/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java new file mode 100644 index 0000000000..9d02865c5b --- /dev/null +++ b/src/main/java/gtPlusPlus/api/recipe/GTPPRecipeMaps.java @@ -0,0 +1,157 @@ +package gtPlusPlus.api.recipe; + +import java.util.Arrays; +import java.util.Collections; + +import net.minecraft.util.StatCollector; + +import com.gtnewhorizons.modularui.common.widget.ProgressBar; + +import gregtech.api.gui.modularui.GT_UITextures; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMapBackend; +import gregtech.api.recipe.RecipeMapBuilder; +import gregtech.api.recipe.maps.FluidOnlyFrontend; +import gregtech.api.recipe.maps.FuelBackend; +import gregtech.api.recipe.maps.LargeNEIFrontend; +import gregtech.api.util.GT_Utility; +import gregtech.nei.formatter.FuelSpecialValueFormatter; +import gregtech.nei.formatter.HeatingCoilSpecialValueFormatter; +import gregtech.nei.formatter.SimpleSpecialValueFormatter; +import gtPlusPlus.core.util.math.MathUtils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; + +public class GTPPRecipeMaps { + + public static final RecipeMap cokeOvenRecipes = RecipeMapBuilder.of("gtpp.recipe.cokeoven") + .maxIO(2, 9, 1, 1).minInputs(1, 0).progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN) + .build(); + public static final RecipeMap multiblockMassFabricatorRecipes = RecipeMapBuilder + .of("gtpp.recipe.matterfab2").maxIO(2, 0, 1, 1).build(); + public static final RecipeMap rocketFuels = RecipeMapBuilder + .of("gtpp.recipe.rocketenginefuel", FuelBackend::new).maxIO(0, 0, 1, 0) + .neiSpecialInfoFormatter( + recipeInfo -> Collections.singletonList( + StatCollector.translateToLocalFormatted( + "GT5U.nei.fuel", + GT_Utility.formatNumbers(recipeInfo.recipe.mSpecialValue * 3000L)))) + .build(); + public static final RecipeMap quantumForceTransformerRecipes = RecipeMapBuilder + .of("gtpp.recipe.quantumforcesmelter").maxIO(6, 6, 6, 6).minInputs(1, 0) + .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE) + .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("GT5U.nei.tier")).frontend(LargeNEIFrontend::new) + .build(); + public static final RecipeMap chemicalDehydratorRecipes = RecipeMapBuilder + .of("gtpp.recipe.chemicaldehydrator").maxIO(2, 9, 1, 1) + .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN).build(); + public static final RecipeMap vacuumFurnaceRecipes = RecipeMapBuilder.of("gtpp.recipe.vacfurnace") + .maxIO(9, 9, 3, 3).minInputs(1, 0).neiSpecialInfoFormatter(HeatingCoilSpecialValueFormatter.INSTANCE) + .frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap alloyBlastSmelterRecipes = RecipeMapBuilder + .of("gtpp.recipe.alloyblastsmelter").maxIO(9, 9, 3, 3).minInputs(1, 0).frontend(LargeNEIFrontend::new) + .build(); + public static final RecipeMap liquidFluorineThoriumReactorRecipes = RecipeMapBuilder + .of("gtpp.recipe.lftr").maxIO(0, 0, 6, 6).minInputs(0, 2).frontend(FluidOnlyFrontend::new) + .neiSpecialInfoFormatter(recipeInfo -> { + final long eut = recipeInfo.recipe.mSpecialValue; + final int duration = recipeInfo.recipe.mDuration; + return Arrays.asList( + StatCollector.translateToLocalFormatted("gtpp.nei.lftr.power", GT_Utility.formatNumbers(eut)), + StatCollector.translateToLocalFormatted( + "gtpp.nei.lftr.dynamo", + MathUtils.formatNumbers(duration * eut)), + StatCollector.translateToLocalFormatted( + "gtpp.nei.lftr.total", + MathUtils.formatNumbers(duration * eut * 4))); + }).build(); + public static final RecipeMap nuclearSaltProcessingPlantRecipes = RecipeMapBuilder + .of("gtpp.recipe.nuclearsaltprocessingplant").maxIO(1, 6, 2, 3).frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap millingRecipes = RecipeMapBuilder.of("gtpp.recipe.oremill") + .maxIO(3, 1, 0, 0).minInputs(1, 0).frontend(MillingFrontend::new).build(); + public static final RecipeMap fissionFuelProcessingRecipes = RecipeMapBuilder + .of("gtpp.recipe.fissionfuel").maxIO(0, 0, 6, 1).frontend(FluidOnlyFrontend::new).build(); + public static final RecipeMap coldTrapRecipes = RecipeMapBuilder.of("gtpp.recipe.coldtrap") + .maxIO(2, 9, 1, 1).progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN).build(); + public static final RecipeMap reactorProcessingUnitRecipes = RecipeMapBuilder + .of("gtpp.recipe.reactorprocessingunit").maxIO(2, 9, 1, 1) + .progressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN).build(); + public static final RecipeMap simpleWasherRecipes = RecipeMapBuilder + .of("gtpp.recipe.simplewasher").maxIO(1, 1, 1, 0) + .slotOverlays( + (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON + : null) + .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE).build(); + public static final RecipeMap molecularTransformerRecipes = RecipeMapBuilder + .of("gtpp.recipe.moleculartransformer").maxIO(1, 1, 0, 0) + .slotOverlays( + (index, isFluid, isOutput, + isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_MICROSCOPE : null) + .neiHandlerInfo( + builder -> builder.setDisplayStack( + ItemUtils.getItemStackFromFQRN("AdvancedSolarPanel:BlockMolecularTransformer", 1))) + .build(); + public static final RecipeMap chemicalPlantRecipes = RecipeMapBuilder + .of("gtpp.recipe.fluidchemicaleactor").maxIO(4, 4, 4, 2) + .slotOverlays((index, isFluid, isOutput, isSpecial) -> { + if (isFluid) { + if (isOutput) { + return GT_UITextures.OVERLAY_SLOT_VIAL_2; + } + return GT_UITextures.OVERLAY_SLOT_MOLECULAR_3; + } + if (isOutput) { + return GT_UITextures.OVERLAY_SLOT_VIAL_1; + } + return GT_UITextures.OVERLAY_SLOT_MOLECULAR_1; + }).progressBar(GTPP_UITextures.PROGRESSBAR_FLUID_REACTOR, ProgressBar.Direction.CIRCULAR_CW) + .progressBarPos(82, 24).neiSpecialInfoFormatter(recipeInfo -> { + int tier = recipeInfo.recipe.mSpecialValue + 1; + String materialName = StatCollector.translateToLocal("gtpp.nei.chemplant.tier." + tier); + return Collections.singletonList( + StatCollector.translateToLocalFormatted("GT5U.nei.tier", tier + " - " + materialName)); + }).frontend(ChemicalPlantFrontend::new).build(); + public static final RecipeMap rtgFuels = RecipeMapBuilder + .of("gtpp.recipe.RTGgenerators", FuelBackend::new).maxIO(1, 0, 0, 0) + .neiSpecialInfoFormatter(new SimpleSpecialValueFormatter("gtpp.nei.rtg.days", 365)).build(); + public static final RecipeMap thermalBoilerRecipes = RecipeMapBuilder + .of("gtpp.recipe.thermalgeneratorfuel").maxIO(9, 9, 3, 3).frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap solarTowerRecipes = RecipeMapBuilder.of("gtpp.recipe.solartower") + .maxIO(0, 0, 1, 1) + .neiSpecialInfoFormatter( + recipeInfo -> Arrays.asList( + StatCollector.translateToLocal("gtpp.nei.solar_tower.1"), + StatCollector.translateToLocal("gtpp.nei.solar_tower.2"), + StatCollector.translateToLocal("gtpp.nei.solar_tower.3"))) + .frontend(FluidOnlyFrontend::new).build(); + public static final RecipeMap cyclotronRecipes = RecipeMapBuilder.of("gtpp.recipe.cyclotron") + .maxIO(9, 9, 1, 1).build(); + public static final RecipeMap fishPondRecipes = RecipeMapBuilder.of("gtpp.recipe.fishpond") + .maxIO(1, 1, 0, 0) + .slotOverlays( + (index, isFluid, isOutput, isSpecial) -> !isFluid && !isOutput ? GT_UITextures.OVERLAY_SLOT_CAULDRON + : null) + .progressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE).build(); + public static final RecipeMap spargeTowerFakeRecipes = RecipeMapBuilder + .of("gtpp.recipe.spargetower").maxIO(0, 0, 9, 9).disableRegisterNEI().build(); + public static final RecipeMap advancedFreezerRecipes = RecipeMapBuilder + .of("gtpp.recipe.cryogenicfreezer").maxIO(1, 1, 2, 1).build(); + public static final RecipeMap centrifugeNonCellRecipes = RecipeMapBuilder + .of("gtpp.recipe.multicentrifuge").maxIO(6, 6, 6, 6).progressBar(GT_UITextures.PROGRESSBAR_EXTRACT) + .frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap electrolyzerNonCellRecipes = RecipeMapBuilder + .of("gtpp.recipe.multielectro").maxIO(6, 6, 6, 6).progressBar(GT_UITextures.PROGRESSBAR_EXTRACT) + .frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap mixerNonCellRecipes = RecipeMapBuilder.of("gtpp.recipe.multimixer") + .maxIO(9, 9, 6, 6).progressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW) + .frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap chemicalDehydratorNonCellRecipes = RecipeMapBuilder + .of("gtpp.recipe.multidehydrator").maxIO(6, 9, 3, 3).frontend(LargeNEIFrontend::new).build(); + public static final RecipeMap semiFluidFuels = RecipeMapBuilder + .of("gtpp.recipe.semifluidgeneratorfuels", FuelBackend::new).maxIO(0, 0, 1, 0) + .neiSpecialInfoFormatter(FuelSpecialValueFormatter.INSTANCE).build(); + public static final RecipeMap flotationCellRecipes = RecipeMapBuilder + .of("gtpp.recipe.flotationcell").maxIO(6, 0, 1, 1).build(); + public static final RecipeMap treeGrowthSimulatorFakeRecipes = RecipeMapBuilder + .of("gtpp.recipe.treefarm").maxIO(1, 2, 1, 0).minInputs(1, 0).frontend(TGSFrontend::new).build(); +} diff --git a/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java b/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java new file mode 100644 index 0000000000..924dcf3a0e --- /dev/null +++ b/src/main/java/gtPlusPlus/api/recipe/MillingFrontend.java @@ -0,0 +1,46 @@ +package gtPlusPlus.api.recipe; + +import static net.minecraft.util.EnumChatFormatting.GRAY; + +import java.util.List; + +import javax.annotation.ParametersAreNonnullByDefault; + +import net.minecraft.util.StatCollector; + +import gregtech.api.recipe.BasicUIPropertiesBuilder; +import gregtech.api.recipe.NEIRecipePropertiesBuilder; +import gregtech.api.recipe.RecipeMapFrontend; +import gregtech.api.util.MethodsReturnNonnullByDefault; +import gregtech.nei.GT_NEI_DefaultHandler; +import gtPlusPlus.core.util.minecraft.ItemUtils; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class MillingFrontend extends RecipeMapFrontend { + + public MillingFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, + NEIRecipePropertiesBuilder neiPropertiesBuilder) { + super(uiPropertiesBuilder, neiPropertiesBuilder); + } + + @Override + protected List handleNEIItemInputTooltip(List currentTip, + GT_NEI_DefaultHandler.FixedPositionedStack pStack) { + if (ItemUtils.isMillingBall(pStack.item)) { + currentTip.add(GRAY + StatCollector.translateToLocal("gtpp.nei.milling.not_consumed")); + } else { + super.handleNEIItemInputTooltip(currentTip, pStack); + } + return currentTip; + } + + @Override + protected void drawNEIOverlayForInput(GT_NEI_DefaultHandler.FixedPositionedStack stack) { + if (ItemUtils.isMillingBall(stack.item)) { + drawNEIOverlayText("NC*", stack); + } else { + super.drawNEIOverlayForInput(stack); + } + } +} diff --git a/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java b/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java new file mode 100644 index 0000000000..10a9fe4da6 --- /dev/null +++ b/src/main/java/gtPlusPlus/api/recipe/TGSFrontend.java @@ -0,0 +1,68 @@ +package gtPlusPlus.api.recipe; + +import static net.minecraft.util.EnumChatFormatting.GRAY; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import javax.annotation.ParametersAreNonnullByDefault; + +import net.minecraft.util.StatCollector; + +import gregtech.api.recipe.BasicUIPropertiesBuilder; +import gregtech.api.recipe.NEIRecipePropertiesBuilder; +import gregtech.api.recipe.RecipeMapFrontend; +import gregtech.api.util.MethodsReturnNonnullByDefault; +import gregtech.nei.GT_NEI_DefaultHandler; +import gregtech.nei.RecipeDisplayInfo; +import gregtech.nei.formatter.INEISpecialInfoFormatter; +import gtPlusPlus.core.item.ModItems; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class TGSFrontend extends RecipeMapFrontend { + + public TGSFrontend(BasicUIPropertiesBuilder uiPropertiesBuilder, NEIRecipePropertiesBuilder neiPropertiesBuilder) { + super(uiPropertiesBuilder, neiPropertiesBuilder.neiSpecialInfoFormatter(new TGSSpecialValueFormatter())); + } + + @Override + protected void drawEnergyInfo(RecipeDisplayInfo recipeInfo) {} + + @Override + protected void drawDurationInfo(RecipeDisplayInfo recipeInfo) {} + + @Override + protected List handleNEIItemOutputTooltip(List currentTip, + GT_NEI_DefaultHandler.FixedPositionedStack pStack) { + if (ModItems.fluidFertBasic != null && pStack.isChanceBased()) { + currentTip.add( + GRAY + StatCollector.translateToLocalFormatted( + "gtpp.nei.tgs.sapling", + StatCollector.translateToLocal(ModItems.fluidFertBasic.getUnlocalizedName()))); + } else { + super.handleNEIItemOutputTooltip(currentTip, pStack); + } + return currentTip; + } + + @Override + protected void drawNEIOverlayForOutput(GT_NEI_DefaultHandler.FixedPositionedStack stack) {} + + private static class TGSSpecialValueFormatter implements INEISpecialInfoFormatter { + + @Override + public List format(RecipeDisplayInfo recipeInfo) { + if (ModItems.fluidFertBasic == null) { + return Collections.emptyList(); + } + return Arrays.asList( + StatCollector.translateToLocal("gtpp.nei.tgs.1"), + StatCollector.translateToLocalFormatted( + "gtpp.nei.tgs.2", + StatCollector.translateToLocal(ModItems.fluidFertBasic.getUnlocalizedName())), + StatCollector.translateToLocal("gtpp.nei.tgs.3")); + } + } +} diff --git a/src/main/java/gtPlusPlus/core/item/ModItems.java b/src/main/java/gtPlusPlus/core/item/ModItems.java index 1e390eeb72..8ad226bb7a 100644 --- a/src/main/java/gtPlusPlus/core/item/ModItems.java +++ b/src/main/java/gtPlusPlus/core/item/ModItems.java @@ -4,7 +4,7 @@ import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GregTech; import static gregtech.api.enums.Mods.Thaumcraft; -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.TICKS; import static gtPlusPlus.core.creative.AddToCreativeTab.tabMisc; @@ -673,7 +673,7 @@ public final class ModItems { null, true); GT_Values.RA.stdBuilder().itemInputs(temp2).fluidOutputs(new FluidStack(fluidFertBasic, 36)) - .duration(5 * TICKS).eut(16).addTo(sFluidExtractionRecipes); + .duration(5 * TICKS).eut(16).addTo(fluidExtractionRecipes); } fluidFertUN32 = FluidUtils.generateFluidNonMolten( "UN32Fertiliser", diff --git a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java index 40ecd9d3e7..ca7fc7c087 100644 --- a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java +++ b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngotHot.java @@ -2,7 +2,7 @@ package gtPlusPlus.core.item.base.ingots; import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.GregTech; -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.TICKS; import net.minecraft.client.renderer.texture.IIconRegister; @@ -56,7 +56,7 @@ public class BaseItemIngotHot extends BaseItemIngot { Logger.WARNING("Adding Vacuum Freezer recipe for a Hot Ingot of " + this.materialName + "."); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(this)).itemOutputs(this.outputIngot.copy()) .duration(Math.max(this.componentMaterial.getMass() * 3L, 1L) * TICKS) - .eut(this.componentMaterial.vVoltageMultiplier).addTo(sVacuumRecipes); + .eut(this.componentMaterial.vVoltageMultiplier).addTo(vacuumFreezerRecipes); } @Override diff --git a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java index 3679121ed5..bd03cf33fb 100644 --- a/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java +++ b/src/main/java/gtPlusPlus/core/item/base/ingots/BaseItemIngot_OLD.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.item.base.ingots; import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCompressorRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import net.minecraft.entity.Entity; @@ -81,7 +81,7 @@ public class BaseItemIngot_OLD extends Item { tempOutput = ItemUtils.getItemStackOfAmountFromOreDict(temp, 1); if (tempOutput != null) { GT_Values.RA.stdBuilder().itemInputs(tempStack).itemOutputs(tempOutput).duration(15 * SECONDS) - .eut(2).addTo(sCompressorRecipes); + .eut(2).addTo(compressorRecipes); } } } else if (this.unlocalName.contains("itemHotIngot")) { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java index b914730ee2..95d1fc616d 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/AgriculturalChem.java @@ -3,9 +3,9 @@ package gtPlusPlus.core.item.chemistry; import static gregtech.api.enums.Mods.BiomesOPlenty; import static gregtech.api.enums.Mods.Forestry; import static gregtech.api.enums.Mods.TinkerConstruct; -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.sMixerRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; @@ -424,14 +424,14 @@ public class AgriculturalChem extends ItemPackage { .itemOutputs(aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod1, aManureByprod1) .outputChances(2000, 2000, 500, 500, 250, 250).fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) .fluidOutputs(FluidUtils.getFluidStack(ManureSlurry, 250)).duration(10 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sCentrifugeRecipes); + .addTo(centrifugeRecipes); // More Efficient way to get byproducts, less Slurry GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(20)) .itemOutputs(aDirtDust, aDirtDust, aManureByprod1, aManureByprod1, aManureByprod2, aManureByprod2) .outputChances(4000, 3000, 1250, 1250, 675, 675).fluidInputs(FluidUtils.getFluidStack(PoopJuice, 1000)) .fluidOutputs(FluidUtils.getFluidStack(ManureSlurry, 50)).duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sCentrifugeRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(centrifugeRecipes); } private static void addAdvancedSlurryRecipes() { @@ -451,7 +451,7 @@ public class AgriculturalChem extends ItemPackage { // Poop Juice to Fertile Slurry GT_Values.RA.stdBuilder().itemInputs(aCircuit, aBone, aMeat, aInputCells).itemOutputs(aEmptyCells) .fluidInputs(aBloodStack).fluidOutputs(aOutput).duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sMixerRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(mixerRecipes); } } } @@ -556,7 +556,7 @@ public class AgriculturalChem extends ItemPackage { // Dirt Production GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(dustDirt, 9)) .itemOutputs(ItemUtils.getSimpleStack(Blocks.dirt)).duration(2 * SECONDS).eut(8) - .addTo(sCompressorRecipes); + .addTo(compressorRecipes); // Centrifuge Byproducts @@ -572,7 +572,7 @@ public class AgriculturalChem extends ItemPackage { ItemUtils.getItemStackOfAmountFromOreDict("dustTinyAmmoniumNitrate", 1)) .outputChances(2500, 2500, 750, 1000, 5000, 250).fluidInputs(Materials.SulfuricAcid.getFluid(250)) .fluidOutputs(FluidUtils.getFluidStack("sulfuricapatite", 50)).duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sCentrifugeRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(centrifugeRecipes); // Add Fuel Usages CORE.RA.addSemifluidFuel(FluidUtils.getFluidStack(PoopJuice, 1000), 12); @@ -591,7 +591,7 @@ public class AgriculturalChem extends ItemPackage { .outputChances(3000, 3000, 2000, 2000, 1000, 1000) .fluidInputs(FluidUtils.getFluidStack(AgriculturalChem.RedMud, 1000)) .fluidOutputs(Materials.Water.getFluid(500)).duration(30 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sCentrifugeRecipes); + .addTo(centrifugeRecipes); } @Override diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java index 81eed041c6..c20fe9d522 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/GenericChem.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.item.chemistry; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeConstants.COIL_HEAT; @@ -441,7 +441,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 16L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.DarkAsh, 1L)) .fluidOutputs(FluidUtils.getFluidStack(Carbon_Disulfide, 4000)).duration(10 * MINUTES) - .eut(TierEU.RECIPE_LV).metadata(COIL_HEAT, 1500).addTo(sBlastRecipes); + .eut(TierEU.RECIPE_LV).metadata(COIL_HEAT, 1500).addTo(blastFurnaceRecipes); CORE.RA.addChemicalPlantRecipe( new ItemStack[] { CI.getNumberedCircuit(20), ItemUtils.getSimpleStack(mBrownCatalyst, 0), @@ -487,7 +487,7 @@ public class GenericChem extends ItemPackage { GT_Utility.getIntegratedCircuit(10)) .itemOutputs(ItemUtils.getSimpleStack(mMillingBallAlumina, 8)) .fluidInputs(FluidUtils.getFluidStack(GenericChem.Aniline, 4000)).duration(3 * MINUTES) - .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); } private void recipeGrindingBallSoapstone() { @@ -497,7 +497,7 @@ public class GenericChem extends ItemPackage { GT_Utility.getIntegratedCircuit(10)) .itemOutputs(ItemUtils.getSimpleStack(mMillingBallSoapstone, 8)) .fluidInputs(FluidUtils.getFluidStack(AgrichemFluids.mLiquidResin, 2500)).duration(2 * MINUTES) - .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); } private void recipeCyclohexane() { @@ -546,7 +546,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iron, 2L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Copper, 2L)) .itemOutputs(ItemUtils.getSimpleStack(mRedCatalyst, 10)).duration(20 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystYellow() { @@ -558,7 +558,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Tungsten, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L)) .itemOutputs(ItemUtils.getSimpleStack(mYellowCatalyst, 10)).duration(1 * MINUTES).eut(TierEU.RECIPE_EV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystBlue() { @@ -570,7 +570,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cobalt, 3L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Titanium, 3L)) .itemOutputs(ItemUtils.getSimpleStack(mBlueCatalyst, 10)).duration(40 * SECONDS).eut(TierEU.RECIPE_HV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystOrange() { @@ -582,7 +582,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 5L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Palladium, 5L)) .itemOutputs(ItemUtils.getSimpleStack(mOrangeCatalyst, 10)).duration(40 * SECONDS).eut(TierEU.RECIPE_HV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystPurple() { @@ -594,7 +594,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Iridium, 6L), ELEMENT.getInstance().RUTHENIUM.getDust(6)) .itemOutputs(ItemUtils.getSimpleStack(mPurpleCatalyst, 10)).duration(2 * MINUTES).eut(TierEU.RECIPE_IV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystBrown() { @@ -606,7 +606,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Nickel, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L)) .itemOutputs(ItemUtils.getSimpleStack(mBrownCatalyst, 10)).duration(15 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystPink() { @@ -618,7 +618,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Platinum, 4L), ELEMENT.getInstance().RHODIUM.getDust(4)) .itemOutputs(ItemUtils.getSimpleStack(mPinkCatalyst, 10)).duration(30 * SECONDS).eut(TierEU.RECIPE_EV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private void recipeCatalystFormaldehyde() { @@ -629,7 +629,7 @@ public class GenericChem extends ItemPackage { CI.getEmptyCatalyst(4), ItemUtils.getSimpleStack(RocketFuels.Formaldehyde_Catalyst_Dust, 8)) .itemOutputs(ItemUtils.getSimpleStack(mFormaldehydeCatalyst, 4)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV / 2).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV / 2).addTo(assemblerRecipes); } private void recipeCatalystSolidAcid() { @@ -641,7 +641,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lapis, 2L)) .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mSolidAcidCatalyst, 5)) .fluidInputs(MISC_MATERIALS.SOLID_ACID_MIXTURE.getFluidStack(1000)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_EV).addTo(assemblerRecipes); } private void recipeCatalystInfiniteMutation() { @@ -653,7 +653,7 @@ public class GenericChem extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Infinity, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Naquadria, 10L)) .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mInfiniteMutationCatalyst, 5)).duration(5 * SECONDS) - .eut(TierEU.RECIPE_UHV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_UHV).addTo(assemblerRecipes); } private void recipeCadaverineAndPutrescine() { diff --git a/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java b/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java index 07b2913434..d3705cbb9b 100644 --- a/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java +++ b/src/main/java/gtPlusPlus/core/item/chemistry/RocketFuels.java @@ -1,8 +1,8 @@ package gtPlusPlus.core.item.chemistry; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistilleryRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sVacuumRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import java.util.HashMap; @@ -19,10 +19,11 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; import gregtech.api.enums.TierEU; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.minecraft.ItemPackage; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.base.BaseItemComponent; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; @@ -72,12 +73,12 @@ public class RocketFuels extends ItemPackage { if (fuelA != null) { GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(23)).fluidInputs(fuelA) .fluidOutputs(FluidUtils.getFluidStack(Kerosene, 1800)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sDistilleryRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(distilleryRecipes); } if (fuelA == null && fuelB != null) { GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(23)).fluidInputs(fuelB) .fluidOutputs(FluidUtils.getFluidStack(Kerosene, 1800)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sDistilleryRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(distilleryRecipes); } } @@ -86,7 +87,7 @@ public class RocketFuels extends ItemPackage { if (fuelA != null) { GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(23)).fluidInputs(fuelA) .fluidOutputs(FluidUtils.getFluidStack(RP1, 750)).duration(40 * SECONDS).eut(TierEU.RECIPE_MV) - .addTo(sDistilleryRecipes); + .addTo(distilleryRecipes); } } @@ -136,7 +137,7 @@ public class RocketFuels extends ItemPackage { private static void createLOH() { GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogen", 1)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellLiquidHydrogen", 1)).duration(16 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sVacuumRecipes); + .eut(TierEU.RECIPE_MV).addTo(vacuumFreezerRecipes); CORE.RA.addAdvancedFreezerRecipe( new ItemStack[] {}, @@ -196,7 +197,7 @@ public class RocketFuels extends ItemPackage { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Vanadium, 1L), GT_Utility.getIntegratedCircuit(18)) .itemOutputs(ItemUtils.getSimpleStack(Formaldehyde_Catalyst_Dust, 4)).duration(8 * SECONDS) - .eut(TierEU.RECIPE_LV).addTo(sMixerRecipes); + .eut(TierEU.RECIPE_LV).addTo(mixerRecipes); } private static void createUnsymmetricalDimethylhydrazine() { @@ -215,10 +216,10 @@ public class RocketFuels extends ItemPackage { } private static void addRocketFuelsToMap() { - HashMap mRocketFuels = new LinkedHashMap<>(); + HashMap mRocketFuels = new LinkedHashMap<>(); mRocketFuels.put( 0, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -232,7 +233,7 @@ public class RocketFuels extends ItemPackage { mRocketFuels.put( 1, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -246,7 +247,7 @@ public class RocketFuels extends ItemPackage { mRocketFuels.put( 2, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -260,7 +261,7 @@ public class RocketFuels extends ItemPackage { mRocketFuels.put( 3, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -278,11 +279,11 @@ public class RocketFuels extends ItemPackage { mValidRocketFuelNames.add(FluidRegistry.getFluidName(Diesel)); for (int mID : mRocketFuels.keySet()) { - GTPP_Recipe aFuelRecipe = mRocketFuels.get(mID); + GT_Recipe aFuelRecipe = mRocketFuels.get(mID); if (aFuelRecipe != null) { mValidRocketFuelNames.add(FluidRegistry.getFluidName(aFuelRecipe.mFluidInputs[0].getFluid())); mValidRocketFuels.put(mID, aFuelRecipe.mFluidInputs[0].getFluid()); - GTPP_Recipe.GTPP_Recipe_Map.sRocketFuels.add(aFuelRecipe); + GTPPRecipeMaps.rocketFuels.add(aFuelRecipe); } } } diff --git a/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java b/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java index b1bcbe39ed..9826478ec5 100644 --- a/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java +++ b/src/main/java/gtPlusPlus/core/proxy/ClientProxy.java @@ -10,6 +10,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; import net.minecraftforge.client.IItemRenderer; import net.minecraftforge.client.MinecraftForgeClient; +import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; @@ -45,6 +46,7 @@ import gtPlusPlus.core.entity.projectile.EntityToxinballSmall; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.lib.CORE.ConfigSwitches; import gtPlusPlus.core.tileentities.general.TileEntityDecayablesChest; +import gtPlusPlus.nei.NEI_GTPP_Config; import gtPlusPlus.xmod.gregtech.common.render.GTPP_CapeRenderer; import gtPlusPlus.xmod.gregtech.common.render.GTPP_FlaskRenderer; import gtPlusPlus.xmod.gregtech.common.render.GTPP_Render_MachineBlock; @@ -95,6 +97,8 @@ public class ClientProxy extends CommonProxy implements Runnable { new GTPP_FlaskRenderer(); + MinecraftForge.EVENT_BUS.register(new NEI_GTPP_Config()); + super.init(e); } diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java index 858be53dd4..54d8fa3675 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_GREGTECH.java @@ -3,24 +3,24 @@ package gtPlusPlus.core.recipe; import static gregtech.api.enums.Mods.Backpack; import static gregtech.api.enums.Mods.Baubles; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; -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.sBlastRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBrewingRecipes; -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.sCutterRecipes; -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.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtruderRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFusionRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; -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.alloySmelterRecipes; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.brewingRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.compressorRecipes; +import static gregtech.api.recipe.RecipeMaps.cutterRecipes; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.extruderRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidHeaterRecipes; +import static gregtech.api.recipe.RecipeMaps.fusionRecipes; +import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; import static gregtech.api.util.GT_RecipeBuilder.BUCKETS; import static gregtech.api.util.GT_RecipeBuilder.HOURS; import static gregtech.api.util.GT_RecipeBuilder.INGOTS; @@ -121,7 +121,7 @@ public class RECIPES_GREGTECH { // Wood's Glass Laser Lens GT_Values.RA.stdBuilder().itemInputs(MISC_MATERIALS.WOODS_GLASS.getDust(5), ItemList.Shape_Mold_Ball.get(0)) .itemOutputs(GregtechItemList.Laser_Lens_WoodsGlass.get(1)).duration(5 * MINUTES).eut(TierEU.RECIPE_HV) - .addTo(sAlloySmelterRecipes); + .addTo(alloySmelterRecipes); } private static void chemplantRecipes() { @@ -260,7 +260,7 @@ public class RECIPES_GREGTECH { private static void fluidHeaterRecipes() { GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(20)) .fluidInputs(Materials.Water.getFluid(1000)).fluidOutputs(FluidUtils.getHotWater(1000)) - .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(sFluidHeaterRecipes); + .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(fluidHeaterRecipes); } private static void fusionRecipes() { @@ -271,7 +271,7 @@ public class RECIPES_GREGTECH { ELEMENT.STANDALONE.RHUGNOR.getFluidStack(288)) .fluidOutputs(ELEMENT.STANDALONE.HYPOGEN.getFluidStack(36)) .duration(6 * MINUTES + 49 * SECONDS + 12 * TICKS).eut(TierEU.RECIPE_UHV) - .metadata(FUSION_THRESHOLD, 1_200_000_000).addTo(sFusionRecipes); + .metadata(FUSION_THRESHOLD, 1_200_000_000).addTo(fusionRecipes); // Rhugnor GT_Values.RA.stdBuilder() @@ -279,7 +279,7 @@ public class RECIPES_GREGTECH { MaterialUtils.getMaterial("Infinity", "Neutronium").getMolten(144), ALLOY.QUANTUM.getFluidStack(288)) .fluidOutputs(ELEMENT.STANDALONE.RHUGNOR.getFluidStack(144)).duration(25 * SECONDS + 12 * TICKS) - .eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 2_000_000_000).addTo(sFusionRecipes); + .eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 2_000_000_000).addTo(fusionRecipes); } private static void assemblyLineRecipes() { @@ -519,7 +519,7 @@ public class RECIPES_GREGTECH { for (int i = 1; i < aTransParts.length; i++) { GT_Values.RA.stdBuilder().itemInputs(CI.getEmitter(i, 2), CI.getSensor(i, 2)) .itemOutputs(aTransParts[i - 1].get(1)).duration(5 * SECONDS).eut(GT_Values.VP[i]) - .addTo(sLaserEngraverRecipes); + .addTo(laserEngraverRecipes); } GT_Values.RA.stdBuilder() @@ -528,7 +528,7 @@ public class RECIPES_GREGTECH { GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getDust(1)).duration(3 * MINUTES) .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.vTier)) - .addTo(sLaserEngraverRecipes); + .addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -536,12 +536,12 @@ public class RECIPES_GREGTECH { GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getDust(1)).duration(2 * MINUTES) .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ASTRAL_TITANIUM.vTier)) - .addTo(sLaserEngraverRecipes); + .addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder().itemInputs(ALLOY.NITINOL_60.getBlock(2), GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.ADVANCED_NITINOL.getBlock(1)).duration(1 * MINUTES) .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.ADVANCED_NITINOL.vTier)) - .addTo(sLaserEngraverRecipes); + .addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -549,11 +549,11 @@ public class RECIPES_GREGTECH { GregtechItemList.Laser_Lens_Special.get(0)) .itemOutputs(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.getDust(1)).duration(5 * MINUTES) .eut(MaterialUtils.getVoltageForTier(ELEMENT.STANDALONE.CHRONOMATIC_GLASS.vTier)) - .addTo(sLaserEngraverRecipes); + .addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder().itemInputs(CI.getFieldGenerator(6, 1), CI.getEmitter(7, 2)) .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_1_CONTAINMENT, 1)) - .duration(5 * MINUTES).eut(TierEU.RECIPE_IV).addTo(sLaserEngraverRecipes); + .duration(5 * MINUTES).eut(TierEU.RECIPE_IV).addTo(laserEngraverRecipes); // Distillus Upgrade Chip GT_Values.RA.stdBuilder() @@ -561,37 +561,37 @@ public class RECIPES_GREGTECH { GregtechItemList.Laser_Lens_WoodsGlass.get(0), ItemUtils.simpleMetaStack(AgriculturalChem.mBioCircuit, 20, 1)) .itemOutputs(GregtechItemList.Distillus_Upgrade_Chip.get(1)).duration(5 * MINUTES).eut(TierEU.RECIPE_IV) - .addTo(sLaserEngraverRecipes); + .addTo(laserEngraverRecipes); } private static void breweryRecipes() { GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(14)) .fluidInputs(EnchantingUtils.getMob