aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
diff options
context:
space:
mode:
authorAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-26 01:44:42 +0100
committerAlkalus <3060479+draknyte1@users.noreply.github.com>2018-10-26 01:44:42 +0100
commit26bd0dc2c5f68ff9402c428cce8b8936880ae7a4 (patch)
tree220aaaaf8214bd6203479f8ecb7a712b16d02198 /src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
parentb9ad7d46f1f1993add94ad7b561e1fea94a4e0d1 (diff)
downloadGT5-Unofficial-26bd0dc2c5f68ff9402c428cce8b8936880ae7a4.tar.gz
GT5-Unofficial-26bd0dc2c5f68ff9402c428cce8b8936880ae7a4.tar.bz2
GT5-Unofficial-26bd0dc2c5f68ff9402c428cce8b8936880ae7a4.zip
% More .08 Compatibility.
Diffstat (limited to 'src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java')
-rw-r--r--src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java46
1 files changed, 39 insertions, 7 deletions
diff --git a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
index 15c6a519b1..2568db32bc 100644
--- a/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
+++ b/src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java
@@ -3,10 +3,14 @@ package gtPlusPlus.xmod.gregtech.common;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.util.LinkedHashMap;
+import java.util.Map;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.Materials;
import gregtech.api.enums.OrePrefixes;
import gregtech.api.metatileentity.implementations.GT_MetaTileEntity_Hatch_Muffler;
+import gregtech.api.util.GT_Recipe.GT_Recipe_Map;
import gtPlusPlus.core.util.reflect.ReflectionUtils;
import net.minecraft.block.Block;
@@ -15,14 +19,19 @@ public class StaticFields59 {
public static final Field mGtBlockCasings5;
public static final Field mPreventableComponents;
public static final Field mDisabledItems;
+ public static final Field mMultiblockChemicalRecipes;
public static final Method mCalculatePollutionReduction;
-
+
+ private static final Map<String, Materials> mMaterialCache = new LinkedHashMap<String, Materials>();
+
+
//OrePrefixes
-
+
static {
mGtBlockCasings5 = getField(GregTech_API.class, "sBlockCasings5");
mPreventableComponents = getField(OrePrefixes.class, "mPreventableComponents");
mDisabledItems = getField(OrePrefixes.class, "mDisabledItems");
+ mMultiblockChemicalRecipes = getField(GT_Recipe_Map.class, "sMultiblockChemicalRecipes");
mCalculatePollutionReduction = getMethod(GT_MetaTileEntity_Hatch_Muffler.class, "calculatePollutionReduction", int.class);
}
@@ -33,7 +42,7 @@ public class StaticFields59 {
return null;
}
}
-
+
public static int calculatePollutionReducation(GT_MetaTileEntity_Hatch_Muffler h, int i) {
try {
return (int) mCalculatePollutionReduction.invoke(h, i);
@@ -41,7 +50,7 @@ public class StaticFields59 {
return 0;
}
}
-
+
public static Field getField(Class a, String b) {
try {
return ReflectionUtils.getField(a, b);
@@ -49,7 +58,7 @@ public class StaticFields59 {
return null;
}
}
-
+
public static Method getMethod(Class a, String b, Class... params) {
return ReflectionUtils.getMethod(a, b, params);
}
@@ -69,6 +78,29 @@ public class StaticFields59 {
return false;
}
}
-
-
+
+ public static synchronized final GT_Recipe_Map getLargeChemicalReactorRecipeMap() {
+ try {
+ return (GT_Recipe_Map) mMultiblockChemicalRecipes.get(null);
+ } catch (IllegalArgumentException | IllegalAccessException e) {
+ return null;
+ }
+ }
+
+ public static Materials getMaterial(String aMaterialName) {
+ Materials m = mMaterialCache.get(aMaterialName);
+ if (m != null) {
+ return m;
+ }
+ else {
+ m = Materials.get(aMaterialName);
+ if (m != null) {
+ mMaterialCache.put(aMaterialName, m);
+ return m;
+ }
+ return null;
+ }
+ }
+
+
}