aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/bartworks
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/bartworks')
-rw-r--r--src/main/java/bartworks/common/loaders/StaticRecipeChangeLoaders.java84
-rw-r--r--src/main/java/bartworks/system/material/werkstoff_loaders/registration/BridgeMaterialsLoader.java3
2 files changed, 46 insertions, 41 deletions
diff --git a/src/main/java/bartworks/common/loaders/StaticRecipeChangeLoaders.java b/src/main/java/bartworks/common/loaders/StaticRecipeChangeLoaders.java
index a27da26919..f266c2fdc2 100644
--- a/src/main/java/bartworks/common/loaders/StaticRecipeChangeLoaders.java
+++ b/src/main/java/bartworks/common/loaders/StaticRecipeChangeLoaders.java
@@ -98,6 +98,7 @@ public class StaticRecipeChangeLoaders {
public static void unificationRecipeEnforcer() {
List<GTRecipe> toRemove = new ArrayList<>();
+ final OrePrefixes[] OREPREFIX_VALUES = OrePrefixes.values();
for (Werkstoff werkstoff : Werkstoff.werkstoffHashSet) {
StaticRecipeChangeLoaders.runMaterialLinker(werkstoff);
if (werkstoff.getGenerationFeatures().enforceUnification) {
@@ -105,51 +106,54 @@ public class StaticRecipeChangeLoaders {
oreDictNames.add(werkstoff.getVarName());
StaticRecipeChangeLoaders.runMoltenUnificationEnfocement(werkstoff);
StaticRecipeChangeLoaders.runUnficationDeleter(werkstoff);
- for (String s : oreDictNames) for (OrePrefixes prefixes : OrePrefixes.values()) {
- if (!werkstoff.hasItemType(prefixes)) continue;
- String fullOreName = prefixes + s;
- List<ItemStack> ores = OreDictionary.getOres(fullOreName, false);
- if (ores.size() <= 1) // empty or one entry, i.e. no unification needed
- continue;
- for (ItemStack toReplace : ores) {
- ItemStack replacement = werkstoff.get(prefixes);
- if (toReplace == null || GTUtility.areStacksEqual(toReplace, replacement)
- || replacement == null
- || replacement.getItem() == null) continue;
- for (RecipeMap<?> map : RecipeMap.ALL_RECIPE_MAPS.values()) {
- toRemove.clear();
- nextRecipe: for (GTRecipe recipe : map.getAllRecipes()) {
- boolean removal = map.equals(RecipeMaps.fluidExtractionRecipes)
- || map.equals(RecipeMaps.fluidSolidifierRecipes);
- for (int i = 0; i < recipe.mInputs.length; i++) {
- if (!GTUtility.areStacksEqual(recipe.mInputs[i], toReplace)) continue;
- if (removal) {
- toRemove.add(recipe);
- continue nextRecipe;
+ for (String s : oreDictNames) {
+ for (OrePrefixes prefixes : OREPREFIX_VALUES) {
+ if (!werkstoff.hasItemType(prefixes)) continue;
+ String fullOreName = prefixes + s;
+ List<ItemStack> ores = OreDictionary.getOres(fullOreName, false);
+ if (ores.size() <= 1) // empty or one entry, i.e. no unification needed
+ continue;
+ for (ItemStack toReplace : ores) {
+ ItemStack replacement = werkstoff.get(prefixes);
+ if (toReplace == null || GTUtility.areStacksEqual(toReplace, replacement)
+ || replacement == null
+ || replacement.getItem() == null) continue;
+ for (RecipeMap<?> map : RecipeMap.ALL_RECIPE_MAPS.values()) {
+ toRemove.clear();
+ nextRecipe: for (GTRecipe recipe : map.getAllRecipes()) {
+ boolean removal = map.equals(RecipeMaps.fluidExtractionRecipes)
+ || map.equals(RecipeMaps.fluidSolidifierRecipes);
+ for (int i = 0; i < recipe.mInputs.length; i++) {
+ if (!GTUtility.areStacksEqual(recipe.mInputs[i], toReplace)) continue;
+ if (removal) {
+ toRemove.add(recipe);
+ continue nextRecipe;
+ }
+ recipe.mInputs[i] = GTUtility
+ .copyAmount(recipe.mInputs[i].stackSize, replacement);
}
- recipe.mInputs[i] = GTUtility.copyAmount(recipe.mInputs[i].stackSize, replacement);
- }
- for (int i = 0; i < recipe.mOutputs.length; i++) {
- if (!GTUtility.areStacksEqual(recipe.mOutputs[i], toReplace)) continue;
- if (removal) {
- toRemove.add(recipe);
- continue nextRecipe;
+ for (int i = 0; i < recipe.mOutputs.length; i++) {
+ if (!GTUtility.areStacksEqual(recipe.mOutputs[i], toReplace)) continue;
+ if (removal) {
+ toRemove.add(recipe);
+ continue nextRecipe;
+ }
+ recipe.mOutputs[i] = GTUtility
+ .copyAmount(recipe.mOutputs[i].stackSize, replacement);
}
- recipe.mOutputs[i] = GTUtility
- .copyAmount(recipe.mOutputs[i].stackSize, replacement);
- }
- if (recipe.mSpecialItems instanceof ItemStack specialItemStack) {
- if (!GTUtility.areStacksEqual(specialItemStack, toReplace)) continue;
- if (removal) {
- toRemove.add(recipe);
- continue nextRecipe;
+ if (recipe.mSpecialItems instanceof ItemStack specialItemStack) {
+ if (!GTUtility.areStacksEqual(specialItemStack, toReplace)) continue;
+ if (removal) {
+ toRemove.add(recipe);
+ continue nextRecipe;
+ }
+ recipe.mSpecialItems = GTUtility
+ .copyAmount(specialItemStack.stackSize, replacement);
}
- recipe.mSpecialItems = GTUtility
- .copyAmount(specialItemStack.stackSize, replacement);
}
+ map.getBackend()
+ .removeRecipes(toRemove);
}
- map.getBackend()
- .removeRecipes(toRemove);
}
}
}
diff --git a/src/main/java/bartworks/system/material/werkstoff_loaders/registration/BridgeMaterialsLoader.java b/src/main/java/bartworks/system/material/werkstoff_loaders/registration/BridgeMaterialsLoader.java
index 2bf712ed7a..d328474fa6 100644
--- a/src/main/java/bartworks/system/material/werkstoff_loaders/registration/BridgeMaterialsLoader.java
+++ b/src/main/java/bartworks/system/material/werkstoff_loaders/registration/BridgeMaterialsLoader.java
@@ -68,12 +68,13 @@ public class BridgeMaterialsLoader implements IWerkstoffRunnable {
1,
1,
null);
+ final Element[] ELEMENT_VALUES = Element.values();
for (OrePrefixes prefixes : values()) {
if (prefixes != cell || !Werkstoff.Types.ELEMENT.equals(werkstoff.getType())) {
if (prefixes == dust && Werkstoff.Types.ELEMENT.equals(werkstoff.getType())
&& Werkstoff.Types.ELEMENT.equals(werkstoff.getType())) {
boolean ElementSet = false;
- for (Element e : Element.values()) {
+ for (Element e : ELEMENT_VALUES) {
if (e.toString()
.equals(werkstoff.getToolTip())) {
if (!e.mLinkedMaterials.isEmpty()) break;