aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/enums
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/gregtech/api/enums')
-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
9 files changed, 2107 insertions, 245 deletions
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