aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api')
-rw-r--r--src/main/java/gregtech/api/GregTech_API.java23
-rw-r--r--src/main/java/gregtech/api/enums/ConfigCategories.java1
-rw-r--r--src/main/java/gregtech/api/enums/Dimensions.java33
-rw-r--r--src/main/java/gregtech/api/enums/GTStones.java398
-rw-r--r--src/main/java/gregtech/api/enums/ManualOreDictTweaks.java70
-rw-r--r--src/main/java/gregtech/api/enums/Materials.java258
-rw-r--r--src/main/java/gregtech/api/enums/Mods.java12
-rw-r--r--src/main/java/gregtech/api/enums/OreMixes.java982
-rw-r--r--src/main/java/gregtech/api/enums/SmallOres.java555
-rw-r--r--src/main/java/gregtech/api/enums/UndergroundFluidNames.java43
-rw-r--r--src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/MetaTileEntity.java3
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java10
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java5
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java21
-rw-r--r--src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java3
-rw-r--r--src/main/java/gregtech/api/objects/GT_UO_DimensionList.java580
-rw-r--r--src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java10
-rw-r--r--src/main/java/gregtech/api/util/GT_ClientPreference.java14
-rw-r--r--src/main/java/gregtech/api/util/GT_Config.java4
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen.java74
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen_Ore.java34
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock.java52
-rw-r--r--src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock_UnderLava.java54
25 files changed, 2735 insertions, 510 deletions
diff --git a/src/main/java/gregtech/api/GregTech_API.java b/src/main/java/gregtech/api/GregTech_API.java
index 92e0ef36dd..51bf250659 100644
--- a/src/main/java/gregtech/api/GregTech_API.java
+++ b/src/main/java/gregtech/api/GregTech_API.java
@@ -35,10 +35,8 @@ import com.google.common.collect.Multimap;
import com.google.common.collect.Multimaps;
import com.google.common.collect.SetMultimap;
-import cpw.mods.fml.common.registry.GameRegistry;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
-import gregtech.GT_Mod;
import gregtech.api.enums.GT_Values;
import gregtech.api.enums.Materials;
import gregtech.api.enums.SoundResource;
@@ -231,8 +229,7 @@ public class GregTech_API {
/**
* The Configuration Objects
*/
- public static GT_Config sMachineFile = null, sWorldgenFile = null, sMaterialProperties = null, sUnification = null,
- sSpecialFile = null, sClientDataFile, sOPStuff = null;
+ public static GT_Config NEIClientFIle;
public static int TICKS_FOR_LAG_AVERAGING = 25, MILLISECOND_THRESHOLD_UNTIL_LAG_WARNING = 100;
/**
@@ -258,11 +255,10 @@ public class GregTech_API {
* Getting assigned by the Config
*/
public static boolean sTimber = true, sDrinksAlwaysDrinkable = false, sMultiThreadedSounds = false,
- sDoShowAllItemsInCreative = false, sColoredGUI = true, sMachineMetalGUI = false, sConstantEnergy = true,
- sMachineExplosions = true, sMachineFlammable = true, sMachineNonWrenchExplosions = true,
- sMachineRainExplosions = true, sMachineThunderExplosions = true, sMachineFireExplosions = true,
- sMachineWireFire = true, mOutputRF = false, mInputRF = false, meIOLoaded = false, mRFExplosions = false,
- mServerStarted = false;
+ sDoShowAllItemsInCreative = false, sColoredGUI = true, sMachineMetalGUI = false, sMachineExplosions = true,
+ sMachineFlammable = true, sMachineNonWrenchExplosions = true, sMachineRainExplosions = true,
+ sMachineThunderExplosions = true, sMachineFireExplosions = true, sMachineWireFire = true, mOutputRF = false,
+ mInputRF = false, mRFExplosions = false, mServerStarted = false;
public static int mEUtoRF = 360, mRFtoEU = 20;
@@ -775,14 +771,7 @@ public class GregTech_API {
}
public static Comparator<ItemStack> getConfigurationCircuitsComparator() {
- return Comparator.comparingInt((ItemStack is) -> {
- // By default, the Programmed Circuit should be the earliest configuration circuit to which the
- // player is exposed
- if (GT_Mod.gregtechproxy.mCircuitsOrder.isEmpty())
- return is.getItem() instanceof GT_IntegratedCircuit_Item ? 0 : 1;
- return GT_Mod.gregtechproxy.mCircuitsOrder
- .getOrDefault(String.valueOf(GameRegistry.findUniqueIdentifierFor(is.getItem())), Integer.MAX_VALUE);
- })
+ return Comparator.comparingInt((ItemStack is) -> is.getItem() instanceof GT_IntegratedCircuit_Item ? 0 : 1)
.thenComparing(ItemStack::getUnlocalizedName)
.thenComparing(ItemStack::getItemDamage);
}
diff --git a/src/main/java/gregtech/api/enums/ConfigCategories.java b/src/main/java/gregtech/api/enums/ConfigCategories.java
index 83deec4f58..0e70e54651 100644
--- a/src/main/java/gregtech/api/enums/ConfigCategories.java
+++ b/src/main/java/gregtech/api/enums/ConfigCategories.java
@@ -1,5 +1,6 @@
package gregtech.api.enums;
+@Deprecated
public enum ConfigCategories {
news,
diff --git a/src/main/java/gregtech/api/enums/Dimensions.java b/src/main/java/gregtech/api/enums/Dimensions.java
new file mode 100644
index 0000000000..21dee59977
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/Dimensions.java
@@ -0,0 +1,33 @@
+package gregtech.api.enums;
+
+public enum Dimensions {
+
+ Overworld("0"),
+ Moon("Moon"),
+ Mercury("Mercury"),
+ Venus("Venus"),
+ Mars("Mars"),
+ Io("Io"),
+ Europa("Europa"),
+ Callisto("Callisto"),
+ Titan("Titan"),
+ Miranda("Miranda"),
+ Oberon("oberon"),
+ Triton("Triton"),
+ Proteus("Proteus"),
+ Pluto("Pluto"),
+ Makemake("Makemake"),
+ AlphaCentauriBb("aCentauriBb"),
+ BarnardaC("BarnardaC"),
+ BarnardaE("BarnardaE"),
+ BarnardaF("BarnardaF"),
+ TCetiE("TCetiE"),
+ Ross128b("Ross128b"),
+ Ross128ba("Ross128ba"),;
+
+ public final String id;
+
+ private Dimensions(String id) {
+ this.id = id;
+ }
+}
diff --git a/src/main/java/gregtech/api/enums/GTStones.java b/src/main/java/gregtech/api/enums/GTStones.java
new file mode 100644
index 0000000000..82d7cb90ce
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/GTStones.java
@@ -0,0 +1,398 @@
+package gregtech.api.enums;
+
+import gregtech.api.GregTech_API;
+import gregtech.common.GT_Worldgen_Stone;
+import gregtech.common.StoneBuilder;
+
+public enum GTStones {
+
+ NetherBlackgraniteTiny(new StoneBuilder().name("nether.stone.blackgranite.tiny")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(50)
+ .probability(45)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBlackgraniteSmall(new StoneBuilder().name("nether.stone.blackgranite.small")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(100)
+ .probability(60)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBlackgraniteMedium(new StoneBuilder().name("nether.stone.blackgranite.medium")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(200)
+ .probability(80)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBlackgraniteLarge(new StoneBuilder().name("nether.stone.blackgranite.large")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBlackgraniteHuge(new StoneBuilder().name("nether.stone.blackgranite.huge")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherRedgraniteTiny(new StoneBuilder().name("nether.stone.redgranite.tiny")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(50)
+ .probability(45)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherRedgraniteSmall(new StoneBuilder().name("nether.stone.redgranite.small")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(100)
+ .probability(60)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherRedgraniteMedium(new StoneBuilder().name("nether.stone.redgranite.medium")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(200)
+ .probability(80)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherRedgraniteLarge(new StoneBuilder().name("nether.stone.redgranite.large")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherRedgraniteHuge(new StoneBuilder().name("nether.stone.redgranite.huge")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherMarbleTiny(new StoneBuilder().name("nether.stone.marble.tiny")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(50)
+ .probability(45)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherMarbleSmall(new StoneBuilder().name("nether.stone.marble.small")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(100)
+ .probability(60)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherMarbleMedium(new StoneBuilder().name("nether.stone.marble.medium")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(200)
+ .probability(80)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherMarbleLarge(new StoneBuilder().name("nether.stone.marble.large")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherMarbleHuge(new StoneBuilder().name("nether.stone.marble.huge")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(-1)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBasaltTiny(new StoneBuilder().name("nether.stone.basalt.tiny")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(50)
+ .probability(45)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBasaltSmall(new StoneBuilder().name("nether.stone.basalt.small")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(100)
+ .probability(60)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBasaltMedium(new StoneBuilder().name("nether.stone.basalt.medium")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(200)
+ .probability(80)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBasaltLarge(new StoneBuilder().name("nether.stone.basalt.large")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ NetherBasaltHuge(new StoneBuilder().name("nether.stone.basalt.huge")
+ .disabledByDefault()
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(-1)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+ OverworldBlackgraniteTiny(new StoneBuilder().name("overworld.stone.blackgranite.tiny")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(0)
+ .size(75)
+ .probability(5)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldBlackgraniteSmall(new StoneBuilder().name("overworld.stone.blackgranite.small")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(0)
+ .size(100)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldBlackgraniteMedium(new StoneBuilder().name("overworld.stone.blackgranite.medium")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(0)
+ .size(200)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldBlackgraniteLarge(new StoneBuilder().name("overworld.stone.blackgranite.large")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(0)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldBlackgraniteHuge(new StoneBuilder().name("overworld.stone.blackgranite.huge")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(0)
+ .dimension(0)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldRedgraniteTiny(new StoneBuilder().name("overworld.stone.redgranite.tiny")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(0)
+ .size(75)
+ .probability(5)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldRedgraniteSmall(new StoneBuilder().name("overworld.stone.redgranite.small")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(0)
+ .size(100)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldRedgraniteMedium(new StoneBuilder().name("overworld.stone.redgranite.medium")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(0)
+ .size(200)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldRedgraniteLarge(new StoneBuilder().name("overworld.stone.redgranite.large")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(0)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldRedgraniteHuge(new StoneBuilder().name("overworld.stone.redgranite.huge")
+ .block(GregTech_API.sBlockGranites)
+ .blockMeta(8)
+ .dimension(0)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldMarbleTiny(new StoneBuilder().name("overworld.stone.marble.tiny")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(0)
+ .size(75)
+ .probability(5)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldMarbleSmall(new StoneBuilder().name("overworld.stone.marble.small")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(0)
+ .size(100)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldMarbleMedium(new StoneBuilder().name("overworld.stone.marble.medium")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(0)
+ .size(200)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldMarbleLarge(new StoneBuilder().name("overworld.stone.marble.large")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(0)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldMarbleHuge(new StoneBuilder().name("overworld.stone.marble.huge")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(0)
+ .dimension(0)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldBasaltTiny(new StoneBuilder().name("overworld.stone.basalt.tiny")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(0)
+ .size(75)
+ .probability(5)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldBasaltSmall(new StoneBuilder().name("overworld.stone.basalt.small")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(0)
+ .size(100)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldBasaltMedium(new StoneBuilder().name("overworld.stone.basalt.medium")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(0)
+ .size(200)
+ .probability(10)
+ .heightRange(0, 180)
+ .generationInVoidEnabled(false)),
+
+ OverworldBasaltLarge(new StoneBuilder().name("overworld.stone.basalt.large")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(0)
+ .size(300)
+ .probability(70)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),
+
+ OverworldBasaltHuge(new StoneBuilder().name("overworld.stone.basalt.huge")
+ .block(GregTech_API.sBlockStones)
+ .blockMeta(8)
+ .dimension(0)
+ .size(400)
+ .probability(150)
+ .heightRange(0, 120)
+ .generationInVoidEnabled(false)),;
+
+ public final StoneBuilder stone;
+
+ private GTStones(StoneBuilder stone) {
+ this.stone = stone;
+ }
+
+ public GT_Worldgen_Stone addGTStone() {
+ return new GT_Worldgen_Stone(this.stone);
+ }
+
+}
diff --git a/src/main/java/gregtech/api/enums/ManualOreDictTweaks.java b/src/main/java/gregtech/api/enums/ManualOreDictTweaks.java
new file mode 100644
index 0000000000..2392fcb591
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/ManualOreDictTweaks.java
@@ -0,0 +1,70 @@
+package gregtech.api.enums;
+
+import static gregtech.api.enums.Mods.Avaritia;
+import static gregtech.api.enums.Mods.Botania;
+import static gregtech.api.enums.Mods.DraconicEvolution;
+import static gregtech.api.enums.Mods.EnderIO;
+import static gregtech.api.enums.Mods.GregTech;
+import static gregtech.api.enums.Mods.HardcoreEnderExpansion;
+import static gregtech.api.enums.Mods.ProjectRedCore;
+import static gregtech.api.enums.Mods.RandomThings;
+import static gregtech.api.enums.Mods.Thaumcraft;
+import static gregtech.api.enums.Mods.Translocator;
+
+import java.util.HashMap;
+import java.util.Map;
+
+public class ManualOreDictTweaks {
+
+ private static final Map<String, Map<String, Boolean>> oredictLookupTable = new HashMap<>();
+
+ private static final String[] gregtech = new String[] { "dustAlumina', 'dustNikolite" };
+ private static final String[] enderio = new String[] { "ingotDarkSteel" };
+ private static final String[] draconicevolution = new String[] { "dustDraconium" };
+ private static final String[] thaumcraft = new String[] {
+ "ingotThaumium', 'ingotVoid', 'nuggetThaumium', 'nuggetVoid" };
+ private static final String[] projred_core = new String[] { "dustElectrotine" };
+ private static final String[] translocator = new String[] { "nuggetDiamond" };
+ private static final String[] hardcoreenderexpansion = new String[] { "ingotHeeEndium" };
+ private static final String[] avaritia = new String[] { "ingotCosmicNeutronium', 'ingotInfinity" };
+ private static final String[] randomthings = new String[] { "stickObsidian" };
+ private static final String[] botania = new String[] {
+ "ingotElvenElementium', 'ingotManasteel', 'ingotTerrasteel', 'nuggetElvenElementium', 'nuggetManasteel', 'nuggetTerrasteel" };
+
+ private static final String[] modNames = { GregTech.ID, EnderIO.ID, DraconicEvolution.ID, Thaumcraft.ID,
+ ProjectRedCore.ID, Translocator.ID, HardcoreEnderExpansion.ID, Avaritia.ID, RandomThings.ID, Botania.ID };
+ private static final String[][] array = new String[][] { gregtech, enderio, draconicevolution, thaumcraft,
+ projred_core, translocator, hardcoreenderexpansion, avaritia, randomthings, botania };
+
+ static {
+ initTweakedValues();
+ }
+
+ private static void initTweakedValues() {
+ for (int i = 0; i < array.length; i++) {
+ HashMap<String, Boolean> modTableLookup = new HashMap<>();
+ String name = modNames[i];
+ for (String oredict : array[i]) {
+ modTableLookup.put(oredict, true);
+ }
+ oredictLookupTable.put(name, modTableLookup);
+ }
+ }
+
+ public static boolean shouldOredictBeOverwritten(String modID, String oredict) {
+ Map<String, Boolean> modLookupTable = oredictLookupTable.get(modID);
+ if (modLookupTable == null) {
+ modLookupTable = new HashMap<>();
+ modLookupTable.put(oredict, false);
+ oredictLookupTable.put(modID, modLookupTable);
+ return false;
+ }
+ Boolean result = modLookupTable.get(oredict);
+ if (result == null) {
+ modLookupTable.put(oredict, false);
+ result = false;
+ }
+ return result;
+ }
+
+}
diff --git a/src/main/java/gregtech/api/enums/Materials.java b/src/main/java/gregtech/api/enums/Materials.java
index 16553e2d42..e5f9991236 100644
--- a/src/main/java/gregtech/api/enums/Materials.java
+++ b/src/main/java/gregtech/api/enums/Materials.java
@@ -13,7 +13,6 @@ import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
@@ -34,6 +33,7 @@ import gregtech.api.interfaces.ISubTagContainer;
import gregtech.api.objects.MaterialStack;
import gregtech.api.util.GT_OreDictUnificator;
import gregtech.api.util.GT_Utility;
+import gregtech.common.config.gregtech.ConfigHarvestLevel;
import gregtech.common.render.items.CosmicNeutroniumRenderer;
import gregtech.common.render.items.GT_GeneratedMaterial_Renderer;
import gregtech.common.render.items.GaiaSpiritRenderer;
@@ -2574,59 +2574,7 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
}
}
- private static void addFuelValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mFuelPower = GregTech_API.sMaterialProperties.get(aConfigPath, "FuelPower", aMaterial.mFuelPower);
- aMaterial.mFuelType = GregTech_API.sMaterialProperties.get(aConfigPath, "FuelType", aMaterial.mFuelType);
- }
-
- private static void addTemperatureValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mMeltingPoint = GregTech_API.sMaterialProperties
- .get(aConfigPath, "MeltingPoint", aMaterial.mMeltingPoint);
- aMaterial.mBlastFurnaceRequired = GregTech_API.sMaterialProperties
- .get(aConfigPath, "BlastFurnaceRequired", aMaterial.mBlastFurnaceRequired);
- aMaterial.mBlastFurnaceTemp = (short) GregTech_API.sMaterialProperties
- .get(aConfigPath, "BlastFurnaceTemp", aMaterial.mBlastFurnaceTemp);
- aMaterial.mGasTemp = GregTech_API.sMaterialProperties.get(aConfigPath, "GasTemp", aMaterial.mGasTemp);
- aMaterial.setHeatDamage(
- (float) GregTech_API.sMaterialProperties.get(aConfigPath, "HeatDamage", aMaterial.mHeatDamage));
- }
-
- private static void addDensityValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mDensityMultiplier = GregTech_API.sMaterialProperties
- .get(aConfigPath, "DensityMultiplier", aMaterial.mDensityMultiplier);
- aMaterial.mDensityDivider = GregTech_API.sMaterialProperties
- .get(aConfigPath, "DensityDivider", aMaterial.mDensityDivider);
- aMaterial.mDensity = (long) GregTech_API.sMaterialProperties.get(
- aConfigPath,
- "Density",
- ((double) M * aMaterial.mDensityMultiplier)
- / (aMaterial.mDensityDivider != 0 ? aMaterial.mDensityDivider : 1));
- }
-
- private static void addColorValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mTransparent = GregTech_API.sMaterialProperties
- .get(aConfigPath, "Transparent", aMaterial.mTransparent);
- String aColor = GregTech_API.sMaterialProperties
- .get(aConfigPath, "DyeColor", aMaterial.mColor == Dyes._NULL ? "None" : aMaterial.mColor.toString());
- aMaterial.mColor = aColor.equals("None") ? Dyes._NULL : Dyes.get(aColor);
- String[] aRGBA = GregTech_API.sMaterialProperties.get(
- aConfigPath,
- "MatRGBA",
- aMaterial.mRGBa[0] + "," + aMaterial.mRGBa[1] + "," + aMaterial.mRGBa[2] + "," + aMaterial.mRGBa[3] + ",")
- .split(",");
- aMaterial.mRGBa[0] = Short.parseShort(aRGBA[0]);
- aMaterial.mRGBa[1] = Short.parseShort(aRGBA[1]);
- aMaterial.mRGBa[2] = Short.parseShort(aRGBA[2]);
- aMaterial.mRGBa[3] = Short.parseShort(aRGBA[3]);
- }
-
- private static void addToolValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mDurability = GregTech_API.sMaterialProperties
- .get(aConfigPath, "ToolDurability", aMaterial.mDurability);
- aMaterial.mToolSpeed = (float) GregTech_API.sMaterialProperties
- .get(aConfigPath, "ToolSpeed", aMaterial.mToolSpeed);
- aMaterial.mToolQuality = (byte) GregTech_API.sMaterialProperties
- .get(aConfigPath, "ToolQuality", aMaterial.mToolQuality);
+ private static void addToolValues(Materials aMaterial) {
// Moved from GT_Proxy? (Not sure)
aMaterial.mHandleMaterial = (aMaterial == Desh ? aMaterial.mHandleMaterial
: aMaterial == Diamond || aMaterial == Thaumium ? Wood
@@ -2653,79 +2601,26 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
}
}
- private static void addEnchantmentValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mEnchantmentToolsLevel = (byte) GregTech_API.sMaterialProperties
- .get(aConfigPath, "EnchantmentLevel", aMaterial.mEnchantmentToolsLevel);
- String aEnchantmentName = GregTech_API.sMaterialProperties.get(
- aConfigPath,
- "Enchantment",
- aMaterial.mEnchantmentTools != null ? aMaterial.mEnchantmentTools.getName() : "");
+ private static void addEnchantmentValues(Materials aMaterial) {
+ String aEnchantmentName = aMaterial.mEnchantmentTools != null ? aMaterial.mEnchantmentTools.getName() : "";
if (aMaterial.mEnchantmentTools != null && !aEnchantmentName.equals(aMaterial.mEnchantmentTools.getName()))
IntStream.range(0, Enchantment.enchantmentsList.length)
.filter(i -> aEnchantmentName.equals(Enchantment.enchantmentsList[i].getName()))
.forEach(i -> aMaterial.mEnchantmentTools = Enchantment.enchantmentsList[i]);
}
- private static void addProcessingIntoValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mSmeltInto = MATERIALS_MAP
- .get(GregTech_API.sMaterialProperties.get(aConfigPath, "MaterialSmeltInto", aMaterial.mSmeltInto.mName));
- aMaterial.mMacerateInto = MATERIALS_MAP.get(
- GregTech_API.sMaterialProperties.get(aConfigPath, "MaterialMacerateInto", aMaterial.mMacerateInto.mName));
- aMaterial.mArcSmeltInto = MATERIALS_MAP.get(
- GregTech_API.sMaterialProperties.get(aConfigPath, "MaterialArcSmeltInto", aMaterial.mArcSmeltInto.mName));
- aMaterial.mDirectSmelting = MATERIALS_MAP.get(
- GregTech_API.sMaterialProperties
- .get(aConfigPath, "MaterialDirectSmeltInto", aMaterial.mDirectSmelting.mName));
- aMaterial.mAutoGenerateBlastFurnaceRecipes = GregTech_API.sMaterialProperties
- .get(aConfigPath, "AutoGenerateBlastFurnaceRecipes", aMaterial.mAutoGenerateBlastFurnaceRecipes);
- }
-
- private static void addMultiplierValues(Materials aMaterial, String aConfigPath) {
- aMaterial.mOreValue = GregTech_API.sMaterialProperties.get(aConfigPath, "OreValue", aMaterial.mOreValue);
- aMaterial.setOreMultiplier(
- GregTech_API.sMaterialProperties.get(aConfigPath, "OreMultiplier", aMaterial.mOreMultiplier));
- aMaterial.setSmeltingMultiplier(
- GregTech_API.sMaterialProperties.get(aConfigPath, "OreSmeltingMultiplier", aMaterial.mSmeltingMultiplier));
- aMaterial.setByProductMultiplier(
- GregTech_API.sMaterialProperties
- .get(aConfigPath, "OreByProductMultiplier", aMaterial.mByProductMultiplier));
- }
-
- private static void addHasGasFluid(Materials aMaterial, String aConfigPath) {
-
- if (!aMaterial.mIconSet.is_custom) {
- aMaterial.mHasPlasma = GregTech_API.sMaterialProperties.get(aConfigPath, "AddPlasma", aMaterial.mHasPlasma);
- if (aMaterial.mHasPlasma) {
- GT_Mod.gregtechproxy.addAutogeneratedPlasmaFluid(aMaterial);
- }
- aMaterial.mHasGas = GregTech_API.sMaterialProperties.get(aConfigPath, "AddGas", aMaterial.mHasGas);
- if (aMaterial.mHasGas) {
- GT_FluidFactory
- .of(aMaterial.mName.toLowerCase(), aMaterial.mDefaultLocalName, aMaterial, GAS, aMaterial.mGasTemp);
- }
+ private static void addHasGasFluid(Materials aMaterial) {
+ if (aMaterial.mIconSet.is_custom) {
+ return;
}
- }
- private static void addInternalStuff(Materials aMaterial, String aConfigPath) {
- aMaterial.mMetaItemSubID = GregTech_API.sMaterialProperties
- .get(aConfigPath, "MaterialID", aMaterial.mCustomOre ? -1 : aMaterial.mMetaItemSubID);
- aMaterial.mTypes = GregTech_API.sMaterialProperties.get(
- aConfigPath,
- "MaterialTypes",
- aMaterial.mCustomOre ? 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 : aMaterial.mTypes);
- aMaterial.mUnificatable = GregTech_API.sMaterialProperties
- .get(aConfigPath, "Unificatable", aMaterial.mUnificatable);
- aMaterial.mHasParentMod = GregTech_API.sMaterialProperties
- .get(aConfigPath, "HasParentMod", aMaterial.mHasParentMod);
- }
-
- private static void addLocalisation(Materials aMaterial, String aConfigPath) {
- aMaterial.mDefaultLocalName = GregTech_API.sMaterialProperties.get(
- aConfigPath,
- "MaterialName",
- aMaterial.mCustomOre ? "CustomOre" + aMaterial.mCustomID : aMaterial.mDefaultLocalName);
- aMaterial.mChemicalFormula = GregTech_API.sMaterialProperties
- .get(aConfigPath, "ChemicalFormula", aMaterial.mChemicalFormula);
+ if (aMaterial.mHasPlasma) {
+ GT_Mod.gregtechproxy.addAutogeneratedPlasmaFluid(aMaterial);
+ }
+ if (aMaterial.mHasGas) {
+ GT_FluidFactory
+ .of(aMaterial.mName.toLowerCase(), aMaterial.mDefaultLocalName, aMaterial, GAS, aMaterial.mGasTemp);
+ }
}
private static String getConfigPath(Materials aMaterial) {
@@ -2733,135 +2628,32 @@ public class Materials implements IColorModulationContainer, ISubTagContainer {
return "materials." + aMaterial.mConfigSection + "." + cOre;
}
- private static void addHarvestLevelNerfs(Materials aMaterial, String aConfigPath) {
+ private static void addHarvestLevelNerfs(Materials aMaterial) {
/* Moved the harvest level changes from GT_Mod to have fewer things iterating over MATERIALS_ARRAY */
if (GT_Mod.gregtechproxy.mChangeHarvestLevels && aMaterial.mToolQuality > 0
&& aMaterial.mMetaItemSubID < GT_Mod.gregtechproxy.mHarvestLevel.length
&& aMaterial.mMetaItemSubID >= 0) {
- GT_Mod.gregtechproxy.mHarvestLevel[aMaterial.mMetaItemSubID] = GregTech_API.sMaterialProperties
- .get(aConfigPath, "HarvestLevel", aMaterial.mToolQuality);
+ GT_Mod.gregtechproxy.mHarvestLevel[aMaterial.mMetaItemSubID] = aMaterial.mToolQuality;
}
}
private static void addHarvestLevels() {
- GT_Mod.gregtechproxy.mChangeHarvestLevels = GregTech_API.sMaterialProperties
- .get("harvestlevel", "ActivateHarvestLevelChange", false);
- GT_Mod.gregtechproxy.mMaxHarvestLevel = Math
- .min(15, GregTech_API.sMaterialProperties.get("harvestlevel", "MaxHarvestLevel", 7));
- GT_Mod.gregtechproxy.mGraniteHavestLevel = GregTech_API.sMaterialProperties
- .get("harvestlevel", "GraniteHarvestLevel", 3);
+ GT_Mod.gregtechproxy.mChangeHarvestLevels = ConfigHarvestLevel.activateHarvestLevelChange;
+ GT_Mod.gregtechproxy.mMaxHarvestLevel = Math.min(15, ConfigHarvestLevel.maxHarvestLevel);
+ GT_Mod.gregtechproxy.mGraniteHavestLevel = ConfigHarvestLevel.graniteHarvestLevel;
}
public static void initMaterialProperties() {
addHarvestLevels();
for (Materials aMaterial : MATERIALS_MAP.values()) {
- if (aMaterial != null && aMaterial != Materials._NULL && aMaterial != Materials.Empty) {
-
- String aConfigPath = getConfigPath(aMaterial);
-
- addFuelValues(aMaterial, aConfigPath);
- addTemperatureValues(aMaterial, aConfigPath);
- addDensityValues(aMaterial, aConfigPath);
- addColorValues(aMaterial, aConfigPath);
- addToolValues(aMaterial, aConfigPath);
- addEnchantmentValues(aMaterial, aConfigPath);
- addProcessingIntoValues(aMaterial, aConfigPath);
- addMultiplierValues(aMaterial, aConfigPath);
- addHasGasFluid(aMaterial, aConfigPath);
- addInternalStuff(aMaterial, aConfigPath);
- addLocalisation(aMaterial, aConfigPath);
- SubTagCalculation(aMaterial, aConfigPath);
- OreByProductsCalculation(aMaterial, aConfigPath);
- OreReRegistrationsCalculation(aMaterial, aConfigPath);
- aspectCalculation(aMaterial, aConfigPath);
- addHarvestLevelNerfs(aMaterial, aConfigPath);
- }
- }
- }
-
- private static void aspectCalculation(Materials aMaterial, String aConfigPath) {
-
- String aDefaultAspectString = aMaterial.mAspects.stream()
- .map(aAspectStack -> aAspectStack.mAspect.toString())
- .collect(Collectors.joining(",", ",", ""));
- String aDefaultAspectAmountString = aMaterial.mAspects.stream()
- .map(aAspectStack -> String.valueOf(aAspectStack.mAmount))
- .collect(Collectors.joining(",", ",", ""));
-
- String aConfigAspectString = GregTech_API.sMaterialProperties
- .get(aConfigPath, "ListTCAspects", aDefaultAspectString);
- String aConfigAspectAmountString = GregTech_API.sMaterialProperties
- .get(aConfigPath, "ListTCAspectAmounts", aDefaultAspectAmountString);
-
- if (!aConfigAspectString.equals(aDefaultAspectString)
- || !aConfigAspectAmountString.equals(aDefaultAspectAmountString)) {
- aMaterial.mAspects.clear();
- if (aConfigAspectString.length() > 0) {
- String[] aAspects = aConfigAspectString.split(",");
- String[] aAspectAmounts = aConfigAspectAmountString.split(",");
- for (int i = 0; i < aAspects.length; i++) {
- String aAspectString = aAspects[i];
- long aAspectAmount = Long.parseLong(aAspectAmounts[i]);
- TC_AspectStack aAspectStack = new TC_AspectStack(TC_Aspects.valueOf(aAspectString), aAspectAmount);
- aMaterial.mAspects.add(aAspectStack);
- }
- }
- }
- }
-
- private static void OreReRegistrationsCalculation(Materials aMaterial, String aConfigPath) {
- String aDefaultMatReRegString = aMaterial.mOreReRegistrations.stream()
- .map(aTag -> aTag.mName)
- .collect(Collectors.joining(",", ",", ""));
- String aConfigMatMatReRegString = GregTech_API.sMaterialProperties
- .get(aConfigPath, "ListMaterialReRegistrations", aDefaultMatReRegString);
- if (!aConfigMatMatReRegString.equals(aDefaultMatReRegString)) {
- aMaterial.mOreReRegistrations.clear();
- if (aConfigMatMatReRegString.length() > 0) {
- Arrays.stream(aConfigMatMatReRegString.split(","))
- .map(MATERIALS_MAP::get)
- .filter(Objects::nonNull)
- .forEach(aMat -> aMaterial.mOreReRegistrations.add(aMat));
- }
- }
- }
-
- private static void OreByProductsCalculation(Materials aMaterial, String aConfigPath) {
- String aDefaultMatByProString = aMaterial.mOreByProducts.stream()
- .map(aTag -> aTag.mName)
- .collect(Collectors.joining(",", ",", ""));
- String aConfigMatByProString = GregTech_API.sMaterialProperties
- .get(aConfigPath, "ListMaterialByProducts", aDefaultMatByProString);
- if (!aConfigMatByProString.equals(aDefaultMatByProString)) {
- aMaterial.mOreByProducts.clear();
- if (aConfigMatByProString.length() > 0) {
- Arrays.stream(aConfigMatByProString.split(","))
- .map(MATERIALS_MAP::get)
- .filter(Objects::nonNull)
- .forEach(aMat -> aMaterial.mOreByProducts.add(aMat));
+ if (aMaterial == null || aMaterial == Materials._NULL || aMaterial == Materials.Empty) {
+ continue;
}
- }
- }
- /**
- * Converts the pre-defined list of SubTags from a material into a list of SubTag names for setting/getting to/from
- * the config. It is then converted to a String[] and finally to a singular String for insertion into the config If
- * the config string is different from the default, we then want to clear the Materials SubTags and insert new ones
- * from the config string.
- */
- private static void SubTagCalculation(Materials aMaterial, String aConfigPath) {
- String aDefaultTagString = aMaterial.mSubTags.stream()
- .map(aTag -> aTag.mName)
- .collect(Collectors.joining(",", ",", ""));
- String aConfigTagString = GregTech_API.sMaterialProperties.get(aConfigPath, "ListSubTags", aDefaultTagString);
- if (!aConfigTagString.equals(aDefaultTagString)) {
- aMaterial.mSubTags.clear();
- if (aConfigTagString.length() > 0) {
- Arrays.stream(aConfigTagString.split(","))
- .map(SubTag.sSubTags::get)
- .filter(Objects::nonNull)
- .forEach(aTag -> aMaterial.mSubTags.add(aTag));
- }
+ addToolValues(aMaterial);
+ addEnchantmentValues(aMaterial);
+ addHasGasFluid(aMaterial);
+ addHarvestLevelNerfs(aMaterial);
}
}
diff --git a/src/main/java/gregtech/api/enums/Mods.java b/src/main/java/gregtech/api/enums/Mods.java
index 28ed17d299..856817d972 100644
--- a/src/main/java/gregtech/api/enums/Mods.java
+++ b/src/main/java/gregtech/api/enums/Mods.java
@@ -179,14 +179,8 @@ public enum Mods {
ZTones(Names.Z_TONES),
// Do we keep compat of those?
- ArsMagica2(Names.ARS_MAGICA2),
- GanysSurface(Names.GANYS_SURFACE),
- IndustrialCraft2Classic(Names.INDUSTRIAL_CRAFT2_CLASSIC),
- MagicalCrops(Names.MAGICAL_CROPS),
Metallurgy(Names.METALLURGY),
RotaryCraft(Names.ROTARY_CRAFT),
- ThermalExpansion(Names.THERMAL_EXPANSION),
- ThermalFondation(Names.THERMAL_FONDATION),
UndergroundBiomes(Names.UNDERGROUND_BIOMES),
;
@@ -364,14 +358,8 @@ public enum Mods {
public static final String Z_TONES = "Ztones";
// Do we keep compat of those mods?
- public static final String ARS_MAGICA2 = "arsmagica2";
- public static final String GANYS_SURFACE = "ganyssurface";
- public static final String INDUSTRIAL_CRAFT2_CLASSIC = "IC2-Classic-Spmod";
- public static final String MAGICAL_CROPS = "magicalcrops";
public static final String METALLURGY = "Metallurgy";
public static final String ROTARY_CRAFT = "RotaryCraft";
- public static final String THERMAL_EXPANSION = "ThermalExpansion";
- public static final String THERMAL_FONDATION = "ThermalFoundation";
public static final String UNDERGROUND_BIOMES = "UndergroundBiomes";
}
diff --git a/src/main/java/gregtech/api/enums/OreMixes.java b/src/main/java/gregtech/api/enums/OreMixes.java
new file mode 100644
index 0000000000..c5c306baab
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/OreMixes.java
@@ -0,0 +1,982 @@
+package gregtech.api.enums;
+
+import static bloodasp.galacticgreg.api.enums.DimensionDef.*;
+import static gregtech.common.OreMixBuilder.NETHER;
+import static gregtech.common.OreMixBuilder.OW;
+import static gregtech.common.OreMixBuilder.THE_END;
+import static gregtech.common.OreMixBuilder.TWILIGHT_FOREST;
+
+import bloodasp.galacticgreg.GT_Worldgen_GT_Ore_Layer_Space;
+import bloodasp.galacticgreg.api.enums.DimensionDef;
+import gregtech.common.GT_Worldgen_GT_Ore_Layer;
+import gregtech.common.OreMixBuilder;
+
+public enum OreMixes {
+
+ // spotless : off
+ Naquadah(new OreMixBuilder().name("ore.mix.naquadah")
+ .heightRange(10, 90)
+ .weight(30)
+ .density(4)
+ .size(32)
+ .enableInDim(
+ EndAsteroids,
+ Maahes,
+ Asteroids,
+ BarnardE,
+ BarnardF,
+ Haumea,
+ KuiperBelt,
+ Mercury,
+ Oberon,
+ Pluto,
+ Titan,
+ VegaB,
+ Venus)
+ .primary(Materials.Naquadah)
+ .secondary(Materials.Naquadah)
+ .inBetween(Materials.Naquadah)
+ .sporadic(Materials.NaquadahEnriched)),
+
+ LigniteCoal(new OreMixBuilder().name("ore.mix.lignite")
+ .heightRange(80, 210)
+ .weight(160)
+ .density(7)
+ .size(32)
+ .enableInDim(OW)
+ .enableInDim(BarnardC)
+ .primary(Materials.Lignite)
+ .secondary(Materials.Lignite)
+ .inBetween(Materials.Lignite)
+ .sporadic(Materials.Coal)),
+
+ Coal(new OreMixBuilder().name("ore.mix.coal")
+ .heightRange(30, 80)
+ .weight(80)
+ .density(5)
+ .size(32)
+ .enableInDim(OW, TWILIGHT_FOREST)
+ .primary(Materials.Coal)
+ .secondary(Materials.Coal)
+ .inBetween(Materials.Coal)
+ .sporadic(Materials.Lignite)),
+
+ Magnetite(new OreMixBuilder().name("ore.mix.magnetite")
+ .heightRange(60, 180)
+ .weight(160)
+ .density(2)
+ .size(32)
+ .enableInDim(OW, TWILIGHT_FOREST)
+ .enableInDim(Seth, BarnardE, Ceres, Deimos, Io, MakeMake, TcetiE)
+ .primary(Materials.Magnetite)
+ .secondary(Materials.Magnetite)
+ .inBetween(Materials.Iron)
+ .sporadic(Materials.VanadiumMagnetite)),
+
+ Gold(new OreMixBuilder().name("ore.mix.gold")
+ .heightRange(30, 60)
+ .weight(160)
+ .density(2)
+ .size(32)
+ .enableInDim(OW, THE_END, TWILIGHT_FOREST)
+ .enableInDim(EndAsteroids, Seth, Asteroids, Mars, BarnardF, Callisto, Phobos, Pluto, TcetiE, Triton, VegaB)
+ .primary(Materials.Magnetite)
+ .secondary(Materials.Magnetite)
+ .inBetween(Materials.VanadiumMagnetite)
+ .sporadic(Materials.Gold)),
+
+ Iron(new OreMixBuilder().name("ore.mix.iron")
+ .heightRange(10, 40)
+ .weight(120)
+ .density(3)
+ .size(24)
+ .enableInDim(OW, NETHER, TWILIGHT_FOREST)
+ .enableInDim(Mars, Callisto, Ceres, Ganymede, Mercury, Oberon, Pluto)
+ .primary(Materials.BrownLimonite)
+ .secondary(Materials.YellowLimonite)
+ .inBetween(Materials.BandedIron)
+ .sporadic(Materials.Malachite)),
+
+ Cassiterite(new OreMixBuilder().name("ore.mix.cassiterite")
+ .heightRange(60, 220)
+ .weight(50)
+ .density(4)
+ .size(24)
+ .enableInDim(EndAsteroids, MehenBelt, Seth, Moon, Io, Miranda, TcetiE, Venus)
+ .enableInDim(OW, THE_END, TWILIGHT_FOREST)
+ .primary(Materials.Tin)
+ .secondary(Materials.Tin)
+ .inBetween(Materials.Cassiterite)
+ .sporadic(Materials.Tin)),
+
+ Tetrahedrite(new OreMixBuilder().name("ore.mix.tetrahedrite")
+ .heightRange(80, 120)
+ .weight(70)
+ .density(3)
+ .size(24)
+ .enableInDim(NETHER, THE_END)
+ .enableInDim(EndAsteroids, Asteroids, Mars, CentauriAlpha, Deimos, Ganymede, KuiperBelt, Miranda, VegaB, Venus)
+ .primary(Materials.Tetrahedrite)
+ .secondary(Materials.Tetrahedrite)
+ .inBetween(Materials.Copper)
+ .sporadic(Materials.Stibnite)),
+
+ NetherQuartz(new OreMixBuilder().name("ore.mix.netherquartz")
+ .heightRange(40, 80)
+ .weight(80)
+ .density(4)
+ .size(24)
+ .enableInDim(NETHER)
+ .enableInDim(Neper, CentauriAlpha)
+ .primary(Materials.NetherQuartz)
+ .secondary(Materials.NetherQuartz)
+ .inBetween(Materials.NetherQuartz)
+ .sporadic(Materials.Quartzite)),
+
+ Sulfur(new OreMixBuilder().name("ore.mix.sulfur")
+ .heightRange(5, 20)
+ .weight(100)
+ .density(4)
+ .size(24)
+ .enableInDim(NETHER)
+ .enableInDim(Anubis, Mars, CentauriAlpha, Deimos, Io, Phobos, Venus)
+ .primary(Materials.Sulfur)
+ .secondary(Materials.Sulfur)
+ .inBetween(Materials.Pyrite)
+ .sporadic(Materials.Sphalerite)),
+
+ Copper(new OreMixBuilder().name("ore.mix.copper")
+ .heightRange(5, 60)
+ .weight(80)
+ .density(3)
+ .size(24)
+ .enableInDim(EndAsteroids, Moon, BarnardE, BarnardF, Callisto, Ceres, Enceladus, Proteus)
+ .enableInDim(OW, NETHER, THE_END)
+ .primary(Materials.Chalcopyrite)
+ .secondary(Materials.Iron)
+ .inBetween(Materials.Pyrite)
+ .sporadic(Materials.Copper)),
+
+ Bauxite(new OreMixBuilder().name("ore.mix.bauxite")
+ .heightRange(10, 80)
+ .weight(80)
+ .density(3)
+ .size(24)
+ .enableInDim(
+ Seth,
+ Moon,
+ Asteroids,
+ Ganymede,
+ Haumea,
+ KuiperBelt,
+ MakeMake,
+ Mercury,
+ Phobos,
+ Pluto,
+ Proteus,
+ TcetiE,
+ Titan)
+ .primary(Materials.Bauxite)
+ .secondary(Materials.Ilmenite)
+ .inBetween(Materials.Aluminium)
+ .sporadic(Materials.Ilmenite)),
+
+ Salts(new OreMixBuilder().name("ore.mix.salts")
+ .heightRange(50, 70)
+ .weight(50)
+ .density(2)
+ .size(24)
+ .enableInDim(OW, TWILIGHT_FOREST)
+ .enableInDim(Mars, BarnardC, TcetiE)
+ .primary(Materials.RockSalt)
+ .secondary(Materials.Salt)
+ .inBetween(Materials.Lepidolite)
+ .sporadic(Materials.Spodumene)),
+
+ Redstone(new OreMixBuilder().name("ore.mix.redstone")
+ .heightRange(5, 40)
+ .weight(60)
+ .density(2)
+ .size(24)
+ .enableInDim(OW, NETHER)
+ .enableInDim(Mars, BarnardF, CentauriAlpha, Ganymede, Mercury, Miranda, VegaB, Venus)
+ .primary(Materials.Redstone)
+ .secondary(Materials.Redstone)
+ .inBetween(Materials.Ruby)
+ .sporadic(Materials.Cinnabar)),
+
+ Soapstone(new OreMixBuilder().name("ore.mix.soapstone")
+ .heightRange(20, 50)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(OW, TWILIGHT_FOREST)
+ .enableInDim(Anubis, Maahes, Ceres)
+ .primary(Materials.Soapstone)
+ .secondary(Materials.Talc)
+ .inBetween(Materials.Glauconite)
+ .sporadic(Materials.Pentlandite)),
+
+ Nickel(new OreMixBuilder().name("ore.mix.nickel")
+ .heightRange(10, 40)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(THE_END, TWILIGHT_FOREST)
+ .enableInDim(EndAsteroids, MehenBelt, Mars, Deimos, KuiperBelt, Phobos, Titan, Triton, Venus)
+ .primary(Materials.Garnierite)
+ .secondary(Materials.Nickel)
+ .inBetween(Materials.Cobaltite)
+ .sporadic(Materials.Pentlandite)),
+
+ Platinum(new OreMixBuilder().name("ore.mix.platinum")
+ .heightRange(40, 50)
+ .weight(5)
+ .density(2)
+ .size(16)
+ .enableInDim(EndAsteroids, Maahes, MehenBelt)
+ .primary(Materials.Cooperite)
+ .secondary(Materials.Palladium)
+ .inBetween(Materials.Platinum)
+ .sporadic(Materials.Iridium)),
+
+ Pitchblende(new OreMixBuilder().name("ore.mix.pitchblende")
+ .heightRange(60, 60)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(Mars, BarnardF, CentauriAlpha, Haumea, Io, KuiperBelt, MakeMake, Oberon, Phobos, VegaB, Venus)
+ .primary(Materials.Pitchblende)
+ .secondary(Materials.Pitchblende)
+ .inBetween(Materials.Uraninite)
+ .sporadic(Materials.Uraninite)),
+
+ Monazite(new OreMixBuilder().name("ore.mix.monazite")
+ .heightRange(20, 40)
+ .weight(30)
+ .density(2)
+ .size(16)
+ .enableInDim(Seth, Moon, BarnardF, Callisto, Deimos, Enceladus, Haumea, Io, MakeMake, Titan, Triton, Venus)
+ .primary(Materials.Bastnasite)
+ .secondary(Materials.Bastnasite)
+ .inBetween(Materials.Monazite)
+ .sporadic(Materials.Neodymium)),
+
+ Molybdenum(new OreMixBuilder().name("ore.mix.molybdenum")
+ .heightRange(20, 50)
+ .weight(5)
+ .density(2)
+ .size(16)
+ .enableInDim(NETHER, THE_END, TWILIGHT_FOREST)
+ .enableInDim(EndAsteroids, Moon, BarnardE, Ceres, Mercury, Phobos, Pluto, Proteus, Titan)
+ .primary(Materials.Wulfenite)
+ .secondary(Materials.Molybdenite)
+ .inBetween(Materials.Molybdenum)
+ .sporadic(Materials.Powellite)),
+
+ Tungstate(new OreMixBuilder().name("ore.mix.tungstate")
+ .heightRange(20, 60)
+ .weight(10)
+ .density(2)
+ .size(16)
+ .enableInDim(
+ EndAsteroids,
+ Asteroids,
+ Mars,
+ Callisto,
+ Deimos,
+ Enceladus,
+ Ganymede,
+ Haumea,
+ KuiperBelt,
+ MakeMake,
+ Oberon,
+ Pluto,
+ Triton,
+ VegaB)
+ .primary(Materials.Scheelite)
+ .secondary(Materials.Scheelite)
+ .inBetween(Materials.Tungstate)
+ .sporadic(Materials.Lithium)),
+
+ Sapphire(new OreMixBuilder().name("ore.mix.sapphire")
+ .heightRange(10, 40)
+ .weight(60)
+ .density(2)
+ .size(16)
+ .enableInDim(TWILIGHT_FOREST)
+ .enableInDim(Horus)
+ .primary(Materials.Almandine)
+ .secondary(Materials.Pyrope)
+ .inBetween(Materials.Sapphire)
+ .sporadic(Materials.GreenSapphire)),
+
+ Manganese(new OreMixBuilder().name("ore.mix.manganese")
+ .heightRange(20, 30)
+ .weight(20)
+ .density(2)
+ .size(16)
+ .enableInDim(OW, NETHER)
+ .enableInDim(EndAsteroids, BarnardE, BarnardF, CentauriAlpha, Ceres, Io, Oberon, Titan, Triton)
+ .primary(Materials.Grossular)
+ .secondary(Materials.Spessartine)
+ .inBetween(Materials.Pyrolusite)
+ .sporadic(Materials.Tantalite)),
+
+ Quartz(new OreMixBuilder().name("ore.mix.quartz")
+ .heightRange(80, 120)
+ .weight(20)
+ .density(2)
+ .size(16)
+ .enableInDim(NETHER)
+ .enableInDim(Neper)
+ .primary(Materials.Quartzite)
+ .secondary(Materials.Barite)
+ .inBetween(Materials.CertusQuartz)
+ .sporadic(Materials.CertusQuartz)),
+
+ Diamond(new OreMixBuilder().name("ore.mix.diamond")
+ .heightRange(5, 20)
+ .weight(40)
+ .density(1)
+ .size(16)
+ .enableInDim(BarnardF, Ganymede, KuiperBelt, Mercury, Miranda, Phobos, Pluto, Proteus, Titan)
+ .enableInDim(OW, TWILIGHT_FOREST)
+ .primary(Materials.Graphite)
+ .secondary(Materials.Graphite)
+ .inBetween(Materials.Diamond)
+ .sporadic(Materials.Coal)),
+
+ Olivine(new OreMixBuilder().name("ore.mix.olivine")
+ .heightRange(10, 40)
+ .weight(60)
+ .density(2)
+ .size(16)
+ .enableInDim(TWILIGHT_FOREST)
+ .enableInDim(EndAsteroids, Anubis, MehenBelt, BarnardE, Ceres, Haumea, MakeMake)
+ .primary(Materials.Bentonite)
+ .secondary(Materials.Magnesite)
+ .inBetween(Materials.Olivine)
+ .sporadic(Materials.Glauconite)),
+
+ Apatite(new OreMixBuilder().name("ore.mix.apatite")
+ .heightRange(40, 60)
+ .weight(60)
+ .density(2)
+ .size(16)
+ .enableInDim(TcetiE.modDimensionDef.getDimensionName(), OW, OreMixBuilder.TWILIGHT_FOREST)
+ .primary(Materials.Apatite)
+ .secondary(Materials.Apatite)
+ .inBetween(Materials.TricalciumPhosphate)
+ .sporadic(Materials.Pyrochlore)),
+
+ Galena(new OreMixBuilder().name("ore.mix.galena")
+ .heightRange(5, 45)
+ .weight(40)
+ .density(4)
+ .size(16)
+ .enableInDim(Moon, Mars, Ganymede, Oberon, Triton, VegaB, Venus)
+ .primary(Materials.Galena)
+ .secondary(Materials.Galena)
+ .inBetween(Materials.Silver)
+ .sporadic(Materials.Lead)),
+
+ Lapis(new OreMixBuilder().name("ore.mix.lapis")
+ .heightRange(20, 50)
+ .weight(40)
+ .density(4)
+ .size(16)
+ .enableInDim(OW, TWILIGHT_FOREST)
+ .enableInDim(EndAsteroids, MehenBelt, Ceres, Deimos, Enceladus, VegaB)
+ .primary(Materials.Lazurite)
+ .secondary(Materials.Sodalite)
+ .inBetween(Materials.Lapis)
+ .sporadic(Materials.Calcite)),
+
+ Beryllium(new OreMixBuilder().name("ore.mix.beryllium")
+ .heightRange(5, 30)
+ .weight(30)
+ .density(2)
+ .size(16)
+ .enableInDim(OreMixBuilder.NETHER, OreMixBuilder.THE_END)
+ .enableInDim(EndAsteroids, Mars, BarnardF, CentauriAlpha, Ceres, Haumea, MakeMake, Pluto, Titan, Venus)
+ .primary(Materials.Beryllium)
+ .secondary(Materials.Beryllium)
+ .inBetween(Materials.Emerald)
+ .sporadic(Materials.Thorium)),
+
+ Uranium(new OreMixBuilder().name("ore.mix.uranium")
+ .heightRange(20, 30)
+ .weight(20)
+ .density(2)
+ .size(16)
+ .enableInDim(
+ MehenBelt,
+ BarnardE,
+ Ceres,
+ Deimos,
+ Enceladus,
+ Ganymede,
+ Haumea,
+ KuiperBelt,
+ MakeMake,
+ Phobos,
+ Proteus)
+ .primary(Materials.Uraninite)
+ .secondary(Materials.Uraninite)
+ .inBetween(Materials.Uranium)
+ .sporadic(Materials.Uranium)),
+ OilSand(new OreMixBuilder().name("ore.mix.oilsand")
+ .heightRange(50, 80)
+ .weight(40)
+ .density(5)
+ .size(16)
+ .enableInDim(OW)
+ .enableInDim(BarnardC, TcetiE)
+ .primary(Materials.Oilsands)
+ .secondary(Materials.Oilsands)
+ .inBetween(Materials.Oilsands)
+ .sporadic(Materials.Oilsands)),
+
+ Neutronium(new OreMixBuilder().name("ore.mix.neutronium")
+ .heightRange(5, 30)
+ .weight(10)
+ .density(2)
+ .size(16)
+ .enableInDim(Maahes, MehenBelt, BarnardE, BarnardF, Haumea, KuiperBelt, MakeMake, Pluto, Proteus, Triton, VegaB)
+ .primary(Materials.Neutronium)
+ .secondary(Materials.Adamantium)
+ .inBetween(Materials.Naquadah)
+ .sporadic(Materials.Titanium)),
+
+ AquaIgnis(new OreMixBuilder().name("ore.mix.aquaignis")
+ .heightRange(5, 35)
+ .weight(16)
+ .density(2)
+ .size(16)
+ .enableInDim(Neper.modDimensionDef.getDimensionName(), OreMixBuilder.TWILIGHT_FOREST)
+ .primary(Materials.InfusedWater)
+ .secondary(Materials.InfusedFire)
+ .inBetween(Materials.Amber)
+ .sporadic(Materials.Cinnabar)),
+
+ TerraAer(new OreMixBuilder().name("ore.mix.terraaer")
+ .heightRange(5, 35)
+ .weight(16)
+ .density(2)
+ .size(16)
+ .enableInDim(Neper)
+ .enableInDim(TWILIGHT_FOREST)
+ .primary(Materials.InfusedEarth)
+ .secondary(Materials.InfusedAir)
+ .inBetween(Materials.Amber)
+ .sporadic(Materials.Cinnabar)),
+
+ PerditioOrdo(new OreMixBuilder().name("ore.mix.perditioordo")
+ .heightRange(5, 35)
+ .weight(16)
+ .density(2)
+ .size(16)
+ .enableInDim(TWILIGHT_FOREST)
+ .enableInDim(Neper)
+ .primary(Materials.InfusedEntropy)
+ .secondary(Materials.InfusedOrder)
+ .inBetween(Materials.Amber)
+ .sporadic(Materials.Cinnabar)),
+
+ CopperTin(new OreMixBuilder().name("ore.mix.coppertin")
+ .heightRange(80, 200)
+ .weight(80)
+ .density(3)
+ .size(24)
+ .enableInDim(OW)
+ .primary(Materials.Chalcopyrite)
+ .secondary(Materials.Vermiculite)
+ .inBetween(Materials.Cassiterite)
+ .sporadic(Materials.Alunite)),
+
+ TitaniumChrome(new OreMixBuilder().name("ore.mix.titaniumchrome")
+ .heightRange(10, 70)
+ .weight(16)
+ .density(2)
+ .size(16)
+ .enableInDim(MehenBelt, Moon, Asteroids, Callisto, Ganymede, Mercury, Miranda, Pluto, Proteus, TcetiE, Titan)
+ .primary(Materials.Ilmenite)
+ .secondary(Materials.Chromite)
+ .inBetween(Materials.Uvarovite)
+ .sporadic(Materials.Perlite)),
+
+ MineralSand(new OreMixBuilder().name("ore.mix.mineralsand")
+ .heightRange(50, 60)
+ .weight(80)
+ .density(3)
+ .size(24)
+ .enableInDim(OW)
+ .enableInDim(Anubis, Maahes, BarnardC, DimensionDef.Europa)
+ .primary(Materials.BasalticMineralSand)
+ .secondary(Materials.GraniticMineralSand)
+ .inBetween(Materials.FullersEarth)
+ .sporadic(Materials.Gypsum)),
+
+ GarnetTin(new OreMixBuilder().name("ore.mix.garnettin")
+ .heightRange(50, 60)
+ .weight(80)
+ .density(3)
+ .size(24)
+ .enableInDim(OW)
+ .enableInDim(CentauriAlpha, DimensionDef.Europa)
+ .primary(Materials.CassiteriteSand)
+ .secondary(Materials.GarnetSand)
+ .inBetween(Materials.Asbestos)
+ .sporadic(Materials.Diatomite)),
+
+ KaoliniteZeolite(new OreMixBuilder().name("ore.mix.kaolinitezeolite")
+ .heightRange(50, 70)
+ .weight(60)
+ .density(4)
+ .size(16)
+ .enableInDim(OW)
+ .enableInDim(Neper, TcetiE)
+ .primary(Materials.Kaolinite)
+ .secondary(Materials.Zeolite)
+ .inBetween(Materials.FullersEarth)
+ .sporadic(Materials.GlauconiteSand)),
+
+ Mica(new OreMixBuilder().name("ore.mix.mica")
+ .heightRange(20, 40)
+ .weight(20)
+ .density(2)
+ .size(16)
+ .enableInDim(Anubis, Neper, BarnardC)
+ .enableInDim(OW)
+ .primary(Materials.Kyanite)
+ .secondary(Materials.Mica)
+ .inBetween(Materials.Cassiterite)
+ .sporadic(Materials.Pollucite)),
+
+ Dolomite(new OreMixBuilder().name("ore.mix.dolomite")
+ .heightRange(150, 200)
+ .weight(40)
+ .density(4)
+ .size(24)
+ .enableInDim(OW)
+ .enableInDim(Anubis, Neper)
+ .primary(Materials.Dolomite)
+ .secondary(Materials.Wollastonite)
+ .inBetween(Materials.Trona)
+ .sporadic(Materials.Andradite)),
+
+ PlatinumChrome(new OreMixBuilder().name("ore.mix.platinumchrome")
+ .heightRange(5, 30)
+ .weight(10)
+ .density(2)
+ .size(16)
+ .enableInDim(MehenBelt, Seth, Callisto, Ceres, Ganymede, Io, KuiperBelt, Mercury, Oberon, Pluto)
+ .primary(Materials.Platinum)
+ .secondary(Materials.Chrome)
+ .inBetween(Materials.Cooperite)
+ .sporadic(Materials.Palladium)),
+
+ IridiumMytryl(new OreMixBuilder().name("ore.mix.iridiummytryl")
+ .heightRange(15, 40)
+ .weight(10)
+ .density(2)
+ .size(16)
+ .enableInDim(MehenBelt, Seth, Enceladus, Io, KuiperBelt, Mercury, Miranda, Titan, Triton, Venus)
+ .primary(Materials.Nickel)
+ .secondary(Materials.Iridium)
+ .inBetween(Materials.Palladium)
+ .sporadic(Materials.Mithril)),
+
+ Osmium(new OreMixBuilder().name("ore.mix.osmium")
+ .heightRange(5, 30)
+ .weight(10)
+ .density(2)
+ .size(16)
+ .enableInDim(MehenBelt, Seth, BarnardC, Enceladus, KuiperBelt, Miranda, Oberon, Pluto, Proteus, Titan)
+ .primary(Materials.Nickel)
+ .secondary(Materials.Osmium)
+ .inBetween(Materials.Iridium)
+ .sporadic(Materials.Nickel)),
+
+ SaltPeterElectrotine(new OreMixBuilder().name("ore.mix.saltpeterelectrotine")
+ .heightRange(5, 45)
+ .weight(40)
+ .density(3)
+ .size(16)
+ .enableInDim(NETHER)
+ .enableInDim(CentauriAlpha, Ceres)
+ .primary(Materials.Saltpeter)
+ .secondary(Materials.Diatomite)
+ .inBetween(Materials.Electrotine)
+ .sporadic(Materials.Alunite)),
+
+ Desh(new OreMixBuilder().name("ore.mix.desh")
+ .heightRange(5, 40)
+ .weight(30)
+ .density(2)
+ .size(16)
+ .enableInDim(Anubis, Mars, Miranda)
+ .primary(Materials.Desh)
+ .secondary(Materials.Desh)
+ .inBetween(Materials.Scheelite)
+ .sporadic(Materials.Tungstate)),
+
+ Draconium(new OreMixBuilder().name("ore.mix.draconium")
+ .heightRange(20, 40)
+ .weight(40)
+ .density(1)
+ .size(16)
+ .enableInDim(Horus, Seth, Deimos, Mercury, Miranda, Phobos)
+ .primary(Materials.Draconium)
+ .secondary(Materials.Electrotine)
+ .inBetween(Materials.Jade)
+ .sporadic(Materials.Vinteum)),
+
+ Quantium(new OreMixBuilder().name("ore.mix.quantium")
+ .heightRange(5, 25)
+ .weight(30)
+ .density(3)
+ .size(24)
+ .enableInDim(Horus, Maahes, Venus)
+ .primary(Materials.Quantium)
+ .secondary(Materials.Amethyst)
+ .inBetween(Materials.Rutile)
+ .sporadic(Materials.Ardite)),
+
+ CallistoIce(new OreMixBuilder().name("ore.mix.callistoice")
+ .heightRange(40, 60)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(Anubis, Maahes, Callisto)
+ .primary(Materials.CallistoIce)
+ .secondary(Materials.Topaz)
+ .inBetween(Materials.BlueTopaz)
+ .sporadic(Materials.Alduorite)),
+
+ Mytryl(new OreMixBuilder().name("ore.mix.mytryl")
+ .heightRange(10, 30)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(Anubis, Horus, Io)
+ .primary(Materials.Mytryl)
+ .secondary(Materials.Jasper)
+ .inBetween(Materials.Ceruclase)
+ .sporadic(Materials.Vulcanite)),
+
+ Ledox(new OreMixBuilder().name("ore.mix.ledox")
+ .heightRange(55, 65)
+ .weight(30)
+ .density(2)
+ .size(24)
+ .enableInDim(Horus, Enceladus, DimensionDef.Europa)
+ .primary(Materials.Ledox)
+ .secondary(Materials.Opal)
+ .inBetween(Materials.Orichalcum)
+ .sporadic(Materials.Rubracium)),
+
+ Oriharukon(new OreMixBuilder().name("ore.mix.oriharukon")
+ .heightRange(30, 60)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(Horus, Deimos, Phobos)
+ .primary(Materials.Oriharukon)
+ .secondary(Materials.Tanzanite)
+ .inBetween(Materials.Vyroxeres)
+ .sporadic(Materials.Mirabilite)),
+
+ BlackPlutonium(new OreMixBuilder().name("ore.mix.blackplutonium")
+ .heightRange(5, 25)
+ .weight(40)
+ .density(2)
+ .size(24)
+ .enableInDim(Horus, BarnardC, CentauriAlpha, MakeMake, Pluto, TcetiE)
+ .primary(Materials.BlackPlutonium)
+ .secondary(Materials.GarnetRed)
+ .inBetween(Materials.GarnetYellow)
+ .sporadic(Materials.Borax)),
+
+ InfusedGold(new OreMixBuilder().name("ore.mix.infusedgold")
+ .heightRange(15, 40)
+ .weight(30)
+ .density(2)
+ .size(16)
+ .enableInDim(BarnardE, Haumea, Io, Proteus, Titan, VegaB)
+ .primary(Materials.Gold)
+ .secondary(Materials.Gold)
+ .inBetween(Materials.InfusedGold)
+ .sporadic(Materials.Platinum)),
+
+ Niobium(new OreMixBuilder().name("ore.mix.niobium")
+ .heightRange(5, 30)
+ .weight(60)
+ .density(2)
+ .size(24)
+ .enableInDim(BarnardF, MakeMake, Triton, VegaB)
+ .primary(Materials.Niobium)
+ .secondary(Materials.Yttrium)
+ .inBetween(Materials.Gallium)
+ .sporadic(Materials.Gallium)),
+
+ TungstenIrons(new OreMixBuilder().name("ore.mix.tungstenirons")
+ .heightRange(5, 25)
+ .weight(16)
+ .density(2)
+ .size(30)
+ .enableInDim(Neper, BarnardC, BarnardE, BarnardF, Oberon, Pluto, Proteus, Triton)
+ .primary(Materials.Tungsten)
+ .secondary(Materials.Silicon)
+ .inBetween(Materials.DeepIron)
+ .sporadic(Materials.ShadowIron)),
+
+ UraniumGTNH(new OreMixBuilder().name("ore.mix.uraniumgtnh")
+ .heightRange(10, 30)
+ .weight(60)
+ .density(2)
+ .size(24)
+ .enableInDim(BarnardE, BarnardF, Haumea, Pluto, Triton, VegaB)
+ .primary(Materials.Thorium)
+ .secondary(Materials.Uranium)
+ .inBetween(Materials.Plutonium241)
+ .sporadic(Materials.Uranium235)),
+
+ VanadiumGold(new OreMixBuilder().name("ore.mix.vanadiumgold")
+ .heightRange(10, 50)
+ .weight(60)
+ .density(2)
+ .size(24)
+ .enableInDim(Maahes, BarnardF, Enceladus, MakeMake, Proteus, VegaB)
+ .primary(Materials.Vanadium)
+ .secondary(Materials.Magnetite)
+ .inBetween(Materials.Gold)
+ .sporadic(Materials.Chrome)),
+
+ NetherStar(new OreMixBuilder().name("ore.mix.netherstar")
+ .heightRange(20, 60)
+ .weight(60)
+ .density(2)
+ .size(24)
+ .enableInDim(Horus, BarnardE, Haumea, TcetiE, VegaB)
+ .primary(Materials.GarnetSand)
+ .secondary(Materials.NetherStar)
+ .inBetween(Materials.GarnetRed)
+ .sporadic(Materials.GarnetYellow)),
+
+ Garnet(new OreMixBuilder().name("ore.mix.garnet")
+ .heightRange(10, 30)
+ .weight(40)
+ .density(2)
+ .size(16)
+ .enableInDim(Horus, BarnardF, MakeMake, VegaB)
+ .primary(Materials.GarnetRed)
+ .secondary(Materials.GarnetYellow)
+ .inBetween(Materials.Chrysotile)
+ .sporadic(Materials.Realgar)),
+
+ RareEarth(new OreMixBuilder().name("ore.mix.rareearth")
+ .heightRange(30, 60)
+ .weight(40)
+ .density(2)
+ .size(24)
+ .enableInDim(BarnardE, BarnardF, CentauriAlpha, VegaB)
+ .primary(Materials.Cadmium)
+ .secondary(Materials.Caesium)
+ .inBetween(Materials.Lanthanum)
+ .sporadic(Materials.Cerium)),
+
+ RichNuclear(new OreMixBuilder().name("ore.mix.richnuclear")
+ .heightRange(55, 120)
+ .weight(5)
+ .density(2)
+ .size(8)
+ .enableInDim(Callisto, Ceres, Ganymede, Io)
+ .primary(Materials.Uranium)
+ .secondary(Materials.Plutonium)
+ .inBetween(Materials.Thorium)
+ .sporadic(Materials.Thorium)),
+
+ HeavyPentele(new OreMixBuilder().name("ore.mix.heavypentele")
+ .heightRange(40, 60)
+ .weight(60)
+ .density(5)
+ .size(32)
+ .enableInDim(Neper, Mars, BarnardC, Mercury, Phobos, Titan, VegaB)
+ .primary(Materials.Arsenic)
+ .secondary(Materials.Bismuth)
+ .inBetween(Materials.Antimony)
+ .sporadic(Materials.Antimony)),
+
+ Europa(new OreMixBuilder().name("ore.mix.europa")
+ .heightRange(55, 65)
+ .weight(110)
+ .density(4)
+ .size(24)
+ .enableInDim(Horus, DimensionDef.Europa, TcetiE)
+ .primary(Materials.Magnesite)
+ .secondary(Materials.BandedIron)
+ .inBetween(Materials.Sulfur)
+ .sporadic(Materials.Opal)),
+
+ EuropaCore(new OreMixBuilder().name("ore.mix.europacore")
+ .heightRange(5, 15)
+ .weight(5)
+ .density(2)
+ .size(16)
+ .enableInDim(Maahes, DimensionDef.Europa, TcetiE)
+ .primary(Materials.Chrome)
+ .secondary(Materials.Tungstate)
+ .inBetween(Materials.Molybdenum)
+ .sporadic(Materials.Manganese)),
+
+ SecondLanthanid(new OreMixBuilder().name("ore.mix.secondlanthanid")
+ .heightRange(10, 40)
+ .weight(10)
+ .density(3)
+ .size(24)
+ .enableInDim(Seth, BarnardC, CentauriAlpha)
+ .primary(Materials.Samarium)
+ .secondary(Materials.Neodymium)
+ .inBetween(Materials.Tartarite)
+ .sporadic(Materials.Tartarite)),
+
+ QuartzSpace(new OreMixBuilder().name("ore.mix.quartzspace")
+ .heightRange(40, 80)
+ .weight(20)
+ .density(3)
+ .size(16)
+ .enableInDim(Horus, Moon, Mars, CentauriAlpha, Io, Phobos, Proteus, TcetiE, Venus)
+ .primary(Materials.Quartzite)
+ .secondary(Materials.Barite)
+ .inBetween(Materials.CertusQuartz)
+ .sporadic(Materials.CertusQuartz)),
+
+ Rutile(new OreMixBuilder().name("ore.mix.rutile")
+ .heightRange(5, 20)
+ .weight(8)
+ .density(4)
+ .size(12)
+ .enableInDim(Anubis, Titan, Venus)
+ .primary(Materials.Rutile)
+ .secondary(Materials.Titanium)
+ .inBetween(Materials.Bauxite)
+ .sporadic(Materials.MeteoricIron)),
+
+ TFGalena(new OreMixBuilder().name("ore.mix.tfgalena")
+ .heightRange(5, 35)
+ .weight(40)
+ .density(4)
+ .size(16)
+ .enableInDim(TWILIGHT_FOREST)
+ .enableInDim(Anubis, Maahes)
+ .primary(Materials.Galena)
+ .secondary(Materials.Silver)
+ .inBetween(Materials.Lead)
+ .sporadic(Materials.Cryolite)),
+
+ LuVTantalite(new OreMixBuilder().name("ore.mix.luvtantalite")
+ .heightRange(20, 30)
+ .weight(10)
+ .density(4)
+ .size(16)
+ .enableInDim(Io, Miranda)
+ .primary(Materials.Pyrolusite)
+ .secondary(Materials.Apatite)
+ .inBetween(Materials.Tantalite)
+ .sporadic(Materials.Pyrochlore)),
+
+ CertusQuartz(new OreMixBuilder().name("ore.mix.certusquartz")
+ .heightRange(40, 80)
+ .weight(60)
+ .density(5)
+ .size(32)
+ .enableInDim(Horus, Neper)
+ .primary(Materials.CertusQuartz)
+ .secondary(Materials.CertusQuartz)
+ .inBetween(Materials.CertusQuartzCharged)
+ .sporadic(Materials.QuartzSand)),
+
+ InfinityCatalyst(new OreMixBuilder().name("ore.mix.infinitycatalyst")
+ .heightRange(5, 20)
+ .weight(15)
+ .density(2)
+ .size(16)
+ .enableInDim(Anubis)
+ .primary(Materials.Neutronium)
+ .secondary(Materials.Adamantium)
+ .inBetween(Materials.InfinityCatalyst)
+ .sporadic(Materials.Bedrockium)),
+
+ CosmicNeutronium(new OreMixBuilder().name("ore.mix.cosmicneutronium")
+ .heightRange(5, 20)
+ .weight(15)
+ .density(2)
+ .size(16)
+ .enableInDim(Horus)
+ .primary(Materials.Neutronium)
+ .secondary(Materials.CosmicNeutronium)
+ .inBetween(Materials.BlackPlutonium)
+ .sporadic(Materials.Bedrockium)),
+
+ Dilithium(new OreMixBuilder().name("ore.mix.dilithium")
+ .heightRange(30, 100)
+ .weight(30)
+ .density(3)
+ .size(24)
+ .enableInDim(Neper)
+ .primary(Materials.Dilithium)
+ .secondary(Materials.Dilithium)
+ .inBetween(Materials.MysteriousCrystal)
+ .sporadic(Materials.Vinteum)),
+
+ Naquadria(new OreMixBuilder().name("ore.mix.naquadria")
+ .heightRange(10, 90)
+ .weight(40)
+ .density(4)
+ .size(24)
+ .enableInDim(Maahes)
+ .primary(Materials.Naquadah)
+ .secondary(Materials.NaquadahEnriched)
+ .inBetween(Materials.Naquadria)
+ .sporadic(Materials.Trinium)),
+
+ AwakenedDraconium(new OreMixBuilder().name("ore.mix.awakeneddraconium")
+ .heightRange(20, 40)
+ .weight(20)
+ .density(3)
+ .size(16)
+ .enableInDim(MehenBelt)
+ .primary(Materials.Draconium)
+ .secondary(Materials.Draconium)
+ .inBetween(Materials.DraconiumAwakened)
+ .sporadic(Materials.NetherStar)),
+
+ Tengam(new OreMixBuilder().name("ore.mix.tengam")
+ .heightRange(30, 180)
+ .weight(80)
+ .density(2)
+ .size(32)
+ .enableInDim(MehenBelt)
+ .primary(Materials.TengamRaw)
+ .secondary(Materials.TengamRaw)
+ .inBetween(Materials.Electrotine)
+ .sporadic(Materials.Samarium));
+
+ // spotless : on
+
+ public final OreMixBuilder oreMixBuilder;
+
+ private OreMixes(OreMixBuilder oreMixBuilder) {
+ this.oreMixBuilder = oreMixBuilder;
+ }
+
+ public GT_Worldgen_GT_Ore_Layer addGTOreLayer() {
+ return new GT_Worldgen_GT_Ore_Layer(this.oreMixBuilder);
+ }
+
+ public GT_Worldgen_GT_Ore_Layer_Space addGaGregOreLayer() {
+ return new GT_Worldgen_GT_Ore_Layer_Space(this.oreMixBuilder);
+ }
+}
diff --git a/src/main/java/gregtech/api/enums/SmallOres.java b/src/main/java/gregtech/api/enums/SmallOres.java
new file mode 100644
index 0000000000..6de67bc3b9
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/SmallOres.java
@@ -0,0 +1,555 @@
+package gregtech.api.enums;
+
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Anubis;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Asteroids;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.BarnardE;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.BarnardF;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Callisto;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Ceres;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Deimos;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Enceladus;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.EndAsteroids;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Ganymede;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Haumea;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Horus;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Io;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.KuiperBelt;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.MakeMake;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Mars;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.MehenBelt;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Mercury;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Miranda;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Moon;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Oberon;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Phobos;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Pluto;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Proteus;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Seth;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.TcetiE;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Titan;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Triton;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.VegaB;
+import static bloodasp.galacticgreg.api.enums.DimensionDef.Venus;
+import static gregtech.common.SmallOreBuilder.NETHER;
+import static gregtech.common.SmallOreBuilder.OW;
+import static gregtech.common.SmallOreBuilder.THE_END;
+import static gregtech.common.SmallOreBuilder.TWILIGHT_FOREST;
+
+import bloodasp.galacticgreg.GT_Worldgen_GT_Ore_SmallPieces_Space;
+import gregtech.common.GT_Worldgen_GT_Ore_SmallPieces;
+import gregtech.common.SmallOreBuilder;
+
+public enum SmallOres {
+
+ // spotless : off
+ Copper(new SmallOreBuilder().name("ore.small.copper")
+ .heightRange(60, 180)
+ .amount(32)
+ .ore(Materials.Copper)
+ .enableInDim(Mars, Phobos, Proteus, Triton)
+ .enableInDim(NETHER, OW, THE_END)),
+
+ Tin(new SmallOreBuilder().name("ore.small.tin")
+ .heightRange(80, 220)
+ .amount(32)
+ .ore(Materials.Tin)
+ .enableInDim(MehenBelt, Mars, Deimos, Ganymede, Proteus, Titan, EndAsteroids)
+ .enableInDim(NETHER, OW, THE_END)),
+
+ Bismuth(new SmallOreBuilder().name("ore.small.bismuth")
+ .heightRange(80, 120)
+ .amount(8)
+ .ore(Materials.Bismuth)
+ .enableInDim(Mars, Callisto, Ceres, Io, MakeMake, Mercury, Proteus, VegaB)
+ .enableInDim(NETHER)),
+
+ Coal(new SmallOreBuilder().name("ore.small.coal")
+ .heightRange(120, 250)
+ .amount(24)
+ .ore(Materials.Coal)
+ .enableInDim(OW)),
+
+ Iron(new SmallOreBuilder().name("ore.small.iron")
+ .heightRange(40, 100)
+ .amount(16)
+ .ore(Materials.Iron)
+ .enableInDim(
+ Asteroids,
+ Mars,
+ BarnardE,
+ BarnardF,
+ Callisto,
+ Enceladus,
+ Ganymede,
+ Haumea,
+ Io,
+ KuiperBelt,
+ Miranda,
+ Phobos,
+ Titan,
+ Triton)
+ .enableInDim(NETHER, OW, THE_END)),
+
+ Lead(new SmallOreBuilder().name("ore.small.lead")
+ .heightRange(40, 180)
+ .amount(16)
+ .ore(Materials.Lead)
+ .enableInDim(
+ Asteroids,
+ Mars,
+ Ceres,
+ Deimos,
+ Ganymede,
+ KuiperBelt,
+ MakeMake,
+ Mercury,
+ Oberon,
+ Pluto,
+ Triton,
+ VegaB,
+ Venus,
+ EndAsteroids)
+ .enableInDim(NETHER, THE_END, TWILIGHT_FOREST)),
+
+ Zinc(new SmallOreBuilder().name("ore.small.zinc")
+ .heightRange(80, 210)
+ .amount(24)
+ .ore(Materials.Zinc)
+ .enableInDim(Mars, BarnardE, Enceladus, Ganymede, Haumea, Io, Mercury, Proteus, Titan, EndAsteroids)
+ .enableInDim(NETHER, OW, THE_END)),
+
+ Gold(new SmallOreBuilder().name("ore.small.gold")
+ .heightRange(20, 60)
+ .amount(8)
+ .ore(Materials.Gold)
+ .enableInDim(
+ Asteroids,
+ Mars,
+ BarnardF,
+ Callisto,
+ Ceres,
+ KuiperBelt,
+ Miranda,
+ Phobos,
+ Pluto,
+ Venus,
+ EndAsteroids)
+ .enableInDim(OW, THE_END)),
+
+ Silver(new SmallOreBuilder().name("ore.small.silver")
+ .heightRange(20, 60)
+ .amount(20)
+ .ore(Materials.Silver)
+ .enableInDim(Enceladus, Io, Oberon, Pluto, Proteus, Titan, Triton, VegaB, EndAsteroids)
+ .enableInDim(NETHER, OW, THE_END)),
+
+ Nickel(new SmallOreBuilder().name("ore.small.nickel")
+ .heightRange(80, 150)
+ .amount(8)
+ .ore(Materials.Nickel)
+ .enableInDim(
+ MehenBelt,
+ Asteroids,
+ Mars,
+ BarnardE,
+ BarnardF,
+ Ceres,
+ Deimos,
+ KuiperBelt,
+ MakeMake,
+ Mercury,
+ Pluto,
+ Venus,
+ EndAsteroids)
+ .enableInDim(OW, THE_END)),
+
+ Lapis(new SmallOreBuilder().name("ore.small.lapis")
+ .heightRange(10, 50)
+ .amount(4)
+ .ore(Materials.Lapis)
+ .enableInDim(MehenBelt, Enceladus, Ganymede, Io, Oberon, Phobos, TcetiE)
+ .enableInDim(OW)),
+
+ Diamond(new SmallOreBuilder().name("ore.small.diamond")
+ .heightRange(5, 15)
+ .amount(2)
+ .ore(Materials.Diamond)
+ .enableInDim(Asteroids, Callisto, Ceres, Deimos, KuiperBelt, Oberon, Titan, Triton, VegaB, Venus)
+ .enableInDim(OW)),
+
+ Emerald(new SmallOreBuilder().name("ore.small.emerald")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Emerald)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Ruby(new SmallOreBuilder().name("ore.small.ruby")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Ruby)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Sapphire(new SmallOreBuilder().name("ore.small.sapphire")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Sapphire)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Greensapphire(new SmallOreBuilder().name("ore.small.greensapphire")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.GreenSapphire)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Olivine(new SmallOreBuilder().name("ore.small.olivine")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Olivine)
+ .enableInDim(Horus, MehenBelt)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Topaz(new SmallOreBuilder().name("ore.small.topaz")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Topaz)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Tanzanite(new SmallOreBuilder().name("ore.small.tanzanite")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Tanzanite)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Amethyst(new SmallOreBuilder().name("ore.small.amethyst")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Amethyst)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Opal(new SmallOreBuilder().name("ore.small.opal")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Opal)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Jasper(new SmallOreBuilder().name("ore.small.jasper")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Jasper)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Bluetopaz(new SmallOreBuilder().name("ore.small.bluetopaz")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.BlueTopaz)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Amber(new SmallOreBuilder().name("ore.small.amber")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Amber)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Foolsruby(new SmallOreBuilder().name("ore.small.foolsruby")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.FoolsRuby)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Garnetred(new SmallOreBuilder().name("ore.small.garnetred")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.GarnetRed)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Garnetyellow(new SmallOreBuilder().name("ore.small.garnetyellow")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.GarnetYellow)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Redstone(new SmallOreBuilder().name("ore.small.redstone")
+ .heightRange(5, 25)
+ .amount(8)
+ .ore(Materials.Redstone)
+ .enableInDim(Mars, Ganymede, Io, Mercury, Proteus, Titan)
+ .enableInDim(NETHER, OW)),
+
+ Netherquartz(new SmallOreBuilder().name("ore.small.netherquartz")
+ .heightRange(30, 120)
+ .amount(64)
+ .ore(Materials.NetherQuartz)
+ .enableInDim(NETHER)),
+
+ Saltpeter(new SmallOreBuilder().name("ore.small.saltpeter")
+ .heightRange(10, 60)
+ .amount(8)
+ .ore(Materials.Saltpeter)
+ .enableInDim(Mars, Deimos, Enceladus, Ganymede, Io, Proteus, Venus)
+ .enableInDim(NETHER, TWILIGHT_FOREST)),
+
+ Sulfur(new SmallOreBuilder().name("ore.small.sulfur")
+ .heightRange(5, 60)
+ .amount(40)
+ .ore(Materials.Sulfur)
+ .enableInDim(NETHER)),
+
+ Titanium(new SmallOreBuilder().name("ore.small.titanium")
+ .heightRange(10, 180)
+ .amount(32)
+ .ore(Materials.Titanium)
+ .enableInDim(
+ MehenBelt,
+ Asteroids,
+ Mars,
+ BarnardE,
+ BarnardF,
+ Callisto,
+ Ceres,
+ Deimos,
+ Enceladus,
+ Ganymede,
+ Haumea,
+ Io,
+ KuiperBelt,
+ MakeMake,
+ Mercury,
+ Miranda,
+ Oberon,
+ Phobos,
+ Pluto,
+ Proteus,
+ Titan,
+ Triton,
+ Venus)
+
+ ),
+
+ Tungsten(new SmallOreBuilder().name("ore.small.tungsten")
+ .heightRange(10, 120)
+ .amount(16)
+ .ore(Materials.Tungsten)
+ .enableInDim(Io, Venus)),
+
+ Meteoriciron(new SmallOreBuilder().name("ore.small.meteoriciron")
+ .heightRange(50, 70)
+ .amount(8)
+ .ore(Materials.MeteoricIron)
+ .enableInDim(Moon, Mars, Deimos, Io, Phobos, Pluto, Venus)),
+
+ Firestone(new SmallOreBuilder().name("ore.small.firestone")
+ .heightRange(5, 15)
+ .amount(2)
+ .ore(Materials.Firestone)
+ .enableInDim(Io, Venus)),
+
+ Neutronium(new SmallOreBuilder().name("ore.small.neutronium")
+ .heightRange(5, 15)
+ .amount(8)
+ .ore(Materials.Neutronium)
+ .enableInDim(
+ MehenBelt,
+ BarnardE,
+ BarnardF,
+ Enceladus,
+ Haumea,
+ KuiperBelt,
+ MakeMake,
+ Oberon,
+ Pluto,
+ Proteus,
+ TcetiE,
+ Titan,
+ Triton,
+ VegaB)),
+
+ Chromite(new SmallOreBuilder().name("ore.small.chromite")
+ .heightRange(20, 40)
+ .amount(8)
+ .ore(Materials.Chromite)
+ .enableInDim(
+ MehenBelt,
+ Asteroids,
+ Mars,
+ Callisto,
+ Ceres,
+ Deimos,
+ Enceladus,
+ Ganymede,
+ Haumea,
+ Io,
+ KuiperBelt,
+ MakeMake,
+ Mercury,
+ Oberon,
+ Phobos,
+ Pluto,
+ Proteus,
+ Titan,
+ Triton,
+ VegaB,
+ Venus)),
+
+ Tungstate(new SmallOreBuilder().name("ore.small.tungstate")
+ .heightRange(20, 40)
+ .amount(8)
+ .ore(Materials.Tungstate)
+ .enableInDim(
+ Asteroids,
+ Mars,
+ Callisto,
+ Ceres,
+ Deimos,
+ Enceladus,
+ Ganymede,
+ Io,
+ KuiperBelt,
+ Mercury,
+ Miranda,
+ Oberon,
+ Phobos,
+ Pluto,
+ Proteus,
+ Titan,
+ Triton,
+ Venus)),
+
+ Naquadah(new SmallOreBuilder().name("ore.small.naquadah")
+ .heightRange(5, 25)
+ .amount(8)
+ .ore(Materials.Naquadah)
+ .enableInDim(BarnardE, BarnardF, Ceres, Enceladus, Io, KuiperBelt, Mercury, Pluto, Proteus, Venus)),
+
+ Quantium(new SmallOreBuilder().name("ore.small.quantium")
+ .heightRange(5, 25)
+ .amount(6)
+ .ore(Materials.Quantium)
+ .enableInDim(Ceres, Haumea, Io, MakeMake, Pluto, Titan)),
+
+ Mythril(new SmallOreBuilder().name("ore.small.mythril")
+ .heightRange(5, 25)
+ .amount(6)
+ .ore(Materials.Mytryl)
+ .enableInDim(Horus, Callisto, MakeMake, Miranda, Proteus, Venus)),
+
+ Ledox(new SmallOreBuilder().name("ore.small.ledox")
+ .heightRange(40, 60)
+ .amount(4)
+ .ore(Materials.Ledox)
+ .enableInDim(Callisto, Enceladus, Haumea, Mercury, Oberon, Pluto)),
+
+ Oriharukon(new SmallOreBuilder().name("ore.small.oriharukon")
+ .heightRange(20, 40)
+ .amount(6)
+ .ore(Materials.Oriharukon)
+ .enableInDim(Mars, Ceres, Haumea, MakeMake, Mercury, Titan, Triton)),
+
+ Draconium(new SmallOreBuilder().name("ore.small.draconium")
+ .heightRange(5, 15)
+ .amount(4)
+ .ore(Materials.Draconium)
+ .enableInDim(Seth, Deimos, Ganymede, Haumea, MakeMake, Oberon, Phobos, Pluto, Venus)),
+
+ Awdraconium(new SmallOreBuilder().name("ore.small.awdraconium")
+ .heightRange(5, 15)
+ .amount(2)
+ .ore(Materials.DraconiumAwakened)
+ .enableInDim(Seth, BarnardE, BarnardF, TcetiE, VegaB)),
+
+ Desh(new SmallOreBuilder().name("ore.small.desh")
+ .heightRange(10, 30)
+ .amount(6)
+ .ore(Materials.Desh)
+ .enableInDim(Callisto, Deimos, Haumea, MakeMake, Mercury, Miranda, Phobos, Proteus, Triton)),
+
+ Blackplutonium(new SmallOreBuilder().name("ore.small.blackplutonium")
+ .heightRange(25, 45)
+ .amount(6)
+ .ore(Materials.BlackPlutonium)
+ .enableInDim(BarnardE, BarnardF, Haumea, MakeMake, Pluto, Triton, VegaB)),
+
+ Infinitycatalyst(new SmallOreBuilder().name("ore.small.infinitycatalyst")
+ .heightRange(40, 80)
+ .amount(6)
+ .ore(Materials.InfinityCatalyst)
+ .enableInDim(Anubis, VegaB)),
+
+ Infinity(new SmallOreBuilder().name("ore.small.infinity")
+ .heightRange(2, 40)
+ .amount(2)
+ .ore(Materials.Infinity)
+ .disabledByDefault()),
+
+ Bedrockium(new SmallOreBuilder().name("ore.small.bedrockium")
+ .heightRange(5, 25)
+ .amount(6)
+ .ore(Materials.Bedrockium)
+ .enableInDim(BarnardF)),
+
+ Realgar(new SmallOreBuilder().name("ore.small.realgar")
+ .heightRange(15, 85)
+ .amount(32)
+ .ore(Materials.Realgar)
+ .enableInDim(BarnardF)
+ .enableInDim(NETHER)),
+
+ Certusquartz(new SmallOreBuilder().name("ore.small.certusquartz")
+ .heightRange(5, 115)
+ .amount(16)
+ .ore(Materials.CertusQuartz)
+ .enableInDim(Horus)
+ .enableInDim(NETHER)),
+
+ Jade(new SmallOreBuilder().name("ore.small.jade")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.Jade)
+ .enableInDim(Horus)
+ .enableInDim(TWILIGHT_FOREST)),
+
+ Deepiron(new SmallOreBuilder().name("ore.small.deepiron")
+ .heightRange(5, 40)
+ .amount(8)
+ .ore(Materials.DeepIron)
+ .enableInDim(Mercury)),
+
+ Redgarnet(new SmallOreBuilder().name("ore.small.redgarnet")
+ .heightRange(5, 35)
+ .amount(2)
+ .ore(Materials.GarnetRed)
+ .enableInDim(Horus)),
+
+ Chargedcertus(new SmallOreBuilder().name("ore.small.chargedcertus")
+ .heightRange(5, 115)
+ .amount(4)
+ .ore(Materials.CertusQuartzCharged)
+ .enableInDim(Horus)),;
+ // spotless : on
+
+ public final SmallOreBuilder smallOreBuilder;
+
+ private SmallOres(gregtech.common.SmallOreBuilder smallOreBuilder) {
+ this.smallOreBuilder = smallOreBuilder;
+ }
+
+ public GT_Worldgen_GT_Ore_SmallPieces addGTSmallOre() {
+ return new GT_Worldgen_GT_Ore_SmallPieces(this.smallOreBuilder);
+ }
+
+ public GT_Worldgen_GT_Ore_SmallPieces_Space addGaGregSmallOre() {
+ return new GT_Worldgen_GT_Ore_SmallPieces_Space(this.smallOreBuilder);
+ }
+}
diff --git a/src/main/java/gregtech/api/enums/UndergroundFluidNames.java b/src/main/java/gregtech/api/enums/UndergroundFluidNames.java
new file mode 100644
index 0000000000..5e96544bd2
--- /dev/null
+++ b/src/main/java/gregtech/api/enums/UndergroundFluidNames.java
@@ -0,0 +1,43 @@
+package gregtech.api.enums;
+
+public enum UndergroundFluidNames {
+
+ carbonDioxide("carbondioxide"),
+ carbonMonoxide("carbonmonoxide"),
+ chlorobenzene("chlorobenzene"),
+ deuterium("deuterium"),
+ distilledWater("ic2distilledwater"),
+ ethane("ethane"),
+ ethylene("ethylene"),
+ fluorine("fluorine"),
+ heavyOil("liquid_heavy_oil"),
+ helium3("helium-3"),
+ hydrofluoricAcid("hydrofluoricacid_gt5u"),
+ hydrogen("hydrogen"),
+ hydrogenSulfide("liquid_hydricsulfur"),
+ lava("lava"),
+ lightOil("liquid_light_oil"),
+ liquidAir("liquidair"),
+ mediumOil("liquid_medium_oil"),
+ methane("methane"),
+ moltenCopper("molten.copper"),
+ moltenIron("molten.iron"),
+ moltenLead("molten.lead"),
+ moltenTin("molten.tin"),
+ naturalGas("gas_natural_gas"),
+ nitrogen("nitrogen"),
+ oil("oil"),
+ oxygen("oxygen"),
+ saltWater("saltwater"),
+ sulfuricAcid("sulfuricacid"),
+ unknownWater("unknowwater"),
+ veryHeavyOil("liquid_extra_heavy_oil"),
+
+ ;
+
+ public final String name;
+
+ private UndergroundFluidNames(String name) {
+ this.name = name;
+ }
+}
diff --git a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
index 946caaa172..4959f8b060 100644
--- a/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
+++ b/src/main/java/gregtech/api/interfaces/metatileentity/IMetaTileEntity.java
@@ -35,7 +35,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.interfaces.tileentity.IGregtechWailaProvider;
import gregtech.api.interfaces.tileentity.IMachineBlockUpdateable;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_Util;
/**
@@ -122,7 +121,7 @@ public interface IMetaTileEntity extends ISidedInventory, IFluidTank, IFluidHand
* Called to set Configuration values for this MetaTileEntity. Use aConfig.get(ConfigCategories.machineconfig,
* "MetaTileEntityName.Ability", DEFAULT_VALUE); to set the Values.
*/
- void onConfigLoad(GT_Config aConfig);
+ void onConfigLoad();
/**
* If a Cover of that Type can be placed on this Side. Also Called when the Facing of the Block Changes and a Cover
diff --git a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
index a4c5df4efe..8971db2d92 100644
--- a/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/MetaPipeEntity.java
@@ -41,7 +41,6 @@ import gregtech.api.interfaces.tileentity.IColoredTileEntity;
import gregtech.api.interfaces.tileentity.ICoverable;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_CoverBehavior;
import gregtech.api.util.GT_CoverBehaviorBase;
import gregtech.api.util.GT_LanguageManager;
@@ -239,7 +238,7 @@ public abstract class MetaPipeEntity implements IMetaTileEntity, IConnectable {
}
@Override
- public void onConfigLoad(GT_Config aConfig) {
+ public void onConfigLoad() {
/* Do nothing */
}
diff --git a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
index 604c1dfb3b..d4f8aa6ba4 100644
--- a/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
+++ b/src/main/java/gregtech/api/metatileentity/MetaTileEntity.java
@@ -52,7 +52,6 @@ import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.implementations.GT_MetaPipeEntity_Cable;
import gregtech.api.objects.GT_ItemStack;
-import gregtech.api.util.GT_Config;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_Log;
import gregtech.api.util.GT_ModHandler;
@@ -204,7 +203,7 @@ public abstract class MetaTileEntity implements IMetaTileEntity, ICleanroomRecei
}
@Override
- public void onConfigLoad(GT_Config aConfig) {
+ public void onConfigLoad() {
/* Do nothing */
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
index f5ab88fb45..e44860963f 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Cable.java
@@ -76,9 +76,6 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
public int mTransferredAmperage = 0;
- public int mOverheat;
- public static short mMaxOverheat = (short) (GT_Mod.gregtechproxy.mWireHeatingTicks * 100);
-
public GT_MetaPipeEntity_Cable(int aID, String aName, String aNameRegional, float aThickNess, Materials aMaterial,
long aCableLossPerMeter, long aAmperage, long aVoltage, boolean aInsulated, boolean aCanShock) {
super(aID, aName, aNameRegional, 0);
@@ -471,13 +468,6 @@ public class GT_MetaPipeEntity_Cable extends MetaPipeEntity implements IMetaTile
final long maxVoltageOut = (mVoltage - mCableLossPerMeter) * mAmperage;
return new String[] {
- "Heat: " + EnumChatFormatting.RED
- + GT_Utility.formatNumbers(mOverheat)
- + EnumChatFormatting.RESET
- + " / "
- + EnumChatFormatting.YELLOW
- + GT_Utility.formatNumbers(mMaxOverheat)
- + EnumChatFormatting.RESET,
"Amperage: " + EnumChatFormatting.GREEN
+ GT_Utility.formatNumbers(currAmp)
+ EnumChatFormatting.RESET
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
index d94a7c0ac2..cafd1c9cb7 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaPipeEntity_Fluid.java
@@ -40,8 +40,6 @@ import org.apache.commons.lang3.tuple.MutableTriple;
import cpw.mods.fml.common.Optional;
import gregtech.GT_Mod;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Materials;
import gregtech.api.enums.Mods;
@@ -66,6 +64,7 @@ import gregtech.api.util.GT_Utility;
import gregtech.api.util.ISerializableObject;
import gregtech.api.util.WorldSpawnedEventBuilder.ParticleEventBuilder;
import gregtech.common.GT_Client;
+import gregtech.common.config.other.ConfigGeneral;
import gregtech.common.covers.CoverInfo;
import gregtech.common.covers.GT_Cover_Drain;
import gregtech.common.covers.GT_Cover_FluidRegulator;
@@ -512,7 +511,7 @@ public class GT_MetaPipeEntity_Fluid extends MetaPipeEntity {
boolean wasActionPerformed = false;
- int limit = GregTech_API.sSpecialFile.get(ConfigCategories.general, "PipeWrenchingChainRange", 64);
+ int limit = ConfigGeneral.pipeWrenchingChainRange;
for (int connected = 0; connected < limit; connected++) {
TileEntity nextPipeBaseTile = currentPipeBase.getTileEntityAtSide(tSide);
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
index 4ffe82b1c2..fb77abd8b2 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_MultiBlockBase.java
@@ -58,8 +58,6 @@ import com.gtnewhorizons.modularui.common.widget.TextWidget;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import gregtech.GT_Mod;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.SoundResource;
import gregtech.api.enums.VoidingMode;
import gregtech.api.gui.modularui.GT_UIInfos;
@@ -94,6 +92,7 @@ import gregtech.api.util.shutdown.ShutDownReason;
import gregtech.api.util.shutdown.ShutDownReasonRegistry;
import gregtech.client.GT_SoundLoop;
import gregtech.common.GT_Pollution;
+import gregtech.common.config.machinestats.ConfigMachines;
import gregtech.common.gui.modularui.widget.CheckRecipeResultSyncer;
import gregtech.common.gui.modularui.widget.ShutDownReasonSyncer;
import gregtech.common.items.GT_MetaGenerated_Tool_01;
@@ -169,12 +168,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
public GT_MetaTileEntity_MultiBlockBase(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, 2);
this.processingLogic = null;
- GT_MetaTileEntity_MultiBlockBase.disableMaintenance = GregTech_API.sMachineFile
- .get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
- this.damageFactorLow = GregTech_API.sMachineFile
- .get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorLow", 5);
- this.damageFactorHigh = (float) GregTech_API.sMachineFile
- .get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorHigh", 0.6f);
+ GT_MetaTileEntity_MultiBlockBase.disableMaintenance = ConfigMachines.disableMaintenanceChecks;
+ this.damageFactorLow = ConfigMachines.damageFactorLow;
+ this.damageFactorHigh = ConfigMachines.damageFactorHigh;
this.mNEI = "";
if (!shouldCheckMaintenance()) fixAllIssues();
}
@@ -182,12 +178,9 @@ public abstract class GT_MetaTileEntity_MultiBlockBase extends MetaTileEntity
public GT_MetaTileEntity_MultiBlockBase(String aName) {
super(aName, 2);
this.processingLogic = createProcessingLogic();
- GT_MetaTileEntity_MultiBlockBase.disableMaintenance = GregTech_API.sMachineFile
- .get(ConfigCategories.machineconfig, "MultiBlockMachines.disableMaintenance", false);
- this.damageFactorLow = GregTech_API.sMachineFile
- .get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorLow", 5);
- this.damageFactorHigh = (float) GregTech_API.sMachineFile
- .get(ConfigCategories.machineconfig, "MultiBlockMachines.damageFactorHigh", 0.6f);
+ GT_MetaTileEntity_MultiBlockBase.disableMaintenance = ConfigMachines.disableMaintenanceChecks;
+ this.damageFactorLow = ConfigMachines.damageFactorLow;
+ this.damageFactorHigh = ConfigMachines.damageFactorHigh;
if (!shouldCheckMaintenance()) fixAllIssues();
}
diff --git a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java
index a8c26957f8..de7019b292 100644
--- a/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java
+++ b/src/main/java/gregtech/api/metatileentity/implementations/GT_MetaTileEntity_Transformer.java
@@ -1,6 +1,7 @@
package gregtech.api.metatileentity.implementations;
import static gregtech.api.enums.GT_Values.V;
+import static gregtech.api.enums.Mods.EnderIO;
import static mcp.mobius.waila.api.SpecialChars.BLUE;
import static mcp.mobius.waila.api.SpecialChars.GOLD;
import static mcp.mobius.waila.api.SpecialChars.GREEN;
@@ -194,7 +195,7 @@ public class GT_MetaTileEntity_Transformer extends GT_MetaTileEntity_TieredMachi
.extractEnergy(GT_Utility.safeInt(maxEUInput() * 100L / GregTech_API.mRFtoEU), false);
tEU = tEU * GregTech_API.mRFtoEU / 100;
aBaseMetaTileEntity.injectEnergyUnits(ForgeDirection.UNKNOWN, Math.min(tEU, maxEUInput()), 1);
- } else if (GregTech_API.meIOLoaded && tTileEntity instanceof IPowerContainer powerContainer
+ } else if (EnderIO.isModLoaded() && tTileEntity instanceof IPowerContainer powerContainer
&& powerContainer.getEnergyStored() > 0) {
final int storedRF = powerContainer.getEnergyStored();
final int extractRF = GT_Utility.safeInt(maxEUInput() * 100L / GregTech_API.mRFtoEU);
diff --git a/src/main/java/gregtech/api/objects/GT_UO_DimensionList.java b/src/main/java/gregtech/api/objects/GT_UO_DimensionList.java
index 95d4246cb6..f057614ccf 100644
--- a/src/main/java/gregtech/api/objects/GT_UO_DimensionList.java
+++ b/src/main/java/gregtech/api/objects/GT_UO_DimensionList.java
@@ -1,5 +1,58 @@
package gregtech.api.objects;
+import static gregtech.api.enums.Dimensions.AlphaCentauriBb;
+import static gregtech.api.enums.Dimensions.BarnardaC;
+import static gregtech.api.enums.Dimensions.BarnardaE;
+import static gregtech.api.enums.Dimensions.BarnardaF;
+import static gregtech.api.enums.Dimensions.Callisto;
+import static gregtech.api.enums.Dimensions.Europa;
+import static gregtech.api.enums.Dimensions.Io;
+import static gregtech.api.enums.Dimensions.Makemake;
+import static gregtech.api.enums.Dimensions.Mars;
+import static gregtech.api.enums.Dimensions.Mercury;
+import static gregtech.api.enums.Dimensions.Miranda;
+import static gregtech.api.enums.Dimensions.Moon;
+import static gregtech.api.enums.Dimensions.Oberon;
+import static gregtech.api.enums.Dimensions.Overworld;
+import static gregtech.api.enums.Dimensions.Pluto;
+import static gregtech.api.enums.Dimensions.Proteus;
+import static gregtech.api.enums.Dimensions.Ross128b;
+import static gregtech.api.enums.Dimensions.Ross128ba;
+import static gregtech.api.enums.Dimensions.TCetiE;
+import static gregtech.api.enums.Dimensions.Titan;
+import static gregtech.api.enums.Dimensions.Triton;
+import static gregtech.api.enums.Dimensions.Venus;
+import static gregtech.api.enums.UndergroundFluidNames.carbonDioxide;
+import static gregtech.api.enums.UndergroundFluidNames.carbonMonoxide;
+import static gregtech.api.enums.UndergroundFluidNames.chlorobenzene;
+import static gregtech.api.enums.UndergroundFluidNames.deuterium;
+import static gregtech.api.enums.UndergroundFluidNames.distilledWater;
+import static gregtech.api.enums.UndergroundFluidNames.ethane;
+import static gregtech.api.enums.UndergroundFluidNames.ethylene;
+import static gregtech.api.enums.UndergroundFluidNames.fluorine;
+import static gregtech.api.enums.UndergroundFluidNames.heavyOil;
+import static gregtech.api.enums.UndergroundFluidNames.helium3;
+import static gregtech.api.enums.UndergroundFluidNames.hydrofluoricAcid;
+import static gregtech.api.enums.UndergroundFluidNames.hydrogen;
+import static gregtech.api.enums.UndergroundFluidNames.hydrogenSulfide;
+import static gregtech.api.enums.UndergroundFluidNames.lava;
+import static gregtech.api.enums.UndergroundFluidNames.lightOil;
+import static gregtech.api.enums.UndergroundFluidNames.liquidAir;
+import static gregtech.api.enums.UndergroundFluidNames.mediumOil;
+import static gregtech.api.enums.UndergroundFluidNames.methane;
+import static gregtech.api.enums.UndergroundFluidNames.moltenCopper;
+import static gregtech.api.enums.UndergroundFluidNames.moltenIron;
+import static gregtech.api.enums.UndergroundFluidNames.moltenLead;
+import static gregtech.api.enums.UndergroundFluidNames.moltenTin;
+import static gregtech.api.enums.UndergroundFluidNames.naturalGas;
+import static gregtech.api.enums.UndergroundFluidNames.nitrogen;
+import static gregtech.api.enums.UndergroundFluidNames.oil;
+import static gregtech.api.enums.UndergroundFluidNames.oxygen;
+import static gregtech.api.enums.UndergroundFluidNames.saltWater;
+import static gregtech.api.enums.UndergroundFluidNames.sulfuricAcid;
+import static gregtech.api.enums.UndergroundFluidNames.unknownWater;
+import static gregtech.api.enums.UndergroundFluidNames.veryHeavyOil;
+
import net.minecraftforge.common.DimensionManager;
import net.minecraftforge.common.config.ConfigCategory;
import net.minecraftforge.common.config.Configuration;
@@ -7,6 +60,9 @@ import net.minecraftforge.common.config.Configuration;
import com.google.common.collect.BiMap;
import com.google.common.collect.HashBiMap;
+import gregtech.api.enums.Dimensions;
+import gregtech.api.enums.UndergroundFluidNames;
+
public class GT_UO_DimensionList {
private Configuration fConfig;
@@ -19,6 +75,10 @@ public class GT_UO_DimensionList {
fDimensionList = HashBiMap.create();
}
+ public void save() {
+ fConfig.save();
+ }
+
public GT_UO_Dimension GetDimension(int aDimension) {
if (CheckBlackList(aDimension)) return null;
if (fDimensionList.containsKey(Integer.toString(aDimension)))
@@ -59,26 +119,463 @@ public class GT_UO_DimensionList {
// IT IS IN BUCKETS!!!
}
- public void SetDafultValues() {
- SetConfigValues("Overworld", "0", "gas_natural_gas", "gas_natural_gas", 0, 700, 20, 7);
- SetConfigValues("Overworld", "0", "liquid_light_oil", "liquid_light_oil", 0, 650, 20, 6);
- SetConfigValues("Overworld", "0", "liquid_medium_oil", "liquid_medium_oil", 0, 600, 20, 5);
- SetConfigValues("Overworld", "0", "liquid_heavy_oil", "liquid_heavy_oil", 0, 550, 20, 4);
- SetConfigValues("Overworld", "0", "oil", "oil", 0, 600, 20, 5);
- SetConfigValues("Moon", "Moon", "helium-3", "helium-3", 24, 128, 100, 1);
+ private void setOverworldValues() {
+ new ConfigSetter().dimension(Overworld)
+ .fluid(naturalGas)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(350)
+ .minAmount(10)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Overworld)
+ .fluid(lightOil)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(350)
+ .minAmount(10)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Overworld)
+ .fluid(mediumOil)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(625)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Overworld)
+ .fluid(heavyOil)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(625)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Overworld)
+ .fluid(oil)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(625)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setMoonValues() {
+ new ConfigSetter().dimension(Moon)
+ .fluid(helium3)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(425)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Moon)
+ .fluid(saltWater)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(200)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setMercuryValues() {
+ new ConfigSetter().dimension(Mercury)
+ .fluid(helium3)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Mercury)
+ .fluid(moltenIron)
+ .chance(30)
+ .decreaseAmount(5)
+ .maxAmount(400)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setVenusValues() {
+ new ConfigSetter().dimension(Venus)
+ .fluid(moltenLead)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(1600)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Venus)
+ .fluid(sulfuricAcid)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(250)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Venus)
+ .fluid(carbonDioxide)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(1500)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setMarsValues() {
+ new ConfigSetter().dimension(Mars)
+ .fluid(saltWater)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(400)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Mars)
+ .fluid(chlorobenzene)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(400)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setIoValues() {
+ new ConfigSetter().dimension(Io)
+ .fluid(moltenLead)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(650)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Io)
+ .fluid(sulfuricAcid)
+ .chance(80)
+ .decreaseAmount(5)
+ .maxAmount(350)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Io)
+ .fluid(carbonDioxide)
+ .chance(80)
+ .decreaseAmount(5)
+ .maxAmount(750)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setEuropaValues() {
+ new ConfigSetter().dimension(Europa)
+ .fluid(saltWater)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Europa)
+ .fluid(veryHeavyOil)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(200)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Europa)
+ .fluid(distilledWater)
+ .chance(80)
+ .decreaseAmount(5)
+ .maxAmount(3500)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setCallistoValues() {
+ new ConfigSetter().dimension(Callisto)
+ .fluid(oxygen)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(200)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Callisto)
+ .fluid(liquidAir)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(200)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setTitanValues() {
+ new ConfigSetter().dimension(Titan)
+ .fluid(methane)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Titan)
+ .fluid(ethane)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(200)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setMirandaValues() {
+ new ConfigSetter().dimension(Miranda)
+ .fluid(hydrogenSulfide)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(900)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setOberonValues() {
+ new ConfigSetter().dimension(Oberon)
+ .fluid(carbonMonoxide)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(2000)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setTritonValues() {
+ new ConfigSetter().dimension(Triton)
+ .fluid(nitrogen)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Triton)
+ .fluid(ethylene)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setProteusValues() {
+ new ConfigSetter().dimension(Proteus)
+ .fluid(deuterium)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(700)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setPlutoValues() {
+ new ConfigSetter().dimension(Pluto)
+ .fluid(nitrogen)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Pluto)
+ .fluid(oxygen)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Pluto)
+ .fluid(liquidAir)
+ .chance(40)
+ .decreaseAmount(5)
+ .maxAmount(300)
+ .minAmount(4)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Pluto)
+ .fluid(fluorine)
+ .chance(80)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(4)
+ .writeToConfig();
+ }
+
+ private void setMakeMakeValues() {
+ new ConfigSetter().dimension(Makemake)
+ .fluid(hydrofluoricAcid)
+ .chance(80)
+ .decreaseAmount(5)
+ .maxAmount(300)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setAlphaCentauriBBValues() {
+ new ConfigSetter().dimension(AlphaCentauriBb)
+ .fluid(moltenCopper)
+ .chance(10)
+ .decreaseAmount(5)
+ .maxAmount(300)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setBarnardaCValues() {
+ new ConfigSetter().dimension(BarnardaC)
+ .fluid(veryHeavyOil)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(800)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(BarnardaC)
+ .fluid(unknownWater)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(300)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setBarnardaEValues() {
+ new ConfigSetter().dimension(BarnardaE)
+ .fluid(liquidAir)
+ .chance(20)
+ .decreaseAmount(5)
+ .maxAmount(400)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setBarnardaFValues() {
+ new ConfigSetter().dimension(BarnardaF)
+ .fluid(moltenTin)
+ .chance(15)
+ .decreaseAmount(5)
+ .maxAmount(400)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setTcetiEValues() {
+ new ConfigSetter().dimension(TCetiE)
+ .fluid(veryHeavyOil)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(200)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(TCetiE)
+ .fluid(hydrogen)
+ .chance(50)
+ .decreaseAmount(5)
+ .maxAmount(700)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(TCetiE)
+ .fluid(distilledWater)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(10_000)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setRoss128bValues() {
+ new ConfigSetter().dimension(Ross128b)
+ .fluid(veryHeavyOil)
+ .chance(40)
+ .decreaseAmount(5)
+ .maxAmount(625)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Ross128b)
+ .fluid(lava)
+ .chance(5)
+ .decreaseAmount(5)
+ .maxAmount(820)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Ross128b)
+ .fluid(naturalGas)
+ .chance(65)
+ .decreaseAmount(5)
+ .maxAmount(625)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Ross128b)
+ .fluid(distilledWater)
+ .chance(100)
+ .decreaseAmount(5)
+ .maxAmount(5000)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ private void setRoss128baValues() {
+ new ConfigSetter().dimension(Ross128ba)
+ .fluid(saltWater)
+ .chance(40)
+ .decreaseAmount(5)
+ .maxAmount(1250)
+ .minAmount(0)
+ .writeToConfig();
+
+ new ConfigSetter().dimension(Ross128ba)
+ .fluid(helium3)
+ .chance(60)
+ .decreaseAmount(5)
+ .maxAmount(1250)
+ .minAmount(0)
+ .writeToConfig();
+ }
+
+ public void setDefaultValues() {
+ setOverworldValues();
+ setMoonValues();
+ setMercuryValues();
+ setVenusValues();
+ setMarsValues();
+ setIoValues();
+ setEuropaValues();
+ setCallistoValues();
+ setTitanValues();
+ setMirandaValues();
+ setOberonValues();
+ setTritonValues();
+ setProteusValues();
+ setPlutoValues();
+ setMakeMakeValues();
+ setAlphaCentauriBBValues();
+ setBarnardaCValues();
+ setBarnardaEValues();
+ setBarnardaFValues();
+ setTcetiEValues();
+ setRoss128bValues();
+ setRoss128baValues();
}
public void getConfig(Configuration aConfig, String aCategory) {
fCategory = aCategory;
fConfig = aConfig;
- if (!fConfig.hasCategory(fCategory)) SetDafultValues();
-
- fConfig.setCategoryComment(fCategory, "Config Underground Fluids (Delete this Category for regenerate)");
- fConfig.setCategoryComment(
- fCategory + ".Default",
- "Set Default Generating (Use this Category for Default settings)");
- fConfig.setCategoryComment(fCategory + ".Overworld", "Set Overworld Generating");
- fConfig.setCategoryComment(fCategory + ".Moon", "Set Moon Generating");
+ if (!fConfig.hasCategory(fCategory)) setDefaultValues();
blackList = new int[] { -1, 1 };
blackList = aConfig.get(fCategory, "DimBlackList", blackList, "Dimension IDs Black List")
@@ -94,5 +591,58 @@ public class GT_UO_DimensionList {
.toArray()[i]);
fDimensionList.put(Dimension.Dimension, Dimension);
}
+ save();
+ }
+
+ public class ConfigSetter {
+
+ private int chance;
+ private int decreaseAmount;
+ private int maxAmount;
+ private int minAmount;
+ private UndergroundFluidNames fluid;
+ private Dimensions dim;
+
+ public ConfigSetter chance(int chance) {
+ this.chance = chance;
+ return this;
+ }
+
+ public ConfigSetter decreaseAmount(int decreaseAmount) {
+ this.decreaseAmount = decreaseAmount;
+ return this;
+ }
+
+ public ConfigSetter maxAmount(int maxAmount) {
+ this.maxAmount = maxAmount;
+ return this;
+ }
+
+ public ConfigSetter minAmount(int minAmount) {
+ this.minAmount = minAmount;
+ return this;
+ }
+
+ public ConfigSetter fluid(UndergroundFluidNames fluid) {
+ this.fluid = fluid;
+ return this;
+ }
+
+ public ConfigSetter dimension(Dimensions dim) {
+ this.dim = dim;
+ return this;
+ }
+
+ public void writeToConfig() {
+ SetConfigValues(
+ dim.toString(),
+ dim.id,
+ fluid.toString(),
+ fluid.name,
+ minAmount,
+ maxAmount,
+ chance,
+ decreaseAmount);
+ }
}
}
diff --git a/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java b/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java
index 53152312f4..b38b66e41b 100644
--- a/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java
+++ b/src/main/java/gregtech/api/recipe/maps/LargeBoilerFuelBackend.java
@@ -9,8 +9,6 @@ import javax.annotation.ParametersAreNonnullByDefault;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
-import gregtech.api.GregTech_API;
-import gregtech.api.enums.ConfigCategories;
import gregtech.api.enums.GT_Values;
import gregtech.api.recipe.RecipeMapBackend;
import gregtech.api.recipe.RecipeMapBackendPropertiesBuilder;
@@ -25,12 +23,8 @@ public class LargeBoilerFuelBackend extends RecipeMapBackend {
private static boolean addedGeneralDesc = false;
- private static final List<String> ALLOWED_SOLID_FUELS = Arrays.asList(
- GregTech_API.sMachineFile.mConfig.getStringList(
- "LargeBoiler.allowedFuels",
- ConfigCategories.machineconfig.toString(),
- new String[] { "gregtech:gt.blockreinforced:6", "gregtech:gt.blockreinforced:7" },
- "Allowed fuels for the Large Titanium Boiler and Large Tungstensteel Boiler"));
+ private static final List<String> ALLOWED_SOLID_FUELS = Arrays
+ .asList("gregtech:gt.blockreinforced:6", "gregtech:gt.blockreinforced:7");
public LargeBoilerFuelBackend(RecipeMapBackendPropertiesBuilder propertiesBuilder) {
super(propertiesBuilder);
diff --git a/src/main/java/gregtech/api/util/GT_ClientPreference.java b/src/main/java/gregtech/api/util/GT_ClientPreference.java
index 8df4ef8b05..3ea2730a0c 100644
--- a/src/main/java/gregtech/api/util/GT_ClientPreference.java
+++ b/src/main/java/gregtech/api/util/GT_ClientPreference.java
@@ -1,5 +1,8 @@
package gregtech.api.util;
+import gregtech.common.config.client.ConfigPreference;
+import gregtech.common.config.client.ConfigWaila;
+
public class GT_ClientPreference {
private final boolean mSingleBlockInitialFilter;
@@ -15,12 +18,11 @@ public class GT_ClientPreference {
this.wailaAverageNS = wailaAverageNS;
}
- public GT_ClientPreference(GT_Config aClientDataFile) {
- this.mSingleBlockInitialFilter = aClientDataFile.get("preference", "mSingleBlockInitialFilter", false);
- this.mSingleBlockInitialMultiStack = aClientDataFile
- .get("preference", "mSingleBlockInitialAllowMultiStack", false);
- this.mInputBusInitialFilter = aClientDataFile.get("preference", "mInputBusInitialFilter", true);
- this.wailaAverageNS = aClientDataFile.get("waila", "WailaAverageNS", false);
+ public GT_ClientPreference() {
+ this.mSingleBlockInitialFilter = ConfigPreference.singleBlockInitialFilter;
+ this.mSingleBlockInitialMultiStack = ConfigPreference.singleBlockInitialAllowMultiStack;
+ this.mInputBusInitialFilter = ConfigPreference.inputBusInitialFilter;
+ this.wailaAverageNS = ConfigWaila.wailaAverageNS;
}
public boolean isSingleBlockInitialFilterEnabled() {
diff --git a/src/main/java/gregtech/api/util/GT_Config.java b/src/main/java/gregtech/api/util/GT_Config.java
index dc56def68f..e1157febb4 100644
--- a/src/main/java/gregtech/api/util/GT_Config.java
+++ b/src/main/java/gregtech/api/util/GT_Config.java
@@ -14,6 +14,8 @@ public class GT_Config implements Runnable {
public static boolean troll = false;
public static Configuration sConfigFileIDs;
+ public static Configuration cleanroomFile;
+ public static Configuration undergroundFluidsFile;
public final Configuration mConfig;
public GT_Config(Configuration aConfig) {
@@ -38,7 +40,7 @@ public class GT_Config implements Runnable {
aName.replaceAll("\\|", "."),
aDefault);
int rResult = tProperty.getInt(aDefault);
- if (!tProperty.wasRead() && shouldSave()) sConfigFileIDs.save();
+ sConfigFileIDs.save();
return rResult;
}
diff --git a/src/main/java/gregtech/api/world/GT_Worldgen.java b/src/main/java/gregtech/api/world/GT_Worldgen.java
index bd85813e2b..1ce0c85523 100644
--- a/src/main/java/gregtech/api/world/GT_Worldgen.java
+++ b/src/main/java/gregtech/api/world/GT_Worldgen.java
@@ -1,6 +1,5 @@
package gregtech.api.world;
-import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Random;
@@ -10,7 +9,8 @@ import net.minecraft.world.World;
import net.minecraft.world.chunk.IChunkProvider;
import net.minecraftforge.common.DimensionManager;
-import gregtech.api.GregTech_API;
+import gregtech.common.GT_Worldgen_GT_Ore_Layer;
+import gregtech.common.GT_Worldgen_GT_Ore_SmallPieces;
public abstract class GT_Worldgen {
@@ -21,7 +21,7 @@ public abstract class GT_Worldgen {
@SuppressWarnings({ "unchecked", "rawtypes" }) // The adding of "this" needs a List<this> which does not exist
public GT_Worldgen(String aName, List aList, boolean aDefault) {
mWorldGenName = aName;
- mEnabled = GregTech_API.sWorldgenFile.get("worldgen", mWorldGenName, aDefault);
+ mEnabled = aDefault;
if (mEnabled) aList.add(this);
}
@@ -45,32 +45,6 @@ public abstract class GT_Worldgen {
}
/**
- * @param aWorld The World Object
- * @param aRandom The Random Generator to use
- * @param aBiome The Name of the Biome (always != null)
- * @param aDimensionType The Type of Worldgeneration to add. -1 = Nether, 0 = Overworld, +1 = End
- * @param aChunkX xCoord of the Chunk
- * @param aChunkZ zCoord of the Chunk
- * @return if the Worldgeneration has been successfully completed
- */
- public boolean executeCavegen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
- int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
- return false;
- }
-
- /**
- *
- * @param aWorld The World Object
- * @param aDimensionType The Type of Worldgeneration to add. -1 = Nether, 0 = Overworld, +1 = End
- * @param aAllowedDimensionType The Type of allowed Worldgeneration
- * @return if generation for this world is allowed for MoronTech (tm) OreGen (ATM (2.0.3.1Dev) only End, Nether,
- * Overworld, Twilight Forest and Deep Dark)
- */
- public boolean isGenerationAllowed(World aWorld, int aDimensionType, int aAllowedDimensionType) {
- return isGenerationAllowed(aWorld.provider.getDimensionName(), aDimensionType, aAllowedDimensionType);
- }
-
- /**
*
* @param aDimName The Dimension Name
* @param aDimensionType The Type of Worldgeneration to add. -1 = Nether, 0 = Overworld, +1 = End
@@ -79,17 +53,17 @@ public abstract class GT_Worldgen {
* Overworld, Twilight Forest and Deep Dark)
*/
public boolean isGenerationAllowed(String aDimName, int aDimensionType, int aAllowedDimensionType) {
+ if (aDimName.equalsIgnoreCase("Underdark")) {
+ return false;
+ }
if (!(aDimName.equalsIgnoreCase("Overworld") || aDimName.equalsIgnoreCase("Nether")
|| aDimName.equalsIgnoreCase("The End")
- || aDimName.equalsIgnoreCase("Twilight Forest")
- || aDimName.equalsIgnoreCase("Underdark"))) return false;
+ || aDimName.equalsIgnoreCase("Twilight Forest"))) return false;
Boolean tAllowed = mDimensionMap.get(aDimName);
if (tAllowed == null) {
- boolean tValue = GregTech_API.sWorldgenFile
- .get("worldgen." + mWorldGenName, aDimName, aDimensionType == aAllowedDimensionType);
- mDimensionMap.put(aDimName, tValue);
- return tValue;
+ mDimensionMap.put(aDimName, aDimensionType == aAllowedDimensionType);
+ return aDimensionType == aAllowedDimensionType;
}
return tAllowed;
}
@@ -112,20 +86,32 @@ public abstract class GT_Worldgen {
*/
public boolean isGenerationAllowed(World aWorld, Class... aAllowedDimensionTypes) {
String aDimName = aWorld.provider.getDimensionName();
+ if (aDimName.equalsIgnoreCase("Underdark")) {
+ return false;
+ }
if (!(aDimName.equalsIgnoreCase("Overworld") || aDimName.equalsIgnoreCase("Nether")
|| aDimName.equalsIgnoreCase("The End")
- || aDimName.equalsIgnoreCase("Twilight Forest")
- || aDimName.equalsIgnoreCase("Underdark"))) return false;
+ || aDimName.equalsIgnoreCase("Twilight Forest"))) return false;
Boolean tAllowed = mDimensionMap.get(aDimName);
if (tAllowed == null) {
- boolean tValue = GregTech_API.sWorldgenFile.get(
- "worldgen." + mWorldGenName,
- aDimName,
- Arrays.stream(aAllowedDimensionTypes)
- .anyMatch(worldProvider -> worldProvider.isInstance(aWorld.provider)));
- mDimensionMap.put(aDimName, tValue);
- return tValue;
+ boolean value = false;
+ for (int i = 0; i < aAllowedDimensionTypes.length; i++) {
+ if (aAllowedDimensionTypes[i].isInstance(aWorld.provider)) {
+ value = true;
+ }
+ }
+
+ // ugly, but idk how to do it better without hard depping on tf provider in ore constructors
+ if (this instanceof GT_Worldgen_GT_Ore_SmallPieces) {
+ value = ((GT_Worldgen_GT_Ore_SmallPieces) this).twilightForest && aWorld.provider.dimensionId == 7;
+ }
+ if (this instanceof GT_Worldgen_GT_Ore_Layer) {
+ value = ((GT_Worldgen_GT_Ore_Layer) this).twilightForest && aWorld.provider.dimensionId == 7;
+ }
+
+ mDimensionMap.put(aDimName, value);
+ return value;
}
return tAllowed;
}
diff --git a/src/main/java/gregtech/api/world/GT_Worldgen_Ore.java b/src/main/java/gregtech/api/world/GT_Worldgen_Ore.java
deleted file mode 100644
index 958adfad54..0000000000
--- a/src/main/java/gregtech/api/world/GT_Worldgen_Ore.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package gregtech.api.world;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import net.minecraft.block.Block;
-
-import gregtech.api.GregTech_API;
-
-public abstract class GT_Worldgen_Ore extends GT_Worldgen {
-
- public final int mBlockMeta, mAmount, mSize, mMinY, mMaxY, mProbability, mDimensionType;
- public final Block mBlock;
- public final Collection<String> mBiomeList;
- public final boolean mAllowToGenerateinVoid;
- private final String aTextWorldgen = "worldgen.";
-
- public GT_Worldgen_Ore(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType,
- int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection<String> aBiomeList,
- boolean aAllowToGenerateinVoid) {
- super(aName, GregTech_API.sWorldgenList, aDefault);
- mDimensionType = aDimensionType;
- mBlock = aBlock;
- mBlockMeta = Math.min(Math.max(aBlockMeta, 0), 15);
- mProbability = GregTech_API.sWorldgenFile.get(aTextWorldgen + mWorldGenName, "Probability", aProbability);
- mAmount = GregTech_API.sWorldgenFile.get(aTextWorldgen + mWorldGenName, "Amount", aAmount);
- mSize = GregTech_API.sWorldgenFile.get(aTextWorldgen + mWorldGenName, "Size", aSize);
- mMinY = GregTech_API.sWorldgenFile.get(aTextWorldgen + mWorldGenName, "MinHeight", aMinY);
- mMaxY = GregTech_API.sWorldgenFile.get(aTextWorldgen + mWorldGenName, "MaxHeight", aMaxY);
- if (aBiomeList == null) mBiomeList = new ArrayList<>();
- else mBiomeList = aBiomeList;
- mAllowToGenerateinVoid = aAllowToGenerateinVoid;
- }
-}
diff --git a/src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock.java b/src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock.java
deleted file mode 100644
index f89d3ad8f8..0000000000
--- a/src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package gregtech.api.world;
-
-import java.util.Collection;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
-
-public class GT_Worldgen_Ore_SingleBlock extends GT_Worldgen_Ore {
-
- public GT_Worldgen_Ore_SingleBlock(String aName, boolean aDefault, Block aBlock, int aBlockMeta, int aDimensionType,
- int aAmount, int aSize, int aProbability, int aMinY, int aMaxY, Collection<String> aBiomeList,
- boolean aAllowToGenerateinVoid) {
- super(
- aName,
- aDefault,
- aBlock,
- aBlockMeta,
- aDimensionType,
- aAmount,
- aSize,
- aProbability,
- aMinY,
- aMaxY,
- aBiomeList,
- aAllowToGenerateinVoid);
- }
-
- @Override
- public boolean executeWorldgen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
- int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
- if (isGenerationAllowed(aWorld, mDimensionType) && (mBiomeList.isEmpty() || mBiomeList.contains(aBiome))
- && (mProbability <= 1 || aRandom.nextInt(mProbability) == 0)) {
- for (int i = 0; i < mAmount; i++) {
- int tX = aChunkX + aRandom.nextInt(16), tY = mMinY + aRandom.nextInt(mMaxY - mMinY),
- tZ = aChunkZ + aRandom.nextInt(16);
- Block tBlock = aWorld.getBlock(tX, tY, tZ);
- if (((mAllowToGenerateinVoid && aWorld.getBlock(tX, tY, tZ)
- .isAir(aWorld, tX, tY, tZ))
- || (tBlock != null && (tBlock.isReplaceableOreGen(aWorld, tX, tY, tZ, Blocks.stone)
- || tBlock.isReplaceableOreGen(aWorld, tX, tY, tZ, Blocks.end_stone)
- || tBlock.isReplaceableOreGen(aWorld, tX, tY, tZ, Blocks.netherrack))))) {
- aWorld.setBlock(tX, tY, tZ, mBlock, mBlockMeta, 0);
- }
- }
- return true;
- }
- return false;
- }
-}
diff --git a/src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock_UnderLava.java b/src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock_UnderLava.java
deleted file mode 100644
index 3993c65f2a..0000000000
--- a/src/main/java/gregtech/api/world/GT_Worldgen_Ore_SingleBlock_UnderLava.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package gregtech.api.world;
-
-import java.util.Collection;
-import java.util.Random;
-
-import net.minecraft.block.Block;
-import net.minecraft.init.Blocks;
-import net.minecraft.world.World;
-import net.minecraft.world.chunk.IChunkProvider;
-
-public class GT_Worldgen_Ore_SingleBlock_UnderLava extends GT_Worldgen_Ore {
-
- public GT_Worldgen_Ore_SingleBlock_UnderLava(String aName, boolean aDefault, Block aBlock, int aBlockMeta,
- int aDimensionType, int aAmount, int aSize, int aProbability, int aMinY, int aMaxY,
- Collection<String> aBiomeList, boolean aAllowToGenerateinVoid) {
- super(
- aName,
- aDefault,
- aBlock,
- aBlockMeta,
- aDimensionType,
- aAmount,
- aSize,
- aProbability,
- aMinY,
- aMaxY,
- aBiomeList,
- aAllowToGenerateinVoid);
- }
-
- @Override
- public boolean executeCavegen(World aWorld, Random aRandom, String aBiome, int aDimensionType, int aChunkX,
- int aChunkZ, IChunkProvider aChunkGenerator, IChunkProvider aChunkProvider) {
- if (isGenerationAllowed(aWorld, mDimensionType) && (mBiomeList.isEmpty() || mBiomeList.contains(aBiome))
- && (mProbability <= 1 || aRandom.nextInt(mProbability) == 0)) {
- for (int i = 0; i < mAmount; i++) {
- int tX = aChunkX + aRandom.nextInt(16), tY = mMinY + aRandom.nextInt(mMaxY - mMinY),
- tZ = aChunkZ + aRandom.nextInt(16);
- Block tBlock = aWorld.getBlock(tX, tY, tZ);
- if (((mAllowToGenerateinVoid && aWorld.getBlock(tX, tY, tZ)
- .isAir(aWorld, tX, tY, tZ))
- || (tBlock != null && (tBlock.isReplaceableOreGen(aWorld, tX, tY, tZ, Blocks.stone)
- || tBlock.isReplaceableOreGen(aWorld, tX, tY, tZ, Blocks.end_stone)
- || tBlock.isReplaceableOreGen(aWorld, tX, tY, tZ, Blocks.netherrack))))) {
- if (aWorld.getBlock(tX, tY + 1, tZ) == Blocks.lava
- || aWorld.getBlock(tX, tY, tZ) == Blocks.flowing_lava)
- aWorld.setBlock(tX, tY, tZ, mBlock, mBlockMeta, 0);
- }
- }
- return true;
- }
- return false;
- }
-}