aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorboubou19 <miisterunknown@gmail.com>2024-09-19 22:14:56 +0200
committerGitHub <noreply@github.com>2024-09-19 22:14:56 +0200
commitf4abde3ab05502b587ce114837459e3d1eca3e5f (patch)
tree1066dd32c3b70a5fceabea7620ad6d1cd0363b43
parent01fa1f837f0fc1eb3626473f29e75cae74119c99 (diff)
downloadGT5-Unofficial-f4abde3ab05502b587ce114837459e3d1eca3e5f.tar.gz
GT5-Unofficial-f4abde3ab05502b587ce114837459e3d1eca3e5f.tar.bz2
GT5-Unofficial-f4abde3ab05502b587ce114837459e3d1eca3e5f.zip
port GGFab config to GTNHLib (#3231)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
-rw-r--r--src/main/java/ggfab/ConfigurationHandler.java54
-rw-r--r--src/main/java/ggfab/GGFabGUIClientConfig.java15
-rw-r--r--src/main/java/ggfab/GGFabGUIFactory.java13
-rw-r--r--src/main/java/ggfab/GigaGramFab.java14
-rw-r--r--src/main/java/ggfab/mte/MTEAdvAssLine.java2
5 files changed, 50 insertions, 48 deletions
diff --git a/src/main/java/ggfab/ConfigurationHandler.java b/src/main/java/ggfab/ConfigurationHandler.java
index a1f83c8bbf..d6844641b2 100644
--- a/src/main/java/ggfab/ConfigurationHandler.java
+++ b/src/main/java/ggfab/ConfigurationHandler.java
@@ -1,52 +1,14 @@
package ggfab;
-import java.io.File;
-import java.util.Map;
+import com.gtnewhorizon.gtnhlib.config.Config;
-import net.minecraftforge.common.config.ConfigCategory;
-import net.minecraftforge.common.config.Configuration;
-import net.minecraftforge.common.config.Property;
+import gregtech.api.enums.Mods;
-public enum ConfigurationHandler {
+@Config(modid = Mods.Names.G_G_FAB, filename = "ggfab")
+@Config.RequiresMcRestart
+public class ConfigurationHandler {
- INSTANCE;
-
- private Configuration config;
- private float laserOCPenaltyFactor;
-
- void init(File f) {
- config = new Configuration(f);
- loadConfig();
- setLanguageKeys();
- }
-
- private void setLanguageKeys() {
- for (String categoryName : config.getCategoryNames()) {
- ConfigCategory category = config.getCategory(categoryName);
- category.setLanguageKey("ggfab.config." + categoryName);
- for (Map.Entry<String, Property> entry : category.entrySet()) {
- entry.getValue()
- .setLanguageKey(String.format("%s.%s", category.getLanguagekey(), entry.getKey()));
- }
- }
- }
-
- private void loadConfig() {
- laserOCPenaltyFactor = config.getFloat(
- "advasslinePenaltyFactor",
- "common.balancing",
- 0.3f,
- 0f,
- 10f,
- "Laser overclock penalty factor. This will incredibly change the game balance. Even a small step from 0.2 to 0.3 can have very significant impact. Tweak with caution!");
- config.save();
- }
-
- public Configuration getConfig() {
- return config;
- }
-
- public float getLaserOCPenaltyFactor() {
- return laserOCPenaltyFactor;
- }
+ @Config.Comment("Laser overclock penalty factor. This will incredibly change the game balance. Even a small step from 0.2 to 0.3 can have very significant impact. Tweak with caution!")
+ @Config.RangeFloat(min = 0.0f, max = 10.0f)
+ public static float laserOCPenaltyFactor = 0.3f;
}
diff --git a/src/main/java/ggfab/GGFabGUIClientConfig.java b/src/main/java/ggfab/GGFabGUIClientConfig.java
new file mode 100644
index 0000000000..fe0161b778
--- /dev/null
+++ b/src/main/java/ggfab/GGFabGUIClientConfig.java
@@ -0,0 +1,15 @@
+package ggfab;
+
+import static gregtech.api.enums.Mods.GGFab;
+
+import net.minecraft.client.gui.GuiScreen;
+
+import com.gtnewhorizon.gtnhlib.config.ConfigException;
+import com.gtnewhorizon.gtnhlib.config.SimpleGuiConfig;
+
+public class GGFabGUIClientConfig extends SimpleGuiConfig {
+
+ public GGFabGUIClientConfig(GuiScreen parentScreen) throws ConfigException {
+ super(parentScreen, GGFab.ID, GGConstants.MODNAME, false, ConfigurationHandler.class);
+ }
+}
diff --git a/src/main/java/ggfab/GGFabGUIFactory.java b/src/main/java/ggfab/GGFabGUIFactory.java
new file mode 100644
index 0000000000..4bba25e6bc
--- /dev/null
+++ b/src/main/java/ggfab/GGFabGUIFactory.java
@@ -0,0 +1,13 @@
+package ggfab;
+
+import net.minecraft.client.gui.GuiScreen;
+
+import com.gtnewhorizon.gtnhlib.config.SimpleGuiFactory;
+
+public class GGFabGUIFactory implements SimpleGuiFactory {
+
+ @Override
+ public Class<? extends GuiScreen> mainConfigGuiClass() {
+ return GGFabGUIClientConfig.class;
+ }
+}
diff --git a/src/main/java/ggfab/GigaGramFab.java b/src/main/java/ggfab/GigaGramFab.java
index b13b789f40..5329e35469 100644
--- a/src/main/java/ggfab/GigaGramFab.java
+++ b/src/main/java/ggfab/GigaGramFab.java
@@ -6,6 +6,9 @@ import static gregtech.common.items.MetaGeneratedTool01.INSTANCE;
import net.minecraft.item.ItemStack;
+import com.gtnewhorizon.gtnhlib.config.ConfigException;
+import com.gtnewhorizon.gtnhlib.config.ConfigurationManager;
+
import cpw.mods.fml.common.Mod;
import cpw.mods.fml.common.event.FMLInitializationEvent;
import cpw.mods.fml.common.event.FMLPostInitializationEvent;
@@ -27,10 +30,20 @@ import gregtech.api.util.ProcessingArrayManager;
modid = GGConstants.MODID,
version = GGConstants.VERSION,
name = GGConstants.MODNAME,
+ guiFactory = "ggfab.GGFabGUIFactory",
acceptedMinecraftVersions = "[1.7.10]",
dependencies = "required-after:IC2;required-before:gregtech")
public class GigaGramFab {
+ static {
+ try {
+ ConfigurationManager.registerConfig(ConfigurationHandler.class);
+
+ } catch (ConfigException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
public GigaGramFab() {
// initialize the textures
// noinspection ResultOfMethodCallIgnored
@@ -126,7 +139,6 @@ public class GigaGramFab {
});
GregTechAPI.sBeforeGTPostload.add(new ComponentRecipeLoader());
GregTechAPI.sBeforeGTPostload.add(new SingleUseToolRecipeLoader());
- ConfigurationHandler.INSTANCE.init(event.getSuggestedConfigurationFile());
initDumbItem1();
}
diff --git a/src/main/java/ggfab/mte/MTEAdvAssLine.java b/src/main/java/ggfab/mte/MTEAdvAssLine.java
index e02abdedd1..04d9a9118f 100644
--- a/src/main/java/ggfab/mte/MTEAdvAssLine.java
+++ b/src/main/java/ggfab/mte/MTEAdvAssLine.java
@@ -107,7 +107,7 @@ import mcp.mobius.waila.api.IWailaDataAccessor;
public class MTEAdvAssLine extends MTEExtendedPowerMultiBlockBase<MTEAdvAssLine> implements ISurvivalConstructable {
private static final ItemStack NOT_CHECKED = new ItemStack(Blocks.dirt);
- public static final double LASER_OVERCLOCK_PENALTY_FACTOR = ConfigurationHandler.INSTANCE.getLaserOCPenaltyFactor();
+ public static final double LASER_OVERCLOCK_PENALTY_FACTOR = ConfigurationHandler.laserOCPenaltyFactor;
private static final String STRUCTURE_PIECE_FIRST = "first";
private static final String STRUCTURE_PIECE_LATER = "later";
private static final String STRUCTURE_PIECE_LAST = "last";