diff options
author | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-14 04:34:25 +1000 |
---|---|---|
committer | Jordan Byrne <draknyte1@hotmail.com> | 2018-05-14 04:34:25 +1000 |
commit | bde34e22232299d2dec9487757492033d804bf8b (patch) | |
tree | 5f4195304af4e887eeca30a48ba5009b8aebc8dc /src/Java/gtPlusPlus/core/util | |
parent | 033e0873de4ff7a3646c76bfcc03447047b3f05b (diff) | |
download | GT5-Unofficial-bde34e22232299d2dec9487757492033d804bf8b.tar.gz GT5-Unofficial-bde34e22232299d2dec9487757492033d804bf8b.tar.bz2 GT5-Unofficial-bde34e22232299d2dec9487757492033d804bf8b.zip |
% Once again, buffed Atmospheric Cleansers/Pollution Scrubbers.
Diffstat (limited to 'src/Java/gtPlusPlus/core/util')
-rw-r--r-- | src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java | 104 |
1 files changed, 104 insertions, 0 deletions
diff --git a/src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java b/src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java index 2a1de61b54..5fd89ff244 100644 --- a/src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java +++ b/src/Java/gtPlusPlus/core/util/minecraft/MiningUtils.java @@ -1,11 +1,17 @@ package gtPlusPlus.core.util.minecraft; +import java.util.Map; + import net.minecraft.block.Block; import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.world.World; +import gregtech.common.GT_Worldgen_GT_Ore_Layer; + import gtPlusPlus.api.objects.Logger; +import gtPlusPlus.api.objects.data.AutoMap; +import gtPlusPlus.core.util.reflect.ReflectionUtils; public class MiningUtils { @@ -211,5 +217,103 @@ public class MiningUtils { } } + public static int mMoonID =-99; + public static int mMarsID = -99; + public static int mCometsID = -99; + public static AutoMap<GT_Worldgen_GT_Ore_Layer> getOresForDim(int dim) { + if (dim == -1) { + return Ores_Nether; + } + else if (dim == 1) { + return Ores_End; + } + else if (dim == mMoonID) { + return Ores_Moon; + } + else if (dim == mMarsID) { + return Ores_Mars; + } + else if (dim == mCometsID) { + return Ores_Comets; + } + else { + return Ores_Overworld; + } + + } + public static AutoMap<GT_Worldgen_GT_Ore_Layer>[] mOreMaps = new AutoMap[7]; + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_Overworld = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_Nether = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_End = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_Moon = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_Mars = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_Comets = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + private static AutoMap<GT_Worldgen_GT_Ore_Layer> Ores_Misc = new AutoMap<GT_Worldgen_GT_Ore_Layer>(); + + public static boolean findAndMapOreTypesFromGT() { + //Gets Moon ID + try { + if (Class.forName("micdoodle8.mods.galacticraft.core.util.ConfigManagerCore") != null) { + mMoonID = ReflectionUtils.getField(Class.forName("micdoodle8.mods.galacticraft.core.util.ConfigManagerCore"), "idDimensionMoon").getInt(null); + } + } + catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {} + + //Gets Mars ID + try { + if (Class.forName("micdoodle8.mods.galacticraft.planets.mars.ConfigManagerMars") != null) { + mMarsID = ReflectionUtils.getField(Class.forName("micdoodle8.mods.galacticraft.planets.mars.ConfigManagerMars"), "dimensionIDMars").getInt(null); + } + } + catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {} + + //Get Comets ID + try { + if (Class.forName("micdoodle8.mods.galacticraft.planets.asteroids.ConfigManagerAsteroids") != null) { + mCometsID = ReflectionUtils.getField(Class.forName("micdoodle8.mods.galacticraft.planets.asteroids.ConfigManagerAsteroids"), "dimensionIDAsteroids").getInt(null); + } + } + catch (ClassNotFoundException | IllegalArgumentException | IllegalAccessException | NoSuchFieldException e) {} + + + for (GT_Worldgen_GT_Ore_Layer x : GT_Worldgen_GT_Ore_Layer.sList) { + if (x.mEnabled) { + if (x.mOverworld) { + Ores_Overworld.put(x); + continue; + } + if (x.mNether) { + Ores_Nether.put(x); + continue; + } + if (x.mEnd || x.mEndAsteroid) { + Ores_End.put(x); + continue; + } + if (x.mMoon) { + Ores_Moon.put(x); + continue; + } + if (x.mMars) { + Ores_Mars.put(x); + continue; + } + if (x.mAsteroid) { + Ores_Comets.put(x); + continue; + } + Ores_Misc.put(x); + continue; + } + } + mOreMaps[0] = Ores_Overworld; + mOreMaps[1] = Ores_Nether; + mOreMaps[2] = Ores_End; + mOreMaps[3] = Ores_Moon; + mOreMaps[4] = Ores_Mars; + mOreMaps[5] = Ores_Comets; + mOreMaps[6] = Ores_Misc; + return true; + } } |