diff options
author | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-26 01:44:42 +0100 |
---|---|---|
committer | Alkalus <3060479+draknyte1@users.noreply.github.com> | 2018-10-26 01:44:42 +0100 |
commit | 26bd0dc2c5f68ff9402c428cce8b8936880ae7a4 (patch) | |
tree | 220aaaaf8214bd6203479f8ecb7a712b16d02198 /src/Java/gtPlusPlus/xmod/gregtech/common/StaticFields59.java | |
parent | b9ad7d46f1f1993add94ad7b561e1fea94a4e0d1 (diff) | |
download | GT5-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.java | 46 |
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; + } + } + + } |