diff --git a/build.gradle b/build.gradle index 4e31dc883b..8507c7dfbd 100644 --- a/build.gradle +++ b/build.gradle @@ -1,4 +1,4 @@ -//version: 1700844281 +//version: 1701530445 /* DO NOT CHANGE THIS FILE! Also, you may replace this file at any time if there is an update available. @@ -28,27 +28,12 @@ import java.util.concurrent.TimeUnit buildscript { repositories { - mavenCentral() - - maven { - name 'forge' - url 'https://maven.minecraftforge.net' - } maven { // GTNH RetroFuturaGradle and ASM Fork name "GTNH Maven" url "http://jenkins.usrv.eu:8081/nexus/content/groups/public/" allowInsecureProtocol = true } - maven { - name 'sonatype' - url 'https://oss.sonatype.org/content/repositories/snapshots/' - } - maven { - name 'Scala CI dependencies' - url 'https://repo1.maven.org/maven2/' - } - mavenLocal() } } @@ -793,12 +778,12 @@ ext.java17PatchDependenciesCfg = configurations.create("java17PatchDependencies" } dependencies { - def lwjgl3ifyVersion = '1.5.1' + def lwjgl3ifyVersion = '1.5.7' if (modId != 'lwjgl3ify') { java17Dependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}") } if (modId != 'hodgepodge') { - java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.3.17') + java17Dependencies('com.github.GTNewHorizons:Hodgepodge:2.3.35') } java17PatchDependencies("com.github.GTNewHorizons:lwjgl3ify:${lwjgl3ifyVersion}:forgePatches") {transitive = false} @@ -1310,7 +1295,7 @@ def addCurseForgeRelation(String type, String name) { // Updating -def buildscriptGradleVersion = "8.2.1" +def buildscriptGradleVersion = "8.5" tasks.named('wrapper', Wrapper).configure { gradleVersion = buildscriptGradleVersion diff --git a/dependencies.gradle b/dependencies.gradle index 8ab1886c89..5f9a51dcbb 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -1,12 +1,12 @@ dependencies { - api('com.github.GTNewHorizons:GT5-Unofficial:5.09.44.91:dev') - api("com.github.GTNewHorizons:bartworks:0.8.13:dev") + api('com.github.GTNewHorizons:GT5-Unofficial:5.09.44.96:dev') + api("com.github.GTNewHorizons:bartworks:0.8.19:dev") implementation('curse.maven:cofh-core-69162:2388751') // https://www.curseforge.com/minecraft/mc-mods/advancedsolarpanels implementation('curse.maven:advsolar-362768:2885953') - compileOnly('com.github.GTNewHorizons:Baubles:1.0.1.16:dev') {transitive=false} + compileOnly('com.github.GTNewHorizons:Baubles:1.0.3:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:EnderCore:0.2.18:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:SC2:2.0.2:dev') {transitive=false} compileOnly('com.github.GTNewHorizons:Binnie:2.2.3:dev') {transitive = false} diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index c1962a79e2..033e24c4cd 100644 Binary files a/gradle/wrapper/gradle-wrapper.jar and b/gradle/wrapper/gradle-wrapper.jar differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 17a8ddce2d..1af9e0930b 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-8.2.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists diff --git a/gradlew b/gradlew index aeb74cbb43..fcb6fca147 100755 --- a/gradlew +++ b/gradlew @@ -130,10 +130,13 @@ location of your Java installation." fi else JAVACMD=java - which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + if ! command -v java >/dev/null 2>&1 + then + die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. Please set the JAVA_HOME variable in your environment to match the location of your Java installation." + fi fi # Increase the maximum file descriptors if we can. diff --git a/src/main/java/gregtech/api/util/AdvFusionPower.java b/src/main/java/gregtech/api/util/AdvFusionPower.java deleted file mode 100644 index 2ea04d9e0d..0000000000 --- a/src/main/java/gregtech/api/util/AdvFusionPower.java +++ /dev/null @@ -1,43 +0,0 @@ -package gregtech.api.util; - -import static gregtech.api.enums.GT_Values.V; - -import gregtech.common.power.FusionPower; -import gregtech.nei.FusionSpecialValueFormatter; - -public class AdvFusionPower extends FusionPower { - - public AdvFusionPower(byte tier, int startupPower) { - super(tier, 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 && recipeDuration > 1) { - tempEUt <<= 2; // this actually controls overclocking - recipeDuration >>= 2; // 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(); - } -} diff --git a/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java b/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java new file mode 100644 index 0000000000..7a6e609f93 --- /dev/null +++ b/src/main/java/gregtech/api/util/AdvancedFusionOverclockDescriber.java @@ -0,0 +1,23 @@ +package gregtech.api.util; + +import javax.annotation.ParametersAreNonnullByDefault; + +import gregtech.api.objects.overclockdescriber.FusionOverclockDescriber; + +@ParametersAreNonnullByDefault +@MethodsReturnNonnullByDefault +public class AdvancedFusionOverclockDescriber extends FusionOverclockDescriber { + + public AdvancedFusionOverclockDescriber(byte energyTier, long capableStartup) { + super(energyTier, capableStartup); + } + + @Override + protected int getEUtIncreasePerOC() { + return 2; + } + + protected int getDurationDecreasePerOC() { + return 2; + } +} diff --git a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java index e6b754deb7..81403c1612 100644 --- a/src/main/java/gregtech/api/util/FishPondFakeRecipe.java +++ b/src/main/java/gregtech/api/util/FishPondFakeRecipe.java @@ -9,6 +9,7 @@ import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.core.util.reflect.ReflectionUtils; @@ -59,7 +60,7 @@ public static boolean generateFishPondRecipes() { } public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[] chances) { - GTPP_Recipe x = new GTPP_Recipe( + GT_Recipe x = new GT_Recipe( true, new ItemStack[] { CI.getNumberedCircuit(circuit) }, outputItems, @@ -71,6 +72,6 @@ public static void addNewFishPondLoot(int circuit, ItemStack[] outputItems, int[ 0, // No Eu produced 0); Logger.INFO("Fishing [" + circuit + "]: " + ItemUtils.getArrayStackNames(outputItems)); - GTPP_Recipe.GTPP_Recipe_Map.sFishPondRecipes.addRecipe(x, false, false, false); + GTPPRecipeMaps.fishPondRecipes.addRecipe(x, false, false, false); } } diff --git a/src/main/java/gregtech/api/util/GTPP_Recipe.java b/src/main/java/gregtech/api/util/GTPP_Recipe.java deleted file mode 100644 index 3058ea836e..0000000000 --- a/src/main/java/gregtech/api/util/GTPP_Recipe.java +++ /dev/null @@ -1,877 +0,0 @@ -package gregtech.api.util; - -import static gregtech.api.enums.GT_Values.E; -import static net.minecraft.util.EnumChatFormatting.GRAY; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.HashSet; -import java.util.List; - -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - -import com.gtnewhorizons.modularui.api.math.Pos2d; -import com.gtnewhorizons.modularui.common.widget.ProgressBar; -import com.gtnewhorizons.modularui.common.widget.ProgressBar.Direction; - -import gregtech.api.gui.modularui.GT_UITextures; -import gregtech.common.gui.modularui.UIHelper; -import gregtech.nei.GT_NEI_DefaultHandler.FixedPositionedStack; -import gregtech.nei.NEIRecipeInfo; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.item.ModItems; -import gtPlusPlus.core.util.math.MathUtils; -import gtPlusPlus.core.util.minecraft.ItemUtils; -import gtPlusPlus.xmod.gregtech.api.gui.GTPP_UITextures; - -/** - * Custom GT Recipe Class - * - * @author Alkalus - * - */ -public class GTPP_Recipe extends GT_Recipe { - - public GTPP_Recipe(final boolean aOptimize, final ItemStack[] aInputs, final ItemStack[] aOutputs, - final Object aSpecialItems, final int[] aChances, final FluidStack[] aFluidInputs, - final FluidStack[] aFluidOutputs, final int aDuration, final int aEUt, final int aSpecialValue) { - super( - aOptimize, - aInputs, - aOutputs, - aSpecialItems, - aChances, - aFluidInputs, - aFluidOutputs, - aDuration, - aEUt, - aSpecialValue); - // Logger.SPECIFIC_WARNING(this.getClass().getName()+" | [GregtechRecipe]", "Created new recipe instance for - // "+ItemUtils.getArrayStackNames(aInputs), 167); - } - - public GTPP_Recipe(final ItemStack aInput1, final ItemStack aOutput1, final int aFuelValue, final int aType) { - this(aInput1, aOutput1, null, null, null, aFuelValue, aType); - } - - // aSpecialValue = EU per Liter! If there is no Liquid for this Object, then it gets multiplied with 1000! - public GTPP_Recipe(final ItemStack aInput1, final ItemStack aOutput1, final ItemStack aOutput2, - final ItemStack aOutput3, final ItemStack aOutput4, final int aSpecialValue, final int aType) { - this( - true, - new ItemStack[] { aInput1 }, - new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, - null, - null, - null, - null, - 0, - 0, - Math.max(1, aSpecialValue)); - - Logger.WARNING("Switch case method for adding fuels"); - if ((this.mInputs.length > 0) && (aSpecialValue > 0)) { - switch (aType) { - // Diesel Generator - case 0: - Logger.WARNING("Added fuel " + aInput1.getDisplayName() + " is ROCKET FUEL - continuing"); - GTPP_Recipe_Map.sRocketFuels.addRecipe(this); - break; - // Gas Turbine - case 1: - GTPP_Recipe_Map.sGeoThermalFuels.addRecipe(this); - break; - // Thermal Generator - case 2: - GTPP_Recipe_Map.sRTGFuels.addRecipe(this); - break; - // Plasma Generator - case 4: - // Gregtech_Recipe_Map.sPlasmaFuels.addRecipe(this); - break; - // Magic Generator - case 5: - // Gregtech_Recipe_Map.sMagicFuels.addRecipe(this); - break; - // Fluid Generator. Usually 3. Every wrong Type ends up in the Semifluid Generator - default: - // Gregtech_Recipe_Map.sDenseLiquidFuels.addRecipe(this); - break; - } - } - } - - /** - * Even though this is deprecated, it's still used to keep binary compatibility. (GoodGenerator and GTNHLanthanides - * reference to `sSimpleWasherRecipes` and `sChemicalDehydratorRecipes`) - */ - public static class GTPP_Recipe_Map_Internal extends GT_Recipe_Map { - - @Deprecated - public static final Collection sMappingsEx = new ArrayList<>(); - - public GTPP_Recipe_Map_Internal(Collection 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); - } - } - - public static class GTPP_Recipe_Map { - - public static final GT_Recipe_Map sCokeOvenRecipes = new GT_Recipe_Map( - new HashSet<>(200), - "gtpp.recipe.cokeoven", - "Coke Oven", - null, - "", - 2, - 9, - 1, - 0, - 1, - E, - 1, - E, - true, - true).setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); - public static final GT_Recipe_Map sMatterFab2Recipes = new GT_Recipe_Map( - new HashSet<>(200), - "gtpp.recipe.matterfab2", - "Matter Fabricator", - null, - "", - 2, - 0, - 0, - 0, - 1, - E, - 1, - E, - true, - true).useModularUI(true); - - public static final GT_Recipe_Map_Fuel sRocketFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel( - new HashSet<>(10), - "gtpp.recipe.rocketenginefuel", - "Rocket Engine Fuel", - null, - "", - 0, - 0, - 0, - 0, - 1, - "Fuel Value: ", - 3000, - " EU", - true, - true).useModularUI(true); - - public static final GT_Recipe_Map sQuantumForceTransformerRecipes = new GT_Recipe_Map_LargeNEI( - new HashSet<>(20), - "gtpp.recipe.quantumforcesmelter", - "Quantum Force Transformer", - null, - "", - 6, - 6, - 1, - 0, - 1, - "Tier: ", - 1, - E, - true, - true).useModularUI(true).setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE, Direction.RIGHT) - .setUsualFluidInputCount(6).setUsualFluidOutputCount(6); - - public static final GT_Recipe_Map sGeoThermalFuels = new GT_Recipe_Map( - new HashSet<>(10), - "gtpp.recipe.geothermalfuel", - "GeoThermal Fuel", - null, - "", - 1, - 1, - 0, - 0, - 1, - "Fuel Value: ", - 1000, - " EU", - true, - true).useModularUI(true); - public static final GTPP_Recipe_Map_Internal sChemicalDehydratorRecipes = (GTPP_Recipe_Map_Internal) new GTPP_Recipe_Map_Internal( - new HashSet<>(200), - "gtpp.recipe.chemicaldehydrator", - "Dehydrator", - null, - "", - 2, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); - public static final GT_Recipe_Map sVacuumFurnaceRecipes = new GT_Recipe_Map_LargeNEI( - new HashSet<>(500), - "gtpp.recipe.vacfurnace", - "Vacuum Furnace", - null, - "", - 9, - 9, - 1, - 0, - 1, - "Heat Capacity: ", - 1, - " K", - false, - true).setUsualFluidInputCount(3).setUsualFluidOutputCount(3); - public static final GT_Recipe_Map sAlloyBlastSmelterRecipes = new GT_Recipe_Map_LargeNEI( - new HashSet<>(200), - "gtpp.recipe.alloyblastsmelter", - "Alloy Blast Smelter", - null, - "", - 9, - 9, - 1, - 0, - 1, - E, - 1, - E, - true, - true).setUsualFluidInputCount(3).setUsualFluidOutputCount(3); - - // LFTR recipes - public static final GT_Recipe_Map sLiquidFluorineThoriumReactorRecipes = new GT_Recipe_Map_FluidOnly( - new HashSet<>(50), - "gtpp.recipe.lftr", - "Liquid Fluoride Thorium Reactor", - null, - "", - 0, - 0, - 0, - 2, - 0, - "Power: ", - 1, - " EU/t per Dynamo", - true, - true).setUsualFluidInputCount(6).setUsualFluidOutputCount(6) - .setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> { - final long tEUt = recipeInfo.recipe.mSpecialValue; - final int tDuration = recipeInfo.recipe.mDuration; - return Arrays.asList( - applyPrefixAndSuffix.apply(recipeInfo.recipe.mSpecialValue), - "Dynamo: " + MathUtils.formatNumbers(tDuration * tEUt) + " EU", - "Total: " + MathUtils.formatNumbers(tDuration * tEUt * 4) + " EU"); - }); - - public static final GT_Recipe_Map sNuclearSaltProcessingPlantRecipes = new GT_Recipe_Map_LargeNEI( - new HashSet<>(50), - "gtpp.recipe.nuclearsaltprocessingplant", - "Nuclear Salt Processing Plant", - null, - "", - 0, - 6, - 0, - 0, - 1, - "", - 0, - "", - true, - true).setUsualFluidInputCount(2).setUsualFluidOutputCount(3); - - // Ore Milling Map - public static final GT_Recipe_Map sOreMillRecipes = new GT_Recipe_Map( - new HashSet<>(10000), - "gtpp.recipe.oremill", - "Milling", - null, - "", - 3, - 3, - 1, - 0, - 1, - E, - 1, - E, - true, - true) { - - @Override - protected List handleNEIItemInputTooltip(List currentTip, FixedPositionedStack pStack) { - if (ItemUtils.isMillingBall(pStack.item)) { - currentTip.add(GRAY + "Does not always get consumed in the process"); - } else { - super.handleNEIItemInputTooltip(currentTip, pStack); - } - return currentTip; - } - - @Override - protected void drawNEIOverlayForInput(FixedPositionedStack stack) { - if (ItemUtils.isMillingBall(stack.item)) { - drawNEIOverlayText("NC*", stack); - } else { - super.drawNEIOverlayForInput(stack); - } - } - }.useModularUI(true); - - // Fission Fuel Plant Recipes - public static final GT_Recipe_Map sFissionFuelProcessing = new GT_Recipe_Map_FluidOnly( - new HashSet<>(50), - "gtpp.recipe.fissionfuel", - "Nuclear Fuel Processing", - null, - "", - 0, - 0, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setUsualFluidInputCount(6).setUsualFluidOutputCount(6); - - // Cold Trap - public static final GT_Recipe_Map sColdTrapRecipes = new GT_Recipe_Map( - new HashSet<>(10000), - "gtpp.recipe.coldtrap", - "Cold Trap", - null, - "", - 2, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); - - // Reactor Processing Unit - public static final GT_Recipe_Map sReactorProcessingUnitRecipes = new GT_Recipe_Map( - new HashSet<>(10000), - "gtpp.recipe.reactorprocessingunit", - "Reactor Processing Unit", - null, - "", - 2, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setProgressBar(GT_UITextures.PROGRESSBAR_SIFT, ProgressBar.Direction.DOWN); - - // Basic Washer Map - public static final GTPP_Recipe_Map_Internal sSimpleWasherRecipes = (GTPP_Recipe_Map_Internal) new GTPP_Recipe_Map_Internal( - new HashSet<>(3), - "gtpp.recipe.simplewasher", - "Simple Dust Washer", - null, - "", - 1, - 1, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CAULDRON) - .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE); - - // Molecular Transformer Map - public static final GT_Recipe_Map sMolecularTransformerRecipes = new GT_Recipe_Map( - new HashSet<>(3), - "gtpp.recipe.moleculartransformer", - "Molecular Transformer", - null, - "", - 1, - 1, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_MICROSCOPE); - - // Elemental Duplicator Map - public static final GT_Recipe_Map sElementalDuplicatorRecipes = new GT_Recipe_Map( - new HashSet<>(3), - "gtpp.recipe.elementaldupe", - "Elemental Duplicator", - null, - "", - 1, - 1, - 0, - 1, - 1, - E, - 1, - E, - true, - false); - - public static final GT_Recipe_Map sChemicalPlantRecipes = new GTPP_Recipe_Map_ChemicalPlant( - new HashSet<>(100), - "gtpp.recipe.fluidchemicaleactor", - "Chemical Plant", - null, - "", - 4, - 4, - 0, - 0, - 1, - "Tier: ", - 1, - E, - true, - true); - - // RTG Fuel Map - public static final GT_Recipe.GT_Recipe_Map_Fuel sRTGFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel( - new HashSet<>(10), - "gtpp.recipe.RTGgenerators", - "RTG", - null, - "", - 1, - 0, - 0, - 0, - 1, - "Fuel Value: ", - 365, - " Minecraft Days", - true, - true).useModularUI(true); - - // Thermal Boiler map - public static final GT_Recipe_Map sThermalFuels = new GT_Recipe_Map_LargeNEI( - new HashSet<>(10), - "gtpp.recipe.thermalgeneratorfuel", - "Thermal Generator Fuel", - null, - "", - 9, - 9, - 0, - 0, - 1, - null, - 1000, - null, - true, - true).setUsualFluidInputCount(3).setUsualFluidOutputCount(3); - - // Solar Tower map - public static final GT_Recipe_Map sSolarTowerRecipes = new GT_Recipe_Map_FluidOnly( - new HashSet<>(10), - "gtpp.recipe.solartower", - "Solar Tower", - null, - "", - 0, - 0, - 0, - 0, - 1, - null, - 1000, - null, - true, - true).useModularUI(true).setNEISpecialInfoFormatter( - (recipeInfo, applyPrefixAndSuffix) -> Arrays.asList( - "Solar Heater rings boost tier", - "R1:T1, R2:T2, R3:T4, R4:T8, R5:T16", - "Input Amount = 1000 x T")); - - // Cyclotron recipe map - public static final GT_Recipe_Map sCyclotronRecipes = new GT_Recipe_Map( - new HashSet<>(200), - "gtpp.recipe.cyclotron", - "COMET - Compact Cyclotron", - null, - "", - 9, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - true).useModularUI(true); - - // Mini Fusion - public static final GT_Recipe_Map sSlowFusionRecipes = new GT_Recipe_Map( - new HashSet<>(50), - "gtpp.recipe.slowfusionreactor", - "Mimir - Slow Fusion", - null, - "", - 0, - 0, - 0, - 2, - 1, - "Start: ", - 1, - " EU", - true, - true).useModularUI(true); - - // Special Maps for Multis - public static final GT_Recipe_Map sFishPondRecipes = new GT_Recipe_Map( - new HashSet<>(3), - "gtpp.recipe.fishpond", - "Zhuhai - Fishing Port", - null, - "", - 1, - 1, - 0, - 0, - 1, - E, - 1, - E, - true, - true).setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_CAULDRON) - .setProgressBar(GT_UITextures.PROGRESSBAR_ARROW_MULTIPLE); - public static final GT_Recipe_Map sSpargeTowerRecipes = new GT_Recipe_Map( - new HashSet<>(10000), - "gtpp.recipe.spargetower", - "Sparging", - null, - "", - 9, - 9, - 0, - 0, - 1, - E, - 1, - E, - true, - false); - - public static final GT_Recipe_Map sAdvFreezerRecipes_GT = new GT_Recipe_Map( - new HashSet<>(2000), - "gtpp.recipe.cryogenicfreezer", - "Cryogenic Freezer", - null, - "", - 1, - 1, - 0, - 0, - 1, - "", - 0, - "", - false, - true).setUsualFluidInputCount(2); - public static final GT_Recipe_Map sMultiblockCentrifugeRecipes_GT = new GT_Recipe_Map_LargeNEI( - new HashSet<>(2000), - "gtpp.recipe.multicentrifuge", - "Multiblock Centrifuge", - null, - "", - 6, - 6, - 0, - 0, - 1, - "", - 0, - "", - false, - true).setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT).setUsualFluidInputCount(6) - .setUsualFluidOutputCount(6); - public static final GT_Recipe_Map sMultiblockElectrolyzerRecipes_GT = new GT_Recipe_Map_LargeNEI( - new HashSet<>(2000), - "gtpp.recipe.multielectro", - "Multiblock Electrolyzer", - null, - "", - 6, - 6, - 0, - 0, - 1, - "", - 0, - "", - false, - true).setProgressBar(GT_UITextures.PROGRESSBAR_EXTRACT).setUsualFluidInputCount(6) - .setUsualFluidOutputCount(6); - - public static final GT_Recipe_Map sMultiblockMixerRecipes_GT = new GT_Recipe_Map_LargeNEI( - new HashSet<>(2000), - "gtpp.recipe.multimixer", - "Multiblock Mixer", - null, - "", - 9, - 9, - 0, - 0, - 1, - "", - 0, - "", - false, - true).setProgressBar(GT_UITextures.PROGRESSBAR_MIXER, ProgressBar.Direction.CIRCULAR_CW) - .setUsualFluidInputCount(6).setUsualFluidOutputCount(6); - - public static final GT_Recipe_Map sMultiblockChemicalDehydratorRecipes = new GT_Recipe_Map_LargeNEI( - new HashSet<>(2000), - "gtpp.recipe.multidehydrator", - "Multiblock Dehydrator", - null, - "", - 6, - 9, - 0, - 0, - 1, - "", - 0, - "", - false, - true).setUsualFluidInputCount(3).setUsualFluidOutputCount(3); - - // Semi-Fluid Fuel Map - public static final GT_Recipe_Map_Fuel sSemiFluidLiquidFuels = (GT_Recipe_Map_Fuel) new GT_Recipe_Map_Fuel( - new HashSet<>(10), - "gtpp.recipe.semifluidgeneratorfuels", - "Semifluid Generator Fuels", - null, - "", - 0, - 0, - 0, - 0, - 1, - "Fuel Value: ", - 1000, - " EU", - true, - true).useModularUI(true); - - // Flotation Cell - public static final GT_Recipe_Map sFlotationCellRecipes = new GT_Recipe_Map( - new HashSet<>(10000), - "gtpp.recipe.flotationcell", - "Flotation Cell", - null, - "", - 6, - 0, - 1, - 1, - 1, - "", - 1, - E, - true, - true).useModularUI(true); - - // Tree Growth Simulator - public static final GT_Recipe_Map sTreeSimFakeRecipes = new GT_Recipe_Map( - new HashSet<>(100), - "gtpp.recipe.treefarm", - "Tree Growth Simulator", - null, - "", - 1, - 2, - 1, - 0, - 1, - "", - 1, - "", - false, - true) { - - @Override - protected void drawNEIEnergyInfo(NEIRecipeInfo recipeInfo) {} - - @Override - protected void drawNEIDurationInfo(NEIRecipeInfo recipeInfo) {} - - @Override - protected List handleNEIItemOutputTooltip(List currentTip, FixedPositionedStack pStack) { - if (ModItems.fluidFertBasic != null && pStack.isChanceBased()) { - // noinspection deprecation - currentTip - .add(GRAY + "Outputted if " + ModItems.fluidFertBasic.getLocalizedName() + " is provided"); - } else { - super.handleNEIItemOutputTooltip(currentTip, pStack); - } - return currentTip; - } - - @Override - protected void drawNEIOverlayForOutput(FixedPositionedStack stack) {} - }.useModularUI(true).setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> { - List result = new ArrayList<>(); - if (ModItems.fluidFertBasic != null) { - result.add("The sapling is not consumed."); - // noinspection deprecation - result.add("If " + ModItems.fluidFertBasic.getLocalizedName() + " is provided,"); - result.add("Saplings are made instead"); - } - return result; - }); - } - - public static class GTPP_Recipe_Map_ChemicalPlant extends GT_Recipe_Map { - - private static final List tierMaterialNames = Arrays.asList( - "Bronze", - "Steel", - "Aluminium", - "Stainless Steel", - "Titanium", - "Tungsten Steel", - "Laurenium", - "Botmium"); - - public GTPP_Recipe_Map_ChemicalPlant(Collection 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); - setSlotOverlay(false, false, GT_UITextures.OVERLAY_SLOT_MOLECULAR_1); - setSlotOverlay(false, true, GT_UITextures.OVERLAY_SLOT_VIAL_1); - setSlotOverlay(true, false, GT_UITextures.OVERLAY_SLOT_MOLECULAR_3); - setSlotOverlay(true, true, GT_UITextures.OVERLAY_SLOT_VIAL_2); - setProgressBar(GTPP_UITextures.PROGRESSBAR_FLUID_REACTOR, ProgressBar.Direction.CIRCULAR_CW); - setProgressBarPos(82, 24); - setUsualFluidInputCount(4); - setUsualFluidOutputCount(2); - setNEISpecialInfoFormatter((recipeInfo, applyPrefixAndSuffix) -> { - int specialValue = recipeInfo.recipe.mSpecialValue; - String tierMaterial = ""; - for (int i = 0; i < tierMaterialNames.size(); i++) { - if (i == specialValue) { - tierMaterial = tierMaterialNames.get(i); - } - } - // blockrenderer uses 1-indexed - return Collections.singletonList(applyPrefixAndSuffix.apply(specialValue + 1) + " - " + tierMaterial); - }); - } - - @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, 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(FixedPositionedStack stack) { - if (ItemUtils.isCatalyst(stack.item)) { - drawNEIOverlayText("NC*", stack); - } else { - super.drawNEIOverlayForInput(stack); - } - } - } -} diff --git a/src/main/java/gregtech/api/util/HotFuel.java b/src/main/java/gregtech/api/util/HotFuel.java index b8fcef1308..15104807a4 100644 --- a/src/main/java/gregtech/api/util/HotFuel.java +++ b/src/main/java/gregtech/api/util/HotFuel.java @@ -3,11 +3,13 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; + public class HotFuel { public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, ItemStack[] outputItems, int[] chances, int aSpecialValue) { - GTPP_Recipe.GTPP_Recipe_Map.sThermalFuels.addRecipe( + GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( true, null, outputItems, @@ -22,7 +24,7 @@ public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, ItemSt } public static void addNewHotFuel(FluidStack aInput1, FluidStack aOutput1, FluidStack aOutput2, int aSpecialValue) { - GTPP_Recipe.GTPP_Recipe_Map.sThermalFuels.addRecipe( + GTPPRecipeMaps.thermalBoilerRecipes.addRecipe( false, null, null, diff --git a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java index c808a892dc..be4dc21815 100644 --- a/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java +++ b/src/main/java/gregtech/api/util/SemiFluidFuelHandler.java @@ -1,6 +1,6 @@ package gregtech.api.util; -import static gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map.sSemiFluidLiquidFuels; +import static gtPlusPlus.api.recipe.GTPPRecipeMaps.semiFluidFuels; import java.util.HashMap; @@ -8,6 +8,7 @@ import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidStack; +import gregtech.api.recipe.RecipeMaps; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.Pair; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -27,7 +28,7 @@ public static boolean addSemiFluidFuel(ItemStack aFuelItem, int aFuelValue) { public static boolean addSemiFluidFuel(FluidStack aFuel, int aFuelValue) { FluidStack p = aFuel; if (p != null && aFuelValue > 0) { - GT_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -44,7 +45,7 @@ public static boolean addSemiFluidFuel(FluidStack aFuel, int aFuelValue) { + " to the Semi-Fluid Generator fuel map. Fuel Produces " + (aRecipe.mSpecialValue * 1000) + "EU per 1000L."); - sSemiFluidLiquidFuels.add(aRecipe); + semiFluidFuels.add(aRecipe); return true; } } else { @@ -59,7 +60,7 @@ public static boolean generateFuels() { final FluidStack aHeavyOil = FluidUtils.getFluidStack("liquid_heavy_oil", 1000); final HashMap> aFoundFluidsFromItems = new HashMap<>(); // Find Fluids From items - for (final GT_Recipe r : gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDenseLiquidFuels.mRecipeList) { + for (final GT_Recipe r : RecipeMaps.denseLiquidFuels.getAllRecipes()) { GT_Recipe g = r.copy(); @@ -84,7 +85,7 @@ public static boolean generateFuels() { + " to the Semi-Fluid Generator fuel map. Fuel Produces " + g.mSpecialValue + "EU per 1000L."); - sSemiFluidLiquidFuels.add(g); + semiFluidFuels.add(g); } } for (Pair p : aFoundFluidsFromItems.values()) { @@ -99,7 +100,7 @@ public static boolean generateFuels() { } if (aFuelValue <= (128 * 3)) { - GT_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -116,13 +117,13 @@ public static boolean generateFuels() { + " to the Semi-Fluid Generator fuel map. Fuel Produces " + (aRecipe.mSpecialValue * 1000) + "EU per 1000L."); - sSemiFluidLiquidFuels.add(aRecipe); + semiFluidFuels.add(aRecipe); } } else { Logger.INFO("Boosted Fuel value for " + p.getKey().getLocalizedName() + " exceeds 512k, ignoring."); } } } - return sSemiFluidLiquidFuels.mRecipeList.size() > 0; + return !semiFluidFuels.getAllRecipes().isEmpty(); } } 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.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.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 void init(final FMLInitializationEvent event) { 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 @@ protected void generateGregtechRecipeMaps() { 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.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 static void init() { 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 @@ 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 @@ private void generateRecipe() { 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 @@ private void generateCompressorRecipe() { 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 @@ 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 @@ private static void addBasicSlurryRecipes() { .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 @@ private static void addAdvancedSlurryRecipes() { // 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 @@ private static void addMiscRecipes() { // 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 @@ private static void addMiscRecipes() { 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 @@ private static void addMiscRecipes() { .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 @@ private void recipeCarbonDisulfide() { 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 @@ private void recipeGrindingBallAlumina() { 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 @@ private void recipeGrindingBallSoapstone() { 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 @@ private void recipeCatalystRed() { 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 @@ private void recipeCatalystYellow() { 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 @@ private void recipeCatalystBlue() { 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 @@ private void recipeCatalystOrange() { 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 @@ private void recipeCatalystPurple() { 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 @@ private void recipeCatalystBrown() { 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 @@ private void recipeCatalystPink() { 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 @@ private void recipeCatalystFormaldehyde() { 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 @@ private void recipeCatalystSolidAcid() { 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 @@ private void recipeCatalystInfiniteMutation() { 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.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 static void createKerosene() { 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 static void createRP1() { 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 static void createMonomethylhydrazine() { 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 @@ private static void createFormaldehydeCatalyst() { 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 @@ private static void createUnsymmetricalDimethylhydrazine() { } 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 @@ private static void addRocketFuelsToMap() { mRocketFuels.put( 1, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -246,7 +247,7 @@ private static void addRocketFuelsToMap() { mRocketFuels.put( 2, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -260,7 +261,7 @@ private static void addRocketFuelsToMap() { mRocketFuels.put( 3, - new GTPP_Recipe( + new GT_Recipe( true, new ItemStack[] {}, new ItemStack[] {}, @@ -278,11 +279,11 @@ private static void addRocketFuelsToMap() { 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.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.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 void init(final FMLInitializationEvent e) { 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 @@ 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 @@ private static void alloySmelterRecipes() { // 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 @@ private static void chemplantRecipes() { 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 @@ private static void fusionRecipes() { 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 @@ private static void fusionRecipes() { 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 @@ private static void laserEngraverRecipes() { 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 @@ private static void laserEngraverRecipes() { 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 @@ private static void laserEngraverRecipes() { 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 @@ private static void laserEngraverRecipes() { 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 @@ private static void laserEngraverRecipes() { 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.getMobEssence(100)).fluidOutputs(EnchantingUtils.getLiquidXP(1332)) - .duration(5 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sBrewingRecipes); + .duration(5 * SECONDS).eut(TierEU.RECIPE_MV).addTo(brewingRecipes); GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(14)) .fluidInputs(EnchantingUtils.getLiquidXP(1332)).fluidOutputs(EnchantingUtils.getMobEssence(100)) - .duration(5 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sBrewingRecipes); + .duration(5 * SECONDS).eut(TierEU.RECIPE_MV).addTo(brewingRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) .fluidInputs(Materials.Water.getFluid(100L)).fluidOutputs(Materials.Biomass.getFluid(100L)) - .duration(1 * MINUTES).eut(3).addTo(sBrewingRecipes); + .duration(1 * MINUTES).eut(3).addTo(brewingRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) .fluidInputs(Materials.Honey.getFluid(100L)).fluidOutputs(Materials.Biomass.getFluid(100L)) - .duration(1 * MINUTES).eut(3).addTo(sBrewingRecipes); + .duration(1 * MINUTES).eut(3).addTo(brewingRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(BOP_Block_Registrator.sapling_Rainforest)) .fluidInputs(FluidUtils.getFluidStack("juice", 100)).fluidOutputs(Materials.Biomass.getFluid(100L)) - .duration(1 * MINUTES).eut(3).addTo(sBrewingRecipes); + .duration(1 * MINUTES).eut(3).addTo(brewingRecipes); } private static void cuttingSawRecipes() { GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("blockMeatRaw", 1)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateMeatRaw", 9)).duration(16 * TICKS) - .eut(TierEU.RECIPE_ULV).addTo(sCutterRecipes); + .eut(TierEU.RECIPE_ULV).addTo(cutterRecipes); } private static void electrolyzerRecipes() { GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(ModItems.dustDecayedRadium226, 1)) .fluidOutputs(FluidUtils.getFluidStack("radon", 144)).duration(1 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_HV / 2).addTo(sElectrolyzerRecipes); + .eut(TierEU.RECIPE_HV / 2).addTo(electrolyzerRecipes); } private static void extruderRecipes() { @@ -601,7 +601,7 @@ private static void extruderRecipes() { ItemUtils.getItemStackOfAmountFromOreDict("blockOsmium", 1), ItemList.Shape_Mold_Credit.get(0)) .itemOutputs(ItemList.Credit_Greg_Osmium.get(1)).duration(6 * MINUTES + 20 * SECONDS) - .eut(TierEU.RECIPE_EV / 2).addTo(sExtruderRecipes); + .eut(TierEU.RECIPE_EV / 2).addTo(extruderRecipes); } private static void blastSmelterRecipes() { @@ -829,14 +829,14 @@ private static void largeChemReactorRecipes() { GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(24)).itemOutputs() .fluidInputs(FluidUtils.getFluidStack("fluid.ethylbenzene", 1000)) .fluidOutputs(Materials.Styrene.getFluid(1000L), Materials.Hydrogen.getGas(2000)) - .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(sMultiblockChemicalRecipes); + .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(multiblockChemicalReactorRecipes); // Short-cut Styrene // C6H6 + C2H4 = C8H8 + 2H GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(24)).itemOutputs() .fluidInputs(Materials.Ethylene.getGas(500L), Materials.Benzene.getFluid(500L)) .fluidOutputs(Materials.Styrene.getFluid(500L), Materials.Hydrogen.getGas(1000)).duration(12 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sMultiblockChemicalRecipes); + .eut(TierEU.RECIPE_MV).addTo(multiblockChemicalReactorRecipes); } private static void assemblerRecipes() { @@ -847,7 +847,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.VanadiumSteel, 8L)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4)) .fluidInputs(Materials.Oxygen.getGas(8000L)).duration(16 * SECONDS).eut(TierEU.RECIPE_MV / 2) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -855,7 +855,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.VanadiumGallium, 8L)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemHalfCompleteCasings, 0, 4)) .fluidInputs(Materials.Tantalum.getMolten(4 * INGOTS)).duration(32 * SECONDS).eut(TierEU.RECIPE_MV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -865,7 +865,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorHV, 2L)) .itemOutputs(ItemUtils.getSimpleStack(GregtechItemList.Casing_Vanadium_Redox.get(1), 1)) .fluidInputs(Materials.Oxygen.getGas(16 * BUCKETS)).duration(3 * SECONDS + 4 * TICKS) - .eut(TierEU.RECIPE_HV / 2).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV / 2).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -875,7 +875,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorEV, 2L)) .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_IV.get(1)) .fluidInputs(Materials.Nitrogen.getGas(16 * BUCKETS)).duration(6 * SECONDS).eut(TierEU.RECIPE_EV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -885,7 +885,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorIV, 2L)) .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_LuV.get(1)) .fluidInputs(Materials.Helium.getGas(8 * BUCKETS)).duration(12 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_IV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_IV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -895,7 +895,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorLuV, 2L)) .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_ZPM.get(1)) .fluidInputs(Materials.Argon.getGas(4 * BUCKETS)).duration(25 * SECONDS).eut(TierEU.RECIPE_LuV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -905,7 +905,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorZPM, 2L)) .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_UV.get(1)) .fluidInputs(Materials.Radon.getGas(4 * BUCKETS)).duration(50 * SECONDS).eut(TierEU.RECIPE_ZPM) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -915,7 +915,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.wireGt01, Materials.SuperconductorUV, 2L)) .itemOutputs(GregtechItemList.Casing_Vanadium_Redox_MAX.get(1)) .fluidInputs(FluidUtils.getFluidStack("krypton", 500)).duration(1 * MINUTES + 40 * SECONDS) - .eut(TierEU.RECIPE_UV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_UV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -924,7 +924,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Sulfur, 2L), GT_OreDictUnificator.get(OrePrefixes.frameGt, Materials.Iron, 1L)) .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockMiningExplosive, 3)).duration(5 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -932,7 +932,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 8L), GT_OreDictUnificator.get(OrePrefixes.stick, Materials.BlackSteel, 8L)) .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockWitherGuard, 64)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -943,7 +943,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Brass, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 2L)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_LV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_LV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -954,7 +954,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Invar, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Aluminium, 2L)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1)).duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_MV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -965,7 +965,7 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Chrome, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.StainlessSteel, 2L)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -976,35 +976,35 @@ private static void assemblerRecipes() { GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Titanium, 1L), GT_OreDictUnificator.get(OrePrefixes.plate, Materials.TungstenSteel, 2L)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1)).duration(40 * SECONDS) - .eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_EV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 1, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1000, 1)) - .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(sAssemblerRecipes); + .duration(1 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_LV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 2, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1001, 1)).duration(6 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_MV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 3, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1002, 1)).duration(24 * SECONDS) - .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( ItemUtils.simpleMetaStack(ModItems.itemGenericToken, 4, 1), GT_Utility.getIntegratedCircuit(20)) .itemOutputs(ItemUtils.simpleMetaStack(ModItems.toolGregtechPump, 1003, 1)) - .duration(1 * MINUTES + 36 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sAssemblerRecipes); + .duration(1 * MINUTES + 36 * SECONDS).eut(TierEU.RECIPE_EV).addTo(assemblerRecipes); // Low tier Charge Packs @@ -1041,7 +1041,7 @@ private static void assemblerRecipes() { aPackBatteries[aAS], CI.getSensor(i, 4)) .itemOutputs(aPackOutput[aAS]).fluidInputs(CI.getTieredFluid(i, (144 * 4))) - .duration(30 * i * SECONDS).eut(GT_Values.V[i]).addTo(sAssemblerRecipes); + .duration(30 * i * SECONDS).eut(GT_Values.V[i]).addTo(assemblerRecipes); } if (Baubles.isModLoaded()) { @@ -1058,7 +1058,7 @@ private static void assemblerRecipes() { .itemOutputs( ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_8_TURBINE_AUTOMATION, 1)) .fluidInputs(CI.getAlternativeTieredFluid(7, 144 * 32)).duration(5 * MINUTES).eut(TierEU.RECIPE_LuV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); // Cloaking Device Research Page GT_Values.RA.stdBuilder() @@ -1070,7 +1070,7 @@ private static void assemblerRecipes() { ItemUtils.getItemStackOfAmountFromOreDict(CI.getTieredCircuitOreDictName(6), 12)) .itemOutputs(ItemDummyResearch.getResearchStack(ASSEMBLY_LINE_RESEARCH.RESEARCH_9_CLOAKING, 1)) .fluidInputs(CI.getAlternativeTieredFluid(7, 144 * 32)).duration(10 * MINUTES) - .eut(TierEU.RECIPE_ZPM).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_ZPM).addTo(assemblerRecipes); } } @@ -1078,11 +1078,11 @@ private static void distilleryRecipes() { Logger.INFO("Registering Distillery/Distillation Tower Recipes."); GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(4)) .fluidInputs(Materials.Air.getGas(1000L)).fluidOutputs(Materials.Helium.getGas(1L)) - .duration(20 * SECONDS).eut(TierEU.RECIPE_LV).addTo(sDistilleryRecipes); + .duration(20 * SECONDS).eut(TierEU.RECIPE_LV).addTo(distilleryRecipes); GT_Values.RA.stdBuilder().itemOutputs(ItemUtils.getSimpleStack(ModItems.itemHydrogenBlob, 1)) .fluidInputs(Materials.Air.getGas(20000L)).fluidOutputs(Materials.Helium.getGas(25L)) - .duration(10 * SECONDS).eut(TierEU.RECIPE_MV / 2).addTo(sDistillationRecipes); + .duration(10 * SECONDS).eut(TierEU.RECIPE_MV / 2).addTo(distillationTowerRecipes); // Apatite Distillation /* @@ -1094,11 +1094,11 @@ private static void distilleryRecipes() { FluidUtils.getFluidStack("sulfurousacid", 3800), FluidUtils.getFluidStack("hydrogenchloride", 1000), FluidUtils.getFluidStack("hydrofluoricacid", 400)) - .duration(45 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sDistillationRecipes); + .duration(45 * SECONDS).eut(TierEU.RECIPE_MV).addTo(distillationTowerRecipes); GT_Values.RA.stdBuilder().fluidInputs(FluidUtils.getFluidStack("sulfurousacid", 1000)) .fluidOutputs(Materials.SulfurDioxide.getGas(500), Materials.Water.getFluid(500)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sDistillationRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(distillationTowerRecipes); } private static void addFuels() { @@ -1159,17 +1159,17 @@ private static void fluidExtractorRecipes() { // Gelid Cryotheum GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)) .fluidOutputs(FluidUtils.getFluidStack("cryotheum", 250)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV / 2).addTo(sFluidExtractionRecipes); + .eut(TierEU.RECIPE_HV / 2).addTo(fluidExtractionRecipes); // Ender Fluid GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(Items.ender_pearl)) .fluidOutputs(FluidUtils.getFluidStack("ender", 250)).duration(5 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); // Blazing Pyrotheum GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrotheum, 1L)) .fluidOutputs(FluidUtils.getFluidStack("pyrotheum", 250)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV / 2).addTo(sFluidExtractionRecipes); + .eut(TierEU.RECIPE_HV / 2).addTo(fluidExtractionRecipes); } private static void centrifugeRecipes() { @@ -1180,7 +1180,7 @@ private static void centrifugeRecipes() { MISC_MATERIALS.SODIUM_NITRATE.getDust(3), MISC_MATERIALS.POTASSIUM_NITRATE.getDust(2), CI.emptyCells(1)) - .duration(6 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sCentrifugeRecipes); + .duration(6 * SECONDS).eut(TierEU.RECIPE_MV).addTo(centrifugeRecipes); } private static void mixerRecipes() { @@ -1192,7 +1192,7 @@ private static void mixerRecipes() { MISC_MATERIALS.SODIUM_NITRATE.getDust(3), MISC_MATERIALS.POTASSIUM_NITRATE.getDust(2)) .itemOutputs(MISC_MATERIALS.SOLAR_SALT_COLD.getCell(1)).duration(2 * SECONDS).eut(TierEU.RECIPE_MV) - .addTo(sMixerRecipes); + .addTo(mixerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -1203,7 +1203,7 @@ private static void mixerRecipes() { Materials.Lithium.getDust(9), Materials.Sulfur.getDust(9)) .itemOutputs(ALLOY.LEAGRISIUM.getDust(50)).fluidInputs(Materials.Hydrogen.getGas(5000)) - .duration(1 * MINUTES).eut(TierEU.RECIPE_EV).addTo(sMixerRecipes); + .duration(1 * MINUTES).eut(TierEU.RECIPE_EV).addTo(mixerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -1214,7 +1214,7 @@ private static void mixerRecipes() { Materials.Nickel.getDust(4), Materials.Cobalt.getDust(2)) .itemOutputs(ALLOY.MARAGING250.getDust(24)).duration(1 * MINUTES).eut(TierEU.RECIPE_EV) - .addTo(sMixerRecipes); + .addTo(mixerRecipes); } private static void chemicalReactorRecipes() { @@ -1255,33 +1255,33 @@ private static void blastFurnaceRecipes() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Graphite, 8L), GT_OreDictUnificator.get(OrePrefixes.dustSmall, Materials.Silicon, 8L)) .fluidInputs(Materials.Nitrogen.getGas(4000)).fluidOutputs().duration(1 * MINUTES).eut(TierEU.RECIPE_IV) - .metadata(COIL_HEAT, 4500).addTo(sBlastRecipes); + .metadata(COIL_HEAT, 4500).addTo(blastFurnaceRecipes); } private static void compressorRecipes() { GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Clay, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Clay, 1L)).duration(15 * SECONDS) - .eut(2).addTo(sCompressorRecipes); + .eut(2).addTo(compressorRecipes); GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L)).duration(15 * SECONDS) - .eut(2).addTo(sCompressorRecipes); + .eut(2).addTo(compressorRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemList.FusionComputer_UV.get(9)) .itemOutputs(GregtechItemList.Compressed_Fusion_Reactor.get(1)).duration(1 * HOURS + 50 * MINUTES) - .eut(TierEU.RECIPE_UV).addTo(sCompressorRecipes); + .eut(TierEU.RECIPE_UV).addTo(compressorRecipes); } private static void macerationRecipes() { GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.block, Materials.MeatRaw, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.MeatRaw, 9L)).duration(44 * SECONDS) - .eut(4).addTo(sMaceratorRecipes); + .eut(4).addTo(maceratorRecipes); if (ItemUtils.simpleMetaStack("chisel:limestone", 0, 1) != null) { GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict("limestone", 1)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Calcite, 4L)) - .duration(20 * SECONDS).eut(2).addTo(sMaceratorRecipes); + .duration(20 * SECONDS).eut(2).addTo(maceratorRecipes); } } diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java index 35009804df..9e3dc1d5fc 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_General.java @@ -2,7 +2,7 @@ import static gregtech.api.enums.Mods.EnderIO; 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.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gtPlusPlus.core.recipe.common.CI.bitsd; @@ -177,7 +177,7 @@ private static void run() { CI.getNumberedAdvancedCircuit(4)) .itemOutputs(VolumetricFlaskHelper.getLargeVolumetricFlask(2)) .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 2000)).duration(15 * SECONDS) - .eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -187,7 +187,7 @@ private static void run() { CI.getNumberedAdvancedCircuit(5)) .itemOutputs(VolumetricFlaskHelper.getGiganticVolumetricFlask(2)) .fluidInputs(FluidUtils.getFluidStack("molten.borosilicateglass", 8000)).duration(15 * SECONDS) - .eut(TierEU.RECIPE_IV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_IV).addTo(assemblerRecipes); // Mining Explosive Logger.RECIPE("[Inspection] Explosives"); @@ -256,7 +256,7 @@ private static void run() { ItemUtils.getSimpleStack(Blocks.gold_block, 32)) .itemOutputs(ItemUtils.getSimpleStack(ModItems.itemMagicFeather, 1)) .fluidInputs(Materials.Silver.getMolten(32 * 144)).duration(2 * MINUTES).eut(TierEU.RECIPE_EV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); // Pest Killer GT_Values.RA.stdBuilder() @@ -268,7 +268,7 @@ private static void run() { CI.getNumberedCircuit(16)) .itemOutputs(ItemUtils.getSimpleStack(ModBlocks.blockPestKiller)) .fluidInputs(FluidUtils.getHotWater(500)).duration(1 * MINUTES).eut(TierEU.RECIPE_LV / 2) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private static boolean addCompressedObsidian() { diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java index 82d28751de..a9061b997d 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_LaserEngraver.java @@ -1,6 +1,6 @@ package gtPlusPlus.core.recipe; -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.HOURS; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; @@ -34,13 +34,13 @@ public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, fi GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Lithium, 2L), GT_Utility.copyAmount(0L, aStack)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("plateDoubleLithium7", 1)) - .duration(4 * MINUTES).eut(TierEU.RECIPE_EV).addTo(sLaserEngraverRecipes); + .duration(4 * MINUTES).eut(TierEU.RECIPE_EV).addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder() .itemInputs( GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Lithium, 3L), GT_Utility.copyAmount(0L, aStack)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("dustLithium7", 1)).duration(2 * MINUTES) - .eut(TierEU.RECIPE_EV).addTo(sLaserEngraverRecipes); + .eut(TierEU.RECIPE_EV).addTo(laserEngraverRecipes); } else if (aOreDictName.equals(OreDictNames.craftingLensLime.toString())) { // Coil Wires @@ -68,30 +68,30 @@ public void registerOre(final OrePrefixes aPrefix, final Materials aMaterial, fi // T1 GT_Values.RA.stdBuilder().itemInputs(wireT1a, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire1) - .duration(10 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sLaserEngraverRecipes); + .duration(10 * SECONDS).eut(TierEU.RECIPE_HV).addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder().itemInputs(wireT1b, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire1) - .duration(10 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sLaserEngraverRecipes); + .duration(10 * SECONDS).eut(TierEU.RECIPE_HV).addTo(laserEngraverRecipes); // T2 GT_Values.RA.stdBuilder().itemInputs(wireT2a, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire2) - .duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sLaserEngraverRecipes); + .duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder().itemInputs(wireT2b, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire2) - .duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(sLaserEngraverRecipes); + .duration(20 * SECONDS).eut(TierEU.RECIPE_EV).addTo(laserEngraverRecipes); // T3 GT_Values.RA.stdBuilder().itemInputs(wireT3a, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire3) - .duration(30 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sLaserEngraverRecipes); + .duration(30 * SECONDS).eut(TierEU.RECIPE_IV).addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder().itemInputs(wireT3b, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire3) - .duration(30 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sLaserEngraverRecipes); + .duration(30 * SECONDS).eut(TierEU.RECIPE_IV).addTo(laserEngraverRecipes); GT_Values.RA.stdBuilder().itemInputs(wireT3c, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire3) - .duration(30 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sLaserEngraverRecipes); + .duration(30 * SECONDS).eut(TierEU.RECIPE_IV).addTo(laserEngraverRecipes); // T4 GT_Values.RA.stdBuilder().itemInputs(wireT4a, GT_Utility.copyAmount(0L, aStack)).itemOutputs(coilWire4) - .duration(40 * SECONDS).eut(TierEU.RECIPE_LuV).addTo(sLaserEngraverRecipes); + .duration(40 * SECONDS).eut(TierEU.RECIPE_LuV).addTo(laserEngraverRecipes); } else if (aOreDictName.equals(OreDictNames.craftingLensOrange.toString())) { GT_Values.RA.stdBuilder() .itemInputs(ItemUtils.getSimpleStack(ModItems.itemAlkalusDisk), GT_Utility.copyAmount(0L, aStack)) .itemOutputs(ItemUtils.getSimpleStack(Dimension_Everglades.portalItem)).duration(3 * HOURS) - .eut(TierEU.RECIPE_IV).addTo(sLaserEngraverRecipes); + .eut(TierEU.RECIPE_IV).addTo(laserEngraverRecipes); } } } diff --git a/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java index 55f55816a8..1678532ac3 100644 --- a/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java +++ b/src/main/java/gtPlusPlus/core/recipe/RECIPES_RareEarthProcessing.java @@ -1,10 +1,10 @@ package gtPlusPlus.core.recipe; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBrewingRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sElectrolyzerRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMixerRecipes; +import static gregtech.api.recipe.RecipeMaps.brewingRecipes; +import static gregtech.api.recipe.RecipeMaps.chemicalBathRecipes; +import static gregtech.api.recipe.RecipeMaps.electrolyzerRecipes; +import static gregtech.api.recipe.RecipeMaps.laserEngraverRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gtPlusPlus.core.material.MISC_MATERIALS.BRINE; import static gtPlusPlus.core.material.MISC_MATERIALS.HYDROGEN_CHLORIDE; @@ -56,7 +56,7 @@ public static void init() { // Add Process for creating Brine GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Salt, 16L)) .fluidInputs(Materials.SaltWater.getFluid(2000L)).fluidOutputs(FluidUtils.getFluidStack(mBrine, 4000)) - .duration(20 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sBrewingRecipes); + .duration(20 * SECONDS).eut(TierEU.RECIPE_MV).addTo(brewingRecipes); // Chloralkali process GT_Values.RA.stdBuilder().itemInputs(GT_Utility.getIntegratedCircuit(1), ItemList.Cell_Empty.get(2L)) @@ -65,7 +65,7 @@ public static void init() { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.SodiumHydroxide, 1L)) .fluidInputs(FluidUtils.getFluidStack(mBrine, 2000)).duration(30 * SECONDS).eut(TierEU.RECIPE_MV) - .addTo(sElectrolyzerRecipes); + .addTo(electrolyzerRecipes); // Generate Special Laser Recipe GT_Values.RA.stdBuilder() @@ -74,14 +74,14 @@ public static void init() { GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Hydrogen, 1L), CI.getNumberedBioCircuit(2)) .itemOutputs(ItemUtils.getSimpleStack(ModItems.cellHydrogenChlorideMix, 2)).duration(10 * SECONDS) - .eut(TierEU.RECIPE_HV).addTo(sMixerRecipes); + .eut(TierEU.RECIPE_HV).addTo(mixerRecipes); GT_Values.RA.stdBuilder() .itemInputs( ItemUtils.getSimpleStack(ModItems.cellHydrogenChlorideMix, 4), GregtechItemList.Laser_Lens_WoodsGlass.get(0)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrogenChloride", 4)) - .duration(30 * SECONDS).eut(TierEU.RECIPE_HV).noOptimize().addTo(sLaserEngraverRecipes); + .duration(30 * SECONDS).eut(TierEU.RECIPE_HV).noOptimize().addTo(laserEngraverRecipes); // Set Material Tiers correctly ORES.GREENOCKITE.vTier = 1; @@ -117,13 +117,13 @@ public static void init() { GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) .itemOutputs(RARE_EARTH_LOW.getCrushed(2), RARE_EARTH_LOW.getCrushed(2), RARE_EARTH_LOW.getCrushed(2)) .fluidInputs(Materials.SulfuricAcid.getFluid(1000L)).duration(30 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sChemicalBathRecipes); + .addTo(chemicalBathRecipes); // HV Rare Earth GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) .itemOutputs(RARE_EARTH_MID.getCrushed(2), RARE_EARTH_MID.getCrushed(2), RARE_EARTH_MID.getCrushed(2)) .outputChances(10000, 9000, 8000).fluidInputs(FluidUtils.getFluidStack(aHydrochloric, 1000)) - .duration(15 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sChemicalBathRecipes); + .duration(15 * SECONDS).eut(TierEU.RECIPE_HV).addTo(chemicalBathRecipes); // IV Rare Earth GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) @@ -132,7 +132,7 @@ public static void init() { RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2)) .outputChances(10000, 9000, 8000).fluidInputs(FluidUtils.getHydrofluoricAcid(1000)) - .duration(10 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sChemicalBathRecipes); + .duration(10 * SECONDS).eut(TierEU.RECIPE_IV).addTo(chemicalBathRecipes); // IV Rare Earth GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.RareEarth, 3L)) @@ -141,6 +141,6 @@ public static void init() { RARE_EARTH_HIGH.getCrushed(2), RARE_EARTH_HIGH.getCrushed(2)) .outputChances(9000, 8000, 7000).fluidInputs(Materials.HydrofluoricAcid.getFluid(2000L)) - .duration(10 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sChemicalBathRecipes); + .duration(10 * SECONDS).eut(TierEU.RECIPE_IV).addTo(chemicalBathRecipes); } } diff --git a/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java b/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java index 170a741eed..6f7697de26 100644 --- a/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java +++ b/src/main/java/gtPlusPlus/core/util/minecraft/FluidUtils.java @@ -1,7 +1,7 @@ package gtPlusPlus.core.util.minecraft; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidCannerRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidCannerRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import java.util.HashMap; @@ -366,7 +366,7 @@ public static Fluid addGTFluid(String aName, final String aTexture, final String aFullContainer, aEmptyContainer)) { GT_Values.RA.stdBuilder().itemInputs(ItemList.Cell_Empty.get(1L)).itemOutputs(aFullContainer) - .fluidInputs(new FluidStack(rFluid, aFluidAmount)).duration(4).eut(1).addTo(sFluidCannerRecipes); + .fluidInputs(new FluidStack(rFluid, aFluidAmount)).duration(4).eut(1).addTo(fluidCannerRecipes); } return rFluid; } @@ -514,12 +514,12 @@ public static final Fluid generateFluidNonMolten(final String unlocalizedName, f if (dustStack != null) { GT_Values.RA.stdBuilder().itemInputs(dustStack) .fluidOutputs(FluidUtils.getFluidStack(gtFluid, amountPerItem)).duration(1 * SECONDS).eut(16) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); } if (dustStack2 != null) { GT_Values.RA.stdBuilder().itemInputs(dustStack2) .fluidOutputs(FluidUtils.getFluidStack(gtFluid, amountPerItem)).duration(1 * SECONDS).eut(16) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); } return gtFluid; diff --git a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java index f140045a4b..01d35de155 100644 --- a/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java +++ b/src/main/java/gtPlusPlus/nei/GT_NEI_LFTR_Sparging.java @@ -43,7 +43,7 @@ public GT_NEI_LFTR_Sparging() { new Rectangle(65, 13, 36, 18), this.getOverlayIdentifier(), new Object[0])); - if (!NEI_GT_Config.sIsAdded) { + if (!NEI_GTPP_Config.sIsAdded) { FMLInterModComms.sendRuntimeMessage( GT_Values.GT, "NEIPlugins", diff --git a/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java b/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java new file mode 100644 index 0000000000..17695a4bf7 --- /dev/null +++ b/src/main/java/gtPlusPlus/nei/NEI_GTPP_Config.java @@ -0,0 +1,99 @@ +package gtPlusPlus.nei; + +import java.util.Arrays; + +import net.minecraft.item.ItemStack; + +import codechicken.nei.api.API; +import codechicken.nei.api.IConfigureNEI; +import codechicken.nei.event.NEIRegisterHandlerInfosEvent; +import codechicken.nei.recipe.HandlerInfo; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import gregtech.api.enums.Mods; +import gregtech.api.recipe.RecipeMaps; +import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; +import gtPlusPlus.core.block.ModBlocks; +import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.core.util.Utils; +import gtPlusPlus.core.util.minecraft.ItemUtils; +import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; + +public class NEI_GTPP_Config implements IConfigureNEI { + + public static boolean sIsAdded = true; + + @Override + public synchronized void loadConfig() { + sIsAdded = false; + + Logger.INFO("NEI Registration: Registering NEI handler for " + DecayableRecipeHandler.mNEIName); + API.registerRecipeHandler(new DecayableRecipeHandler()); + API.registerUsageHandler(new DecayableRecipeHandler()); + API.addRecipeCatalyst(new ItemStack(ModBlocks.blockDecayablesChest, 1), "GTPP_Decayables"); + + Logger.INFO("NEI Registration: Registering NEI handler for " + GT_NEI_LFTR_Sparging.mNEIName); + new GT_NEI_LFTR_Sparging(); + API.addRecipeCatalyst(GregtechItemList.Controller_Sparge_Tower.get(1), "gtpp.recipe.lftr.sparging"); + + for (GregtechItemList item : Arrays.asList( + GregtechItemList.GT4_Electric_Auto_Workbench_LV, + GregtechItemList.GT4_Electric_Auto_Workbench_MV, + GregtechItemList.GT4_Electric_Auto_Workbench_HV, + GregtechItemList.GT4_Electric_Auto_Workbench_EV, + GregtechItemList.GT4_Electric_Auto_Workbench_IV, + GregtechItemList.GT4_Electric_Auto_Workbench_LuV, + GregtechItemList.GT4_Electric_Auto_Workbench_ZPM, + GregtechItemList.GT4_Electric_Auto_Workbench_UV)) { + API.addRecipeCatalyst(item.get(1), "crafting", -10); + } + // Bronze workbench + API.removeRecipeCatalyst(ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:31081", 1), "crafting"); + API.removeRecipeCatalyst(ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:31082", 1), "crafting"); + + // Moved to its own handler + API.removeRecipeCatalyst( + GregtechItemList.Controller_Vacuum_Furnace.get(1), + GTPPRecipeMaps.chemicalDehydratorRecipes.unlocalizedName); + + // ULV simple washer + API.removeRecipeCatalyst( + ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:767", 1), + GTPPRecipeMaps.simpleWasherRecipes.unlocalizedName); + + // ULV combustion generator + API.removeRecipeCatalyst( + ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:960", 1), + RecipeMaps.dieselFuels.unlocalizedName); + + // ULV gas turbine + API.removeRecipeCatalyst( + ItemUtils.getItemStackFromFQRN("gregtech:gt.blockmachines:961", 1), + RecipeMaps.gasTurbineFuels.unlocalizedName); + + // Hide Flasks + if (Utils.isClient()) { + API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_8k.get(1)); + API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_32k.get(1)); + } + sIsAdded = true; + } + + @SubscribeEvent + public void registerHandlerInfo(NEIRegisterHandlerInfosEvent event) { + event.registerHandlerInfo( + new HandlerInfo.Builder("gtpp.recipe.lftr.sparging", CORE.name, Mods.GTPlusPlus.ID) + .setDisplayStack(GregtechItemList.Controller_Sparge_Tower.get(1)).setShiftY(6).setHeight(135) + .setMaxRecipesPerPage(1).build()); + } + + @Override + public String getName() { + return "GT++ NEI Plugin"; + } + + @Override + public String getVersion() { + return "(1.12)"; + } +} diff --git a/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java b/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java deleted file mode 100644 index 92d19b3630..0000000000 --- a/src/main/java/gtPlusPlus/nei/NEI_GT_Config.java +++ /dev/null @@ -1,41 +0,0 @@ -package gtPlusPlus.nei; - -import codechicken.nei.api.API; -import codechicken.nei.api.IConfigureNEI; -import gtPlusPlus.api.objects.Logger; -import gtPlusPlus.core.util.Utils; -import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; - -public class NEI_GT_Config implements IConfigureNEI { - - public static boolean sIsAdded = true; - - @Override - public synchronized void loadConfig() { - sIsAdded = false; - - Logger.INFO("NEI Registration: Registering NEI handler for " + DecayableRecipeHandler.mNEIName); - API.registerRecipeHandler(new DecayableRecipeHandler()); - API.registerUsageHandler(new DecayableRecipeHandler()); - - Logger.INFO("NEI Registration: Registering NEI handler for " + GT_NEI_LFTR_Sparging.mNEIName); - new GT_NEI_LFTR_Sparging(); - - // Hide Flasks - if (Utils.isClient()) { - codechicken.nei.api.API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_8k.get(1)); - codechicken.nei.api.API.addItemListEntry(GregtechItemList.VOLUMETRIC_FLASK_32k.get(1)); - } - sIsAdded = true; - } - - @Override - public String getName() { - return "GT++ NEI Plugin"; - } - - @Override - public String getVersion() { - return "(1.12)"; - } -} diff --git a/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java b/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java deleted file mode 100644 index b7058889a1..0000000000 --- a/src/main/java/gtPlusPlus/nei/NEI_IMC_Sender.java +++ /dev/null @@ -1,134 +0,0 @@ -package gtPlusPlus.nei; - -import static gregtech.api.enums.Mods.AdvancedSolarPanel; -import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.enums.Mods.NotEnoughItems; - -import net.minecraft.nbt.NBTTagCompound; - -import cpw.mods.fml.common.event.FMLInterModComms; - -public class NEI_IMC_Sender { - - public static void IMCSender() { - // NEI jar is using some outdated handler names - sendHandler("gtpp.recipe.alloyblastsmelter", "gregtech:gt.blockmachines:810", 2); - sendCatalyst("gtpp.recipe.alloyblastsmelter", "gregtech:gt.blockmachines:31150"); - sendHandler("gtpp.recipe.rocketenginefuel", "gregtech:gt.blockmachines:793"); - sendHandler("gtpp.recipe.cyclotron", "gregtech:gt.blockmachines:828"); - sendHandler("gtpp.recipe.chemicaldehydrator", "gregtech:gt.blockmachines:911"); - sendHandler("gtpp.recipe.slowfusionreactor", "gregtech:gt.blockmachines:31015"); - sendHandler("gtpp.recipe.RTGgenerators", "gregtech:gt.blockmachines:869"); - sendHandler("gtpp.recipe.cokeoven", "gregtech:gt.blockmachines:791"); - sendHandler("gtpp.recipe.semifluidgeneratorfuels", "gregtech:gt.blockmachines:837"); - sendHandler("gtpp.recipe.fishpond", "gregtech:gt.blockmachines:829", 1); - sendHandler("gtpp.recipe.multimixer", "gregtech:gt.blockmachines:811"); - sendHandler("gtpp.recipe.advanced.mixer", "gregtech:gt.blockmachines:811"); - sendHandler("gtpp.recipe.cryogenicfreezer", "gregtech:gt.blockmachines:910"); - sendHandler("gtpp.recipe.matterfab2", "gregtech:gt.blockmachines:799"); - sendHandler("gtpp.recipe.multicentrifuge", "gregtech:gt.blockmachines:790", 1); - sendHandler("gtpp.recipe.multielectro", "gregtech:gt.blockmachines:796", 1); - sendHandler("gtpp.recipe.simplewasher", "gregtech:gt.blockmachines:767"); - sendHandler("gtpp.recipe.vacfurnace", "gregtech:gt.blockmachines:995", 1); - sendHandler("gtpp.recipe.fissionfuel", "gregtech:gt.blockmachines:835", 1); - sendHandler("gtpp.recipe.lftr", "gregtech:gt.blockmachines:751", 1); - sendHandler("gtpp.recipe.lftr.sparging", "gregtech:gt.blockmachines:31035", 1); - sendHandler("gtpp.recipe.oremill", "gregtech:gt.blockmachines:31027", 1); - sendHandler("gtpp.recipe.flotationcell", "gregtech:gt.blockmachines:31028", 1); - sendHandler("gtpp.recipe.fluidchemicaleactor", "gregtech:gt.blockmachines:998"); - - sendCatalyst("GTPP_Decayables", "miscutils:blockDecayablesChest"); - - sendHandler("gtpp.recipe.geothermalfuel", "gregtech:gt.blockmachines:830"); - sendCatalyst("gtpp.recipe.geothermalfuel", "gregtech:gt.blockmachines:830"); - - sendHandler("gtpp.recipe.thermalgeneratorfuel", "gregtech:gt.blockmachines:875", 1); - sendCatalyst("gtpp.recipe.thermalgeneratorfuel", "gregtech:gt.blockmachines:875"); - - sendHandler("gtpp.recipe.solartower", "gregtech:gt.blockmachines:863", 1); - sendCatalyst("gtpp.recipe.solartower", "gregtech:gt.blockmachines:863"); - - sendHandler("gtpp.recipe.coldtrap", "gregtech:gt.blockmachines:31034"); - sendCatalyst("gtpp.recipe.coldtrap", "gregtech:gt.blockmachines:31033"); - sendCatalyst("gtpp.recipe.coldtrap", "gregtech:gt.blockmachines:31034"); - - sendHandler("gtpp.recipe.reactorprocessingunit", "gregtech:gt.blockmachines:31032"); - sendCatalyst("gtpp.recipe.reactorprocessingunit", "gregtech:gt.blockmachines:31031"); - sendCatalyst("gtpp.recipe.reactorprocessingunit", "gregtech:gt.blockmachines:31032"); - - sendHandler("gtpp.recipe.nuclearsaltprocessingplant", "gregtech:gt.blockmachines:749"); - sendCatalyst("gtpp.recipe.nuclearsaltprocessingplant", "gregtech:gt.blockmachines:749"); - - sendHandler("gtpp.recipe.treefarm", "gregtech:gt.blockmachines:836"); - sendCatalyst("gtpp.recipe.treefarm", "gregtech:gt.blockmachines:836"); - - sendHandler("gtpp.recipe.quantumforcesmelter", "gregtech:gt.blockmachines:31151"); - sendCatalyst("gtpp.recipe.quantumforcesmelter", "gregtech:gt.blockmachines:31151"); - - if (AdvancedSolarPanel.isModLoaded()) { - sendHandler("gtpp.recipe.moleculartransformer", "AdvancedSolarPanel:BlockMolecularTransformer"); - sendCatalyst("gtpp.recipe.moleculartransformer", "gregtech:gt.blockmachines:31072"); - } - - sendCatalyst("gt.recipe.replicator", "gregtech:gt.blockmachines:31050"); - sendCatalyst("gt.recipe.gasturbinefuel", "gregtech:gt.blockmachines:31073", -20); - sendCatalyst("gt.recipe.plasmageneratorfuels", "gregtech:gt.blockmachines:31074", -20); - sendCatalyst("gt.recipe.hammer", "gregtech:gt.blockmachines:31075"); - sendCatalyst("gt.recipe.fluidheater", "gregtech:gt.blockmachines:31077"); - sendCatalyst("gt.recipe.compressor", "gregtech:gt.blockmachines:31078"); - - sendCatalyst("crafting", "gregtech:gt.blockmachines:31081", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31082", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31091", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31092", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31093", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31094", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31095", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31096", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31097", -10); - sendCatalyst("crafting", "gregtech:gt.blockmachines:31098", -10); - - sendHandler("gtpp.recipe.multidehydrator", "gregtech:gt.blockmachines:995"); - sendCatalyst("gtpp.recipe.multidehydrator", "gregtech:gt.blockmachines:995"); - sendRemoveCatalyst("gtpp.recipe.chemicaldehydrator", "gregtech:gt.blockmachines:995"); - - sendCatalyst("gt.recipe.fusionreactor", "gregtech:gt.blockmachines:975"); - } - - private static void sendHandler(String aRecipeName, String aBlock) { - sendHandler(aRecipeName, aBlock, 2); - } - - private static void sendHandler(String aRecipeName, String aBlock, int aRecipesPerPage) { - NBTTagCompound aNBT = new NBTTagCompound(); - aNBT.setString("handler", aRecipeName); - aNBT.setString("modName", "GT++"); - aNBT.setString("modId", GTPlusPlus.ID); - aNBT.setBoolean("modRequired", true); - aNBT.setString("itemName", aBlock); - aNBT.setInteger("yShift", 6); - aNBT.setInteger("handlerHeight", 135); - aNBT.setInteger("handlerWidth", 166); - aNBT.setInteger("maxRecipesPerPage", aRecipesPerPage); - FMLInterModComms.sendMessage(NotEnoughItems.ID, "registerHandlerInfo", aNBT); - } - - 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.ID, "registerCatalystInfo", aNBT); - } - - private static void sendCatalyst(String aName, String aStack) { - sendCatalyst(aName, aStack, 0); - } - - private static void sendRemoveCatalyst(String aName, String aStack) { - NBTTagCompound aNBT = new NBTTagCompound(); - aNBT.setString("handlerID", aName); - aNBT.setString("itemName", aStack); - FMLInterModComms.sendMessage(NotEnoughItems.ID, "removeCatalystInfo", aNBT); - } -} diff --git a/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java b/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java index 1ddf672f02..f81c01ffaf 100644 --- a/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java +++ b/src/main/java/gtPlusPlus/plugin/agrichem/BioRecipes.java @@ -2,15 +2,15 @@ import static gregtech.api.enums.Mods.Forestry; 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.sBlastRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistilleryRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes; -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.sLatheRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sMultiblockChemicalRecipes; +import static gregtech.api.recipe.RecipeMaps.assemblerRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.distilleryRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; +import static gregtech.api.recipe.RecipeMaps.extruderRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.latheRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.multiblockChemicalReactorRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -233,7 +233,7 @@ private static void recipeGreenAlgae() { // Compost GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 4)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)).duration(20 * SECONDS).eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); // Turn into Cellulose GT_Values.RA.stdBuilder() @@ -241,19 +241,19 @@ private static void recipeGreenAlgae() { getGreenAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mGreenAlgaeBiosmass, 10)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 5)) - .duration(7 * SECONDS + 10 * TICKS).eut(16).addTo(sAssemblerRecipes); + .duration(7 * SECONDS + 10 * TICKS).eut(16).addTo(assemblerRecipes); } private static void recipeBrownAlgae() { // Compost GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 2)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)).duration(20 * SECONDS).eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); // Alginic acid GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 10)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mAlginicAcid, 2)).duration(2 * SECONDS) - .eut(TierEU.RECIPE_LV).addTo(sExtractorRecipes); + .eut(TierEU.RECIPE_LV).addTo(extractorRecipes); // Lithium Chloride GT_Values.RA.stdBuilder() @@ -261,7 +261,7 @@ private static void recipeBrownAlgae() { getBrownAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mBrownAlgaeBiosmass, 20)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mLithiumChloride, 5)).duration(6 * SECONDS) - .eut(TierEU.RECIPE_MV).metadata(COIL_HEAT, 1200).addTo(sBlastRecipes); + .eut(TierEU.RECIPE_MV).metadata(COIL_HEAT, 1200).addTo(blastFurnaceRecipes); // Sodium Carbonate GT_Values.RA.stdBuilder() @@ -277,7 +277,7 @@ private static void recipeGoldenBrownAlgae() { // Compost GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 1)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)).duration(20 * SECONDS).eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); // Turn into Cellulose GT_Values.RA.stdBuilder() @@ -285,20 +285,20 @@ private static void recipeGoldenBrownAlgae() { getGoldenBrownAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownAlgaeBiosmass, 10)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 5)) - .duration(7 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_MV).addTo(sAssemblerRecipes); + .duration(7 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_MV).addTo(assemblerRecipes); } private static void recipeRedAlgae() { // Compost GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 1)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 2)).duration(20 * SECONDS).eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); // Turn into Cellulose GT_Values.RA.stdBuilder() .itemInputs(getRedAlgaeRecipeChip(), ItemUtils.getSimpleStack(AgriculturalChem.mRedAlgaeBiosmass, 10)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 5)) - .duration(7 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_HV / 2).addTo(sAssemblerRecipes); + .duration(7 * SECONDS + 10 * TICKS).eut(TierEU.RECIPE_HV / 2).addTo(assemblerRecipes); } private static void recipeCelluloseFibre() { @@ -314,17 +314,17 @@ private static void recipeCelluloseFibre() { GT_Values.RA.stdBuilder() .itemInputs(getBioChip(2), ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 12)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 24)) - .duration(2 * SECONDS + 8 * TICKS).eut(8).addTo(sAssemblerRecipes); + .duration(2 * SECONDS + 8 * TICKS).eut(8).addTo(assemblerRecipes); // Methanol Extraction GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 12)) .fluidOutputs(Materials.Methanol.getFluid(1000L)).duration(7 * SECONDS + 10 * TICKS) - .eut(TierEU.RECIPE_LV).addTo(sFluidExtractionRecipes); + .eut(TierEU.RECIPE_LV).addTo(fluidExtractionRecipes); // Compost GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 3)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mCompost, 1)).duration(20 * SECONDS).eut(2) - .addTo(sMaceratorRecipes); + .addTo(maceratorRecipes); // Plastic CORE.RA.addChemicalPlantRecipe( @@ -357,17 +357,17 @@ private static void recipeWoodPellets() { ItemUtils.getSimpleStack(AgriculturalChem.mCelluloseFiber, 12), ItemUtils.getSimpleStack(AgriculturalChem.mPelletMold, 0)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 3)).duration(10 * SECONDS).eut(16) - .addTo(sExtruderRecipes); + .addTo(extruderRecipes); // Assembly Recipe GT_Values.RA.stdBuilder().itemInputs(getBioChip(2), ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 8)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodBrick, 2)).duration(5 * SECONDS).eut(8) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); // CO2 GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodPellet, 1)) .fluidOutputs(FluidUtils.getFluidStack(mCarbonDioxide, 70)).duration(10 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); // Add Charcoal Recipe if (Railcraft.isModLoaded()) { @@ -395,7 +395,7 @@ private static void recipeWoodBricks() { GT_Values.RA.stdBuilder() .itemInputs(getBioChip(3), ItemUtils.getOrePrefixStack(OrePrefixes.dust, Materials.Wood, 50)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mWoodBrick, 1)) - .duration(1 * MINUTES + 40 * SECONDS).eut(16).addTo(sAssemblerRecipes); + .duration(1 * MINUTES + 40 * SECONDS).eut(16).addTo(assemblerRecipes); } private static void recipeCellulosePulp() { @@ -404,7 +404,7 @@ private static void recipeCellulosePulp() { GT_Values.RA.stdBuilder() .itemInputs(getBioChip(2), ItemUtils.getSimpleStack(AgriculturalChem.mCellulosePulp, 4)) .itemOutputs(ItemUtils.getSimpleStack(Items.paper, 4)).duration(2 * SECONDS).eut(16) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private static void recipeCatalystCarrier() { @@ -415,7 +415,7 @@ private static void recipeCatalystCarrier() { GT_OreDictUnificator.get(OrePrefixes.plate, Materials.Steel, 8L), GT_OreDictUnificator.get(OrePrefixes.wireFine, Materials.Copper, 4L), GT_OreDictUnificator.get(OrePrefixes.screw, Materials.Tin, 6L)) - .itemOutputs(CI.getEmptyCatalyst(1)).duration(5 * MINUTES).eut(16).addTo(sAssemblerRecipes); + .itemOutputs(CI.getEmptyCatalyst(1)).duration(5 * MINUTES).eut(16).addTo(assemblerRecipes); } private static void recipeAluminiumSilverCatalyst() { @@ -427,7 +427,7 @@ private static void recipeAluminiumSilverCatalyst() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Silver, 4L)) .itemOutputs(CI.getGreenCatalyst(10)).duration(20 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sAssemblerRecipes); + .addTo(assemblerRecipes); } private static void recipeAceticAcid() { @@ -614,19 +614,19 @@ private static void recipeEthanol() { GT_Values.RA.stdBuilder().itemInputs(BioRecipes.getBioChip(2)) .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mFermentationBase, 1000)) .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mEthanol, 100)).duration(20 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sDistilleryRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(distilleryRecipes); } private static void recipeGoldenBrownCelluloseFiber() { GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mGoldenBrownCelluloseFiber, 5)) .fluidOutputs(Materials.Ammonia.getGas(500)).duration(15 * SECONDS).eut(TierEU.RECIPE_MV) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); } private static void recipeRedCelluloseFiber() { GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getSimpleStack(AgriculturalChem.mRedCelluloseFiber, 3)) .itemOutputs(ItemUtils.getSimpleStack(ModItems.dustCalciumCarbonate, 5)).duration(5 * SECONDS) - .eut(TierEU.RECIPE_HV / 2).addTo(sExtractorRecipes); + .eut(TierEU.RECIPE_HV / 2).addTo(extractorRecipes); } private static void recipeSodiumHydroxide() { @@ -683,7 +683,7 @@ private static void recipeSodiumCarbonate() { private static void recipePelletMold() { GregtechItemList.Pellet_Mold.set(ItemUtils.getSimpleStack(AgriculturalChem.mPelletMold, 1)); GT_Values.RA.stdBuilder().itemInputs(ALLOY.TUMBAGA.getBlock(1)).itemOutputs(GregtechItemList.Pellet_Mold.get(1)) - .duration(7 * MINUTES + 30 * SECONDS).eut(TierEU.RECIPE_MV / 4 * 3).addTo(sLatheRecipes); + .duration(7 * MINUTES + 30 * SECONDS).eut(TierEU.RECIPE_MV / 4 * 3).addTo(latheRecipes); } private static void recipeAluminiumPellet() { @@ -766,7 +766,7 @@ private static void recipeAluminiumPellet() { ItemUtils.getSimpleStack(AgriculturalChem.mCleanAluminiumMix, 3), ItemUtils.getSimpleStack(AgriculturalChem.mPelletMold, 0)) .itemOutputs(ItemUtils.getSimpleStack(AgriculturalChem.mAluminiumPellet, 4)).duration(30 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sExtruderRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(extruderRecipes); } private static void recipeAlumina() { @@ -779,7 +779,7 @@ private static void recipeAlumina() { ItemUtils.getSimpleStack(AgriculturalChem.mAlumina, 5), ItemUtils.getSimpleStack(AgriculturalChem.mSodiumCarbonate, 12)) .fluidInputs(Materials.CarbonDioxide.getGas(2000L)).duration(40 * SECONDS).eut(TierEU.RECIPE_MV) - .metadata(COIL_HEAT, 1200).addTo(sBlastRecipes); + .metadata(COIL_HEAT, 1200).addTo(blastFurnaceRecipes); } private static void recipeAluminium() { @@ -790,7 +790,7 @@ private static void recipeAluminium() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Carbon, 3L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Aluminium, 4L)) .fluidOutputs(Materials.CarbonDioxide.getGas(3000L)).duration(2 * MINUTES).eut(TierEU.RECIPE_MV) - .metadata(COIL_HEAT, 1600).addTo(sBlastRecipes); + .metadata(COIL_HEAT, 1600).addTo(blastFurnaceRecipes); } private static void recipeLithiumChloride() { @@ -808,7 +808,7 @@ private static void recipeLithiumChloride() { .outputChances(7500, 8000, 8500, 9000, 7500, 8500) .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mAir, 4000)) .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mChlorine, 500)).duration(1 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_MV / 2).addTo(sMultiblockChemicalRecipes); + .eut(TierEU.RECIPE_MV / 2).addTo(multiblockChemicalReactorRecipes); if (OreDictUtils.containsValidEntries("dustPotash")) { GT_Values.RA.stdBuilder() .itemInputs( @@ -824,7 +824,7 @@ private static void recipeLithiumChloride() { .outputChances(7500, 8000, 8500, 9000, 9000, 9000) .fluidInputs(FluidUtils.getFluidStack(BioRecipes.mThermalWater, 2000)) .fluidOutputs(FluidUtils.getFluidStack(BioRecipes.mChlorine, 250)).duration(1 * MINUTES) - .eut(TierEU.RECIPE_MV).addTo(sMultiblockChemicalRecipes); + .eut(TierEU.RECIPE_MV).addTo(multiblockChemicalReactorRecipes); } } diff --git a/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java b/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java index 9aabff7a99..f3c6b10cb3 100644 --- a/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java +++ b/src/main/java/gtPlusPlus/recipes/CokeAndPyrolyseOven.java @@ -7,6 +7,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.OrePrefixes; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; @@ -62,7 +63,7 @@ public static void postInit() { private static void convertPyroToCokeOven() { int aCount = 0; - for (GT_Recipe g : GT_Recipe.GT_Recipe_Map.sPyrolyseRecipes.mRecipeList) { + for (GT_Recipe g : RecipeMaps.pyrolyseRecipes.getAllRecipes()) { if (AddGregtechRecipe.importPyroRecipe(g)) { aCount++; } diff --git a/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java b/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java index 16d99494d3..b61400e1d5 100644 --- a/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java +++ b/src/main/java/gtPlusPlus/recipes/RecipeRemovals.java @@ -6,7 +6,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; import org.apache.commons.lang3.ArrayUtils; @@ -14,7 +13,7 @@ import gregtech.api.enums.Materials; import gregtech.api.enums.Mods; import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Recipe; import gregtech.common.items.GT_MetaGenerated_Tool_01; import gtPlusPlus.api.objects.Logger; @@ -32,7 +31,6 @@ public static void postInit() { public static void onLoadComplete() { removeCrudeTurbineRotors(); - removeGTRareEarthRecipe(); } // Doesn't actually remove recipes, just hide them @@ -40,7 +38,7 @@ private static void removeCrudeTurbineRotors() { int aRemoved = 0; int CUT = CORE.turbineCutoffBase; Item aU; - Collection aAssRecipes = GT_Recipe.GT_Recipe_Map.sAssemblerRecipes.mRecipeList; + Collection aAssRecipes = RecipeMaps.assemblerRecipes.getAllRecipes(); // 170, 172, 174, 176 if (aAssRecipes.size() > 0) { for (GT_Recipe aG : aAssRecipes) { @@ -106,27 +104,4 @@ private static void removeCrudeTurbineRotors() { Logger.INFO("Removed " + aRemoved + " useless Turbines."); } - - private static void removeGTRareEarthRecipe() { - - Logger.INFO("Processing Gregtech recipe maps, removing recipes to suit GT++."); - // Remove Rare Earth Centrifuging - // 1 Rare Earth Dust - 25% chance for small piles of: neodymium, yttrium, lanthanum, cerium, cadmium, and - // caesium - // Replaced by advanced sifting recipe. - GT_Recipe aRareEarthCentrifuging = GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.findRecipe( - null, - false, - 20, - new FluidStack[] {}, - new ItemStack[] { ItemUtils.getItemStackOfAmountFromOreDict("dustRareEarth", 1) }); - if (aRareEarthCentrifuging != null && aRareEarthCentrifuging.mEnabled) { - aRareEarthCentrifuging.mEnabled = false; - aRareEarthCentrifuging.mHidden = true; - GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes.mRecipeList.remove(aRareEarthCentrifuging); - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes_GT.mRecipeList.remove(aRareEarthCentrifuging); - Logger.INFO("Removed vanilla GT Rare Earth processing."); - } - - } } diff --git a/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java b/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java index 406267e03e..3266f1b349 100644 --- a/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java +++ b/src/main/java/gtPlusPlus/xmod/bop/blocks/BOP_Block_Registrator.java @@ -1,6 +1,6 @@ package gtPlusPlus.xmod.bop.blocks; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCutterRecipes; +import static gregtech.api.recipe.RecipeMaps.cutterRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.loaders.oreprocessing.ProcessingLog.addPyrolyeOvenRecipes; @@ -126,7 +126,7 @@ public static void addLogRecipes(final ItemStack aStack) { : (((long) tStack.stackSize) * 5L / 4), tStack), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L)) - .duration(10 * SECONDS).eut(8).addTo(sCutterRecipes); + .duration(10 * SECONDS).eut(8).addTo(cutterRecipes); GT_ModHandler.removeRecipe(new ItemStack(aStack.getItem(), 1, i)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( @@ -153,7 +153,7 @@ public static void addLogRecipes(final ItemStack aStack) { : (((long) tStack2.stackSize) * 5L / 4), tStack2), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Wood, 2L)) - .duration(10 * SECONDS).eut(8).addTo(sCutterRecipes); + .duration(10 * SECONDS).eut(8).addTo(cutterRecipes); GT_ModHandler.removeRecipe(GT_Utility.copyAmount(1L, aStack)); GT_ModHandler.addCraftingRecipe( GT_Utility.copyAmount( diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java index 75e9b459b8..9267a32950 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/GTPP_Bees.java @@ -1,7 +1,7 @@ package gtPlusPlus.xmod.forestry.bees.custom; import static gregtech.api.enums.Mods.Forestry; -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; @@ -92,7 +92,7 @@ private void addRecipes() { private void addExtractorRecipe(ItemStack input, FluidStack output) { GT_Values.RA.stdBuilder().itemInputs(input).fluidOutputs(output).duration(1 * SECONDS + 10 * TICKS).eut(8) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); } private static boolean tryGetBeesBoolean() { diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java index 4da7d5eef6..3ada8ce513 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/custom/ItemCustomComb.java @@ -1,7 +1,7 @@ package gtPlusPlus.xmod.forestry.bees.custom; import static gregtech.api.enums.Mods.GTPlusPlus; -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 static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -132,6 +132,6 @@ public void initCombsRecipes() { public void addSpecialCent(ItemStack tComb, ItemStack aOutput, int chance) { GT_Values.RA.stdBuilder().itemInputs(tComb).itemOutputs(aOutput, ItemList.FR_Wax.get(1)) - .outputChances(chance * 100, 3000).duration(6 * SECONDS + 8 * TICKS).eut(5).addTo(sCentrifugeRecipes); + .outputChances(chance * 100, 3000).duration(6 * SECONDS + 8 * TICKS).eut(5).addTo(centrifugeRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java index ca48825dd2..e98eddbc4f 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Drop.java @@ -1,7 +1,7 @@ package gtPlusPlus.xmod.forestry.bees.items.output; import static gregtech.api.enums.Mods.GTPlusPlus; -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 java.util.List; @@ -118,7 +118,7 @@ public static boolean addProcess(ItemStack tDrop, FluidStack aOutput, int aDurat return false; } GT_Values.RA.stdBuilder().itemInputs(tDrop).fluidOutputs(aOutput).duration(aDuration * TICKS).eut(aEUt) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); return true; } } diff --git a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java index a8dd9a88d9..e8bb3aac7e 100644 --- a/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java +++ b/src/main/java/gtPlusPlus/xmod/forestry/bees/items/output/GTPP_Propolis.java @@ -1,7 +1,7 @@ package gtPlusPlus.xmod.forestry.bees.items.output; import static gregtech.api.enums.Mods.GTPlusPlus; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sExtractorRecipes; +import static gregtech.api.recipe.RecipeMaps.extractorRecipes; import static gregtech.api.util.GT_RecipeBuilder.TICKS; import java.util.List; @@ -97,7 +97,7 @@ public static boolean addProcess(ItemStack tDrop, ItemStack aOutput, int aChance return false; } GT_Values.RA.stdBuilder().itemInputs(tDrop).itemOutputs(aOutput).outputChances(aChance) - .duration(aDuration * TICKS).eut(aEUt).addTo(sExtractorRecipes); + .duration(aDuration * TICKS).eut(aEUt).addTo(extractorRecipes); return true; } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java b/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java index 9534c28829..91dd851f84 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/HANDLER_GT.java @@ -5,27 +5,12 @@ import java.util.ArrayList; import java.util.List; -import net.minecraft.item.ItemStack; -import net.minecraftforge.fluids.FluidStack; - import cpw.mods.fml.common.event.FMLLoadCompleteEvent; import gregtech.api.GregTech_API; -import gregtech.api.enums.Element; -import gregtech.api.enums.Materials; -import gregtech.api.enums.OrePrefixes; import gregtech.api.items.GT_MetaGenerated_Tool; -import gregtech.api.util.GTPP_Recipe; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; import gregtech.api.util.GT_Config; -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.items.behaviors.Behaviour_DataOrb; -import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.handler.COMPAT_HANDLER; import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.RecipeUtils; import gtPlusPlus.everglades.gen.gt.WorldGen_GT; import gtPlusPlus.recipes.CokeAndPyrolyseOven; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -34,7 +19,6 @@ import gtPlusPlus.xmod.gregtech.common.Meta_GT_Proxy; import gtPlusPlus.xmod.gregtech.common.blocks.fluid.GregtechFluidHandler; import gtPlusPlus.xmod.gregtech.common.items.MetaGeneratedGregtechTools; -import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMTE_ElementalDuplicator; import gtPlusPlus.xmod.gregtech.loaders.Gregtech_Blocks; import gtPlusPlus.xmod.gregtech.loaders.ProcessingAngleGrinder; import gtPlusPlus.xmod.gregtech.loaders.ProcessingElectricSnips; @@ -103,68 +87,10 @@ public static void postInit() { public static void onLoadComplete(FMLLoadCompleteEvent event) { CokeAndPyrolyseOven.onLoadComplete(); - generateElementalDuplicatorRecipes(); Meta_GT_Proxy.fixIC2FluidNames(); RecipeLoader_AlgaeFarm.generateRecipes(); if (AdvancedSolarPanel.isModLoaded()) { RecipeLoader_MolecularTransformer.run(); } } - - private static void generateElementalDuplicatorRecipes() { - for (GT_Recipe aRecipe : GT_Recipe_Map.sReplicatorFakeRecipes.mRecipeList) { - Object aDataOrb = aRecipe.mSpecialItems; - if (aDataOrb != null) { - ItemStack aOutput = aRecipe.mOutputs[0]; - if (aOutput != null) { - FluidStack aFluid = aRecipe.mFluidInputs[0]; - if (aFluid != null && aFluid.amount > 0) { - ItemStack tDataOrb = GregtechMTE_ElementalDuplicator.getSpecialSlotStack(aRecipe); - Materials tMaterial = Element.get(Behaviour_DataOrb.getDataName(tDataOrb)).mLinkedMaterials - .get(0); - FluidStack aOutputFluid = null; - ItemStack aOutputItem = null; - if (tMaterial != null) { - boolean aUsingFluid = false; - if ((aOutputItem = GT_OreDictUnificator.get(OrePrefixes.dust, tMaterial, 1L)) == null) { - if ((aOutputItem = GT_OreDictUnificator.get(OrePrefixes.cell, tMaterial, 1L)) != null) { - aOutputFluid = GT_Utility.getFluidForFilledItem(aOutputItem, true); - aUsingFluid = true; - } - } - GTPP_Recipe aNewRecipe = new GTPP_Recipe( - false, - new ItemStack[] {}, - new ItemStack[] { !aUsingFluid ? aOutputItem : null }, - aRecipe.mSpecialItems, - null, - aRecipe.mFluidInputs, - new FluidStack[] { aUsingFluid ? aOutputFluid : null }, - aRecipe.mDuration, - aRecipe.mEUt, - aRecipe.mFluidInputs[0].amount); - GTPP_Recipe_Map.sElementalDuplicatorRecipes.add(aNewRecipe); - - Logger.INFO( - "[EM] Generated recipe for " + tMaterial.mLocalizedName - + ", Outputs " - + (aUsingFluid ? "Fluid" : "Dust")); - } - } else { - Logger.INFO("[EM] Bad UU Requirement. " + RecipeUtils.getRecipeInfo(aRecipe)); - } - } else { - Logger.INFO("[EM] Bad Output. " + RecipeUtils.getRecipeInfo(aRecipe)); - } - } else { - Logger.INFO("[EM] Bad Data Orb. " + RecipeUtils.getRecipeInfo(aRecipe)); - } - } - int aSize = GTPP_Recipe_Map.sElementalDuplicatorRecipes.mRecipeList.size(); - Logger.INFO( - "[EM] Generated " + aSize - + "/" - + GT_Recipe_Map.sReplicatorFakeRecipes.mRecipeList.size() - + " Replicator recipes."); - } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java index 68aaa75aa1..2d534a493d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_ElementalDataOrbHolder.java @@ -20,7 +20,6 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -29,8 +28,6 @@ public class GT_MetaTileEntity_Hatch_ElementalDataOrbHolder extends GT_MetaTileEntity_Hatch implements IConfigurationCircuitSupport { - public GT_Recipe_Map mRecipeMap = null; - public GT_MetaTileEntity_Hatch_ElementalDataOrbHolder(int aID, String aName, String aNameRegional, int aTier) { super( aID, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java index 254c81a515..46d6917beb 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_InputBattery.java @@ -18,8 +18,8 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.gui.widget.ElectricSlotWidget; @@ -27,7 +27,7 @@ public class GT_MetaTileEntity_Hatch_InputBattery extends GT_MetaTileEntity_Hatch { - public final GT_Recipe_Map mRecipeMap = null; + public final RecipeMap mRecipeMap = null; public GT_MetaTileEntity_Hatch_InputBattery(int aID, String aName, String aNameRegional, int aTier) { super(aID, aName, aNameRegional, aTier, getSlots(aTier), "Chargeable Item Bus for Multiblocks"); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java index 47e30ab50c..0122b1b0c8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Hatch_Steam_BusInput.java @@ -19,14 +19,14 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.objects.GT_RenderedTexture; +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; import gtPlusPlus.core.lib.CORE; public class GT_MetaTileEntity_Hatch_Steam_BusInput extends GT_MetaTileEntity_Hatch { - public GT_Recipe_Map mRecipeMap = null; + public RecipeMap mRecipeMap = null; public boolean disableSort; public GT_MetaTileEntity_Hatch_Steam_BusInput(int aID, String aName, String aNameRegional, int aTier) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java index aa7422a79b..caf96ebf4f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_MultiBlockBase.java @@ -69,9 +69,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; +import gregtech.api.recipe.RecipeMap; 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.IGT_HatchAdder; import gregtech.common.items.GT_MetaGenerated_Tool_01; @@ -391,7 +391,7 @@ public void log(String s) { @Override protected void setProcessingLogicPower(ProcessingLogic logic) { - logic.setAvailableVoltage(GT_Utility.roundDownVoltage(this.getMaxInputVoltage())); + logic.setAvailableVoltage(GT_Utility.roundUpVoltage(this.getMaxInputVoltage())); logic.setAvailableAmperage(1L); } @@ -809,7 +809,7 @@ public boolean resetRecipeMapForAllInputHatches() { return resetRecipeMapForAllInputHatches(this.getRecipeMap()); } - public boolean resetRecipeMapForAllInputHatches(GT_Recipe_Map aMap) { + public boolean resetRecipeMapForAllInputHatches(RecipeMap aMap) { int cleared = 0; for (GT_MetaTileEntity_Hatch_Input g : this.mInputHatches) { if (resetRecipeMapForHatch(g, aMap)) { @@ -824,7 +824,7 @@ public boolean resetRecipeMapForAllInputHatches(GT_Recipe_Map aMap) { return cleared > 0; } - public boolean resetRecipeMapForHatch(IGregTechTileEntity aTileEntity, GT_Recipe_Map aMap) { + public boolean resetRecipeMapForHatch(IGregTechTileEntity aTileEntity, RecipeMap aMap) { try { final IMetaTileEntity aMetaTileEntity = getMetaTileEntity(aTileEntity); if (aMetaTileEntity == null) { @@ -843,7 +843,7 @@ public boolean resetRecipeMapForHatch(IGregTechTileEntity aTileEntity, GT_Recipe } } - public boolean resetRecipeMapForHatch(GT_MetaTileEntity_Hatch aTileEntity, GT_Recipe_Map aMap) { + public boolean resetRecipeMapForHatch(GT_MetaTileEntity_Hatch aTileEntity, RecipeMap aMap) { if (aTileEntity == null) { return false; } @@ -854,24 +854,24 @@ public boolean resetRecipeMapForHatch(GT_MetaTileEntity_Hatch aTileEntity, GT_Re if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Input) { ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = null; ((GT_MetaTileEntity_Hatch_Input) aMetaTileEntity).mRecipeMap = aMap; - if (aMap != null && aMap.mNEIName != null) { - log("Remapped Input Hatch to " + aMap.mNEIName + "."); + if (aMap != null) { + log("Remapped Input Hatch to " + aMap.unlocalizedName + "."); } else { log("Cleared Input Hatch."); } } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_InputBus) { ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = null; ((GT_MetaTileEntity_Hatch_InputBus) aMetaTileEntity).mRecipeMap = aMap; - if (aMap != null && aMap.mNEIName != null) { - log("Remapped Input Bus to " + aMap.mNEIName + "."); + if (aMap != null) { + log("Remapped Input Bus to " + aMap.unlocalizedName + "."); } else { log("Cleared Input Bus."); } } else { ((GT_MetaTileEntity_Hatch_Steam_BusInput) aMetaTileEntity).mRecipeMap = null; ((GT_MetaTileEntity_Hatch_Steam_BusInput) aMetaTileEntity).mRecipeMap = aMap; - if (aMap != null && aMap.mNEIName != null) { - log("Remapped Input Bus to " + aMap.mNEIName + "."); + if (aMap != null) { + log("Remapped Input Bus to " + aMap.unlocalizedName + "."); } else { log("Cleared Input Bus."); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java index 7b88f718b5..55288bc85c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/GregtechMeta_SteamMultiBase.java @@ -23,8 +23,8 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_HatchElementBuilder; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.api.util.IGT_HatchAdder; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -161,7 +161,9 @@ public boolean addToMachineList(final IGregTechTileEntity aTileEntity, final int log("Adding Steam Input Hatch"); aDidAdd = addToMachineListInternal(mSteamInputFluids, aMetaTileEntity, aBaseCasingIndex); } else if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_Steam_BusInput) { - log("Trying to set recipe map. Type: " + (getRecipeMap() != null ? getRecipeMap().mNEIName : "Null")); + log( + "Trying to set recipe map. Type: " + + (getRecipeMap() != null ? getRecipeMap().unlocalizedName : "Null")); this.resetRecipeMapForHatch(aTileEntity, getRecipeMap()); log("Adding Steam Input Bus"); aDidAdd = addToMachineListInternal(mSteamInputs, aMetaTileEntity, aBaseCasingIndex); @@ -317,7 +319,7 @@ public void clearHatches() { } @Override - public boolean resetRecipeMapForAllInputHatches(GT_Recipe.GT_Recipe_Map aMap) { + public boolean resetRecipeMapForAllInputHatches(RecipeMap aMap) { boolean ret = super.resetRecipeMapForAllInputHatches(aMap); for (GT_MetaTileEntity_Hatch_Steam_BusInput hatch : mSteamInputs) { if (resetRecipeMapForHatch(hatch, aMap)) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java index cab45a9a7b..6d898337ac 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/base/generators/GregtechRocketFuelGeneratorBase.java @@ -16,15 +16,16 @@ 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.metatileentity.implementations.GT_MetaTileEntity_BasicTank; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; -public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_BasicTank { +public abstract class GregtechRocketFuelGeneratorBase extends GT_MetaTileEntity_BasicTank implements RecipeMapWorkable { private boolean useFuel = false; protected int pollMin, pollMax; @@ -295,7 +296,8 @@ public int getPollution() { return MathUtils.randInt(pollMin, pollMax); } - public abstract GT_Recipe_Map getRecipes(); + @Override + public abstract RecipeMap getRecipeMap(); public abstract int getEfficiency(); @@ -304,11 +306,11 @@ public int consumedFluidPerOperation(final FluidStack aLiquid) { } public int getFuelValue(final FluidStack aLiquid) { - if ((aLiquid == null) || (this.getRecipes() == null)) { + if ((aLiquid == null) || (this.getRecipeMap() == null)) { return 0; } FluidStack tLiquid; - final Collection tRecipeList = this.getRecipes().mRecipeList; + final Collection tRecipeList = this.getRecipeMap().getAllRecipes(); if (tRecipeList != null) { // Logger.INFO("Step A"); for (final GT_Recipe tFuel : tRecipeList) { @@ -329,10 +331,10 @@ public int getFuelValue(final FluidStack aLiquid) { } public int getFuelValue(final ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack) || (this.getRecipes() == null)) { + if (GT_Utility.isStackInvalid(aStack) || (this.getRecipeMap() == null)) { return 0; } - final GT_Recipe tFuel = this.getRecipes() + final GT_Recipe tFuel = this.getRecipeMap() .findRecipe(this.getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack); if (tFuel != null) { return (int) ((tFuel.mSpecialValue * 1000L * this.getEfficiency()) / 100); @@ -341,10 +343,10 @@ public int getFuelValue(final ItemStack aStack) { } public ItemStack getEmptyContainer(final ItemStack aStack) { - if (GT_Utility.isStackInvalid(aStack) || (this.getRecipes() == null)) { + if (GT_Utility.isStackInvalid(aStack) || (this.getRecipeMap() == null)) { return null; } - final GT_Recipe tFuel = this.getRecipes() + final GT_Recipe tFuel = this.getRecipeMap() .findRecipe(this.getBaseMetaTileEntity(), false, Long.MAX_VALUE, null, aStack); if (tFuel != null) { return GT_Utility.copy(tFuel.getOutput(0)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java index 53c988676f..2ca8b0ba74 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/api/metatileentity/implementations/nbthandlers/GT_MetaTileEntity_Hatch_NbtConsumable.java @@ -16,7 +16,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; @@ -25,7 +24,6 @@ public abstract class GT_MetaTileEntity_Hatch_NbtConsumable extends GT_MetaTileEntity_Hatch implements IAddGregtechLogo { - public GT_Recipe_Map mRecipeMap = null; private final int mInputslotCount; private final int mTotalSlotCount; private final boolean mAllowDuplicateUsageTypes; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java index 030f000710..6eda447410 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GT_MetaTileEntity_SemiFluidGenerator.java @@ -16,11 +16,11 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator; import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; public class GT_MetaTileEntity_SemiFluidGenerator extends GT_MetaTileEntity_BasicGenerator { @@ -62,9 +62,9 @@ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { } @Override - public GT_Recipe.GT_Recipe_Map getRecipes() { + public RecipeMap getRecipeMap() { // Logger.WARNING("Fuel Count: "+Gregtech_Recipe_Map.sSemiFluidLiquidFuels.mRecipeList.size()); - return GTPP_Recipe_Map.sSemiFluidLiquidFuels; + return GTPPRecipeMaps.semiFluidFuels; } @Override @@ -96,7 +96,7 @@ public boolean allowCoverOnSide(ForgeDirection side, GT_ItemStack aCover) { @Override public int getFuelValue(ItemStack aStack) { - if ((GT_Utility.isStackInvalid(aStack)) || (getRecipes() == null)) { + if ((GT_Utility.isStackInvalid(aStack)) || (getRecipeMap() == null)) { Logger.WARNING("Bad Fuel?"); return 0; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java index 601dddb651..8a476fceee 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityGeothermalGenerator.java @@ -17,8 +17,9 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -162,8 +163,8 @@ public ITexture[] getSidesActive(final byte aColor) { } @Override - public GT_Recipe_Map getRecipes() { - return GT_Recipe_Map.sHotFuels; + public RecipeMap getRecipeMap() { + return RecipeMaps.hotFuels; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java index 53f009b430..983e1d7881 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntityRocketFuelGenerator.java @@ -12,9 +12,9 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_ModHandler; -import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.generators.GregtechRocketFuelGeneratorBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -49,8 +49,8 @@ public MetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { } @Override - public GT_Recipe.GT_Recipe_Map getRecipes() { - return GTPP_Recipe.GTPP_Recipe_Map.sRocketFuels; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.rocketFuels; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java index cca69bc5d5..9ad42e350d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/generators/GregtechMetaTileEntity_RTG.java @@ -15,10 +15,11 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicGenerator; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.gregtech.PollutionUtils; @@ -99,7 +100,7 @@ public void loadNBTData(NBTTagCompound aNBT) { final NBTTagCompound data = list.getCompoundTagAt(0); ItemStack lastUsedFuel = ItemStack.loadItemStackFromNBT(data); if (lastUsedFuel != null) { - this.mCurrentRecipe = getRecipes().findRecipe( + this.mCurrentRecipe = getRecipeMap().findRecipe( getBaseMetaTileEntity(), false, 9223372036854775807L, @@ -218,8 +219,8 @@ public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { } @Override - public GT_Recipe.GT_Recipe_Map getRecipes() { - return GTPP_Recipe.GTPP_Recipe_Map.sRTGFuels; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.rtgFuels; } @Override @@ -305,8 +306,8 @@ public int getPollution() { @Override public int getFuelValue(ItemStack aStack) { - if ((GT_Utility.isStackInvalid(aStack)) || (getRecipes() == null)) return 0; - GT_Recipe tFuel = getRecipes() + if ((GT_Utility.isStackInvalid(aStack)) || (getRecipeMap() == null)) return 0; + GT_Recipe tFuel = getRecipeMap() .findRecipe(getBaseMetaTileEntity(), false, 9223372036854775807L, null, new ItemStack[] { aStack }); if (tFuel != null) { this.mCurrentRecipe = tFuel; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java index 27e6eda0b0..80a0aff5ee 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/basic/GregtechMetaTileEntity_AutoChisel.java @@ -7,12 +7,9 @@ import org.apache.commons.lang3.ArrayUtils; +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.api.screen.ModularWindow; -import com.gtnewhorizons.modularui.api.screen.UIBuildContext; -import com.gtnewhorizons.modularui.common.widget.ProgressBar; import com.gtnewhorizons.modularui.common.widget.SlotWidget; import gregtech.api.enums.Textures.BlockIcons; @@ -22,7 +19,7 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Recipe; +import gregtech.api.recipe.BasicUIProperties; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -71,11 +68,6 @@ public String[] getDescription() { "If special slot is empty, first chisel result is used"); } - @Override - public GT_Recipe.GT_Recipe_Map getRecipeList() { - return null; - } - private boolean hasValidCache(ItemStack aStack, ItemStack aSpecialSlot, boolean aClearOnFailure) { if (mInputCache != null && mOutputCache != null) { if (GT_Utility.areStacksEqual(aStack, mInputCache) @@ -174,16 +166,12 @@ public boolean useModularUI() { return true; } + private static final FallbackableUITexture progressBarTexture = GT_UITextures + .fallbackableProgressbar("auto_chisel", GT_UITextures.PROGRESSBAR_COMPRESS); + @Override - public void addUIWidgets(ModularWindow.Builder builder, UIBuildContext buildContext) { - super.addUIWidgets(builder, buildContext); - builder.widget( - createProgressBar( - GT_UITextures.PROGRESSBAR_COMPRESS, - 20, - ProgressBar.Direction.RIGHT, - new Pos2d(78, 24), - new Size(20, 18))); + protected BasicUIProperties getUIProperties() { + return super.getUIProperties().toBuilder().progressBarTexture(progressBarTexture).build(); } @Override @@ -193,8 +181,8 @@ protected SlotWidget createItemInputSlot(int index, IDrawable[] backgrounds, Pos } @Override - protected SlotWidget createSpecialSlot(IDrawable[] backgrounds, Pos2d pos) { - return (SlotWidget) super.createSpecialSlot(backgrounds, pos) + protected SlotWidget createSpecialSlot(IDrawable[] backgrounds, Pos2d pos, BasicUIProperties uiProperties) { + return (SlotWidget) super.createSpecialSlot(backgrounds, pos, uiProperties) .setGTTooltip(() -> mTooltipCache.getData("GTPP.machines.chisel_slot.tooltip")); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java index d8c46e11ce..23e942737c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/misc/GMTE_AmazonPackager.java @@ -22,8 +22,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -108,8 +109,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sBoxinatorRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.packagerRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java index c6fbc3e3c3..0ba3e569cc 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialAlloySmelter.java @@ -27,6 +27,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; @@ -75,8 +77,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sAlloySmelterRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.alloySmelterRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java index ed4da64a85..01a77cfbda 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialArcFurnace.java @@ -11,6 +11,11 @@ import static gregtech.api.enums.GT_HatchElement.OutputHatch; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.Arrays; +import java.util.Collection; + +import javax.annotation.Nonnull; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -29,8 +34,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -183,9 +189,19 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return mPlasmaMode ? GT_Recipe.GT_Recipe_Map.sPlasmaArcFurnaceRecipes - : GT_Recipe.GT_Recipe_Map.sArcFurnaceRecipes; + public RecipeMap getRecipeMap() { + return mPlasmaMode ? RecipeMaps.plasmaArcFurnaceRecipes : RecipeMaps.arcFurnaceRecipes; + } + + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(RecipeMaps.arcFurnaceRecipes, RecipeMaps.plasmaArcFurnaceRecipes); + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java index 7dae3ac6dc..acb69536f2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCentrifuge.java @@ -28,11 +28,11 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.PlayerUtils; @@ -141,8 +141,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes_GT; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.centrifugeNonCellRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java index 4cb62a3c22..f7c91835e9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialChisel.java @@ -11,14 +11,16 @@ import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import java.util.List; +import java.util.stream.Stream; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.FluidStack; -import org.jetbrains.annotations.NotNull; - import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -30,10 +32,10 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; -import gregtech.api.recipe.check.FindRecipeResult; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_StreamUtil; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -52,7 +54,7 @@ public class GregtechMetaTileEntity_IndustrialChisel private static IStructureDefinition STRUCTURE_DEFINITION = null; private ItemStack mInputCache; private ItemStack mOutputCache; - private GTPP_Recipe mCachedRecipe; + private GT_Recipe mCachedRecipe; public GregtechMetaTileEntity_IndustrialChisel(int aID, String aName, String aNameRegional) { super(aID, aName, aNameRegional); @@ -145,11 +147,6 @@ protected int getCasingTextureId() { return 90; } - @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return null; - } - @Override public boolean isCorrectMachinePart(ItemStack aStack) { return true; @@ -171,7 +168,7 @@ private boolean hasValidCache(ItemStack aStack, ItemStack aSpecialSlot, boolean return false; } - private void cacheItem(ItemStack aInputItem, ItemStack aOutputItem, GTPP_Recipe aRecipe) { + private void cacheItem(ItemStack aInputItem, ItemStack aOutputItem, GT_Recipe aRecipe) { mInputCache = aInputItem.copy(); mOutputCache = aOutputItem.copy(); mCachedRecipe = aRecipe; @@ -210,7 +207,7 @@ private static ItemStack getChiselOutput(ItemStack aInput, ItemStack aTarget) { return tOutput; } - private GTPP_Recipe generateChiselRecipe(ItemStack aInput) { + private GT_Recipe generateChiselRecipe(ItemStack aInput) { boolean tIsCached = hasValidCache(aInput, this.target, true); if (tIsCached || aInput != null && hasChiselResults(aInput)) { ItemStack tOutput = tIsCached ? mOutputCache.copy() : getChiselOutput(aInput, this.target); @@ -220,7 +217,7 @@ private GTPP_Recipe generateChiselRecipe(ItemStack aInput) { return mCachedRecipe; } // We can chisel this - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { ItemUtils.getSimpleStack(aInput, 1) }, new ItemStack[] { ItemUtils.getSimpleStack(tOutput, 1) }, @@ -276,14 +273,10 @@ private GT_Recipe getRecipe() { protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { - @NotNull + @Nonnull @Override - protected FindRecipeResult findRecipe(GT_Recipe.GT_Recipe_Map map) { - GT_Recipe recipe = getRecipe(); - if (recipe == null) { - return FindRecipeResult.NOT_FOUND; - } - return FindRecipeResult.ofSuccess(recipe); + protected Stream findRecipeMatches(@Nullable RecipeMap map) { + return GT_StreamUtil.ofNullable(getRecipe()); } }.setSpeedBonus(1F / 3F).setEuModifier(0.75F).setMaxParallelSupplier(this::getMaxParallelRecipes); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java index 9307739bf8..2b5f90a5ca 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCokeOven.java @@ -26,10 +26,10 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -167,8 +167,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sCokeOvenRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.cokeOvenRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java index ad85e31369..5db59c9b29 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialCuttingMachine.java @@ -11,6 +11,11 @@ import static gregtech.api.enums.GT_HatchElement.OutputBus; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.Arrays; +import java.util.Collection; + +import javax.annotation.Nonnull; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -27,8 +32,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -130,8 +136,19 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return mCuttingMode ? GT_Recipe.GT_Recipe_Map.sCutterRecipes : GT_Recipe.GT_Recipe_Map.sSlicerRecipes; + public RecipeMap getRecipeMap() { + return mCuttingMode ? RecipeMaps.cutterRecipes : RecipeMaps.slicerRecipes; + } + + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(RecipeMaps.cutterRecipes, RecipeMaps.slicerRecipes); + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java index e60a5cd8c4..318b8cdac2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialDehydrator.java @@ -13,6 +13,11 @@ import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import static gregtech.api.util.GT_StructureUtility.ofCoil; +import java.util.Arrays; +import java.util.Collection; + +import javax.annotation.Nonnull; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -31,12 +36,13 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.PlayerUtils; @@ -144,9 +150,14 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return mDehydratorMode ? GTPP_Recipe.GTPP_Recipe_Map.sMultiblockChemicalDehydratorRecipes - : GTPP_Recipe.GTPP_Recipe_Map.sVacuumFurnaceRecipes; + public RecipeMap getRecipeMap() { + return mDehydratorMode ? GTPPRecipeMaps.chemicalDehydratorNonCellRecipes : GTPPRecipeMaps.vacuumFurnaceRecipes; + } + + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(GTPPRecipeMaps.chemicalDehydratorNonCellRecipes, GTPPRecipeMaps.vacuumFurnaceRecipes); } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java index 5d20a478f0..0092f43c21 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialElectrolyzer.java @@ -24,9 +24,10 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -124,8 +125,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map.sMultiblockElectrolyzerRecipes_GT; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.electrolyzerNonCellRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java index 06df63e08a..149d1a8017 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialExtruder.java @@ -24,8 +24,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -132,8 +133,13 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sExtruderRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.extruderRecipes; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java index d6ceeffd58..94c950ba50 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialFluidHeater.java @@ -25,8 +25,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -144,8 +145,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.fluidHeaterRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java index 6bf9fd6f21..d7a182e483 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialForgeHammer.java @@ -40,8 +40,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -191,8 +192,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sHammerRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.hammerRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java index 3d9eab79fa..3f291b38d6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMacerator.java @@ -37,8 +37,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -271,8 +272,13 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.maceratorRecipes; + } + + @Override + public int getRecipeCatalystPriority() { + return -10; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java index 9fe9641323..e9172ae5a9 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMixer.java @@ -30,9 +30,10 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -155,8 +156,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map.sMultiblockMixerRecipes_GT; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.mixerNonCellRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java index 2437f552cd..d1613dc290 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMolecularTransformer.java @@ -24,9 +24,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -195,8 +195,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe_Map.sMolecularTransformerRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.molecularTransformerRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java index 0e6757b29a..ebbae1f4b6 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialMultiMachine.java @@ -14,7 +14,12 @@ import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.List; +import java.util.stream.Stream; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; @@ -26,8 +31,6 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -import org.jetbrains.annotations.NotNull; - import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; import com.gtnewhorizon.structurelib.structure.IStructureDefinition; import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; @@ -38,7 +41,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.recipe.check.FindRecipeResult; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; @@ -72,9 +76,9 @@ public class GregtechMetaTileEntity_IndustrialMultiMachine extends static { for (int id = 0; id < 9; id++) { - GT_Recipe.GT_Recipe_Map recipeMap = getRecipeMap(id); + RecipeMap recipeMap = getRecipeMap(id); if (recipeMap != null) { - String aNEI = GT_LanguageManager.getTranslation(getRecipeMap(id).mNEIName); + String aNEI = GT_LanguageManager.getTranslation(getRecipeMap(id).unlocalizedName); aToolTipNames[id] = aNEI != null ? aNEI : "BAD NEI NAME (Report to Github)"; } } @@ -231,29 +235,49 @@ private int getCircuitID(ItemStack circuit) { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { + public RecipeMap getRecipeMap() { return null; } - private static GT_Recipe.GT_Recipe_Map getRecipeMap(int aMode) { + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList( + RecipeMaps.compressorRecipes, + RecipeMaps.latheRecipes, + RecipeMaps.polarizerRecipes, + RecipeMaps.fermentingRecipes, + RecipeMaps.fluidExtractionRecipes, + RecipeMaps.extractorRecipes, + RecipeMaps.laserEngraverRecipes, + RecipeMaps.autoclaveRecipes, + RecipeMaps.fluidSolidifierRecipes); + } + + @Override + public int getRecipeCatalystPriority() { + return -10; + } + + private static RecipeMap getRecipeMap(int aMode) { if (aMode == MODE_COMPRESSOR) { - return GT_Recipe.GT_Recipe_Map.sCompressorRecipes; + return RecipeMaps.compressorRecipes; } else if (aMode == MODE_LATHE) { - return GT_Recipe.GT_Recipe_Map.sLatheRecipes; + return RecipeMaps.latheRecipes; } else if (aMode == MODE_MAGNETIC) { - return GT_Recipe.GT_Recipe_Map.sPolarizerRecipes; + return RecipeMaps.polarizerRecipes; } else if (aMode == MODE_FERMENTER) { - return GT_Recipe.GT_Recipe_Map.sFermentingRecipes; + return RecipeMaps.fermentingRecipes; } else if (aMode == MODE_FLUIDEXTRACT) { - return GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes; + return RecipeMaps.fluidExtractionRecipes; } else if (aMode == MODE_EXTRACTOR) { - return GT_Recipe.GT_Recipe_Map.sExtractorRecipes; + return RecipeMaps.extractorRecipes; } else if (aMode == MODE_LASER) { - return GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes; + return RecipeMaps.laserEngraverRecipes; } else if (aMode == MODE_AUTOCLAVE) { - return GT_Recipe.GT_Recipe_Map.sAutoclaveRecipes; + return RecipeMaps.autoclaveRecipes; } else if (aMode == MODE_FLUIDSOLIDIFY) { - return GT_Recipe.GT_Recipe_Map.sFluidSolidficationRecipes; + return RecipeMaps.fluidSolidifierRecipes; } else { return null; } @@ -265,22 +289,22 @@ protected ProcessingLogic createProcessingLogic() { private ItemStack lastCircuit = null; - @NotNull + @Nonnull @Override - protected FindRecipeResult findRecipe(GT_Recipe.GT_Recipe_Map map) { + protected Stream findRecipeMatches(@Nullable RecipeMap map) { ItemStack circuit = getCircuit(inputItems); if (circuit == null) { - return FindRecipeResult.NOT_FOUND; + return Stream.empty(); } if (!GT_Utility.areStacksEqual(circuit, lastCircuit)) { lastRecipe = null; lastCircuit = circuit; } - GT_Recipe.GT_Recipe_Map foundMap = getRecipeMap(getCircuitID(circuit)); + RecipeMap foundMap = getRecipeMap(getCircuitID(circuit)); if (foundMap == null) { - return FindRecipeResult.NOT_FOUND; + return Stream.empty(); } - return super.findRecipe(foundMap); + return super.findRecipeMatches(foundMap); } }.setSpeedBonus(1F / 3.5F).setEuModifier(0.8F).setMaxParallelSupplier(this::getMaxParallelRecipes); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java index 5be7fcecc3..8ea7787c35 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialPlatePress.java @@ -10,6 +10,11 @@ import static gregtech.api.enums.GT_HatchElement.OutputBus; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.Arrays; +import java.util.Collection; + +import javax.annotation.Nonnull; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -25,8 +30,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -132,8 +138,19 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return mFormingMode ? GT_Recipe.GT_Recipe_Map.sPressRecipes : GT_Recipe.GT_Recipe_Map.sBenderRecipes; + public RecipeMap getRecipeMap() { + return mFormingMode ? RecipeMaps.formingPressRecipes : RecipeMaps.benderRecipes; + } + + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(RecipeMaps.formingPressRecipes, RecipeMaps.benderRecipes); + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java index 134d9a236d..cad24dac77 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialSifter.java @@ -27,8 +27,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -128,8 +129,13 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sSifterRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.sifterRecipes; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java index 85981bb5c2..f207264eed 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialThermalCentrifuge.java @@ -25,8 +25,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -130,8 +131,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sThermalCentrifugeRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.thermalCentrifugeRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java index b8d5ebdf8b..5b15ce9ee4 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialVacuumFreezer.java @@ -29,9 +29,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -178,8 +178,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sAdvFreezerRecipes_GT; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.advancedFreezerRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java index e80d533774..f5d8fd7bbb 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWashPlant.java @@ -15,6 +15,11 @@ import static gregtech.api.enums.GT_HatchElement.OutputHatch; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.Arrays; +import java.util.Collection; + +import javax.annotation.Nonnull; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -36,14 +41,16 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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.util.GTPP_Recipe.GTPP_Recipe_Map; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -164,9 +171,23 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return mMode == 0 ? GT_Recipe.GT_Recipe_Map.sOreWasherRecipes - : mMode == 1 ? GTPP_Recipe_Map.sSimpleWasherRecipes : GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; + public RecipeMap getRecipeMap() { + return mMode == 0 ? RecipeMaps.oreWasherRecipes + : mMode == 1 ? GTPPRecipeMaps.simpleWasherRecipes : RecipeMaps.chemicalBathRecipes; + } + + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList( + RecipeMaps.oreWasherRecipes, + GTPPRecipeMaps.simpleWasherRecipes, + RecipeMaps.chemicalBathRecipes); + } + + @Override + public int getRecipeCatalystPriority() { + return -10; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java index e233994477..13500d7df2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IndustrialWireMill.java @@ -28,8 +28,9 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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_Utility; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; @@ -135,8 +136,13 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sWiremillRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.wiremillRecipes; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java index f8f8a28ccc..5fc969a22e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_IsaMill.java @@ -40,16 +40,17 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.minecraft.BlockPos; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; import gtPlusPlus.core.lib.CORE; @@ -200,8 +201,8 @@ public boolean addToMachineList(IGregTechTileEntity aTileEntity, int aBaseCasing } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sOreMillRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.millingRecipes; } @Override @@ -430,7 +431,6 @@ public int getMaxParallelRecipes() { public ArrayList getStoredInputs() { ArrayList tItems = super.getStoredInputs(); for (GT_MetaTileEntity_Hatch_MillingBalls tHatch : filterValidMTEs(mMillingBallBuses)) { - tHatch.mRecipeMap = getRecipeMap(); tItems.addAll(tHatch.getContentUsageSlots()); } return tItems; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java index 6db432a24a..bcfe53c41c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_NuclearSaltProcessingPlant.java @@ -26,9 +26,11 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.MetaTileEntity; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -184,8 +186,8 @@ public boolean checkHatch() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map.sNuclearSaltProcessingPlantRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java index 85f24af541..17f59331ed 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/GregtechMetaTileEntity_SpargeTower.java @@ -36,16 +36,16 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GTPP_Recipe; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gregtech.api.util.GasSpargingRecipe; import gregtech.api.util.GasSpargingRecipeMap; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.math.MathUtils; @@ -171,16 +171,16 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - if (GTPP_Recipe_Map.sSpargeTowerRecipes.mRecipeList.isEmpty()) { + public RecipeMap getRecipeMap() { + if (GTPPRecipeMaps.spargeTowerFakeRecipes.getAllRecipes().isEmpty()) { generateRecipes(); } - return GTPP_Recipe_Map.sSpargeTowerRecipes; + return GTPPRecipeMaps.spargeTowerFakeRecipes; } private static boolean generateRecipes() { for (GasSpargingRecipe aRecipe : GasSpargingRecipeMap.mRecipes) { - GTPP_Recipe newRecipe = new GTPP_Recipe( + GT_Recipe newRecipe = new GT_Recipe( false, new ItemStack[] {}, new ItemStack[] {}, @@ -191,9 +191,9 @@ private static boolean generateRecipes() { aRecipe.mDuration, aRecipe.mEUt, 0); - GTPP_Recipe_Map.sSpargeTowerRecipes.add(newRecipe); + GTPPRecipeMaps.spargeTowerFakeRecipes.add(newRecipe); } - return !GTPP_Recipe_Map.sSpargeTowerRecipes.mRecipeList.isEmpty(); + return !GTPPRecipeMaps.spargeTowerFakeRecipes.getAllRecipes().isEmpty(); } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java index 3ca083ebf6..450536a0d8 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_DistillationTower.java @@ -16,8 +16,12 @@ import static gregtech.api.util.GT_StructureUtility.ofHatchAdder; import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; import java.util.List; +import javax.annotation.Nonnull; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -40,9 +44,9 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; +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; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -260,10 +264,16 @@ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack a } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { + public RecipeMap getRecipeMap() { return mMode.getRecipeMap(); } + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(RecipeMaps.distilleryRecipes, RecipeMaps.distillationTowerRecipes); + } + @Override public boolean isCorrectMachinePart(ItemStack aStack) { return true; @@ -433,17 +443,17 @@ public void addAdditionalTooltipInformation(ItemStack stack, List toolti private enum Mode { - DistillationTower(GT_Recipe_Map.sDistillationRecipes), - Distillery(GT_Recipe_Map.sDistilleryRecipes),; + DistillationTower(RecipeMaps.distillationTowerRecipes), + Distillery(RecipeMaps.distilleryRecipes),; static final Mode[] VALUES = values(); - private final GT_Recipe_Map recipeMap; + private final RecipeMap recipeMap; - Mode(GT_Recipe_Map recipeMap) { + Mode(RecipeMap recipeMap) { this.recipeMap = recipeMap; } - public GT_Recipe_Map getRecipeMap() { + public RecipeMap getRecipeMap() { return recipeMap; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java index f951927434..941a1c445c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_EBF.java @@ -38,6 +38,8 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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.util.GT_Multiblock_Tooltip_Builder; @@ -199,8 +201,13 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sBlastRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.blastFurnaceRecipes; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java index 09c030d0a2..ee4db3c76e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK4.java @@ -18,8 +18,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.objects.overclockdescriber.OverclockDescriber; import gregtech.api.render.TextureFactory; -import gregtech.api.util.AdvFusionPower; +import gregtech.api.util.AdvancedFusionOverclockDescriber; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer; import gtPlusPlus.core.block.ModBlocks; @@ -36,14 +37,16 @@ public class GregtechMetaTileEntity_Adv_Fusion_MK4 extends GT_MetaTileEntity_Fus } public GregtechMetaTileEntity_Adv_Fusion_MK4(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional, 9); - // Theoretically this fusion reactor has a slightly higher startup power, but special value only uses integer - power = new AdvFusionPower((byte) 9, Integer.MAX_VALUE); + super(aID, aName, aNameRegional); } public GregtechMetaTileEntity_Adv_Fusion_MK4(String aName) { super(aName); - power = new AdvFusionPower((byte) 9, Integer.MAX_VALUE); + } + + @Override + protected OverclockDescriber createOverclockDescriber() { + return new AdvancedFusionOverclockDescriber((byte) tier(), capableStartupCanonical()); } @Override @@ -74,6 +77,16 @@ public long maxEUStore() { return (640010000L * 4) * (Math.min(16, this.mEnergyHatches.size())) / 8L; } + @Override + public long capableStartupCanonical() { + return 5_120_000_000L; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; + } + @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GregtechMetaTileEntity_Adv_Fusion_MK4(mName); @@ -99,22 +112,11 @@ public int getFusionCoilMeta() { return 13; } - @Override - public int tierOverclock() { - return 8; - } - @Override protected ProcessingLogic createProcessingLogic() { return super.createProcessingLogic().setOverclock(2, 2); } - @Override - public int overclock(int mStartEnergy) { - return (mStartEnergy <= 160000000) ? 3 - : ((mStartEnergy <= 320000000) ? 2 : (mStartEnergy <= 640000000) ? 1 : 0); - } - @Override public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java index 0ee2915f02..5d546b5bfb 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Fusion_MK5.java @@ -18,8 +18,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.objects.overclockdescriber.OverclockDescriber; import gregtech.api.render.TextureFactory; -import gregtech.api.util.AdvFusionPower; +import gregtech.api.util.AdvancedFusionOverclockDescriber; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.common.tileentities.machines.multi.GT_MetaTileEntity_FusionComputer; import gtPlusPlus.core.block.ModBlocks; @@ -36,14 +37,16 @@ public class GregtechMetaTileEntity_Adv_Fusion_MK5 extends GT_MetaTileEntity_Fus } public GregtechMetaTileEntity_Adv_Fusion_MK5(int aID, String aName, String aNameRegional) { - super(aID, aName, aNameRegional, 10); - // Theoretically this fusion reactor has higher startup power, but special value only uses integer - power = new AdvFusionPower((byte) 10, Integer.MAX_VALUE); + super(aID, aName, aNameRegional); } public GregtechMetaTileEntity_Adv_Fusion_MK5(String aName) { super(aName); - power = new AdvFusionPower((byte) 10, Integer.MAX_VALUE); + } + + @Override + protected OverclockDescriber createOverclockDescriber() { + return new AdvancedFusionOverclockDescriber((byte) tier(), capableStartupCanonical()); } @Override @@ -74,6 +77,16 @@ public long maxEUStore() { return (640010000L * 16) * (Math.min(16, this.mEnergyHatches.size())) / 8L; } + @Override + public long capableStartupCanonical() { + return 20_480_000_000L; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; + } + @Override public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) { return new GregtechMetaTileEntity_Adv_Fusion_MK5(mName); @@ -99,23 +112,11 @@ public int getFusionCoilMeta() { return 1; } - @Override - public int tierOverclock() { - return 16; - } - @Override protected ProcessingLogic createProcessingLogic() { return super.createProcessingLogic().setOverclock(2, 2); } - @Override - public int overclock(int mStartEnergy) { - return (mStartEnergy <= 160_000_000) ? 4 - : ((mStartEnergy <= 320_000_000) ? 3 - : ((mStartEnergy <= 640_000_000) ? 2 : ((mStartEnergy <= 1_280_000_000) ? 1 : 0))); - } - @Override public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side, final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java index 3a348f24d8..0827265036 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/advanced/GregtechMetaTileEntity_Adv_Implosion.java @@ -22,8 +22,9 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Maintenance; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; +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_Utility; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -133,8 +134,13 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sImplosionRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.implosionRecipes; + } + + @Override + public int getRecipeCatalystPriority() { + return -1; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java index 0e396c5782..6393dd49bc 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java @@ -23,6 +23,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; @@ -121,8 +123,8 @@ public int getMaxParallelRecipes() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sCompressorRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.compressorRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java index 82190dc6d0..2258f67749 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java @@ -27,6 +27,8 @@ import gregtech.api.logic.ProcessingLogic; import gregtech.api.objects.GT_RenderedTexture; import gregtech.api.objects.XSTR; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_ParallelHelper; @@ -129,8 +131,8 @@ public int getMaxParallelRecipes() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.maceratorRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java index 25fe69da96..62972b3957 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_AutoCrafter.java @@ -24,6 +24,8 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.MetaTileEntity; +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_Utility; @@ -148,8 +150,8 @@ public boolean checkMachine(IGregTechTileEntity baseMetaTileEntity, ItemStack it } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GT_Recipe.GT_Recipe_Map.sAssemblerRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.assemblerRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java index 89da64852a..13eabb8992 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GT4Entity_ThermalBoiler.java @@ -32,13 +32,14 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_InputBus; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; -import gregtech.api.util.GTPP_Recipe; 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_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.general.ItemLavaFilter; import gtPlusPlus.core.lib.CORE; @@ -83,6 +84,11 @@ public int getDamageToComponent(ItemStack aStack) { return (aStack != null && aStack.getItem() == mLavaFilter) ? 1 : 0; } + @Override + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.thermalBoilerRecipes; + } + private static Item mLavaFilter; private static Fluid mLava = null; private static Fluid mPahoehoe = null; @@ -115,7 +121,7 @@ public int getDamageToComponent(ItemStack aStack) { } } - for (GT_Recipe tRecipe : GTPP_Recipe.GTPP_Recipe_Map.sThermalFuels.mRecipeList) { + for (GT_Recipe tRecipe : GTPPRecipeMaps.thermalBoilerRecipes.getAllRecipes()) { FluidStack tFluid = tRecipe.mFluidInputs[0]; if (tFluid != null) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java index 4063c967d7..15d144c4a5 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_ElementalDuplicator.java @@ -14,16 +14,11 @@ import static gregtech.api.util.GT_Utility.filterValidMTEs; import java.util.ArrayList; -import java.util.Collection; import java.util.Collections; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraftforge.common.util.ForgeDirection; -import net.minecraftforge.fluids.FluidStack; - -import org.jetbrains.annotations.NotNull; -import org.jetbrains.annotations.Nullable; import com.gtnewhorizon.structurelib.alignment.IAlignmentLimits; import com.gtnewhorizon.structurelib.alignment.constructable.ISurvivalConstructable; @@ -31,24 +26,15 @@ import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment; import com.gtnewhorizon.structurelib.structure.StructureDefinition; -import gregtech.api.GregTech_API; -import gregtech.api.enums.Element; -import gregtech.api.enums.Materials; import gregtech.api.enums.TAE; import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import gregtech.api.interfaces.tileentity.IHasWorldObjectAndCoords; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.objects.GT_ItemStack; -import gregtech.api.recipe.check.FindRecipeResult; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -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.items.behaviors.Behaviour_DataOrb; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_ElementalDataOrbHolder; @@ -252,7 +238,6 @@ private boolean addDataOrbHatch(IGregTechTileEntity aTileEntity, int aBaseCasing } if (aMetaTileEntity instanceof GT_MetaTileEntity_Hatch_ElementalDataOrbHolder) { try { - ((GT_MetaTileEntity_Hatch_ElementalDataOrbHolder) aMetaTileEntity).mRecipeMap = getRecipeMap(); return addToMachineListInternal(mReplicatorDataOrbHatches, aMetaTileEntity, aBaseCasingIndex); } catch (Throwable t) { t.printStackTrace(); @@ -283,8 +268,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe_Map.sElementalDuplicatorRecipes; + public RecipeMap getRecipeMap() { + return RecipeMaps.replicatorRecipes; } @Override @@ -294,49 +279,18 @@ public boolean isCorrectMachinePart(final ItemStack aStack) { @Override protected ProcessingLogic createProcessingLogic() { - return new ProcessingLogic() { + return new ProcessingLogic().setSpeedBonus(1F / 2F).enablePerfectOverclock() + .setMaxParallelSupplier(this::getMaxParallelRecipes); + } - @NotNull - @Override - protected FindRecipeResult findRecipe(@Nullable GT_Recipe_Map map) { - if (map == null) { - return FindRecipeResult.NOT_FOUND; - } - try { - ItemStack aDataOrbStack = null; - recipe: for (GT_Recipe nRecipe : map.mRecipeList) { - ItemStack aTempStack = getSpecialSlotStack(nRecipe); - if (aTempStack != null) { - for (ItemStack aItem : inputItems) { - if (nRecipe.mSpecialItems != null) { - if (GT_Utility.areStacksEqual(aTempStack, aItem, false)) { - aDataOrbStack = aTempStack; - break recipe; - } - } - } - } - } - if (aDataOrbStack != null) { - GT_Recipe recipe = GregtechMTE_ElementalDuplicator.this.findRecipe( - getBaseMetaTileEntity(), - mLastRecipe, - false, - false, - availableVoltage, - inputFluids, - aDataOrbStack, - inputItems); - if (recipe != null) { - return FindRecipeResult.ofSuccess(recipe); - } - } - } catch (Throwable t) { - t.printStackTrace(); - } - return FindRecipeResult.NOT_FOUND; - } - }.setSpeedBonus(1F / 2F).enablePerfectOverclock().setMaxParallelSupplier(this::getMaxParallelRecipes); + @Override + protected void setupProcessingLogic(ProcessingLogic logic) { + super.setupProcessingLogic(logic); + for (GT_MetaTileEntity_Hatch_ElementalDataOrbHolder hatch : filterValidMTEs(mReplicatorDataOrbHatches)) { + ItemStack orb = hatch.getOrbByCircuit(); + logic.setSpecialSlotItem(orb); + break; + } } @Override @@ -378,147 +332,12 @@ public void onPostTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { public ArrayList getStoredInputs() { ArrayList tItems = super.getStoredInputs(); for (GT_MetaTileEntity_Hatch_ElementalDataOrbHolder tHatch : filterValidMTEs(mReplicatorDataOrbHatches)) { - tHatch.mRecipeMap = getRecipeMap(); tItems.add(tHatch.getOrbByCircuit()); } tItems.removeAll(Collections.singleton(null)); return tItems; } - /** - * finds a Recipe matching the aFluid and ItemStack Inputs. - * - * @param aTileEntity an Object representing the current coordinates of the executing - * Block/Entity/Whatever. This may be null, especially during Startup. - * @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 the Recipe it has found or null for no matching Recipe - */ - public GT_Recipe findRecipe(IHasWorldObjectAndCoords aTileEntity, GT_Recipe aRecipe, boolean aNotUnificated, - boolean aDontCheckStackSizes, long aVoltage, FluidStack[] aFluids, ItemStack aSpecialSlot, - ItemStack... aInputs) { - - GT_Recipe_Map mRecipeMap = this.getRecipeMap(); - // No Recipes? Well, nothing to be found then. - if (mRecipeMap.mRecipeList.isEmpty()) { - return null; - } - - // 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 (mRecipeMap.mMinimalInputFluids > 0) { - if (aFluids == null) return null; - int tAmount = 0; - for (FluidStack aFluid : aFluids) if (aFluid != null) tAmount++; - if (tAmount < mRecipeMap.mMinimalInputFluids) return null; - } - if (mRecipeMap.mMinimalInputItems > 0) { - if (aInputs == null) return null; - int tAmount = 0; - for (ItemStack aInput : aInputs) if (aInput != null) tAmount++; - if (tAmount < mRecipeMap.mMinimalInputItems) return null; - } - } - - // 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) { - ItemStack aRecipeSpecial = getSpecialSlotStack(aRecipe); - if (!aRecipe.mFakeRecipe && aRecipe.mCanBeBuffered - && aRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs) - && GT_Utility.areStacksEqual(aRecipeSpecial, aSpecialSlot, false) - && areDataOrbsEqual(aRecipeSpecial, aSpecialSlot)) { - return aRecipe.mEnabled && aVoltage * mRecipeMap.mAmperage >= aRecipe.mEUt ? aRecipe : null; - } - } - - // Now look for the Recipes inside the Item HashMaps, but only when the Recipes usually have Items. - if (mRecipeMap.mUsualInputCount > 0 && aInputs != null) for (ItemStack tStack : aInputs) if (tStack != null) { - Collection tRecipes = mRecipeMap.mRecipeItemMap.get(new GT_ItemStack(tStack)); - if (tRecipes != null) { - for (GT_Recipe tRecipe : tRecipes) { - if (!tRecipe.mFakeRecipe - && tRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) { - ItemStack aRecipeSpecial = getSpecialSlotStack(tRecipe); - if (GT_Utility.areStacksEqual(aRecipeSpecial, aSpecialSlot, false) - && areDataOrbsEqual(aRecipeSpecial, aSpecialSlot)) { - return tRecipe.mEnabled && aVoltage * mRecipeMap.mAmperage >= tRecipe.mEUt ? tRecipe : null; - } - } - tRecipes = mRecipeMap.mRecipeItemMap.get(new GT_ItemStack(tStack, true)); - } - } - if (tRecipes != null) { - for (GT_Recipe tRecipe : tRecipes) { - if (!tRecipe.mFakeRecipe - && tRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) { - ItemStack aRecipeSpecial = getSpecialSlotStack(tRecipe); - if (GT_Utility.areStacksEqual(aRecipeSpecial, aSpecialSlot, false) - && areDataOrbsEqual(aRecipeSpecial, aSpecialSlot)) { - return tRecipe.mEnabled && aVoltage * mRecipeMap.mAmperage >= tRecipe.mEUt ? tRecipe : null; - } - } - } - } - } - - // 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 (mRecipeMap.mMinimalInputItems == 0 && aFluids != null) - for (FluidStack aFluid : aFluids) if (aFluid != null) { - Collection tRecipes = mRecipeMap.mRecipeFluidMap.get(aFluid.getFluid().getName()); - if (tRecipes != null) for (GT_Recipe tRecipe : tRecipes) { - if (!tRecipe.mFakeRecipe - && tRecipe.isRecipeInputEqual(false, aDontCheckStackSizes, aFluids, aInputs)) { - ItemStack aRecipeSpecial = getSpecialSlotStack(tRecipe); - if (GT_Utility.areStacksEqual(aRecipeSpecial, aSpecialSlot, false) - && areDataOrbsEqual(aRecipeSpecial, aSpecialSlot)) { - return tRecipe.mEnabled && aVoltage * mRecipeMap.mAmperage >= tRecipe.mEUt ? tRecipe : null; - } - } - } - } - - // And nothing has been found. - return null; - } - - public static ItemStack getSpecialSlotStack(GT_Recipe aRecipe) { - ItemStack aStack = null; - if (aRecipe.mSpecialItems != null) { - if (aRecipe.mSpecialItems instanceof ItemStack[]aTempStackArray) { - aStack = aTempStackArray[0]; - } - } - return aStack; - } - - private static boolean areDataOrbsEqual(ItemStack aOrb1, ItemStack aOrb2) { - if (aOrb1 != null && aOrb2 != null) { - Materials tMaterial1 = Element.get(Behaviour_DataOrb.getDataName(aOrb1)).mLinkedMaterials.get(0); - Materials tMaterial2 = Element.get(Behaviour_DataOrb.getDataName(aOrb2)).mLinkedMaterials.get(0); - if (tMaterial1.equals(tMaterial2)) { - return true; - } - } - - return false; - } - @Override public boolean doesBindPlayerInventory() { return false; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java index 45c1751231..eee9c932c4 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_FrothFlotationCell.java @@ -35,12 +35,13 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; @@ -106,8 +107,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sFlotationCellRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.flotationCellRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java index fbfbf7bc2d..fe16934b91 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMTE_NuclearReactor.java @@ -37,15 +37,15 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; 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.SimpleCheckRecipeResult; import gregtech.api.render.TextureFactory; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ELEMENT; @@ -80,8 +80,8 @@ public String getMachineType() { } @Override - public GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java index 20f72a0e62..88a280d5f2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntityTreeFarm.java @@ -53,15 +53,16 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Utility; import gregtech.api.util.VoidProtectionHelper; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; @@ -172,6 +173,12 @@ public int getSawBoost(SAWTOOL sawType) { }; } + @Override + public RecipeMap getRecipeMap() { + // Only for visual + return GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes; + } + @Override public @NotNull CheckRecipeResult checkProcessing() { final ItemStack controllerStack = getControllerSlot(); @@ -550,7 +557,7 @@ public static void mapSaplingToLog(String aSapling, ItemStack aLog) { private static int sRecipeID = 0; public static boolean addFakeRecipeToNEI(@Nonnull ItemStack aSapling, ItemStack aLog) { - int aRecipes = GTPP_Recipe_Map.sTreeSimFakeRecipes.mRecipeList.size(); + int aRecipes = GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes.getAllRecipes().size(); Logger.INFO( "Adding Tree Growth Simulation for " + aSapling.getDisplayName() + " -> " @@ -560,7 +567,7 @@ public static boolean addFakeRecipeToNEI(@Nonnull ItemStack aSapling, ItemStack Logger.INFO("" + aOutputs); ItemStack inputStack = aSapling.copy(); inputStack.stackSize = 0; - GTPP_Recipe_Map.sTreeSimFakeRecipes.addFakeRecipe( + GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes.addFakeRecipe( false, new ItemStack[] { inputStack }, aOutput, @@ -571,7 +578,7 @@ public static boolean addFakeRecipeToNEI(@Nonnull ItemStack aSapling, ItemStack 1, sRecipeID++, 0); - return GTPP_Recipe_Map.sTreeSimFakeRecipes.mRecipeList.size() > aRecipes; + return GTPPRecipeMaps.treeGrowthSimulatorFakeRecipes.getAllRecipes().size() > aRecipes; } public int hasLiquidFert() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java index b7f5451071..93602ad5f2 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_AlloyBlastSmelter.java @@ -30,11 +30,11 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; @@ -150,8 +150,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sAlloyBlastSmelterRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.alloyBlastSmelterRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java index c5a222e540..f42641c80e 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Cyclotron.java @@ -31,10 +31,10 @@ import gregtech.api.metatileentity.MetaTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; import gregtech.api.objects.GT_ItemStack; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.chemistry.IonParticles; import gtPlusPlus.core.lib.CORE; @@ -207,8 +207,8 @@ public boolean isCorrectMachinePart(ItemStack aStack) { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sCyclotronRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.cyclotronRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java index 7997497d42..0f393ae7ce 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialFishingPond.java @@ -35,17 +35,18 @@ import gregtech.api.interfaces.IIconContainer; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; import gregtech.api.util.FishPondFakeRecipe; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; 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 gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; @@ -168,8 +169,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return null; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.fishPondRecipes; } @Override @@ -205,7 +206,7 @@ public GT_Recipe.GT_Recipe_Map getRecipeMap() { ItemStack[] mFishOutput = generateLoot(this.mMode); mFishOutput = removeNulls(mFishOutput); - GT_Recipe g = new GTPP_Recipe( + GT_Recipe g = new GT_Recipe( true, new ItemStack[] {}, mFishOutput, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java index 11c6f4245b..bfaf18a3af 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_IndustrialRockBreaker.java @@ -9,11 +9,9 @@ import static gregtech.api.enums.GT_HatchElement.Maintenance; import static gregtech.api.enums.GT_HatchElement.Muffler; import static gregtech.api.enums.GT_HatchElement.OutputBus; -import static gregtech.api.enums.GT_Values.E; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; import java.util.ArrayList; -import java.util.HashSet; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -34,21 +32,20 @@ import gregtech.api.interfaces.IIconContainer; 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.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OreDictUnificator; 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 gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; -import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.core.util.minecraft.ItemUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -154,45 +151,9 @@ protected int getCasingTextureId() { return TAE.GTPP_INDEX(16); } - private static final GT_Recipe_Map sFakeRecipeMap = new GT_Recipe_Map( - new HashSet<>(0), - "gt.recipe.fakerockbreaker", - "Rock Breaker", - "smelting", - "", - 1, - 1, - 0, - 0, - 1, - E, - 1, - E, - true, - false); - - private static void generateRecipeMap() { - if (sRecipe_Cobblestone == null || sRecipe_SmoothStone == null || sRecipe_Redstone == null) { - generateRecipes(); - } - FluidStack[] aInputFluids = new FluidStack[] { FluidUtils.getWater(1000), FluidUtils.getLava(1000) }; - GT_Recipe aTemp = sRecipe_Cobblestone.copy(); - aTemp.mFluidInputs = aInputFluids; - sFakeRecipeMap.add(aTemp); - aTemp = sRecipe_SmoothStone.copy(); - aTemp.mFluidInputs = aInputFluids; - sFakeRecipeMap.add(aTemp); - aTemp = sRecipe_Redstone.copy(); - aTemp.mFluidInputs = aInputFluids; - sFakeRecipeMap.add(aTemp); - } - @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - if (sFakeRecipeMap.mRecipeList.isEmpty()) { - generateRecipeMap(); - } - return sFakeRecipeMap; + public RecipeMap getRecipeMap() { + return RecipeMaps.rockBreakerFakeRecipes; } @Override @@ -205,7 +166,7 @@ public boolean isCorrectMachinePart(final ItemStack aStack) { private static GT_Recipe sRecipe_Redstone; private static void generateRecipes() { - sRecipe_Cobblestone = new GTPP_Recipe( + sRecipe_Cobblestone = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(1) }, new ItemStack[] { ItemUtils.getSimpleStack(Blocks.cobblestone) }, @@ -216,7 +177,7 @@ private static void generateRecipes() { 16, 32, 0); - sRecipe_SmoothStone = new GTPP_Recipe( + sRecipe_SmoothStone = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(2) }, new ItemStack[] { ItemUtils.getSimpleStack(Blocks.stone) }, @@ -227,7 +188,7 @@ private static void generateRecipes() { 16, 32, 0); - sRecipe_Redstone = new GTPP_Recipe( + sRecipe_Redstone = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(3), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L) }, @@ -308,7 +269,7 @@ private static void generateRecipes() { GT_ParallelHelper helper = new GT_ParallelHelper().setRecipe(tRecipe).setItemInputs(aItemInputs) .setFluidInputs(aFluidInputs).setAvailableEUt(tEnergy).setMaxParallel(getMaxParallelRecipes()) - .enableConsumption().enableOutputCalculation().setEUtModifier(0.75F).setMachine(this); + .setConsumption(true).setOutputCalculation(true).setEUtModifier(0.75F).setMachine(this); if (batchMode) { helper.enableBatchMode(128); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java index 143fedb5a5..c6d8ab4ad0 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeRocketEngine.java @@ -35,13 +35,13 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.item.chemistry.RocketFuels; import gtPlusPlus.core.lib.CORE; @@ -232,8 +232,8 @@ public int getAir() { } @Override - public GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sRocketFuels; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.rocketFuels; } @Override @@ -283,7 +283,7 @@ public GT_Recipe_Map getRecipeMap() { continue; } if (this.freeFuelTicks == 0) { - for (final GT_Recipe aFuel : getRecipeMap().mRecipeList) { + for (final GT_Recipe aFuel : getRecipeMap().getAllRecipes()) { final FluidStack tLiquid; tLiquid = aFuel.mFluidInputs[0]; if (hatchFluid1.isFluidEqual(tLiquid)) { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java index 85fd1398d7..351920f2b7 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_LargeSemifluidGenerator.java @@ -37,9 +37,9 @@ import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -123,7 +123,7 @@ public boolean isCorrectMachinePart(ItemStack aStack) { } for (FluidStack hatchFluid : tFluids) { // Loops through hatches - GT_Recipe aFuel = GTPP_Recipe_Map.sSemiFluidLiquidFuels.findFuel(hatchFluid); + GT_Recipe aFuel = GTPPRecipeMaps.semiFluidFuels.getBackend().findFuel(hatchFluid); if (aFuel == null) { // Not a valid semi-fluid fuel. continue; diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java index 1b13eae309..181d75fbe4 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_MassFabricator.java @@ -12,6 +12,13 @@ import static gregtech.api.enums.GT_HatchElement.OutputHatch; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.Arrays; +import java.util.Collection; +import java.util.stream.Stream; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -32,17 +39,17 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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.FindRecipeResult; import gregtech.api.recipe.check.SimpleCheckRecipeResult; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Config; 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_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -212,9 +219,14 @@ public IMetaTileEntity newMetaEntity(final IGregTechTileEntity aTileEntity) { * Special Recipe Handling */ @Override - public GT_Recipe_Map getRecipeMap() { - return this.mMode == MODE_SCRAP ? GT_Recipe_Map.sRecyclerRecipes - : GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes; + public RecipeMap getRecipeMap() { + return this.mMode == MODE_SCRAP ? RecipeMaps.recyclerRecipes : GTPPRecipeMaps.multiblockMassFabricatorRecipes; + } + + @Nonnull + @Override + public Collection> getAvailableRecipeMaps() { + return Arrays.asList(RecipeMaps.recyclerRecipes, GTPPRecipeMaps.multiblockMassFabricatorRecipes); } @Override @@ -239,16 +251,16 @@ protected CheckRecipeResult validateRecipe(@NotNull GT_Recipe recipe) { return CheckRecipeResultRegistry.SUCCESSFUL; } - @NotNull + @Nonnull @Override - protected FindRecipeResult findRecipe(GT_Recipe_Map map) { + protected Stream findRecipeMatches(@Nullable RecipeMap map) { if (mMode == MODE_SCRAP) { if (inputItems != null) { for (ItemStack item : inputItems) { if (item == null || item.stackSize == 0) continue; ItemStack aPotentialOutput = GT_ModHandler .getRecyclerOutput(GT_Utility.copyAmount(1, item), 0); - GT_Recipe recipe = new GTPP_Recipe( + GT_Recipe recipe = new GT_Recipe( false, new ItemStack[] { GT_Utility.copyAmount(1, item) }, aPotentialOutput == null ? null : new ItemStack[] { aPotentialOutput }, @@ -259,12 +271,12 @@ protected FindRecipeResult findRecipe(GT_Recipe_Map map) { 40, MaterialUtils.getVoltageForTier(1), 0); - return FindRecipeResult.ofSuccess(recipe); + return Stream.of(recipe); } } - return FindRecipeResult.NOT_FOUND; + return Stream.empty(); } - return super.findRecipe(map); + return super.findRecipeMatches(map); } }.setEuModifier(0.8F).setMaxParallelSupplier(this::getMaxParallelRecipes); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java index 9d9c634153..9e477f869d 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_QuantumForceTransformer.java @@ -62,15 +62,16 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Input; import gregtech.api.objects.ItemData; +import gregtech.api.recipe.RecipeMap; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.CheckRecipeResultRegistry; import gregtech.api.recipe.check.SimpleCheckRecipeResult; import gregtech.api.render.TextureFactory; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_ParallelHelper; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -434,8 +435,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sQuantumForceTransformerRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.quantumForceTransformerRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java index af429facea..f60f835c34 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_Refinery.java @@ -27,9 +27,9 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_MultiBlockBase; @@ -92,8 +92,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sFissionFuelProcessing; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.fissionFuelProcessingRecipes; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java index 4bde2de336..a232910d1c 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/GregtechMetaTileEntity_SolarTower.java @@ -33,12 +33,13 @@ 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.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_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.MISC_MATERIALS; @@ -422,8 +423,9 @@ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, fina } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return null; + public RecipeMap getRecipeMap() { + // Only for visual + return GTPPRecipeMaps.solarTowerRecipes; } private int getHeaterTier() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java index a0225e7d48..2269166732 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/algae/GregtechMTE_AlgaePondBase.java @@ -9,6 +9,11 @@ import static gregtech.api.enums.GT_HatchElement.OutputBus; import static gregtech.api.util.GT_StructureUtility.buildHatchAdder; +import java.util.stream.Stream; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; @@ -29,12 +34,13 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.logic.ProcessingLogic; +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.SimpleCheckRecipeResult; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_Recipe; +import gregtech.api.util.GT_StreamUtil; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.block.ModBlocks; @@ -191,11 +197,6 @@ protected int getCasingTextureId() { return aID; } - @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return null; - } - @Override public int getMaxParallelRecipes() { return 2; @@ -309,14 +310,11 @@ public void onPreTick(IGregTechTileEntity aBaseMetaTileEntity, long aTick) { protected ProcessingLogic createProcessingLogic() { return new ProcessingLogic() { - @NotNull + @Nonnull @Override - protected FindRecipeResult findRecipe(GT_Recipe.GT_Recipe_Map map) { - GT_Recipe recipe = RecipeLoader_AlgaeFarm.getTieredRecipeFromCache(mLevel, isUsingCompost(inputItems)); - if (recipe != null) { - return FindRecipeResult.ofSuccess(recipe); - } - return FindRecipeResult.NOT_FOUND; + protected Stream findRecipeMatches(@Nullable RecipeMap map) { + return GT_StreamUtil.ofNullable( + RecipeLoader_AlgaeFarm.getTieredRecipeFromCache(mLevel, isUsingCompost(inputItems))); } @NotNull diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java index 670c070d81..1df1c3f047 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/chemplant/GregtechMTE_ChemicalPlant.java @@ -53,16 +53,17 @@ import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Output; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_OutputBus; 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; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_ParallelHelper; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.data.AutoMap; import gtPlusPlus.api.objects.data.Triplet; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.chemistry.general.ItemGenericChemBase; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; @@ -415,8 +416,8 @@ protected int getCasingTextureId() { } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sChemicalPlantRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.chemicalPlantRecipes; } @Override @@ -675,7 +676,6 @@ public ArrayList getStoredInputs() { tItems.add(this.getControllerSlot()); } for (GT_MetaTileEntity_Hatch_Catalysts tHatch : filterValidMTEs(mCatalystBuses)) { - tHatch.mRecipeMap = getRecipeMap(); AutoMap aHatchContent = tHatch.getContentUsageSlots(); if (!aHatchContent.isEmpty()) { tItems.addAll(aHatchContent); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java index e327e2111e..736b92df03 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/mega/GregTechMetaTileEntity_MegaAlloyBlastSmelter.java @@ -44,14 +44,15 @@ import gregtech.api.logic.ProcessingLogic; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_ExtendedPowerMultiBlockBase; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch; +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.GTPP_Recipe; import gregtech.api.util.GT_Multiblock_Tooltip_Builder; import gregtech.api.util.GT_OverclockCalculator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.block.ModBlocks; import gtPlusPlus.xmod.gregtech.common.blocks.textures.TexturesGtBlock; @@ -383,8 +384,8 @@ public ITexture[] getTexture(IGregTechTileEntity aBaseMetaTileEntity, ForgeDirec } @Override - public GT_Recipe.GT_Recipe_Map getRecipeMap() { - return GTPP_Recipe.GTPP_Recipe_Map.sAlloyBlastSmelterRecipes; + public RecipeMap getRecipeMap() { + return GTPPRecipeMaps.alloyBlastSmelterRecipes; } public HeatingCoilLevel getCoilLevel() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java index 6b411443c4..aafa485e65 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Gas.java @@ -18,10 +18,12 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity; import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.objects.GT_RenderedTexture; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.recipe.check.CheckRecipeResult; import gregtech.api.recipe.check.SimpleCheckRecipeResult; +import gregtech.api.recipe.maps.FuelBackend; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; @SuppressWarnings("deprecation") @@ -71,13 +73,23 @@ public int getFuelValue(FluidStack aLiquid) { if (aLiquid == null) { return 0; } - GT_Recipe tFuel = GT_Recipe_Map.sTurbineFuels.findFuel(aLiquid); + GT_Recipe tFuel = getRecipeMap().getBackend().findFuel(aLiquid); if (tFuel != null) { return tFuel.mSpecialValue; } return 0; } + @Override + public RecipeMap getRecipeMap() { + return RecipeMaps.gasTurbineFuels; + } + + @Override + public int getRecipeCatalystPriority() { + return -20; + } + @Override public @NotNull CheckRecipeResult checkProcessing() { List fluids = getStoredFluids(); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java index f022e16057..b6057f8000 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/production/turbines/GT_MTE_LargeTurbine_Plasma.java @@ -15,11 +15,13 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.objects.GT_RenderedTexture; +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.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Turbine; @@ -67,13 +69,23 @@ public int getFuelValue(FluidStack aLiquid) { if (aLiquid == null) { return 0; } - GT_Recipe tFuel = GT_Recipe_Map.sPlasmaFuels.findFuel(aLiquid); + GT_Recipe tFuel = getRecipeMap().getBackend().findFuel(aLiquid); if (tFuel != null) { return tFuel.mSpecialValue; } return 0; } + @Override + public RecipeMap getRecipeMap() { + return RecipeMaps.plasmaFuels; + } + + @Override + public int getRecipeCatalystPriority() { + return -20; + } + @Override public @NotNull CheckRecipeResult checkProcessing() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java index 357cd74cbc..1dbe200f6f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tools/TOOL_Gregtech_AngleGrinder.java @@ -123,19 +123,7 @@ public boolean isMinableBlock(final Block aBlock, final byte aMetaData) { public int convertBlockDrops(final List aDrops, final ItemStack aStack, final EntityPlayer aPlayer, final Block aBlock, final int aX, final int aY, final int aZ, final byte aMetaData, final int aFortune, final boolean aSilkTouch, final BlockEvent.HarvestDropsEvent aEvent) { - int rConversions = 0; - /* - * GT_Recipe tRecipe = GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new - * ItemStack[]{new ItemStack(aBlock, 1, aMetaData)}); if ((tRecipe == null) || - * (aBlock.hasTileEntity(aMetaData))) { for (final ItemStack tDrop : aDrops) { tRecipe = - * GT_Recipe.GT_Recipe_Map.sHammerRecipes.findRecipe(null, true, 2147483647L, null, new - * ItemStack[]{GT_Utility.copyAmount(1L, new Object[]{tDrop})}); if (tRecipe != null) { final ItemStack - * tHammeringOutput = tRecipe.getOutput(0); if (tHammeringOutput != null) { rConversions += tDrop.stackSize; - * tDrop.stackSize *= tHammeringOutput.stackSize; tHammeringOutput.stackSize = tDrop.stackSize; - * GT_Utility.setStack(tDrop, tHammeringOutput); } } } } else { aDrops.clear(); - * aDrops.add(tRecipe.getOutput(0)); rConversions++; } - */ - return rConversions; + return 0; } @Override diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java index e85f8e4f5e..4bf9e4df41 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelter.java @@ -11,6 +11,8 @@ import gregtech.api.enums.ItemList; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeCategories; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; import gtPlusPlus.core.material.Material; @@ -131,27 +133,10 @@ private void generateARecipe(final Material M) { // Generate Recipes for all singular materials that can be made molten. if (hasMoreInputThanACircuit) { if (M.requiresBlastFurnace()) { - if (CORE.RA.addBlastSmelterRecipe( - tItemStackTest, - M.getFluidStack(fluidAmount), - 100, - (duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)), - (int) aVoltage)) { - Logger.WARNING("[BAS] Success."); - Logger.WARNING("[BAS] Success, Also added a Fluid solidifier recipe."); - /* - * if (GT_Values.RA.addFluidExtractionRecipe(M.getIngot(1), null, M.getFluidStack(144), 100, - * duration, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } if - * (GT_Values.RA.addFluidExtractionRecipe(M.getNugget(1), null, M.getFluidStack(16), 100, - * duration/9, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - */ - /* - * if (GT_Values.RA.addFluidExtractionRecipe(M.getSmallDust(1), null, M.getFluid(36), 100, - * duration/4, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - * if (GT_Values.RA.addFluidExtractionRecipe(M.getTinyDust(1), null, M.getFluid(16), 100, - * duration/9, 120)){ Logger.WARNING("[BAS] Success, Also added a Fluid Extractor recipe."); } - */ - } + GT_Values.RA.stdBuilder().itemInputs(tItemStackTest).fluidOutputs(M.getFluidStack(fluidAmount)) + .duration(duration / (mTotalPartsCounter > 0 ? mTotalPartsCounter : 1)).eut(aVoltage) + .recipeCategory(GTPPRecipeCategories.absNonAlloyRecipes) + .addTo(GTPPRecipeMaps.alloyBlastSmelterRecipes); } else { Logger.WARNING("[BAS] Failed."); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java index a48fa23765..145be4a981 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_BlastSmelterGT_GTNH.java @@ -10,10 +10,13 @@ import org.apache.commons.lang3.ArrayUtils; +import gregtech.api.enums.GT_Values; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.minecraft.ItemStackData; -import gtPlusPlus.core.lib.CORE; +import gtPlusPlus.api.recipe.GTPPRecipeCategories; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.math.MathUtils; import gtPlusPlus.core.util.minecraft.FluidUtils; @@ -69,194 +72,173 @@ public static synchronized boolean generateGTNHBlastSmelterRecipesFromEBFList() Logger.INFO("[ABS] Starting recipe generation based on EBF recipe map."); Logger.INFO("[ABS] Caching Ingots and their Molten fluid.."); - // First, we make sure that we have a valid recipe map of Ingots/Dusts -> Fluids - if (GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.mRecipeList.size() > 0) { - // So, let's check every recipe - for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sFluidExtractionRecipes.mRecipeList) { - ItemStack validInput = null; - FluidStack validOutput = null; - // If there aren't both non empty inputs and outputs, we skip - if (ArrayUtils.isEmpty(x.mInputs) || ArrayUtils.isEmpty(x.mFluidOutputs)) { - continue; - } + // Ingots/Dusts -> Fluids + for (GT_Recipe x : RecipeMaps.fluidExtractionRecipes.getAllRecipes()) { + ItemStack validInput = null; + FluidStack validOutput = null; + // If there aren't both non empty inputs and outputs, we skip + if (ArrayUtils.isEmpty(x.mInputs) || ArrayUtils.isEmpty(x.mFluidOutputs)) { + continue; + } - for (int tag : OreDictionary.getOreIDs(x.mInputs[0])) { - String oreName = OreDictionary.getOreName(tag).toLowerCase(); - String mType = "ingot"; - if (oreName.startsWith(mType) && !oreName.contains("double") - && !oreName.contains("triple") - && !oreName.contains("quad") - && !oreName.contains("quintuple")) { - validInput = x.mInputs[0]; - } + for (int tag : OreDictionary.getOreIDs(x.mInputs[0])) { + String oreName = OreDictionary.getOreName(tag).toLowerCase(); + String mType = "ingot"; + if (oreName.startsWith(mType) && !oreName.contains("double") + && !oreName.contains("triple") + && !oreName.contains("quad") + && !oreName.contains("quintuple")) { + validInput = x.mInputs[0]; } + } - validOutput = x.mFluidOutputs[0]; - - if (validInput != null) { - ItemStackData R = new ItemStackData(validInput); - setIngotToFluid(R, validOutput); - Logger.MACHINE_INFO( - "[ABS][I2F] Cached " + validInput.getDisplayName() - + " to " - + validOutput.getLocalizedName() - + ". Stored Under ID of " - + R.getUniqueDataIdentifier()); - } + validOutput = x.mFluidOutputs[0]; + + if (validInput != null) { + ItemStackData R = new ItemStackData(validInput); + setIngotToFluid(R, validOutput); + Logger.MACHINE_INFO( + "[ABS][I2F] Cached " + validInput.getDisplayName() + + " to " + + validOutput.getLocalizedName() + + ". Stored Under ID of " + + R.getUniqueDataIdentifier()); } } Logger.INFO("[ABS] Caching Ingots and their Hot form..."); - // Second, we make sure that we have a valid recipe map of Hot Ingots -> Cold Ingots - if (GT_Recipe.GT_Recipe_Map.sVacuumRecipes.mRecipeList.size() > 0) { - // So, let's check every recipe - for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sVacuumRecipes.mRecipeList) { - ItemStack validInput = null; - ItemStack validOutput = null; - // If we the input is an ingot and it and the output are valid, map it to cache. - if (ArrayUtils.isNotEmpty(x.mInputs) && x.mInputs[0] != null) { - validInput = x.mInputs[0]; - } - if (ArrayUtils.isNotEmpty(x.mOutputs) && x.mOutputs[0] != null) { - validOutput = x.mOutputs[0]; - } - if (validInput != null && validOutput != null) { - ItemStackData R1 = new ItemStackData(validInput); - ItemStackData R2 = new ItemStackData(validOutput); - setHotToCold(R1, R2); - Logger.MACHINE_INFO( - "[ABS][H2C] Cached " + validInput.getDisplayName() - + " to " - + validOutput.getDisplayName() - + ". Stored Under ID of " - + R1.getUniqueDataIdentifier() - + ", links to ID " - + R2.getUniqueDataIdentifier()); - } + // Hot Ingots -> Cold Ingots + for (GT_Recipe x : RecipeMaps.vacuumFreezerRecipes.getAllRecipes()) { + ItemStack validInput = null; + ItemStack validOutput = null; + // If we the input is an ingot and it and the output are valid, map it to cache. + if (ArrayUtils.isNotEmpty(x.mInputs) && x.mInputs[0] != null) { + validInput = x.mInputs[0]; + } + if (ArrayUtils.isNotEmpty(x.mOutputs) && x.mOutputs[0] != null) { + validOutput = x.mOutputs[0]; + } + if (validInput != null && validOutput != null) { + ItemStackData R1 = new ItemStackData(validInput); + ItemStackData R2 = new ItemStackData(validOutput); + setHotToCold(R1, R2); + Logger.MACHINE_INFO( + "[ABS][H2C] Cached " + validInput.getDisplayName() + + " to " + + validOutput.getDisplayName() + + ". Stored Under ID of " + + R1.getUniqueDataIdentifier() + + ", links to ID " + + R2.getUniqueDataIdentifier()); } } Logger.INFO("[ABS] Generating recipes based on existing EBF recipes."); // Okay, so now lets Iterate existing EBF recipes. - if (GT_Recipe.GT_Recipe_Map.sBlastRecipes.mRecipeList.size() > 0) { - for (GT_Recipe x : GT_Recipe.GT_Recipe_Map.sBlastRecipes.mRecipeList) { - if (x == null) { - continue; + for (GT_Recipe x : RecipeMaps.blastFurnaceRecipes.getAllRecipes()) { + ItemStack[] inputs, outputs; + FluidStack[] inputsF; + int voltage, time, special; + boolean enabled; + inputs = x.mInputs.clone(); + outputs = x.mOutputs.clone(); + inputsF = x.mFluidInputs.clone(); + voltage = x.mEUt; + time = x.mDuration; + enabled = x.mEnabled; + special = x.mSpecialValue; + + // continue to next recipe if the Temp is too high. + if (special > 3600) { + Logger.MACHINE_INFO("[ABS] Skipping ABS addition for GTNH due to temp."); + continue; + } else { + FluidStack mMoltenStack = null; + int mMoltenCount = 0; + // If We have a valid Output, let's try use our cached data to get it's molten form. + if (x.mOutputs != null && x.mOutputs[0] != null) { + mMoltenCount = x.mOutputs[0].stackSize; + ItemStackData R = new ItemStackData(x.mOutputs[0]); + Logger.MACHINE_INFO( + "[ABS] Found " + x.mOutputs[0].getDisplayName() + + " as valid EBF output, finding it's fluid from the cache. We will require " + + (144 * mMoltenCount) + + "L. Looking for ID " + + R.getUniqueDataIdentifier()); + FluidStack tempFluid = getFluidFromIngot(R); + if (tempFluid != null) { + // Logger.MACHINE_INFO("[ABS] Got Fluid from Cache."); + mMoltenStack = FluidUtils.getFluidStack(tempFluid, mMoltenCount * 144); + } else { + Logger.MACHINE_INFO("[ABS] Failed to get Fluid from Cache."); + } } - ItemStack[] inputs, outputs; - FluidStack[] inputsF; - int voltage, time, special; - boolean enabled; - inputs = x.mInputs.clone(); - outputs = x.mOutputs.clone(); - inputsF = x.mFluidInputs.clone(); - voltage = x.mEUt; - time = x.mDuration; - enabled = x.mEnabled; - special = x.mSpecialValue; - - // continue to next recipe if the Temp is too high. - if (special > 3600) { - Logger.MACHINE_INFO("[ABS] Skipping ABS addition for GTNH due to temp."); - continue; - } else { - FluidStack mMoltenStack = null; - int mMoltenCount = 0; - // If We have a valid Output, let's try use our cached data to get it's molten form. - if (x.mOutputs != null && x.mOutputs[0] != null) { - mMoltenCount = x.mOutputs[0].stackSize; - ItemStackData R = new ItemStackData(x.mOutputs[0]); - Logger.MACHINE_INFO( - "[ABS] Found " + x.mOutputs[0].getDisplayName() - + " as valid EBF output, finding it's fluid from the cache. We will require " - + (144 * mMoltenCount) - + "L. Looking for ID " - + R.getUniqueDataIdentifier()); - FluidStack tempFluid = getFluidFromIngot(R); - if (tempFluid != null) { - // Logger.MACHINE_INFO("[ABS] Got Fluid from Cache."); - mMoltenStack = FluidUtils.getFluidStack(tempFluid, mMoltenCount * 144); - } else { - Logger.MACHINE_INFO("[ABS] Failed to get Fluid from Cache."); + // If this recipe is enabled and we have a valid molten fluidstack, let's try add this recipe. + if (enabled && isValid(inputs, outputs, inputsF, mMoltenStack)) { + // Boolean to decide whether or not to create a new circuit later + boolean circuitFound = false; + + // Build correct input stack + ArrayList aTempList = new ArrayList<>(); + for (ItemStack recipeItem : inputs) { + if (ItemUtils.isControlCircuit(recipeItem)) { + circuitFound = true; } + aTempList.add(recipeItem); } - // If this recipe is enabled and we have a valid molten fluidstack, let's try add this recipe. - if (enabled && isValid(inputs, outputs, inputsF, mMoltenStack)) { - // Boolean to decide whether or not to create a new circuit later - boolean circuitFound = false; - // Build correct input stack - ArrayList aTempList = new ArrayList<>(); - for (ItemStack recipeItem : inputs) { - if (ItemUtils.isControlCircuit(recipeItem)) { - circuitFound = true; - } - aTempList.add(recipeItem); - } + inputs = aTempList.toArray(new ItemStack[aTempList.size()]); + int inputLength = inputs.length; + // If no circuit was found, increase array length by 1 to add circuit at newInput[0] + if (!circuitFound) { + inputLength++; + } - inputs = aTempList.toArray(new ItemStack[aTempList.size()]); - int inputLength = inputs.length; - // If no circuit was found, increase array length by 1 to add circuit at newInput[0] - if (!circuitFound) { - inputLength++; - } + ItemStack[] newInput = new ItemStack[inputLength]; - ItemStack[] newInput = new ItemStack[inputLength]; + int l = 0; + // If no circuit was found, add a circuit here + if (!circuitFound) { + l = 1; + newInput[0] = CI.getNumberedCircuit(inputs.length); + } - int l = 0; - // If no circuit was found, add a circuit here - if (!circuitFound) { - l = 1; - newInput[0] = CI.getNumberedCircuit(inputs.length); - } + for (ItemStack y : inputs) { + newInput[l++] = y; + } - for (ItemStack y : inputs) { - newInput[l++] = y; + GT_Values.RA.stdBuilder().itemInputs(newInput).fluidInputs(inputsF).fluidOutputs(mMoltenStack) + .duration(MathUtils.roundToClosestInt(time * 0.8)).eut(voltage) + .recipeCategory( + inputLength <= 2 ? GTPPRecipeCategories.absNonAlloyRecipes + : GTPPRecipeMaps.alloyBlastSmelterRecipes.getDefaultRecipeCategory()) + .addTo(GTPPRecipeMaps.alloyBlastSmelterRecipes); + } else { + if (!enabled) { + Logger.MACHINE_INFO("[ABS] Failure. EBF recipe was not enabled."); + } else { + Logger.MACHINE_INFO("[ABS] Failure. Invalid Inputs or Outputs."); + if (inputs == null) { + Logger.MACHINE_INFO("[ABS] Inputs were not Valid."); + } else { + Logger.MACHINE_INFO("[ABS] inputs size: " + inputs.length); } - - // Logger.MACHINE_INFO("[ABS] Generating ABS recipe for "+mMoltenStack.getLocalizedName()+"."); - if (CORE.RA.addBlastSmelterRecipe( - newInput, - (inputsF.length > 0 ? inputsF[0] : null), - mMoltenStack, - 100, - MathUtils.roundToClosestInt(time * 0.8), - voltage, - special)) { - // Logger.MACHINE_INFO("[ABS] Success."); - mSuccess++; + if (outputs == null) { + Logger.MACHINE_INFO("[ABS] Outputs were not Valid."); } else { - Logger.MACHINE_INFO("[ABS] Failure."); + Logger.MACHINE_INFO("[ABS] outputs size: " + outputs.length); } - } else { - if (!enabled) { - Logger.MACHINE_INFO("[ABS] Failure. EBF recipe was not enabled."); + if (inputsF == null) { + Logger.MACHINE_INFO("[ABS] Input Fluids were not Valid."); } else { - Logger.MACHINE_INFO("[ABS] Failure. Invalid Inputs or Outputs."); - if (inputs == null) { - Logger.MACHINE_INFO("[ABS] Inputs were not Valid."); - } else { - Logger.MACHINE_INFO("[ABS] inputs size: " + inputs.length); - } - if (outputs == null) { - Logger.MACHINE_INFO("[ABS] Outputs were not Valid."); - } else { - Logger.MACHINE_INFO("[ABS] outputs size: " + outputs.length); - } - if (inputsF == null) { - Logger.MACHINE_INFO("[ABS] Input Fluids were not Valid."); - } else { - Logger.MACHINE_INFO("[ABS] inputsF size: " + inputsF.length); - } - if (mMoltenStack == null) { - Logger.MACHINE_INFO("[ABS] Output Fluid were not Valid."); - } + Logger.MACHINE_INFO("[ABS] inputsF size: " + inputsF.length); + } + if (mMoltenStack == null) { + Logger.MACHINE_INFO("[ABS] Output Fluid were not Valid."); } } } } - } else { - Logger.MACHINE_INFO("[ABS] Failure. Did not find any EBF recipes to iterate."); } Logger.INFO("[ABS] Processed " + mSuccess + " recipes."); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java index 0510037f5d..5447f71848 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_FluidCanning.java @@ -6,9 +6,9 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.lib.CORE; @@ -110,7 +110,7 @@ public RecipeGen_FluidCanning(boolean aExtracting, ItemStack aEmpty, ItemStack a // Check validity - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( true, new ItemStack[] { aInput }, new ItemStack[] { aOutput }, @@ -185,10 +185,10 @@ private boolean addFluidExtractionRecipe(GT_Recipe aRecipe) { + aRecipe.mDuration + ", Voltage: " + aRecipe.mEUt); - int aCount1 = GT_Recipe_Map.sFluidExtractionRecipes.mRecipeList.size(); + int aCount1 = getMapSize(RecipeMaps.fluidExtractionRecipes); int aCount2 = aCount1; - GT_Recipe_Map.sFluidExtractionRecipes.addRecipe(aRecipe); - aCount1 = GT_Recipe_Map.sFluidExtractionRecipes.mRecipeList.size(); + RecipeMaps.fluidExtractionRecipes.addRecipe(aRecipe); + aCount1 = getMapSize(RecipeMaps.fluidExtractionRecipes); result = aCount1 > aCount2; if (result) { // Logger.INFO("[FIND] Added Extraction recipe for "+ItemUtils.getArrayStackNames(aRecipe.mInputs)+", @@ -211,10 +211,10 @@ private boolean addFluidExtractionRecipe(GT_Recipe aRecipe) { private boolean addFluidCannerRecipe(GT_Recipe aRecipe) { boolean result = false; - int aCount1 = GT_Recipe_Map.sFluidCannerRecipes.mRecipeList.size(); + int aCount1 = getMapSize(RecipeMaps.fluidCannerRecipes); int aCount2 = aCount1; - GT_Recipe_Map.sFluidCannerRecipes.addRecipe(aRecipe); - aCount1 = GT_Recipe_Map.sFluidCannerRecipes.mRecipeList.size(); + RecipeMaps.fluidCannerRecipes.addRecipe(aRecipe); + aCount1 = getMapSize(RecipeMaps.fluidCannerRecipes); result = aCount1 > aCount2; if (result) { // Logger.INFO("[FIND] Added Canning recipe for "+ItemUtils.getArrayStackNames(aRecipe.mInputs)+", @@ -245,17 +245,7 @@ private void dumpStack() { } } - private String buildLogString() { - int solidSize = getMapSize(GT_Recipe_Map.sCannerRecipes); - int fluidSize = getMapSize(GT_Recipe_Map.sFluidCannerRecipes); - return (disableOptional ? "EXTRACTING" : "CANNING") + " DEBUG | Solids: " - + solidSize - + " | Liquids: " - + fluidSize - + " | "; - } - - private int getMapSize(GT_Recipe_Map aMap) { - return aMap.mRecipeList.size(); + private int getMapSize(RecipeMap aMap) { + return aMap.getAllRecipes().size(); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java index a812e82275..6915e193e3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_MultisUsingFluidInsteadOfCells.java @@ -7,9 +7,8 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fluids.FluidStack; -import gregtech.api.util.GTPP_Recipe; +import gregtech.api.recipe.RecipeMap; import gregtech.api.util.GT_Recipe; -import gregtech.api.util.GT_Recipe.GT_Recipe_Map; import gregtech.api.util.GT_Utility; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; @@ -62,14 +61,14 @@ private static synchronized FluidStack getFluidFromItemStack(final ItemStack ing return GT_Utility.getFluidForFilledItem(ingot, true); } - public static synchronized int generateRecipesNotUsingCells(GT_Recipe_Map aInputs, GT_Recipe_Map aOutputs) { + public static synchronized int generateRecipesNotUsingCells(RecipeMap aInputs, RecipeMap aOutputs) { init(); int aRecipesHandled = 0; int aInvalidRecipesToConvert = 0; - int aOriginalCount = aInputs.mRecipeList.size(); + int aOriginalCount = aInputs.getAllRecipes().size(); ArrayList deDuplicationInputArray = new ArrayList<>(); - recipe: for (GT_Recipe x : aInputs.mRecipeList) { + recipe: for (GT_Recipe x : aInputs.getAllRecipes()) { if (x != null) { ItemStack[] aInputItems = x.mInputs.clone(); @@ -145,7 +144,7 @@ public static synchronized int generateRecipesNotUsingCells(GT_Recipe_Map aInput aInvalidRecipesToConvert++; continue; // Skip this recipe entirely if we find an item we don't like } - GT_Recipe aNewRecipe = new GTPP_Recipe( + GT_Recipe aNewRecipe = new GT_Recipe( false, aNewItemInputs, aNewItemOutputs, @@ -168,12 +167,12 @@ public static synchronized int generateRecipesNotUsingCells(GT_Recipe_Map aInput } // cast arraylist of input to a regular array and pass it to a duplicate recipe remover. List deDuplicationOutputArray = GT_RecipeUtils - .removeDuplicates(deDuplicationInputArray, aOutputs.mNEIName); + .removeDuplicates(deDuplicationInputArray, aOutputs.unlocalizedName); // add each recipe from the above output to the intended recipe map for (GT_Recipe recipe : deDuplicationOutputArray) { aOutputs.add(recipe); } - Logger.INFO("Generated Recipes for " + aOutputs.mNEIName); + Logger.INFO("Generated Recipes for " + aOutputs.unlocalizedName); Logger.INFO("Original Map contains " + aOriginalCount + " recipes."); Logger.INFO("Output Map contains " + aRecipesHandled + " recipes."); Logger.INFO("There were " + aInvalidRecipesToConvert + " invalid recipes."); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java index 75d7abbba0..4c4856a89b 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/RecipeGen_Plates.java @@ -9,7 +9,7 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.ItemList; import gregtech.api.objects.GT_RenderedTexture; -import gregtech.api.util.GT_Recipe; +import gregtech.api.recipe.RecipeMaps; import gtPlusPlus.api.interfaces.RunnableWithInfo; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.core.material.Material; @@ -195,7 +195,7 @@ public static boolean addExtruderRecipe(final ItemStack aInput, final ItemStack 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 }, @@ -216,7 +216,7 @@ public static boolean addForgeHammerRecipe(final ItemStack aInput1, final ItemSt 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 }, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java index c89648e25f..aab24db6d3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/misc/AddCustomMachineToPA.java @@ -1,14 +1,13 @@ package gtPlusPlus.xmod.gregtech.loaders.misc; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_ProcessingArray_Manager; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; public class AddCustomMachineToPA { public static void register() { // Simple Washers - GT_ProcessingArray_Manager - .addRecipeMapToPA("simplewasher.01", GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes); + GT_ProcessingArray_Manager.addRecipeMapToPA("simplewasher.01", GTPPRecipeMaps.simpleWasherRecipes); } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java index 980bf983ca..035bd68678 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_AlgaeFarm.java @@ -6,7 +6,6 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.GT_Values; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; @@ -92,7 +91,7 @@ private static GT_Recipe generateBaseRecipe(boolean aUsingCompost, int aTier) { // We set these elsewhere ItemStack[] aOutputs = getOutputsForTier(aTier); - GT_Recipe tRecipe = new GTPP_Recipe( + GT_Recipe tRecipe = new GT_Recipe( false, aInputs, aOutputs, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java index 25cf916997..018eaec2dd 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_ChemicalSkips.java @@ -5,8 +5,8 @@ import static gregtech.api.enums.Mods.GalaxySpace; import static gregtech.api.enums.Mods.GoodGenerator; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; +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.SECONDS; import net.minecraft.item.ItemStack; @@ -497,7 +497,7 @@ private static void catalystRecipes() { MaterialsUEVplus.TranscendentMetal.getNanite(1)) .itemOutputs(ItemUtils.getSimpleStack(GenericChem.mAlgagenicGrowthPromoterCatalyst, 1)) .fluidInputs(FluidUtils.getFluidStack("molten.shirabon", 92_160)).duration(60 * SECONDS) - .eut(TierEU.RECIPE_UMV).addTo(sAssemblerRecipes); + .eut(TierEU.RECIPE_UMV).addTo(assemblerRecipes); } private static void tieredCasingRecipes() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java index 27f289a7c5..0ccfa36e04 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_LFTR.java @@ -5,9 +5,9 @@ import net.minecraftforge.fluids.FluidStack; import gregtech.api.enums.Materials; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GasSpargingRecipeMap; import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.material.ELEMENT; import gtPlusPlus.core.material.nuclear.FLUORIDES; import gtPlusPlus.core.material.nuclear.NUCLIDE; @@ -56,7 +56,7 @@ public static void generate() { FluidStack Li2BeF4 = NUCLIDE.Li2BeF4.getFluidStack(200); // LiFBeF2ThF4UF4 - T3 - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe( + GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( false, new ItemStack[] {}, new ItemStack[] {}, @@ -72,7 +72,7 @@ public static void generate() { ); // LiFBeF2ZrF4UF4 - T2 - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe( + GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( false, new ItemStack[] {}, new ItemStack[] {}, @@ -88,7 +88,7 @@ public static void generate() { ); // LiFBeF2ZrF4U235 - T1 - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe( + GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( false, new ItemStack[] {}, new ItemStack[] {}, diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java index 1ed259a3e5..99aaf09391 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_Nuclear.java @@ -1,7 +1,7 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sCentrifugeRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sFusionRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.fusionRecipes; import static gregtech.api.util.GT_RecipeBuilder.MINUTES; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -108,7 +108,7 @@ private static void centrifugeRecipes() { GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1L)) .outputChances(10000, 10000, 1000, 1000, 1000, 500) .fluidOutputs(FluidUtils.getFluidStack("krypton", 60)).duration(4 * MINUTES + 10 * SECONDS) - .eut(TierEU.RECIPE_IV).addTo(sCentrifugeRecipes); + .eut(TierEU.RECIPE_IV).addTo(centrifugeRecipes); // Mox GT_Values.RA.stdBuilder() .itemInputs( @@ -122,7 +122,7 @@ private static void centrifugeRecipes() { ELEMENT.getInstance().PLUTONIUM238.getTinyDust(1), GT_OreDictUnificator.get(OrePrefixes.dustTiny, Materials.Plutonium, 1L)) .outputChances(10000, 10000, 500, 500, 500, 500).fluidOutputs(FluidUtils.getFluidStack("krypton", 90)) - .duration(6 * MINUTES + 15 * SECONDS).eut(TierEU.RECIPE_IV).addTo(sCentrifugeRecipes); + .duration(6 * MINUTES + 15 * SECONDS).eut(TierEU.RECIPE_IV).addTo(centrifugeRecipes); // Thorium GT_Values.RA.stdBuilder().itemInputs(ItemList.Depleted_Thorium_1.get(8), GT_Utility.getIntegratedCircuit(20)) .itemOutputs( @@ -134,7 +134,7 @@ private static void centrifugeRecipes() { ELEMENT.getInstance().THALLIUM.getTinyDust(1)) .outputChances(10000, 10000, 5000, 5000, 5000, 2500) .fluidOutputs(FluidUtils.getFluidStack("krypton", 30)).duration(2 * MINUTES + 5 * SECONDS) - .eut(TierEU.RECIPE_IV).addTo(sCentrifugeRecipes); + .eut(TierEU.RECIPE_IV).addTo(centrifugeRecipes); } private static void chemicalBathRecipes() { @@ -484,7 +484,7 @@ private static void fusionChainRecipes() { GT_Values.RA.stdBuilder().fluidInputs(Materials.Boron.getPlasma(144), Materials.Calcium.getPlasma(16)) .fluidOutputs(new FluidStack(ELEMENT.getInstance().NEON.getPlasma(), 1000)) .duration(3 * SECONDS + 4 * TICKS).eut(TierEU.RECIPE_LuV).metadata(FUSION_THRESHOLD, 100000000) - .addTo(sFusionRecipes); + .addTo(fusionRecipes); GT_Values.RA.stdBuilder() .fluidInputs( @@ -492,46 +492,46 @@ private static void fusionChainRecipes() { Materials.Bedrockium.getMolten(144)) .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 1000)) .duration(3 * SECONDS + 4 * TICKS).eut(TierEU.RECIPE_LuV).metadata(FUSION_THRESHOLD, 100000000) - .addTo(sFusionRecipes); + .addTo(fusionRecipes); // Mk2 GT_Values.RA.stdBuilder().fluidInputs(Materials.Niobium.getPlasma(144), Materials.Zinc.getPlasma(144)) .fluidOutputs(new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 144)).duration(32 * TICKS) - .eut(TierEU.RECIPE_ZPM).metadata(FUSION_THRESHOLD, 300000000).addTo(sFusionRecipes); + .eut(TierEU.RECIPE_ZPM).metadata(FUSION_THRESHOLD, 300000000).addTo(fusionRecipes); GT_Values.RA.stdBuilder() .fluidInputs( new FluidStack(ELEMENT.getInstance().KRYPTON.getPlasma(), 144), new FluidStack(ELEMENT.STANDALONE.FORCE.getPlasma(), 1000)) .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 1000)).duration(32 * TICKS) - .eut(TierEU.RECIPE_ZPM).metadata(FUSION_THRESHOLD, 300000000).addTo(sFusionRecipes); + .eut(TierEU.RECIPE_ZPM).metadata(FUSION_THRESHOLD, 300000000).addTo(fusionRecipes); GT_Values.RA.stdBuilder() .fluidInputs( new FluidStack(ELEMENT.STANDALONE.ASTRAL_TITANIUM.getPlasma(), 144), new FluidStack(ALLOY.TITANSTEEL.getFluid(), 8)) .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 1000)).duration(32 * TICKS) - .eut(TierEU.RECIPE_ZPM).metadata(FUSION_THRESHOLD, 300000000).addTo(sFusionRecipes); + .eut(TierEU.RECIPE_ZPM).metadata(FUSION_THRESHOLD, 300000000).addTo(fusionRecipes); // Mk3 GT_Values.RA.stdBuilder() .fluidInputs(ELEMENT.getInstance().CURIUM.getFluidStack(144), Materials.Americium.getPlasma(144)) .fluidOutputs(new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 144)).duration(16 * TICKS) - .eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 500000000).addTo(sFusionRecipes); + .eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 500000000).addTo(fusionRecipes); GT_Values.RA.stdBuilder() .fluidInputs( new FluidStack(ELEMENT.getInstance().XENON.getPlasma(), 144), new FluidStack(ELEMENT.STANDALONE.RUNITE.getPlasma(), 1000)) .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 1000)) - .duration(16 * TICKS).eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 500000000).addTo(sFusionRecipes); + .duration(16 * TICKS).eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 500000000).addTo(fusionRecipes); GT_Values.RA.stdBuilder() .fluidInputs( new FluidStack(ELEMENT.STANDALONE.ADVANCED_NITINOL.getPlasma(), 144), Materials.Tartarite.getMolten(2)) .fluidOutputs(new FluidStack(ELEMENT.STANDALONE.CELESTIAL_TUNGSTEN.getPlasma(), 1000)) - .duration(16 * TICKS).eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 500000000).addTo(sFusionRecipes); + .duration(16 * TICKS).eut(TierEU.RECIPE_UV).metadata(FUSION_THRESHOLD, 500000000).addTo(fusionRecipes); } private static void macerator() { diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java index a0f029392d..b990f0ee54 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/loaders/recipe/RecipeLoader_NuclearFuelProcessing.java @@ -1,7 +1,7 @@ package gtPlusPlus.xmod.gregtech.loaders.recipe; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sBlastRecipes; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sDistillationRecipes; +import static gregtech.api.recipe.RecipeMaps.blastFurnaceRecipes; +import static gregtech.api.recipe.RecipeMaps.distillationTowerRecipes; 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; @@ -196,7 +196,7 @@ public static void generate() { // Reactor Core step 2B - Distillation GT_Values.RA.stdBuilder().fluidInputs(FluidUtils.getFluidStack(NuclearChem.Impure_LiFBeF2, 1000)) .fluidOutputs(NUCLIDE.LiFBeF2.getFluidStack(250)).duration(7 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_IV).addTo(sDistillationRecipes); + .eut(TierEU.RECIPE_IV).addTo(distillationTowerRecipes); // UF6 -> UF4 reduction // UF6 + LiFBeF2 + H2 -> LiFBeF2UF4 + HF @@ -204,7 +204,7 @@ public static void generate() { .fluidInputs(Materials.Hydrogen.getGas(2000L)) .itemOutputs(ItemUtils.getItemStackOfAmountFromOreDict("cellHydrofluoricAcid", 2)) .fluidOutputs(NUCLIDE.LiFBeF2UF4.getFluidStack(3000)).duration(2 * MINUTES + 30 * SECONDS) - .eut(TierEU.RECIPE_IV).metadata(COIL_HEAT, 5400).addTo(sBlastRecipes); + .eut(TierEU.RECIPE_IV).metadata(COIL_HEAT, 5400).addTo(blastFurnaceRecipes); // Alternative recipe to the above, for chemplant, to not use cells CORE.RA.addChemicalPlantRecipe( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java b/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java index dcb2624c18..4fafaf25e3 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/recipes/GregtechRecipeAdder.java @@ -9,16 +9,15 @@ import gregtech.api.enums.ConfigCategories; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gregtech.api.util.GTPP_Recipe; -import gregtech.api.util.GTPP_Recipe.GTPP_Recipe_Map; +import gregtech.api.recipe.RecipeMaps; import gregtech.api.util.GT_ModHandler; 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.api.util.SemiFluidFuelHandler; import gtPlusPlus.api.objects.Logger; import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.Material; import gtPlusPlus.core.material.MaterialGenerator; @@ -48,7 +47,7 @@ public boolean addCokeOvenRecipe(final ItemStack aInput1, final ItemStack aInput return false; } - GTPP_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( true, new ItemStack[] { aInput1, aInput2 }, new ItemStack[] { aOutput }, @@ -59,7 +58,7 @@ public boolean addCokeOvenRecipe(final ItemStack aInput1, final ItemStack aInput aDuration, Math.max(1, aEUt), 0); - GTPP_Recipe.GTPP_Recipe_Map.sCokeOvenRecipes.add(aSpecialRecipe); + GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe); return true; } @@ -79,7 +78,7 @@ public boolean addCokeOvenRecipe(int aCircuit, ItemStack aInput2, FluidStack[] a @Override public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack[] aFluidInputs, FluidStack[] aFluidOutputs, ItemStack[] aOutputs, int aDuration, int aEUt) { - GTPP_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( true, new ItemStack[] { aInput1, aInput2 }, aOutputs, @@ -90,7 +89,7 @@ public boolean addCokeOvenRecipe(ItemStack aInput1, ItemStack aInput2, FluidStac Math.max(1, aDuration), Math.max(1, aEUt), 0); - GTPP_Recipe.GTPP_Recipe_Map.sCokeOvenRecipes.add(aSpecialRecipe); + GTPPRecipeMaps.cokeOvenRecipes.add(aSpecialRecipe); return true; } @@ -101,7 +100,7 @@ public boolean addMatterFabricatorRecipe(final FluidStack aFluidInput, final Flu Logger.WARNING("Something was null, returning false"); return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] {}, new ItemStack[] {}, @@ -112,7 +111,7 @@ public boolean addMatterFabricatorRecipe(final FluidStack aFluidInput, final Flu aDuration, aEUt, 0); - GTPP_Recipe_Map.sMatterFab2Recipes.addRecipe(aRecipe); + GTPPRecipeMaps.multiblockMassFabricatorRecipes.addRecipe(aRecipe); return true; } @@ -125,7 +124,7 @@ public boolean addDehydratorRecipe(final ItemStack[] aInput, final FluidStack aF return false; } - GTPP_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( true, aInput, aOutputItems, @@ -136,7 +135,7 @@ public boolean addDehydratorRecipe(final ItemStack[] aInput, final FluidStack aF Math.max(1, aDuration), Math.max(1, aEUt), 0); - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes.add(aSpecialRecipe); + GTPPRecipeMaps.chemicalDehydratorRecipes.add(aSpecialRecipe); return true; } @@ -293,7 +292,7 @@ public boolean addBlastSmelterRecipe(ItemStack[] aInput, FluidStack[] aInputFlui return false; } - GTPP_Recipe.GTPP_Recipe_Map.sAlloyBlastSmelterRecipes.addRecipe( + GTPPRecipeMaps.alloyBlastSmelterRecipes.addRecipe( aOptimizeRecipe, aInput, aOutputStack, @@ -323,7 +322,7 @@ public boolean addQuantumTransformerRecipe(ItemStack[] aInput, FluidStack[] aFlu aFluidOutput = new FluidStack[0]; } - GTPP_Recipe.GTPP_Recipe_Map.sQuantumForceTransformerRecipes.add( + GTPPRecipeMaps.quantumForceTransformerRecipes.add( new GT_Recipe( false, aInput, @@ -371,7 +370,7 @@ public boolean addFissionFuel(final boolean aOptimise, final FluidStack aInput1, final FluidStack[] inputs = { aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9 }; final FluidStack[] outputs = { aOutput1, aOutput2 }; - GTPP_Recipe.GTPP_Recipe_Map.sFissionFuelProcessing.addRecipe( + GTPPRecipeMaps.fissionFuelProcessingRecipes.addRecipe( aOptimise, new ItemStack[] {}, new ItemStack[] {}, @@ -407,7 +406,7 @@ public boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, I return false; } - GTPP_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( true, aInputs, aOutput, @@ -418,7 +417,7 @@ public boolean addCyclotronRecipe(ItemStack[] aInputs, FluidStack aFluidInput, I Math.max(1, aDuration), Math.max(1, aEUt), aSpecialValue); - GTPP_Recipe.GTPP_Recipe_Map.sCyclotronRecipes.add(aSpecialRecipe); + GTPPRecipeMaps.cyclotronRecipes.add(aSpecialRecipe); return true; } @@ -430,7 +429,7 @@ public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aI return false; } - GTPP_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( true, new ItemStack[] { aInput1, aInput2, aInput3, aInput4 }, new ItemStack[] { aOutput1, aOutput2, aOutput3, aOutput4 }, @@ -441,7 +440,7 @@ public boolean addMixerRecipe(ItemStack aInput1, ItemStack aInput2, ItemStack aI Math.max(1, aDuration), Math.max(1, aEUt), 0); - GT_Recipe_Map.sMixerRecipes.add(aSpecialRecipe); + RecipeMaps.mixerRecipes.add(aSpecialRecipe); return true; } @@ -463,7 +462,7 @@ public boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] a return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -474,7 +473,7 @@ public boolean addMultiblockCentrifugeRecipe(ItemStack[] aInputs, FluidStack[] a aDuration, aEUtick, aSpecial); - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockCentrifugeRecipes_GT.addRecipe(aRecipe); + GTPPRecipeMaps.centrifugeNonCellRecipes.addRecipe(aRecipe); return true; } @@ -495,7 +494,7 @@ public boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -506,7 +505,7 @@ public boolean addMultiblockElectrolyzerRecipe(ItemStack[] aInputs, FluidStack[] aDuration, aEUtick, aSpecial); - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockElectrolyzerRecipes_GT.addRecipe(aRecipe); + GTPPRecipeMaps.electrolyzerNonCellRecipes.addRecipe(aRecipe); return true; } @@ -527,7 +526,7 @@ public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluid return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -538,7 +537,7 @@ public boolean addAdvancedFreezerRecipe(ItemStack[] aInputs, FluidStack[] aFluid aDuration, aEUtick, aSpecial); - GTPP_Recipe.GTPP_Recipe_Map.sAdvFreezerRecipes_GT.addRecipe(aRecipe); + GTPPRecipeMaps.advancedFreezerRecipes.addRecipe(aRecipe); return false; } @@ -557,7 +556,7 @@ public boolean addMultiblockMixerRecipe(ItemStack[] aInputs, FluidStack[] aFluid return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -568,7 +567,7 @@ public boolean addMultiblockMixerRecipe(ItemStack[] aInputs, FluidStack[] aFluid aDuration, aEUtick, aSpecial); - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockMixerRecipes_GT.addRecipe(aRecipe); + GTPPRecipeMaps.mixerNonCellRecipes.addRecipe(aRecipe); return true; } @@ -588,7 +587,7 @@ public boolean addMultiblockChemicalDehydratorRecipe(ItemStack[] aInputs, FluidS return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -599,7 +598,7 @@ public boolean addMultiblockChemicalDehydratorRecipe(ItemStack[] aInputs, FluidS aDuration, aEUtick, aSpecial); - GTPP_Recipe.GTPP_Recipe_Map.sMultiblockChemicalDehydratorRecipes.addRecipe(aRecipe); + GTPPRecipeMaps.chemicalDehydratorNonCellRecipes.addRecipe(aRecipe); return true; } @@ -645,7 +644,7 @@ public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircui if (aCircuit < 0 || aCircuit > 24) { aCircuit = 22; } - GT_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( false, new ItemStack[] { input1, input2 }, new ItemStack[] { output, output2 }, @@ -656,7 +655,8 @@ public boolean addChemicalRecipe(ItemStack input1, ItemStack input2, int aCircui time, eu, 0); - return GT_Recipe.GT_Recipe_Map.sChemicalRecipes.mRecipeList.add(aSpecialRecipe); + RecipeMaps.chemicalReactorRecipes.add(aSpecialRecipe); + return true; } @Override @@ -695,7 +695,7 @@ public boolean addCompressorRecipe(ItemStack aInput1, ItemStack aOutput1, int aD 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 }, @@ -723,7 +723,7 @@ public boolean addBrewingRecipe(ItemStack aIngredient, FluidStack aInput, FluidS 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, @@ -813,7 +813,7 @@ public boolean addVacuumFurnaceRecipe(ItemStack aInput1, ItemStack aInput2, Flui public boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidInputs, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int aDuration, int aEUt, int aLevel) { if (aInputs != null && aOutputs != null) { - GTPP_Recipe.GTPP_Recipe_Map.sVacuumFurnaceRecipes.addRecipe( + GTPPRecipeMaps.vacuumFurnaceRecipes.addRecipe( false, aInputs, aOutputs, @@ -833,7 +833,7 @@ public boolean addVacuumFurnaceRecipe(ItemStack[] aInputs, FluidStack[] aFluidIn @Override public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, long eu) { // Generate Special Laser Recipe - GT_Recipe u = new GTPP_Recipe( + GT_Recipe u = new GT_Recipe( false, new ItemStack[] { aInput1, GregtechItemList.Laser_Lens_WoodsGlass.get(0), }, new ItemStack[] { aOutput }, @@ -844,7 +844,8 @@ public boolean addUvLaserRecipe(ItemStack aInput1, ItemStack aOutput, int time, time, (int) eu, 0); - return GT_Recipe.GT_Recipe_Map.sLaserEngraverRecipes.mRecipeList.add(u); + RecipeMaps.laserEngraverRecipes.add(u); + return true; } @Override @@ -864,7 +865,7 @@ public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFl CORE.crash(); } - GTPP_Recipe.GTPP_Recipe_Map.sChemicalPlantRecipes.addRecipe( + GTPPRecipeMaps.chemicalPlantRecipes.addRecipe( false, aInputs, aOutputs, @@ -881,7 +882,7 @@ public boolean addChemicalPlantRecipe(ItemStack[] aInputs, FluidStack[] aInputFl @Override public boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, ItemStack[] aOutputs, FluidStack[] aFluidOutputs, int time, long eu, int aHeat) { - GTPP_Recipe aSpecialRecipe = new GTPP_Recipe( + GT_Recipe aSpecialRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -893,7 +894,7 @@ public boolean addBlastRecipe(ItemStack[] aInputs, FluidStack[] aInputFluids, It (int) eu, aHeat); - GT_Recipe.GT_Recipe_Map.sBlastRecipes.add(aSpecialRecipe); + RecipeMaps.blastFurnaceRecipes.add(aSpecialRecipe); return true; } @@ -911,7 +912,7 @@ public boolean addDistilleryRecipe(ItemStack aCircuit, FluidStack aInput, FluidS .get("distillery", aOutput.getFluid().getUnlocalizedName(), aDuration)) <= 0) { return false; } else { - GT_Recipe tRecipe = GT_Recipe_Map.sDistilleryRecipes.addRecipe( + GT_Recipe tRecipe = RecipeMaps.distilleryRecipes.addRecipe( true, new ItemStack[] { aCircuit }, new ItemStack[] { aSolidOutput }, @@ -939,7 +940,7 @@ public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aDura @Override public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChance, int aDuration, int aEUt) { if (aInput != null && aOutput != null) { - GT_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { aInput.copy() }, new ItemStack[] { aOutput.copy() }, @@ -950,7 +951,7 @@ public boolean addExtractorRecipe(ItemStack aInput, ItemStack aOutput, int aChan aDuration, aEUt, 0); - GT_Recipe_Map.sExtractorRecipes.add(aRecipe); + RecipeMaps.extractorRecipes.add(aRecipe); return true; } else { return false; @@ -1026,7 +1027,7 @@ public boolean addMillingRecipe(Material aMat, int aEU) { int[] aTime = new int[] { 2400, 3000, 1200, 1500 }; for (int i = 0; i < 4; i++) { - GTPP_Recipe aOreRecipe = new GTPP_Recipe( + GT_Recipe aOreRecipe = new GT_Recipe( false, aInputArray[i], aOutputArray[i], @@ -1037,7 +1038,7 @@ public boolean addMillingRecipe(Material aMat, int aEU) { aTime[i], aEU, 0); - GTPP_Recipe.GTPP_Recipe_Map.sOreMillRecipes.add(aOreRecipe); + GTPPRecipeMaps.millingRecipes.add(aOreRecipe); } return true; } @@ -1060,7 +1061,7 @@ public boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack FlotationRecipeHandler.registerOreType(aMat); - GT_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { ItemUtils.getSimpleStack(aXanthate, 32), aMat.getMilled(64), aMat.getMilled(64), aMat.getMilled(64), aMat.getMilled(64), }, @@ -1072,7 +1073,7 @@ public boolean addFlotationRecipe(Material aMat, ItemStack aXanthate, FluidStack aTime, aEU, 0); - GTPP_Recipe.GTPP_Recipe_Map.sFlotationCellRecipes.add(aRecipe); + GTPPRecipeMaps.flotationCellRecipes.add(aRecipe); return true; } @@ -1097,7 +1098,7 @@ public boolean addpackagerRecipe(ItemStack aRecipeType, ItemStack aSmallDust, It @Override public boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage) { - GTPP_Recipe.GTPP_Recipe_Map.sRTGFuels.addRecipe( + GTPPRecipeMaps.rtgFuels.addRecipe( true, new ItemStack[] { aFuelPellet }, new ItemStack[] {}, @@ -1113,7 +1114,7 @@ public boolean addFuelForRTG(ItemStack aFuelPellet, int aFuelDays, int aVoltage) @Override public boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU) { - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { CI.getNumberedAdvancedCircuit(aCircuit), aInput }, aOutputs, @@ -1125,14 +1126,14 @@ public boolean addColdTrapRecipe(int aCircuit, ItemStack aInput, FluidStack aFlu aEU, 0); - GTPP_Recipe_Map.sColdTrapRecipes.add(aRecipe); + GTPPRecipeMaps.coldTrapRecipes.add(aRecipe); return true; } @Override public boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInput2, FluidStack aFluidInput, ItemStack[] aOutputs, int[] aChances, FluidStack aFluidOutput, int aTime, int aEU) { - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { aInput1, aInput2 }, aOutputs, @@ -1144,7 +1145,7 @@ public boolean addReactorProcessingUnitRecipe(ItemStack aInput1, ItemStack aInpu aEU, 0); - GTPP_Recipe_Map.sReactorProcessingUnitRecipes.add(aRecipe); + GTPPRecipeMaps.reactorProcessingUnitRecipes.add(aRecipe); return true; } @@ -1164,7 +1165,7 @@ public boolean addNuclearSaltProcessingPlantRecipe(ItemStack[] aInputs, FluidSta return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, aInputs, aOutputs, @@ -1175,7 +1176,7 @@ public boolean addNuclearSaltProcessingPlantRecipe(ItemStack[] aInputs, FluidSta aDuration, aEUtick, aSpecial); - GTPP_Recipe.GTPP_Recipe_Map.sNuclearSaltProcessingPlantRecipes.addRecipe(aRecipe); + GTPPRecipeMaps.nuclearSaltProcessingPlantRecipes.addRecipe(aRecipe); return true; } @@ -1185,7 +1186,7 @@ public boolean addFluidHeaterRecipe(ItemStack aInput, FluidStack aFluidInput, Fl if ((aInput == null && aFluidInput == null) || aOutput == null) { return false; } - GT_Recipe.GT_Recipe_Map.sFluidHeaterRecipes.addRecipe( + RecipeMaps.fluidHeaterRecipes.addRecipe( true, new ItemStack[] { aInput }, null, @@ -1203,7 +1204,7 @@ public boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int a if (aInput == null || aOutput == null) { return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { aInput }, new ItemStack[] { aOutput }, @@ -1215,7 +1216,7 @@ public boolean addVacuumFreezerRecipe(ItemStack aInput, ItemStack aOutput, int a aEUt, 0); - GT_Recipe_Map.sVacuumRecipes.add(aRecipe); + RecipeMaps.vacuumFreezerRecipes.add(aRecipe); return true; } @@ -1224,7 +1225,7 @@ public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput if (aInput == null || aOutput == null) { return false; } - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { aInput }, new ItemStack[] { aOutput }, @@ -1236,7 +1237,7 @@ public boolean addMolecularTransformerRecipe(ItemStack aInput, ItemStack aOutput aEUt, 0); - GTPP_Recipe_Map.sMolecularTransformerRecipes.add(aRecipe); + GTPPRecipeMaps.molecularTransformerRecipes.add(aRecipe); return true; } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java index 1fd4e17b03..6ad68efbfe 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechDehydrator.java @@ -3,7 +3,7 @@ import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.CIRCUIT; import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.HULL; import static gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.X.ROBOT_ARM; -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.item.ItemStack; @@ -15,9 +15,9 @@ 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.util.GTPP_Recipe; import gregtech.api.util.GT_OreDictUnificator; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.item.ModItems; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.material.ALLOY; @@ -44,22 +44,22 @@ private static void run1() { .itemInputs( new ItemStack(ModItems.itemDehydratorCoilWire, 4, 0), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Bronze, 1)) - .itemOutputs(coilT1).duration(8 * SECONDS).eut(TierEU.RECIPE_MV).addTo(sAssemblerRecipes); + .itemOutputs(coilT1).duration(8 * SECONDS).eut(TierEU.RECIPE_MV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( new ItemStack(ModItems.itemDehydratorCoilWire, 4, 1), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Steel, 1)) - .itemOutputs(coilT2).duration(8 * SECONDS).eut(TierEU.RECIPE_HV / 2).addTo(sAssemblerRecipes); + .itemOutputs(coilT2).duration(8 * SECONDS).eut(TierEU.RECIPE_HV / 2).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( new ItemStack(ModItems.itemDehydratorCoilWire, 4, 2), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.StainlessSteel, 1)) - .itemOutputs(coilT3).duration(8 * SECONDS).eut(TierEU.RECIPE_HV).addTo(sAssemblerRecipes); + .itemOutputs(coilT3).duration(8 * SECONDS).eut(TierEU.RECIPE_HV).addTo(assemblerRecipes); GT_Values.RA.stdBuilder() .itemInputs( new ItemStack(ModItems.itemDehydratorCoilWire, 4, 3), GT_OreDictUnificator.get(OrePrefixes.pipeMedium, Materials.Titanium, 1)) - .itemOutputs(coilT4).duration(8 * SECONDS).eut(TierEU.RECIPE_EV / 2).addTo(sAssemblerRecipes); + .itemOutputs(coilT4).duration(8 * SECONDS).eut(TierEU.RECIPE_EV / 2).addTo(assemblerRecipes); // Basic GregtechItemList.GT_Dehydrator_MV.set( @@ -69,19 +69,18 @@ private static void run1() { "Basic Dehydrator I", 2, new String[] { "This dehydrates your Grapes into Raisins.", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "DEHYDRATOR", new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', OrePrefixes.wireFine.get(Materials.RedAlloy), 'C', CIRCUIT, 'W', OrePrefixes.cableGt04.get(Materials.Copper), 'G', - OrePrefixes.gearGt.get(Materials.Steel) }).getStackForm(1L)); + OrePrefixes.gearGt.get(Materials.Steel) }).setRecipeCatalystPriority(6) + .getStackForm(1L)); GregtechItemList.GT_Dehydrator_HV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( @@ -90,19 +89,17 @@ private static void run1() { "Basic Dehydrator II", 3, new String[] { "This dehydrates your Grapes into Raisins.", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "DEHYDRATOR", new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', OrePrefixes.wireFine.get(Materials.Electrum), 'C', CIRCUIT, 'W', OrePrefixes.cableGt04.get(Materials.Silver), 'G', ALLOY.POTIN.getGear(1) }) - .getStackForm(1L)); + .setRecipeCatalystPriority(5).getStackForm(1L)); // Chemical GregtechItemList.GT_Dehydrator_EV.set( @@ -113,18 +110,16 @@ private static void run1() { 4, new String[] { "A hangover is the way your body reacts to dehydration.", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "DEHYDRATOR", new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT1, 'C', CIRCUIT, 'W', OrePrefixes.cableGt04.get(Materials.Aluminium), 'G', ALLOY.TUMBAGA.getGear(1) }) - .getStackForm(1L)); + .setRecipeCatalystPriority(4).getStackForm(1L)); GregtechItemList.GT_Dehydrator_IV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( @@ -134,18 +129,16 @@ private static void run1() { 5, new String[] { "A hangover is the way your body reacts to dehydration.", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "DEHYDRATOR", new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT2, 'C', CIRCUIT, 'W', OrePrefixes.cableGt04.get(Materials.Tungsten), 'G', ALLOY.INCONEL_690.getGear(1) }) - .getStackForm(1L)); + .setRecipeCatalystPriority(3).getStackForm(1L)); GregtechItemList.GT_Dehydrator_LuV.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( @@ -154,18 +147,16 @@ private static void run1() { "Chemical Dehydrator III", 6, new String[] { "You could probably make space icecream with this..", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "DEHYDRATOR", new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT3, 'C', CIRCUIT, 'W', OrePrefixes.cableGt04.get(Materials.Naquadah), 'G', ALLOY.HASTELLOY_N.getGear(1) }) - .getStackForm(1L)); + .setRecipeCatalystPriority(2).getStackForm(1L)); GregtechItemList.GT_Dehydrator_ZPM.set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( @@ -174,18 +165,16 @@ private static void run1() { "Chemical Dehydrator IV", 7, new String[] { "You can definitely make space icecream with this..", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sChemicalDehydratorRecipes, + GTPPRecipeMaps.chemicalDehydratorRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "DEHYDRATOR", new Object[] { "ECE", "WMW", "GPG", 'M', HULL, 'P', ROBOT_ARM, 'E', coilT4, 'C', CIRCUIT, 'W', OrePrefixes.cableGt04.get(Materials.Osmium), 'G', ALLOY.ZERON_100.getGear(1) }) - .getStackForm(1L)); + .setRecipeCatalystPriority(1).getStackForm(1L)); // Advanced GregtechItemList.Controller_Vacuum_Furnace.set( diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java index 64a161b227..e631ca0445 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechIndustrialMassFabricator.java @@ -5,9 +5,9 @@ import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.recipe.common.CI; import gtPlusPlus.core.util.minecraft.ItemUtils; @@ -38,7 +38,7 @@ private static void generateRecipes() { // Generate Scrap->UUA Recipes // Basic UUA1 - GT_Recipe UUA_From_Scrap = new GTPP_Recipe( + GT_Recipe UUA_From_Scrap = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(9), ItemUtils.getSimpleStack(getScrapPile(), 9) }, new ItemStack[] { GT_Values.NI }, @@ -50,7 +50,7 @@ private static void generateRecipes() { 32, 0); // Basic UUA2 - GT_Recipe UUA_From_ScrapBoxes = new GTPP_Recipe( + GT_Recipe UUA_From_ScrapBoxes = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(19), ItemUtils.getSimpleStack(getScrapBox(), 1) }, new ItemStack[] { GT_Values.NI }, @@ -62,11 +62,11 @@ private static void generateRecipes() { 32, 0); - GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(UUA_From_Scrap); - GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(UUA_From_ScrapBoxes); + GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(UUA_From_Scrap); + GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(UUA_From_ScrapBoxes); // Basic UUM - GT_Recipe generateUUM_LV = new GTPP_Recipe( + GT_Recipe generateUUM_LV = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(1) }, new ItemStack[] { GT_Values.NI }, @@ -79,7 +79,7 @@ private static void generateRecipes() { 0); // Basic UUM - GT_Recipe generateUUMFromUUA_LV = new GTPP_Recipe( + GT_Recipe generateUUMFromUUA_LV = new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(2) }, new ItemStack[] { GT_Values.NI }, @@ -92,8 +92,8 @@ private static void generateRecipes() { 0); // Advanced UUM - GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add( - new GTPP_Recipe( + GTPPRecipeMaps.multiblockMassFabricatorRecipes.add( + new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(3) }, new ItemStack[] { GT_Values.NI }, @@ -106,8 +106,8 @@ private static void generateRecipes() { 0)); // Advanced UUM - GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add( - new GTPP_Recipe( + GTPPRecipeMaps.multiblockMassFabricatorRecipes.add( + new GT_Recipe( false, new ItemStack[] { CI.getNumberedCircuit(4) }, new ItemStack[] { GT_Values.NI }, @@ -119,11 +119,11 @@ private static void generateRecipes() { 65536, 0)); - GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUM_LV); - GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.add(generateUUMFromUUA_LV); + GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(generateUUM_LV); + GTPPRecipeMaps.multiblockMassFabricatorRecipes.add(generateUUMFromUUA_LV); Logger.INFO( - "Generated " + GTPP_Recipe.GTPP_Recipe_Map.sMatterFab2Recipes.mRecipeList.size() + "Generated " + GTPPRecipeMaps.multiblockMassFabricatorRecipes.getAllRecipes().size() + " Matter Fabricator recipes."); } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java index b16c4bcb34..2e91eb4bb0 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechLFTR.java @@ -3,8 +3,8 @@ import gregtech.api.enums.SoundResource; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; -import gregtech.api.util.GTPP_Recipe; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.GregtechMetaTileEntity_SpargeTower; @@ -32,13 +32,11 @@ private static void run1() { "Reactor Processing Unit I", 5, new String[] { "Processes Nuclear things", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sReactorProcessingUnitRecipes, + GTPPRecipeMaps.reactorProcessingUnitRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "REACTOR_PROCESSING_UNIT", null).getStackForm(1L)); @@ -49,13 +47,11 @@ private static void run1() { "Reactor Processing Unit II", 7, new String[] { "Processes Nuclear things", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sReactorProcessingUnitRecipes, + GTPPRecipeMaps.reactorProcessingUnitRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "REACTOR_PROCESSING_UNIT", null).getStackForm(1L)); @@ -67,13 +63,11 @@ private static void run1() { "Cold Trap I", 5, new String[] { "Just like the Arctic", "Does not require ice cubes", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sColdTrapRecipes, + GTPPRecipeMaps.coldTrapRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "COLD_TRAP", null).getStackForm(1L)); @@ -84,13 +78,11 @@ private static void run1() { "Cold Trap II", 7, new String[] { "Just like the Arctic", "Does not require ice cubes", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sColdTrapRecipes, + GTPPRecipeMaps.coldTrapRecipes, 2, 9, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "COLD_TRAP", null).getStackForm(1L)); diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java index 308b721d61..5ae416953f 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSimpleWasher.java @@ -13,9 +13,10 @@ import gregtech.api.enums.SoundResource; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe; import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_BasicMachine_GT_Recipe.SpecialEffects; -import gregtech.api.util.GTPP_Recipe; import gregtech.api.util.GT_OreDictUnificator; +import gregtech.api.util.GT_Recipe; import gtPlusPlus.api.objects.data.Quad; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.lib.CORE; import gtPlusPlus.core.util.minecraft.FluidUtils; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; @@ -81,37 +82,34 @@ public static void run() { 0, new String[] { "It's like an automatic Cauldron for washing dusts.", "§cDEPRECATED: No recipe.§r Make a Simple Washer I.", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes, + GTPPRecipeMaps.simpleWasherRecipes, 1, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "SIMPLE_WASHER", - null).getStackForm(1L)); + null).setRecipeCatalystPriority(-11).getStackForm(1L)); for (int i = 0; i < washers.size(); i++) { Quad washer = washers.get(i); + int tier = i + 1; washer.getKey().set( new GT_MetaTileEntity_BasicMachine_GT_Recipe( washer.getValue_1(), washer.getValue_2(), washer.getValue_3(), - i + 1, + tier, new String[] { "It's like an automatic Cauldron for washing dusts.", CORE.GT_Tooltip.get() }, - GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes, + GTPPRecipeMaps.simpleWasherRecipes, 1, 1, true, SoundResource.NONE, - false, - false, SpecialEffects.NONE, "SIMPLE_WASHER", - null).getStackForm(1L)); + null).setRecipeCatalystPriority(-tier).getStackForm(1L)); } } } @@ -144,11 +142,11 @@ private static boolean generateDirtyDustRecipes() { addSimpleWashRecipe(dustPure, dustClean); } - return GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size() > mRecipeCount; + return GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes().size() > mRecipeCount; } private static boolean generateDirtyCrushedRecipes() { - int mRecipeCount = GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size(); + int mRecipeCount = GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes().size(); // Generate Recipe Map for the Dust Washer. ItemStack crushedClean; ItemStack crushedDirty; @@ -164,12 +162,12 @@ private static boolean generateDirtyCrushedRecipes() { addSimpleWashRecipe(crushedDirty, crushedClean); } - return GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.mRecipeList.size() > mRecipeCount; + return GTPPRecipeMaps.simpleWasherRecipes.getAllRecipes().size() > mRecipeCount; } private static void addSimpleWashRecipe(ItemStack aInput, ItemStack aOutput) { if (aInput != null && aOutput != null) { - GTPP_Recipe aRecipe = new GTPP_Recipe( + GT_Recipe aRecipe = new GT_Recipe( false, new ItemStack[] { aInput }, new ItemStack[] { aOutput }, @@ -180,7 +178,7 @@ private static void addSimpleWashRecipe(ItemStack aInput, ItemStack aOutput) { 5, 8, 0); - GTPP_Recipe.GTPP_Recipe_Map.sSimpleWasherRecipes.addRecipe(aRecipe); + GTPPRecipeMaps.simpleWasherRecipes.addRecipe(aRecipe); } } } diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java index e9661befd4..5e4a367ebc 100644 --- a/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java +++ b/src/main/java/gtPlusPlus/xmod/gregtech/registration/gregtech/GregtechSolarTower.java @@ -2,8 +2,8 @@ import net.minecraftforge.fluids.FluidStack; -import gregtech.api.util.GTPP_Recipe; import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.recipe.GTPPRecipeMaps; import gtPlusPlus.core.material.MISC_MATERIALS; import gtPlusPlus.xmod.gregtech.api.enums.GregtechItemList; import gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.production.GregtechMetaTileEntity_SolarTower; @@ -31,7 +31,7 @@ private static void run1() { 0).getStackForm(1L)); // NEI recipe - GTPP_Recipe.GTPP_Recipe_Map.sSolarTowerRecipes.addRecipe( + GTPPRecipeMaps.solarTowerRecipes.addRecipe( false, null, null, diff --git a/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java b/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java index 7860ba1bd4..2d8bc6d39e 100644 --- a/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java +++ b/src/main/java/gtPlusPlus/xmod/pamsharvest/fishtrap/FishTrapHandler.java @@ -1,8 +1,8 @@ package gtPlusPlus.xmod.pamsharvest.fishtrap; -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.util.GT_Recipe.GT_Recipe_Map.sMaceratorRecipes; +import static gregtech.api.recipe.RecipeMaps.centrifugeRecipes; +import static gregtech.api.recipe.RecipeMaps.fluidExtractionRecipes; +import static gregtech.api.recipe.RecipeMaps.maceratorRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -27,13 +27,13 @@ public static void pamsHarvestCraftCompat() { .itemOutputs( ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustTinyBone", 1)) - .outputChances(10000, 1000).duration(20 * SECONDS).eut(2).addTo(sMaceratorRecipes); + .outputChances(10000, 1000).duration(20 * SECONDS).eut(2).addTo(maceratorRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(itemName, 1)) .fluidOutputs(FluidUtils.getFluidStack("methane", 96)).duration(19 * SECONDS).eut(5) - .addTo(sCentrifugeRecipes); + .addTo(centrifugeRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(itemName, 1)) .fluidOutputs(FluidUtils.getFluidStack("fishoil", 50)).duration(16 * TICKS).eut(4) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); } } if (ItemUtils.getItemStackOfAmountFromOreDictNoBroken(greenheartFish, 1) != null) { @@ -41,13 +41,13 @@ public static void pamsHarvestCraftCompat() { .itemOutputs( ItemUtils.getItemStackOfAmountFromOreDict("dustMeatRaw", 1), ItemUtils.getItemStackOfAmountFromOreDict("dustTinyBone", 1)) - .outputChances(10000, 1000).duration(20 * SECONDS).eut(2).addTo(sMaceratorRecipes); + .outputChances(10000, 1000).duration(20 * SECONDS).eut(2).addTo(maceratorRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(greenheartFish, 1)) .fluidOutputs(FluidUtils.getFluidStack("methane", 96)).duration(19 * SECONDS).eut(5) - .addTo(sCentrifugeRecipes); + .addTo(centrifugeRecipes); GT_Values.RA.stdBuilder().itemInputs(ItemUtils.getItemStackOfAmountFromOreDict(greenheartFish, 1)) .fluidOutputs(FluidUtils.getFluidStack("fishoil", 50)).duration(16 * TICKS).eut(4) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); } } } diff --git a/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java b/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java index d38d08706e..970e62c2b1 100644 --- a/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java +++ b/src/main/java/gtPlusPlus/xmod/railcraft/HANDLER_Railcraft.java @@ -3,7 +3,7 @@ import static gregtech.api.enums.Mods.GTPlusPlus; import static gregtech.api.enums.Mods.NewHorizonsCoreMod; import static gregtech.api.enums.Mods.Railcraft; -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; import static gregtech.api.util.GT_RecipeConstants.UniversalChemical; @@ -158,7 +158,7 @@ private static void generateCokeOvenRecipes() { GT_Values.RA.stdBuilder().itemInputs(aInputs2[i]) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Ash, 1L)).outputChances(1000) .fluidOutputs(Materials.WoodTar.getFluid(50L)).duration(1 * SECONDS + 10 * TICKS).eut(16) - .addTo(sFluidExtractionRecipes); + .addTo(fluidExtractionRecipes); // Processing the Charcoals with Oxygen to get CO and CO2 // C + O = CO diff --git a/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java b/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java index 9fc2f31309..22966ccb20 100644 --- a/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java +++ b/src/main/java/gtPlusPlus/xmod/thermalfoundation/recipe/TF_Gregtech_Recipes.java @@ -1,8 +1,8 @@ package gtPlusPlus.xmod.thermalfoundation.recipe; -import static gregtech.api.util.GT_Recipe.GT_Recipe_Map.sChemicalBathRecipes; -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.chemicalBathRecipes; +import static gregtech.api.recipe.RecipeMaps.mixerRecipes; +import static gregtech.api.recipe.RecipeMaps.vacuumFreezerRecipes; import static gregtech.api.util.GT_RecipeBuilder.SECONDS; import static gregtech.api.util.GT_RecipeBuilder.TICKS; @@ -31,18 +31,18 @@ private static void start() { GT_Values.RA.stdBuilder().itemInputs(GT_OreDictUnificator.get(OrePrefixes.ore, Materials.Cinnabar, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cinnabar, 3L)) .fluidInputs(getFluidStack("cryotheum", 144)).duration(20 * SECONDS).eut(TierEU.RECIPE_LV) - .addTo(sChemicalBathRecipes); + .addTo(chemicalBathRecipes); // Blizz Powder GT_Values.RA.stdBuilder().itemInputs(new ItemStack(Items.snowball, 4)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blizz, 1L)).fluidInputs(moltenBlaze) - .duration(20 * SECONDS).eut(TierEU.RECIPE_HV / 2).addTo(sChemicalBathRecipes); + .duration(20 * SECONDS).eut(TierEU.RECIPE_HV / 2).addTo(chemicalBathRecipes); // Blizz Rod GT_Values.RA.stdBuilder().itemInputs(new ItemStack(Items.blaze_rod)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.stick, Materials.Blizz, 1L)) .duration(((int) Math.max((Materials.Blaze.getMass() * 4) * 3L, 1L)) * TICKS).eut(TierEU.RECIPE_MV) - .addTo(sVacuumRecipes); + .addTo(vacuumFreezerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -51,7 +51,7 @@ private static void start() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blaze, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Pyrotheum, 1L)).duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sMixerRecipes); + .eut(TierEU.RECIPE_MV).addTo(mixerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -60,7 +60,7 @@ private static void start() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blizz, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)).duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sMixerRecipes); + .eut(TierEU.RECIPE_MV).addTo(mixerRecipes); GT_Values.RA.stdBuilder() .itemInputs( @@ -69,7 +69,7 @@ private static void start() { GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Redstone, 1L), GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Blizz, 1L)) .itemOutputs(GT_OreDictUnificator.get(OrePrefixes.dust, Materials.Cryotheum, 1L)).duration(8 * SECONDS) - .eut(TierEU.RECIPE_MV).addTo(sMixerRecipes); + .eut(TierEU.RECIPE_MV).addTo(mixerRecipes); } private static FluidStack getFluidStack(final String fluidName, final int amount) { diff --git a/src/main/resources/assets/miscutils/lang/en_US.lang b/src/main/resources/assets/miscutils/lang/en_US.lang index dfd276c098..d835781b48 100644 --- a/src/main/resources/assets/miscutils/lang/en_US.lang +++ b/src/main/resources/assets/miscutils/lang/en_US.lang @@ -64,6 +64,62 @@ GTPP.core.GT_Tooltip=Added by: §2Alkalus §7- §c[GT++] GTPP.core.GT_Tooltip_Builder=§2Alkalus §7- §c[GT++] GTPP.core.GT_Tooltip_Radioactive=§7Warning: §aRadioactive! §6 Avoid direct handling without hazmat protection. +# RecipeMaps +gtpp.recipe.cokeoven=Coke Oven +gtpp.recipe.matterfab2=Matter Fabricator +gtpp.recipe.rocketenginefuel=Rocket Engine Fuel +gtpp.recipe.quantumforcesmelter=Quantum Force Transformer +gtpp.recipe.chemicaldehydrator=Dehydrator +gtpp.recipe.vacfurnace=Vacuum Furnace +gtpp.recipe.alloyblastsmelter=Alloy Blast Smelter +gtpp.recipe.lftr=Liquid Fluoride Thorium Reactor +gtpp.recipe.nuclearsaltprocessingplant=Nuclear Salt Processing Plant +gtpp.recipe.oremill=Milling +gtpp.recipe.fissionfuel=Nuclear Fuel Processing +gtpp.recipe.coldtrap=Cold Trap +gtpp.recipe.reactorprocessingunit=Reactor Processing Unit +gtpp.recipe.simplewasher=Simple Dust Washer +gtpp.recipe.moleculartransformer=Molecular Transformer +gtpp.recipe.fluidchemicaleactor=Chemical Plant +gtpp.recipe.RTGgenerators=RTG +gtpp.recipe.thermalgeneratorfuel=Thermal Generator Fuel +gtpp.recipe.solartower=Solar Tower +gtpp.recipe.cyclotron=COMET - Compact Cyclotron +gtpp.recipe.fishpond=Zhuhai - Fishing Port +gtpp.recipe.cryogenicfreezer=Cryogenic Freezer +gtpp.recipe.multicentrifuge=Multiblock Centrifuge +gtpp.recipe.multielectro=Multiblock Electrolyzer +gtpp.recipe.multimixer=Multiblock Mixer +gtpp.recipe.multidehydrator=Multiblock Dehydrator +gtpp.recipe.semifluidgeneratorfuels=Semifluid Generator Fuels +gtpp.recipe.flotationcell=Flotation Cell +gtpp.recipe.treefarm=Tree Growth Simulator + +# Recipe categories +gtpp.recipe.category.abs_non_alloy_recipes=ABS Non-Alloy Recipes + +# NEI +gtpp.nei.lftr.power=Power: %s EU/t per Dynamo +gtpp.nei.lftr.dynamo=Dynamo: %s EU +gtpp.nei.lftr.total=Total: %s EU +gtpp.nei.milling.not_consumed=Does not always get consumed in the process +gtpp.nei.chemplant.tier.1=Bronze +gtpp.nei.chemplant.tier.2=Steel +gtpp.nei.chemplant.tier.3=Aluminium +gtpp.nei.chemplant.tier.4=Stainless Steel +gtpp.nei.chemplant.tier.5=Titanium +gtpp.nei.chemplant.tier.6=Tungsten Steel +gtpp.nei.chemplant.tier.7=Laurenium +gtpp.nei.chemplant.tier.8=Botmium +gtpp.nei.rtg.days=Fuel Value: %s Minecraft Days +gtpp.nei.solar_tower.1=Solar Heater rings boost tier +gtpp.nei.solar_tower.2=R1:T1, R2:T2, R3:T4, R4:T8, R5:T16 +gtpp.nei.solar_tower.3=Input Amount = 1000 x T +gtpp.nei.tgs.1=The sapling is not consumed. +gtpp.nei.tgs.2=If %s is provided, +gtpp.nei.tgs.3=Saplings are made instead. +gtpp.nei.tgs.sapling=Outputted if %s is provided + //Thermal Foundation Stuff item.MiscUtils.bucket.bucketPyrotheum.name=Blazing Pyrotheum Bucket item.MiscUtils.bucket.bucketCryotheum.name=Gelid Cryotheum Bucket @@ -3447,4 +3503,4 @@ item.BasicGenericChemItem.31.name=Particle Acceleration Catalyst item.BasicGenericChemItem.32.name=Synchrotron-Capable Catalyst //Added 19/09/23 -item.BasicGenericChemItem.33.name=Algagenic Growth Promoter Catalyst \ No newline at end of file +item.BasicGenericChemItem.33.name=Algagenic Growth Promoter Catalyst diff --git a/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png b/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png new file mode 100644 index 0000000000..74065e8cbd Binary files /dev/null and b/src/main/resources/assets/miscutils/textures/gui/picture/abs_non_alloy_recipes.png differ