aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorLéa Gris <lea.gris@noiraude.net>2021-04-19 15:43:16 +0200
committerLéa Gris <lea.gris@noiraude.net>2021-04-24 13:23:25 +0200
commit7209e1deb162a2decfb4ef847df03ccbf6968f38 (patch)
tree40f7b283591a2fcf129f918b597abecb359d2da3 /src/main
parent6abf79c50fbb3861e152801cbc2b6a6965e2b97c (diff)
downloadGT5-Unofficial-7209e1deb162a2decfb4ef847df03ccbf6968f38.tar.gz
GT5-Unofficial-7209e1deb162a2decfb4ef847df03ccbf6968f38.tar.bz2
GT5-Unofficial-7209e1deb162a2decfb4ef847df03ccbf6968f38.zip
impr(solarboilers): abstracted the config
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar.java94
-rw-r--r--src/main/java/gregtech/common/tileentities/boilers/GT_MetaTileEntity_Boiler_Solar_Steel.java70
2 files changed, 107 insertions, 57 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 eb7993a448..bfb7190e7a 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
@@ -22,7 +22,6 @@ import static gregtech.api.enums.ConfigCategories.machineconfig;
@SuppressWarnings("unused")
public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
- public static final String DEFAULT_STR = "Default: ";
public static final String LPS_FMT = "%s L/s";
private static final String localizedDescFormat = GT_LanguageManager.addStringLocalization(
"gt.blockmachines.boiler.solar.desc.format",
@@ -30,6 +29,7 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
"Produces %sL of Steam per second%n" +
"Calcifies over time, reducing Steam output to %sL/s%n" +
"Break and replace to descale");
+ private final Config config = new Config();
protected int calcificationTicks;
protected int minOutputPerSecond;
protected int maxOutputPerSecond;
@@ -39,39 +39,17 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
public GT_MetaTileEntity_Boiler_Solar(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional, new String[0]);
- onConfigLoad();
- }
-
- protected void onConfigLoad() {
- final Configuration config = GregTech_API.sMachineFile.mConfig;
- final String configCategory = machineconfig + ".boiler.solar.bronze";
-
- final int defaultCalcificationTicks = 1080000; // 15 hours
- final int defaultMinOutputPerSecond = 40;
- final int defaultMaxOutputPerSecond = 120;
- final int defaultCoolDownTicks = 45;
-
- calcificationTicks = config.get(configCategory, "CalcificationTicks", defaultCalcificationTicks,
- "Number of run-time ticks before boiler starts calcification.\n" +
- "100% calcification and minimal output will be reached at 2 times this.\n" +
- DEFAULT_STR + defaultCalcificationTicks).getInt();
- minOutputPerSecond = config.get(configCategory, "MinOutputPerSecond", defaultMinOutputPerSecond,
- DEFAULT_STR + defaultMinOutputPerSecond).getInt();
- maxOutputPerSecond = config.get(configCategory, "MaxOutputPerSecond", defaultMaxOutputPerSecond,
- DEFAULT_STR + defaultMaxOutputPerSecond).getInt();
- coolDownTicks = config.get(configCategory, "CoolDownTicks", defaultCoolDownTicks,
- "Number of ticks it takes to lose 1°C.\n" +
- DEFAULT_STR + defaultCoolDownTicks).getInt();
+ config.onConfigLoad();
}
public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
- onConfigLoad();
+ config.onConfigLoad();
}
public GT_MetaTileEntity_Boiler_Solar(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
super(aName, aTier, aDescription, aTextures);
- onConfigLoad();
+ config.onConfigLoad();
}
/**
@@ -273,4 +251,68 @@ public class GT_MetaTileEntity_Boiler_Solar extends GT_MetaTileEntity_Boiler {
public MetaTileEntity newMetaEntity(IGregTechTileEntity aTileEntity) {
return new GT_MetaTileEntity_Boiler_Solar(mName, mTier, mDescriptionArray, mTextures);
}
+
+ protected class Config {
+ public static final String DEFAULT_STR = "Default: ";
+ private static final String localCategory = "boiler.solar.bronze";
+ private static final int defaultCalcificationTicks = 1080000; // 15 hours
+ private static final String defaultCalcificationTicksComment =
+ "Number of run-time ticks before boiler starts calcification.\n" +
+ "100% calcification and minimal output will be reached at 2 times this.\n";
+ private static final int defaultMinOutputPerSecond = 40;
+ private static final String defaultMinOutputPerSecondComment = "";
+ private static final int defaultMaxOutputPerSecond = 120;
+ private static final String defaultMaxOutputPerSecondComment = "";
+ private static final int defaultCoolDownTicks = 45;
+ private static final String defaultCoolDownTicksComment = "Number of ticks it takes to lose 1°C.\n";
+ final Configuration configuration = GregTech_API.sMachineFile.mConfig;
+ final String configCategory = getConfigCategory();
+
+ protected String getConfigCategory() {
+ return machineconfig + "." + localCategory;
+ }
+
+ protected void onConfigLoad() {
+ calcificationTicks = configuration.get(configCategory, "CalcificationTicks", getDefaultCalcificationTicks(),
+ getDefaultCalcificationTicksComment() + DEFAULT_STR + getDefaultCalcificationTicks()).getInt();
+ minOutputPerSecond = configuration.get(configCategory, "MinOutputPerSecond", getDefaultMinOutputPerSecond(),
+ getDefaultMinOutputPerSecondComment() + DEFAULT_STR + getDefaultMinOutputPerSecond()).getInt();
+ maxOutputPerSecond = configuration.get(configCategory, "MaxOutputPerSecond", getDefaultMaxOutputPerSecond(),
+ getDefaultMaxOutputPerSecondComment() + DEFAULT_STR + getDefaultMaxOutputPerSecond()).getInt();
+ coolDownTicks = configuration.get(configCategory, "CoolDownTicks", getDefaultCoolDownTicks(),
+ getDefaultCoolDownTicksComment() + DEFAULT_STR + getDefaultCoolDownTicks()).getInt();
+ }
+
+ protected int getDefaultCalcificationTicks() {
+ return defaultCalcificationTicks;
+ }
+
+ protected String getDefaultCalcificationTicksComment() {
+ return defaultCalcificationTicksComment;
+ }
+
+ protected int getDefaultMinOutputPerSecond() {
+ return defaultMinOutputPerSecond;
+ }
+
+ protected String getDefaultMinOutputPerSecondComment() {
+ return defaultMinOutputPerSecondComment;
+ }
+
+ protected int getDefaultMaxOutputPerSecond() {
+ return defaultMaxOutputPerSecond;
+ }
+
+ protected String getDefaultMaxOutputPerSecondComment() {
+ return defaultMaxOutputPerSecondComment;
+ }
+
+ protected int getDefaultCoolDownTicks() {
+ return defaultCoolDownTicks;
+ }
+
+ protected String getDefaultCoolDownTicksComment() {
+ return defaultCoolDownTicksComment;
+ }
+ }
}
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 aab1e2550d..6de07316e9 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,6 +1,5 @@
package gregtech.common.tileentities.boilers;
-import gregtech.api.GregTech_API;
import gregtech.api.enums.Dyes;
import gregtech.api.enums.Textures.BlockIcons;
import gregtech.api.interfaces.ITexture;
@@ -9,39 +8,25 @@ import gregtech.api.metatileentity.MetaTileEntity;
import gregtech.api.objects.GT_RenderedTexture;
import gregtech.common.gui.GT_GUIContainer_Boiler;
import net.minecraft.entity.player.InventoryPlayer;
-import net.minecraftforge.common.config.Configuration;
import static gregtech.api.enums.ConfigCategories.machineconfig;
public class GT_MetaTileEntity_Boiler_Solar_Steel extends GT_MetaTileEntity_Boiler_Solar {
+ private final GT_MetaTileEntity_Boiler_Solar_Steel.Config config = new GT_MetaTileEntity_Boiler_Solar_Steel.Config();
public GT_MetaTileEntity_Boiler_Solar_Steel(int aID, String aName, String aNameRegional) {
super(aID, aName, aNameRegional);
- onConfigLoad();
+ config.onConfigLoad();
}
- @Override
- protected void onConfigLoad() {
- final Configuration config = GregTech_API.sMachineFile.mConfig;
- final String configCategory = machineconfig + ".boiler.solar.steel";
-
- final int defaultCalcificationTicks = 1080000; // 15 hours
- final int defaultMinOutputPerSecond = 120;
- final int defaultMaxOutputPerSecond = 360;
- final int defaultCoolDownTicks = 75;
-
- calcificationTicks = config.get(configCategory, "CalcificationTicks", defaultCalcificationTicks,
- "Number of run-time ticks before boiler starts calcification.\n" +
- "100% calcification and minimal output will be reached at 2 times this.\n" +
- DEFAULT_STR + defaultCalcificationTicks).getInt();
- minOutputPerSecond = config.get(configCategory, "MinOutputPerSecond", defaultMinOutputPerSecond,
- DEFAULT_STR + defaultMinOutputPerSecond).getInt();
- maxOutputPerSecond = config.get(configCategory, "MaxOutputPerSecond", defaultMaxOutputPerSecond,
- DEFAULT_STR + defaultMaxOutputPerSecond).getInt();
- coolDownTicks = config.get(configCategory, "CoolDownTicks", defaultCoolDownTicks,
- "Number of ticks it takes to loose 1°C (Cools down slower than a normal boiler).\n" +
- DEFAULT_STR + defaultCoolDownTicks).getInt();
+ public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, aDescription, aTextures);
+ config.onConfigLoad();
+ }
+ public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
+ super(aName, aTier, aDescription, aTextures);
+ config.onConfigLoad();
}
@Override
@@ -80,14 +65,37 @@ public class GT_MetaTileEntity_Boiler_Solar_Steel extends GT_MetaTileEntity_Boil
return new GT_MetaTileEntity_Boiler_Solar_Steel(this.mName, this.mTier, this.mDescriptionArray, this.mTextures);
}
- public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
- onConfigLoad();
- }
+ protected class Config extends GT_MetaTileEntity_Boiler_Solar.Config {
+ private static final String localCategory = "boiler.solar.steel";
+ private static final int defaultMinOutputPerSecond = 120;
+ private static final int defaultMaxOutputPerSecond = 360;
+ private static final int defaultCoolDownTicks = 75;
+ private static final String defaultCoolDownTicksComment = "Number of ticks it takes to loose 1°C (Cools down slower than a normal boiler).\n";
- public GT_MetaTileEntity_Boiler_Solar_Steel(String aName, int aTier, String[] aDescription, ITexture[][][] aTextures) {
- super(aName, aTier, aDescription, aTextures);
- onConfigLoad();
+ @Override
+ protected String getConfigCategory() {
+ return machineconfig + "." + localCategory;
+ }
+
+ @Override
+ protected int getDefaultMinOutputPerSecond() {
+ return defaultMinOutputPerSecond;
+ }
+
+ @Override
+ protected int getDefaultMaxOutputPerSecond() {
+ return defaultMaxOutputPerSecond;
+ }
+
+ @Override
+ protected int getDefaultCoolDownTicks() {
+ return defaultCoolDownTicks;
+ }
+
+ @Override
+ protected String getDefaultCoolDownTicksComment() {
+ return defaultCoolDownTicksComment;
+ }
}
}