diff options
author | Yang Xizhi <60341015+GlodBlock@users.noreply.github.com> | 2022-02-18 01:57:21 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-17 18:57:21 +0100 |
commit | 7252f84377957aadcbb3b64b1b369209f1846e95 (patch) | |
tree | 5a936cfa5a0f7e57f769050b343444674cfaa8d8 /src | |
parent | 91b365c0bf0138dba87d4648898f78b2b76db50e (diff) | |
download | GT5-Unofficial-7252f84377957aadcbb3b64b1b369209f1846e95.tar.gz GT5-Unofficial-7252f84377957aadcbb3b64b1b369209f1846e95.tar.bz2 GT5-Unofficial-7252f84377957aadcbb3b64b1b369209f1846e95.zip |
check all oredicts to gen cal recips (#94)
some circuits failed to generate the CAL recipe after certain coremod update cuz they get additional oredicts
Former-commit-id: 10de572d4a441c9313569554ab56d9221df87be6
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitImprintLoader.java | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitImprintLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitImprintLoader.java index 90740455c2..409d69a8f4 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitImprintLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitImprintLoader.java @@ -88,9 +88,9 @@ public class CircuitImprintLoader { private static void handleCircuitRecipeRebuilding(GT_Recipe circuitRecipe, HashSet<GT_Recipe> toRem, HashSet<GT_Recipe> toAdd) { ItemStack[] outputs = circuitRecipe.mOutputs; - String name = getTypeFromOreDict(outputs); + boolean isOrePass = isCircuitOreDict(outputs[0]); String unlocalizedName = outputs[0].getUnlocalizedName(); - if (name.contains("Circuit") || name.contains("circuit") || unlocalizedName.contains("Circuit") || unlocalizedName.contains("circuit")) { + if (isOrePass || unlocalizedName.contains("Circuit") || unlocalizedName.contains("circuit")) { CircuitImprintLoader.recipeTagMap.put(CircuitImprintLoader.getTagFromStack(outputs[0]), circuitRecipe.copy()); @@ -106,6 +106,7 @@ public class CircuitImprintLoader { } } + @Deprecated private static String getTypeFromOreDict(ItemStack[] outputs) { int[] oreIDS = OreDictionary.getOreIDs(outputs[0]); @@ -115,6 +116,20 @@ public class CircuitImprintLoader { return OreDictionary.getOreName(oreIDS[0]); } + private static boolean isCircuitOreDict(ItemStack item) { + int[] oreIDS = OreDictionary.getOreIDs(item); + + if (oreIDS.length < 1) + return false; + + for (int oreID : oreIDS) { + if (OreDictionary.getOreName(oreID).contains("Circuit") || OreDictionary.getOreName(oreID).contains("circuit")) + return true; + } + + return false; + } + private static void exchangeRecipesInList(HashSet<GT_Recipe> toRem, HashSet<GT_Recipe> toAdd) { GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.mRecipeList.addAll(toAdd); GT_Recipe.GT_Recipe_Map.sCircuitAssemblerRecipes.mRecipeList.removeAll(toRem); |