aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/api/objects
diff options
context:
space:
mode:
authorboubou19 <miisterunknown@gmail.com>2024-08-27 20:50:30 +0200
committerGitHub <noreply@github.com>2024-08-27 18:50:30 +0000
commit4908d5967c3dfeff5616c65144e701859b9e30a2 (patch)
tree3e58a4b8ebd8b70745e81c4c71c765980e4ec4f4 /src/main/java/gregtech/api/objects
parent3c574facfb224029c0b69865e281023da6170ce0 (diff)
downloadGT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.tar.gz
GT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.tar.bz2
GT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.zip
Config/gregtech.cfg (#2939)
* first pass on config migration * second pass on config migration * removing bad configs * rename config classes and register them * move debug options to its own debug category * migrate pollution * finish migrating general config * removing useless config * finish GregTech.cfg port to GTNHLib * don't accidentally force panic mode in dev env * typo * defaults are now handled by the confg handler * remove dead config * force config save after defaults are being written * stop messing with the GregTech.cfg externally * removing comments * new underground fluid builder and porting default underground fluids to code * move config handlers of gregtech.cfg in their own package * process MachineStats.cfg * yeeted MaterialProperties.cfg * remove unused compat in GTNH * process OverpoweredStuff.cfg * process Other.cfg * ungregify some config variables * remove unused variables * fix Ids.cfg not being populated * delete duplicate printing of MTE IDs in GT5U clients * bump hodgepodge version to get mod phase timers * process Client.cfg * fix bad category naming * registering all the config handlers in gui * bump GTNHLib version * actually only registering client configs * use proper double arrays now * move GT ore mixes to patternbuilders * dead code * fix multifiles config not being handled properly * import class from NHCore * removing reflection * use enums for registration * yeet config for Asteroid dimensions * remove unused since 2015 enum entry * todo * rework oremix enums * imported dimension data in enums * convert old dirty predicate into proper one * hook gagreg onto the OreMixes enum * finally nuke worldgen.ore.mix config category! * hook gagreg small ores onto the SmallOres enum * imported dim values in enum * fix dirty work around in vm predicate * yeet unused classes * hook GT stones to GTStones enum * yeet all the remaining booleans in the worldgen category * port endasteroids category * port general category * deprecated * yeet unused bw compat * finish worldgen config migration * hardcode config into code * remove not generated config entry * remove Unification.cfg * fix build * migrate oreveins away from config * migrate small ores away from config * delete config parser * forgotten * fix EoH recipe crash in dev * fix GT NEI Ore Plugin config and csv paths * shade opencsv * rewrite csv generator * spotless apply
Diffstat (limited to 'src/main/java/gregtech/api/objects')
-rw-r--r--src/main/java/gregtech/api/objects/GT_UO_DimensionList.java580
1 files changed, 565 insertions, 15 deletions
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);
+ }
}
}