From 4908d5967c3dfeff5616c65144e701859b9e30a2 Mon Sep 17 00:00:00 2001 From: boubou19 Date: Tue, 27 Aug 2024 20:50:30 +0200 Subject: 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 --- .../boilers/GT_MetaTileEntity_Boiler_Solar.java | 117 ++++++--------------- .../GT_MetaTileEntity_Boiler_Solar_Steel.java | 26 ++--- 2 files changed, 40 insertions(+), 103 deletions(-) (limited to 'src/main/java/gregtech/common/tileentities/boilers') 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); } } -- cgit