aboutsummaryrefslogtreecommitdiff
path: root/src/Java/gtPlusPlus/core/util
diff options
context:
space:
mode:
authorJordan Byrne <draknyte1@hotmail.com>2018-05-14 04:34:25 +1000
committerJordan Byrne <draknyte1@hotmail.com>2018-05-14 04:34:25 +1000
commitbde34e22232299d2dec9487757492033d804bf8b (patch)
tree5f4195304af4e887eeca30a48ba5009b8aebc8dc /src/Java/gtPlusPlus/core/util
parent033e0873de4ff7a3646c76bfcc03447047b3f05b (diff)
downloadGT5-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.java104
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;
+ }
}