aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities/boilers
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/common/tileentities/boilers
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/common/tileentities/boilers')
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java117
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar_Steel.java26
2 files changed, 40 insertions, 103 deletions
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
index 4c7eb3ce38..b10b44228d 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java
@@ -1,7 +1,5 @@
package gregtech.common.tileentities.boilers;
-import static gregtech.api.GregTech_API.sMachineFile;
-import static gregtech.api.enums.ConfigCategories.machineconfig;
import static mcp.mobius.waila.api.SpecialChars.GOLD;
import static mcp.mobius.waila.api.SpecialChars.RESET;
@@ -28,6 +26,7 @@ import gregtech.api.render.TextureFactory;
import gregtech.api.util.GT_LanguageManager;
import gregtech.api.util.GT_ModHandler;
import gregtech.api.util.GT_Utility;
+import gregtech.common.config.machinestats.ConfigBronzeSolarBoiler;
import mcp.mobius.waila.api.IWailaConfigHandler;
import mcp.mobius.waila.api.IWailaDataAccessor;
@@ -39,37 +38,28 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
"Steam Power by the Sun%n" + "Produces %sL of Steam per second%n"
+ "Calcifies over time, reducing Steam output to %sL/s%n"
+ "Break and replace to descale");
- protected final Config mConfig;
+ protected int calcificationTicks = ConfigBronzeSolarBoiler.calcificationTicks;
+ protected int cooldownTicks = ConfigBronzeSolarBoiler.cooldownTicks;
+ protected int maxOutputPerSecond = ConfigBronzeSolarBoiler.maxOutputPerSecond;
+ protected int minOutputPerSecond = ConfigBronzeSolarBoiler.minOutputPerSecond;
+
protected final int basicTemperatureMod = 5; // Base Celsius gain or loss
private int mRunTimeTicks = 0;
public GT_MetaTileEntity_Boiler_Solar(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, new String[0]);
- mConfig = createConfig();
}
public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
- mConfig = createConfig();
}
public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
- mConfig = createConfig();
- }
-
- protected GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures,
- Config aConfig) {
- super(aName, aTier, aDescription, aTextures);
- mConfig = aConfig;
- }
-
- protected Config createConfig() {
- return new Config(machineconfig + ".boiler.solar.bronze", 1080000, 40, 120, 45);
}
public int getMaxOutputPerSecond() {
- return mConfig.getMaxOutputPerSecond();
+ return maxOutputPerSecond;
}
@Override
@@ -83,7 +73,7 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
}
public int getMinOutputPerSecond() {
- return mConfig.getMinOutputPerSecond();
+ return minOutputPerSecond;
}
@Override
@@ -159,21 +149,34 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
if (mTemperature < 100) {
return 0;
}
- if (mRunTimeTicks > mConfig.getMaxRuntimeTicks()) {
- return mConfig.getMinOutputPerSecond();
- } else if (mRunTimeTicks > mConfig.getCalcificationTicks()) {
+ if (mRunTimeTicks > getMaxRuntimeTicks()) {
+ return getMinOutputPerSecond();
+ } else if (mRunTimeTicks > getCalcificationTicks()) {
/*
* When reaching calcification ticks; discount the proportion of run-time spent on calcification from the
* maximum output per second, and return this or the minimum output per second
*/
- return mConfig.getMaxOutputPerSecond()
- - mConfig.getMaxOutputPerSecond() * (mRunTimeTicks - mConfig.getCalcificationTicks())
- / mConfig.getCalcificationTicks();
+ return getMaxOutputPerSecond()
+ - getMaxOutputPerSecond() * (mRunTimeTicks - getCalcificationTicks()) / getCalcificationTicks();
} else {
- return mConfig.getMaxOutputPerSecond();
+ return getMaxOutputPerSecond();
}
}
+ protected int getCalcificationTicks() {
+ return calcificationTicks;
+ }
+
+ protected int getCooldownTicks() {
+ return cooldownTicks;
+ }
+
+ protected int getMaxRuntimeTicks() {
+ // After which min output is reached.
+ return (getMaxOutputPerSecond() - getMinOutputPerSecond()) * getCalcificationTicks() / getMaxOutputPerSecond()
+ + getCalcificationTicks();
+ }
+
@Override
protected int getMaxTemperature() {
return 500;
@@ -186,7 +189,7 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
@Override
protected int getCooldownInterval() {
- return mConfig.getCoolDownTicks() / basicTemperatureMod;
+ return getCooldownTicks() / basicTemperatureMod;
}
@Override
@@ -272,7 +275,7 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_Boiler_Solar(mName, mTier, mDescriptionArray, mTextures, mConfig);
+ return new GT_MetaTileEntity_Boiler_Solar(mName, mTier, mDescriptionArray, mTextures);
}
@Override
@@ -305,64 +308,4 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
tag.setInteger("calcificationOutput", (getProductionPerSecond()));
tag.setInteger("maxCalcificationOutput", (getMaxOutputPerSecond()));
}
-
- protected static class Config {
-
- private final int calcificationTicks;
- private final int minOutputPerSecond;
- private final int maxOutputPerSecond;
- private final int coolDownTicks;
- private final int maxRuntimeTicks;
-
- public Config(String aCategory, int aDefaultCalcificationTicks, int aDefaultMinOutputPerSecond,
- int aDefaultMaxOutputPerSecond, int aDefaultCoolDownTicks) {
- calcificationTicks = get(
- aCategory,
- "CalcificationTicks",
- aDefaultCalcificationTicks,
- "Number of run-time ticks before boiler starts calcification.",
- "100% calcification and minimal output will be reached at 2 times this.");
- minOutputPerSecond = get(aCategory, "MinOutputPerSecond", aDefaultMinOutputPerSecond);
- maxOutputPerSecond = get(aCategory, "MaxOutputPerSecond", aDefaultMaxOutputPerSecond);
- coolDownTicks = get(
- aCategory,
- "CoolDownTicks",
- aDefaultCoolDownTicks,
- "Number of ticks it takes to lose 1°C.");
- // After which min output is reached.
- maxRuntimeTicks = (getMaxOutputPerSecond() - getMinOutputPerSecond()) * getCalcificationTicks()
- / getMaxOutputPerSecond() + getCalcificationTicks();
- }
-
- protected int get(final String aCategory, final String aKey, final int aDefaultValue,
- final String... aComments) {
- final StringBuilder tCommentBuilder = new StringBuilder();
- for (String tComment : aComments) tCommentBuilder.append(tComment)
- .append('\n');
- tCommentBuilder.append("Default: ")
- .append(aDefaultValue);
- return sMachineFile.mConfig.get(aCategory, aKey, aDefaultValue, tCommentBuilder.toString())
- .getInt();
- }
-
- public int getCalcificationTicks() {
- return calcificationTicks;
- }
-
- public int getMinOutputPerSecond() {
- return minOutputPerSecond;
- }
-
- public int getMaxOutputPerSecond() {
- return maxOutputPerSecond;
- }
-
- public int getCoolDownTicks() {
- return coolDownTicks;
- }
-
- public int getMaxRuntimeTicks() {
- return maxRuntimeTicks;
- }
- }
}
diff --git a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar_Steel.java b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar_Steel.java
index c20ea4018a..c537e388d1 100644
--- a/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar_Steel.java
+++ b/src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar_Steel.java
@@ -1,7 +1,5 @@
package gregtech.common.tileentities.boilers;
-import static gregtech.api.enums.ConfigCategories.machineconfig;
-
import gregtech.api.enums.Dyes;
import gregtech.api.enums.SteamVariant;
import gregtech.api.enums.Textures.BlockIcons;
@@ -9,31 +7,32 @@ import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.render.TextureFactory;
+import gregtech.common.config.machinestats.ConfigSteelSolarBoiler;
public class GT_MetaTileEntity_Boiler_Solar_Steel extends GT_MetaTileEntity_Boiler_Solar {
public GT_MetaTileEntity_Boiler_Solar_Steel(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
+ initBoilerStats();
}
public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String aDescription,
ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
+ initBoilerStats();
}
public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String[] aDescription,
ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
+ initBoilerStats();
}
- public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String[] aDescription,
- ITexture[][][] aTextures, Config aConfig) {
- super(aName, aTier, aDescription, aTextures, aConfig);
- }
-
- @Override
- protected Config createConfig() {
- return new Config(machineconfig + ".boiler.solar.steel", 1080000, 120, 360, 75);
+ protected void initBoilerStats() {
+ calcificationTicks = ConfigSteelSolarBoiler.calcificationTicks;
+ cooldownTicks = ConfigSteelSolarBoiler.cooldownTicks;
+ maxOutputPerSecond = ConfigSteelSolarBoiler.maxOutputPerSecond;
+ minOutputPerSecond = ConfigSteelSolarBoiler.minOutputPerSecond;
}
@Override
@@ -67,11 +66,6 @@ public class GT_MetaTileEntity_Boiler_Solar_Steel extends GT_MetaTileEntity_Boil
@Override
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
- return new GT_MetaTileEntity_Boiler_Solar_Steel(
- this.mName,
- this.mTier,
- this.mDescriptionArray,
- this.mTextures,
- this.mConfig);
+ return new GT_MetaTileEntity_Boiler_Solar_Steel(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
}