diff options
author | boubou19 <miisterunknown@gmail.com> | 2024-09-19 22:14:56 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-19 22:14:56 +0200 |
commit | f4abde3ab05502b587ce114837459e3d1eca3e5f (patch) | |
tree | 1066dd32c3b70a5fceabea7620ad6d1cd0363b43 | |
parent | 01fa1f837f0fc1eb3626473f29e75cae74119c99 (diff) | |
download | GT5-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.java | 54 | ||||
-rw-r--r-- | src/main/java/ggfab/GGFabGUIClientConfig.java | 15 | ||||
-rw-r--r-- | src/main/java/ggfab/GGFabGUIFactory.java | 13 | ||||
-rw-r--r-- | src/main/java/ggfab/GigaGramFab.java | 14 | ||||
-rw-r--r-- | src/main/java/ggfab/mte/MTEAdvAssLine.java | 2 |
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"; |