aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authormiozune <miozune@gmail.com>2022-07-15 20:31:15 +0900
committerGitHub <noreply@github.com>2022-07-15 18:31:15 +0700
commit872cf0ae43b07795e6a918613368ee0c20ff752a (patch)
tree56250e18e22c5f261124f6749457e88b8b863580 /src/main/java/com
parentb6fdd4afc330cb6222c2c6c5412a2ec2890985ff (diff)
downloadGT5-Unofficial-872cf0ae43b07795e6a918613368ee0c20ff752a.tar.gz
GT5-Unofficial-872cf0ae43b07795e6a918613368ee0c20ff752a.tar.bz2
GT5-Unofficial-872cf0ae43b07795e6a918613368ee0c20ff752a.zip
Fix accidental nerf to circuit assembler (#159)
* Fix accidental nerf to circuit assembler * No hacky oredict Former-commit-id: a47e1c837c549ea03a9a3993052d90397568098b
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/system/material/CircuitGeneration/CircuitImprintLoader.java17
-rw-r--r--src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java34
2 files changed, 37 insertions, 14 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 409d69a8f4..b5e87461d8 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
@@ -69,7 +69,7 @@ public class CircuitImprintLoader {
rebuildCircuitAssemblerMap(toRem,toAdd);
exchangeRecipesInList(toRem,toAdd);
makeCircuitImprintRecipes();
-
+
toRem = null;
toAdd = null;
}
@@ -117,17 +117,7 @@ public class CircuitImprintLoader {
}
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;
+ return BW_Util.isTieredCircuit(item);
}
private static void exchangeRecipesInList(HashSet<GT_Recipe> toRem, HashSet<GT_Recipe> toAdd) {
@@ -148,8 +138,7 @@ public class CircuitImprintLoader {
public static GT_Recipe makeMoreExpensive(GT_Recipe original) {
GT_Recipe newRecipe = original.copy();
for (ItemStack is : newRecipe.mInputs){
- int[] oreIDs = OreDictionary.getOreIDs(is);
- if(oreIDs == null || oreIDs.length < 1 || !OreDictionary.getOreName(oreIDs[0]).contains("circuit")) {
+ if (!BW_Util.isTieredCircuit(is)) {
is.stackSize = Math.min(is.stackSize * 6, 64);
if (is.stackSize > is.getItem().getItemStackLimit() || is.stackSize > is.getMaxStackSize())
is.stackSize = is.getMaxStackSize();
diff --git a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java
index deee5a54e1..312c4be88a 100644
--- a/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java
+++ b/src/main/java/com/github/bartimaeusnek/bartworks/util/BW_Util.java
@@ -49,6 +49,7 @@ import net.minecraft.item.crafting.CraftingManager;
import net.minecraft.item.crafting.IRecipe;
import net.minecraftforge.common.util.ForgeDirection;
import net.minecraftforge.fluids.FluidStack;
+import net.minecraftforge.oredict.OreDictionary;
import net.minecraftforge.oredict.ShapedOreRecipe;
import org.apache.commons.lang3.reflect.FieldUtils;
@@ -611,10 +612,43 @@ public class BW_Util {
case "circuitSuperconductor": return 8;
case "circuitInfinite": return 9;
case "circuitBio": return 10;
+ case "circuitNano":
+ case "circuitOptical":
+ return 11;
+ case "circuitPiko":
+ case "circuitExotic":
+ return 12;
+ case "circuitQuantum":
+ case "circuitCosmic":
+ return 13;
+ case "circuitTranscendent":
+ return 14;
default: return -1;
}
}
+ public static byte getCircuitTierFromItemStack(ItemStack stack) {
+ for (String oreName : getOreNames(stack)) {
+ byte tier = getCircuitTierFromOreDictName(oreName);
+ if (tier != -1) {
+ return tier;
+ }
+ }
+ return -1;
+ }
+
+ public static boolean isTieredCircuit(ItemStack stack) {
+ return getCircuitTierFromItemStack(stack) != -1;
+ }
+
+ public static List<String> getOreNames(ItemStack stack) {
+ List<String> ret = new ArrayList<>();
+ for (int oreID : OreDictionary.getOreIDs(stack)) {
+ ret.add(OreDictionary.getOreName(oreID));
+ }
+ return ret;
+ }
+
private static Block bw_realglasRef;
public static byte calculateGlassTier(@Nonnull Block block, @Nonnegative byte meta) {