diff options
author | miozune <miozune@gmail.com> | 2022-10-16 18:50:47 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-16 11:50:47 +0200 |
commit | 7a84c71f5aab56f482b229189e0ac40de2f48d2e (patch) | |
tree | c4a91081cb3d57d0d9398d43820743343c3b5b29 /src/main | |
parent | e9d22462675a982a414b5c46be085bf0ba9a8ca4 (diff) | |
download | GT5-Unofficial-7a84c71f5aab56f482b229189e0ac40de2f48d2e.tar.gz GT5-Unofficial-7a84c71f5aab56f482b229189e0ac40de2f48d2e.tar.bz2 GT5-Unofficial-7a84c71f5aab56f482b229189e0ac40de2f48d2e.zip |
Fix oredicted circuit parts preventing CAL recipe generation (#219)
Former-commit-id: b7a314b15f5ba04c9423bbf2bd49d1c49b5f26ff
Diffstat (limited to 'src/main')
2 files changed, 25 insertions, 7 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 1176712cc7..2abfb4e066 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 @@ -27,6 +27,7 @@ import com.github.bartimaeusnek.bartworks.common.configs.ConfigHandler; import com.github.bartimaeusnek.bartworks.system.material.WerkstoffLoader; import com.github.bartimaeusnek.bartworks.util.BWRecipes; import com.github.bartimaeusnek.bartworks.util.BW_Util; +import com.github.bartimaeusnek.bartworks.util.Pair; import com.google.common.collect.ArrayListMultimap; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; @@ -38,7 +39,10 @@ import gregtech.api.util.GT_ModHandler; import gregtech.api.util.GT_OreDictUnificator; import gregtech.api.util.GT_Recipe; import gregtech.api.util.GT_Utility; +import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; +import java.util.List; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.CraftingManager; import net.minecraft.item.crafting.IRecipe; @@ -203,13 +207,32 @@ public class CircuitImprintLoader { private static void replaceCircuits( BiMap<ItemList, Short> inversed, GT_Recipe original, ItemStack[] in, int index) { for (ItemList il : inversed.keySet()) { - if (GT_Utility.areStacksEqual(il.get(1), original.mInputs[index])) { + if (GT_Utility.areStacksEqual(il.get(1), replaceCircuitParts(original.mInputs[index]))) { in[index] = BW_Meta_Items.getNEWCIRCUITS().getStack(inversed.get(il), original.mInputs[index].stackSize); } } } + private static final List<Pair<ItemStack, ItemStack>> circuitPartsToReplace = + Collections.unmodifiableList(Arrays.asList( + new Pair<>(ItemList.Circuit_Parts_Resistor.get(1), ItemList.Circuit_Parts_ResistorSMD.get(1)), + new Pair<>(ItemList.Circuit_Parts_Diode.get(1), ItemList.Circuit_Parts_DiodeSMD.get(1)), + new Pair<>(ItemList.Circuit_Parts_Transistor.get(1), ItemList.Circuit_Parts_TransistorSMD.get(1)), + new Pair<>(ItemList.Circuit_Parts_Capacitor.get(1), ItemList.Circuit_Parts_CapacitorSMD.get(1)), + new Pair<>(ItemList.Circuit_Parts_Coil.get(1), ItemList.Circuit_Parts_InductorSMD.get(1)))); + + private static ItemStack replaceCircuitParts(ItemStack stack) { + for (Pair<ItemStack, ItemStack> pair : circuitPartsToReplace) { + if (GT_Utility.areStacksEqual(pair.getKey(), stack)) { + ItemStack newStack = pair.getValue(); + newStack.stackSize = stack.stackSize; + return newStack; + } + } + return stack; + } + @SuppressWarnings("deprecation") private static void replaceComponents(ItemStack[] in, GT_Recipe original, int index) throws ArrayIndexOutOfBoundsException { diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitPartLoader.java b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitPartLoader.java index 648d377e1c..6ba0d7da55 100644 --- a/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitPartLoader.java +++ b/src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitPartLoader.java @@ -61,12 +61,7 @@ public class CircuitPartLoader implements Runnable { || single == Circuit_Integrated || single == Circuit_Parts_PetriDish || single == Circuit_Parts_Vacuum_Tube - || single == Circuit_Integrated_Good - || single == Circuit_Parts_Capacitor - || single == Circuit_Parts_Diode - || single == Circuit_Parts_Resistor - || single == Circuit_Parts_Transistor - || single == Circuit_Parts_Coil) { + || single == Circuit_Integrated_Good) { CircuitImprintLoader.blacklistSet.add(single.get(1)); } |