diff options
author | GWYOG <jjn1jjn2@163.com> | 2016-11-07 22:50:01 +0800 |
---|---|---|
committer | GWYOG <jjn1jjn2@163.com> | 2016-11-07 22:50:01 +0800 |
commit | 858f8a8e9d480e271e0dd7219dd24928cc101de7 (patch) | |
tree | 9f423a4a60ac839ed76d4ce9d8065c76d7de1135 /src/main/java/pers/gwyog/gtneioreplugin/util | |
parent | efb446e212ccb7ff67e392eb46605117564aa235 (diff) | |
download | GT5-Unofficial-858f8a8e9d480e271e0dd7219dd24928cc101de7.tar.gz GT5-Unofficial-858f8a8e9d480e271e0dd7219dd24928cc101de7.tar.bz2 GT5-Unofficial-858f8a8e9d480e271e0dd7219dd24928cc101de7.zip |
Add new plugin for GT5.09.26's support for IE Vein
Diffstat (limited to 'src/main/java/pers/gwyog/gtneioreplugin/util')
-rw-r--r-- | src/main/java/pers/gwyog/gtneioreplugin/util/GTOreLayerHelper.java | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/src/main/java/pers/gwyog/gtneioreplugin/util/GTOreLayerHelper.java b/src/main/java/pers/gwyog/gtneioreplugin/util/GTOreLayerHelper.java index 8bc84157e1..fd674464cb 100644 --- a/src/main/java/pers/gwyog/gtneioreplugin/util/GTOreLayerHelper.java +++ b/src/main/java/pers/gwyog/gtneioreplugin/util/GTOreLayerHelper.java @@ -6,6 +6,9 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import cpw.mods.fml.common.Loader; +import gregtech.GT_Mod; +import gregtech.api.GregTech_API; import gregtech.common.GT_Worldgen_GT_Ore_Layer; import net.minecraft.client.resources.I18n; import net.minecraft.item.ItemStack; @@ -16,9 +19,8 @@ public class GTOreLayerHelper { public static boolean endAsteroidSupport = false; public static boolean gcBasicSupport = false; public static boolean gcAsteroidSupport = false; + public static boolean immersiveEngineeringSupport = false; public static HashMap<String, OreLayerWrapper> mapOreLayerWrapper = new HashMap<String, OreLayerWrapper>(); - public static List<List<Short>> listVein = new ArrayList<List<Short>>(); - public static List<List<Short>> listAsteroid = new ArrayList<List<Short>>(); public GTOreLayerHelper() { checkExtraSupport(); @@ -50,6 +52,26 @@ public class GTOreLayerHelper { gcAsteroidSupport = true; } catch (Exception e) {} } + + // immersive engineering support for GT5.09.25+ + if (Loader.isModLoaded("ImmersiveEngineering")) { + Class clazzGTMod = null; + Class clazzGTProxy = null; + Class clazzGTAPI = null; + try { + clazzGTMod = Class.forName("gregtech.GT_Mod"); + clazzGTProxy = Class.forName("gregtech.common.GT_Proxy"); + clazzGTAPI = Class.forName("gregtech.api.GregTech_API"); + } catch (ClassNotFoundException e) {} + if (clazzGTMod!=null && clazzGTProxy!=null && clazzGTAPI!=null) { + try { + Field fieldImmersiveEngineeringRecipes = clazzGTAPI.getField("mImmersiveEngineering"); + Field fieldGTProxy = clazzGTMod.getField("gregtechproxy"); + Field fieldImmersiveEngineering = clazzGTProxy.getField("mImmersiveEngineeringRecipes"); + immersiveEngineeringSupport = GregTech_API.mImmersiveEngineering && GT_Mod.gregtechproxy.mImmersiveEngineeringRecipes; + } catch (Exception e) {} + } + } } public class OreLayerWrapper { @@ -60,6 +82,7 @@ public class GTOreLayerHelper { public short sporadicMeta; public String worldGenHeightRange; public String weightedChance; + public String weightedIEChance; public String restrictBiome; public boolean genOverworld = false; public boolean genNether = false; @@ -68,6 +91,7 @@ public class GTOreLayerHelper { public boolean genMars = false; public boolean genEndAsteroid = false; public boolean genGCAsteroid = false; + public boolean genIEVein = false; public OreLayerWrapper(GT_Worldgen_GT_Ore_Layer worldGen) { this.veinName = worldGen.mWorldGenName; @@ -90,14 +114,12 @@ public class GTOreLayerHelper { this.genEndAsteroid = worldGen.mEndAsteroid; if (GTOreLayerHelper.gcAsteroidSupport) this.genGCAsteroid = worldGen.mAsteroid; - List<Short> list = new ArrayList<Short>(); - list.add(primaryMeta); - list.add(secondaryMeta); - list.add(betweenMeta); - list.add(sporadicMeta); - listVein.add(list); - if (genEndAsteroid || genGCAsteroid) - listAsteroid.add(list); + + // immersive engineering support for GT5.09.25+ + if (immersiveEngineeringSupport) { + this.genIEVein = true; + this.weightedIEChance = String.format("%.3f%%", (100.0f*worldGen.mWeight)/GT_Worldgen_GT_Ore_Layer.sWeight/8); + } } } |