diff options
author | miozune <miozune@gmail.com> | 2023-12-04 06:26:09 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-12-03 22:26:09 +0100 |
commit | b6caaf255da083516286321155ef339b60a07393 (patch) | |
tree | 89416c1d29e63de37cb43295a81913de3c24e015 /src/main/java/gtPlusPlus/xmod/gregtech/loaders | |
parent | 4ff3ef790f4e22cc80986258f13f8a8643fda0dc (diff) | |
download | GT5-Unofficial-b6caaf255da083516286321155ef339b60a07393.tar.gz GT5-Unofficial-b6caaf255da083516286321155ef339b60a07393.tar.bz2 GT5-Unofficial-b6caaf255da083516286321155ef339b60a07393.zip |
Migrate to new RecipeMap (#788)
* Remove reference to GTPP_Recipe itself
* Remove GTPP_Recipe_Map_Internal
* Move recipemaps to separated class
* Remove unused recipemaps
* Migrate GT++ recipemaps
Remove sElementalDuplicatorRecipes in favor of GT replicatorRecipes supporting findRecipe
* Migrate the rest
* Adjust catalyst priorities
* Add ABS non-alloy recipe category
* Remove s prefixes from recipemaps
* Adapt to GT_StreamUtil rename
* Adjust recipe catalysts
* Fix build
* update gradle+bs+deps
(cherry picked from commit 8b185c7a4d881d38580cc98456265ebb751b6d93)
* update deps
---------
Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gtPlusPlus/xmod/gregtech/loaders')
11 files changed, 196 insertions, 242 deletions
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.GT_Values; 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 @@ public class RecipeGen_BlastSmelter extends RecipeGen_Base { // 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 net.minecraftforge.oredict.OreDictionary; 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 class RecipeGen_BlastSmelterGT_GTNH { 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<ItemStack> 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<ItemStack> 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.minecraft.item.ItemStack; 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 class RecipeGen_FluidCanning implements Runnable { // 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 @@ public class RecipeGen_FluidCanning implements Runnable { + 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 @@ public class RecipeGen_FluidCanning implements Runnable { 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 @@ public class RecipeGen_FluidCanning implements Runnable { } } - 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 java.util.List; 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 @@ public class RecipeGen_MultisUsingFluidInsteadOfCells { 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<GT_Recipe> 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 class RecipeGen_MultisUsingFluidInsteadOfCells { 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 class RecipeGen_MultisUsingFluidInsteadOfCells { } // cast arraylist of input to a regular array and pass it to a duplicate recipe remover. List<GT_Recipe> 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.GregTech_API; 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 class RecipeGen_Plates extends RecipeGen_Base { 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 class RecipeGen_Plates extends RecipeGen_Base { 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.minecraft.item.ItemStack; 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 @@ public class RecipeLoader_AlgaeFarm { // 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.EternalSingularity; 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 @@ public class RecipeLoader_ChemicalSkips { 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.Fluid; 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 class RecipeLoader_LFTR { 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 class RecipeLoader_LFTR { ); // LiFBeF2ZrF4UF4 - T2 - GTPP_Recipe.GTPP_Recipe_Map.sLiquidFluorineThoriumReactorRecipes.addRecipe( + GTPPRecipeMaps.liquidFluorineThoriumReactorRecipes.addRecipe( false, new ItemStack[] {}, new ItemStack[] {}, @@ -88,7 +88,7 @@ public class RecipeLoader_LFTR { ); // 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 @@ public class RecipeLoader_Nuclear { 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 @@ public class RecipeLoader_Nuclear { 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 @@ public class RecipeLoader_Nuclear { 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 @@ public class RecipeLoader_Nuclear { 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 @@ public class RecipeLoader_Nuclear { 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 class RecipeLoader_NuclearFuelProcessing { // 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 class RecipeLoader_NuclearFuelProcessing { .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( |