aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/util/GT_Utility.java
diff options
context:
space:
mode:
authorYang Xizhi <60341015+GlodBlock@users.noreply.github.com>2022-05-28 22:53:07 +0800
committerGitHub <noreply@github.com>2022-05-28 16:53:07 +0200
commit19b26af78d6405ecbb684a78cd337ed8dde87b0b (patch)
treec6f43f7b39846d50898b732847c889a648f1faf8 /src/main/java/gregtech/api/util/GT_Utility.java
parent732b9956abdd0f9a526887e9431c9a72801cb82f (diff)
downloadGT5-Unofficial-19b26af78d6405ecbb684a78cd337ed8dde87b0b.tar.gz
GT5-Unofficial-19b26af78d6405ecbb684a78cd337ed8dde87b0b.tar.bz2
GT5-Unofficial-19b26af78d6405ecbb684a78cd337ed8dde87b0b.zip
optimize `isOre()` (#1069)
Diffstat (limited to 'src/main/java/gregtech/api/util/GT_Utility.java')
-rw-r--r--src/main/java/gregtech/api/util/GT_Utility.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/main/java/gregtech/api/util/GT_Utility.java b/src/main/java/gregtech/api/util/GT_Utility.java
index a54039def9..4dfc407572 100644
--- a/src/main/java/gregtech/api/util/GT_Utility.java
+++ b/src/main/java/gregtech/api/util/GT_Utility.java
@@ -157,6 +157,7 @@ public class GT_Utility {
private static final Map<String, Fluid> sFluidUnlocalizedNameToFluid = new HashMap<>();
/** Must use {@code Supplier} here because the ore prefixes have not yet been registered at class load time. */
private static final Map<OrePrefixes, Supplier<ItemStack>> sOreToCobble = new HashMap<>();
+ private final static Map<Integer, Boolean> sOreTable = new HashMap<>();
public static volatile int VERSION = 509;
public static boolean TE_CHECK = false, BC_CHECK = false, CHECK_ALL = true, RF_CHECK = false;
public static Map<GT_PlayedSound, Integer> sPlayedSoundMap = new /*Concurrent*/HashMap<>();
@@ -2961,10 +2962,17 @@ public class GT_Utility {
}
public static boolean isOre(ItemStack aStack) {
+ int tItem = GT_Utility.stackToInt(aStack);
+ if (sOreTable.containsKey(tItem)) {
+ return sOreTable.get(tItem);
+ }
for (int id: OreDictionary.getOreIDs(aStack)) {
- if (OreDictionary.getOreName(id).startsWith("ore"))
+ if (OreDictionary.getOreName(id).startsWith("ore")) {
+ sOreTable.put(tItem, true);
return true;
+ }
}
+ sOreTable.put(tItem, false);
return false;
}