aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java b/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java
index a2e3f114d4..9643afa172 100644
--- a/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java
+++ b/src/main/java/bartworks/system/material/gtenhancement/PlatinumSludgeOverHaul.java
@@ -798,6 +798,15 @@ public class PlatinumSludgeOverHaul {
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void replacePureElements() {
+ // Cache the ItemList.values() call
+ final ItemList[] values = ItemList.values();
+ final ArrayList<ItemStack> ITEMLIST_VALUES = new ArrayList<>(values.length);
+ for (ItemList e : values) {
+ if (e.hasBeenSet()) {
+ ITEMLIST_VALUES.add(e.get(1));
+ }
+ }
+
// furnace
for (Object entry : FurnaceRecipes.smelting()
.getSmeltingList()
@@ -823,7 +832,7 @@ public class PlatinumSludgeOverHaul {
Werkstoff mat = (ass.mMaterial.mMaterial.equals(Materials.Platinum)) ? PTMetallicPowder : PDMetallicPowder;
- if (PlatinumSludgeOverHaul.isInBlackList((ItemStack) realEntry.getKey())) continue;
+ if (PlatinumSludgeOverHaul.isInBlackList((ItemStack) realEntry.getKey(), ITEMLIST_VALUES)) continue;
realEntry.setValue(mat.get(prefix, stack.stackSize * 2));
}
// vanilla crafting
@@ -877,7 +886,7 @@ public class PlatinumSludgeOverHaul {
|| BWUtil.areStacksEqualOrNull(Ruthenium.get(dustPure), recipe.mOutputs[i]))
&& !BWUtil.areStacksEqualOrNull(Ruthenium.get(ingot), recipe.mInputs[0])) {
for (ItemStack mInput : recipe.mInputs)
- if (PlatinumSludgeOverHaul.isInBlackList(mInput)) continue recipeloop;
+ if (PlatinumSludgeOverHaul.isInBlackList(mInput, ITEMLIST_VALUES)) continue recipeloop;
int amount = recipe.mOutputs[i].stackSize * 2;
GTLog.err.println("Recipe edited: " + displayRecipe(recipe));
recipe.mOutputs[i] = LeachResidue.get(dust, amount);
@@ -888,7 +897,7 @@ public class PlatinumSludgeOverHaul {
|| BWUtil.areStacksEqualOrNull(Rhodium.get(dustPure), recipe.mOutputs[i]))
&& !BWUtil.areStacksEqualOrNull(Rhodium.get(ingot), recipe.mInputs[0])) {
for (ItemStack mInput : recipe.mInputs)
- if (PlatinumSludgeOverHaul.isInBlackList(mInput)) continue recipeloop;
+ if (PlatinumSludgeOverHaul.isInBlackList(mInput, ITEMLIST_VALUES)) continue recipeloop;
int amount = recipe.mOutputs[i].stackSize * 2;
GTLog.err.println("Recipe edited: " + displayRecipe(recipe));
recipe.mOutputs[i] = CrudeRhMetall.get(dust, amount);
@@ -899,7 +908,7 @@ public class PlatinumSludgeOverHaul {
if (GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial
.equals(Materials.Platinum)) {
for (ItemStack mInput : recipe.mInputs) {
- if (PlatinumSludgeOverHaul.isInBlackList(mInput)) continue recipeloop;
+ if (PlatinumSludgeOverHaul.isInBlackList(mInput, ITEMLIST_VALUES)) continue recipeloop;
}
if (dust.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
|| dustImpure.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
@@ -922,7 +931,7 @@ public class PlatinumSludgeOverHaul {
} else if (GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial
.equals(Materials.Palladium)) {
for (ItemStack mInput : recipe.mInputs) {
- if (PlatinumSludgeOverHaul.isInBlackList(mInput)) continue recipeloop;
+ if (PlatinumSludgeOverHaul.isInBlackList(mInput, ITEMLIST_VALUES)) continue recipeloop;
}
if (dust.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
|| dustImpure.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
@@ -949,7 +958,8 @@ public class PlatinumSludgeOverHaul {
} else if (GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial
.equals(Materials.Osmium)) {
for (ItemStack mInput : recipe.mInputs) {
- if (PlatinumSludgeOverHaul.isInBlackList(mInput)) continue recipeloop;
+ if (PlatinumSludgeOverHaul.isInBlackList(mInput, ITEMLIST_VALUES))
+ continue recipeloop;
}
if (dust.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
|| dustImpure.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
@@ -977,7 +987,8 @@ public class PlatinumSludgeOverHaul {
} else if (GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mMaterial.mMaterial
.equals(Materials.Iridium)) {
for (ItemStack mInput : recipe.mInputs) {
- if (PlatinumSludgeOverHaul.isInBlackList(mInput)) continue recipeloop;
+ if (PlatinumSludgeOverHaul.isInBlackList(mInput, ITEMLIST_VALUES))
+ continue recipeloop;
}
if (dust.equals(GTOreDictUnificator.getAssociation(recipe.mOutputs[i]).mPrefix)
|| dustImpure
@@ -1106,7 +1117,7 @@ public class PlatinumSludgeOverHaul {
return false;
}
- private static boolean isInBlackList(ItemStack stack) {
+ private static boolean isInBlackList(ItemStack stack, List<ItemStack> ITEMLIST_VALUES) {
if (stack == null || stack.getItem() instanceof BWMetaGeneratedItems
|| MainMod.MOD_ID.equals(GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId)
|| BartWorksCrossmod.MOD_ID.equals(GameRegistry.findUniqueIdentifierFor(stack.getItem()).modId))
@@ -1122,10 +1133,11 @@ public class PlatinumSludgeOverHaul {
if (Block.getBlockFromItem(stack.getItem()) instanceof GTGenericBlock
&& !(Block.getBlockFromItem(stack.getItem()) instanceof BlockOresAbstract)) return true;
- if (Arrays.stream(ItemList.values())
- .filter(ItemList::hasBeenSet)
- .anyMatch(e -> !BWUtil.checkStackAndPrefix(stack) && GTUtility.areStacksEqual(e.get(1), stack, true)))
- return true;
+ for (ItemStack itemStack : ITEMLIST_VALUES) {
+ if (!BWUtil.checkStackAndPrefix(stack) && GTUtility.areStacksEqual(itemStack, stack, true)) {
+ return true;
+ }
+ }
if (stack.getItem() instanceof GTGenericItem) {
if (!BWUtil.checkStackAndPrefix(stack)) return false;