aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/preloader/asm
diff options
context:
space:
mode:
authorboubou19 <miisterunknown@gmail.com>2024-09-19 23:05:17 +0200
committerGitHub <noreply@github.com>2024-09-19 21:05:17 +0000
commitc74367258e8a2a60392234d2a1a13e0a19433795 (patch)
tree9c7d9d7173a91e7362f92250126a4a65f0920b04 /src/main/java/gtPlusPlus/preloader/asm
parent0a5c7ecc004444a089edbed28f4ecb136bc21f1f (diff)
downloadGT5-Unofficial-c74367258e8a2a60392234d2a1a13e0a19433795.tar.gz
GT5-Unofficial-c74367258e8a2a60392234d2a1a13e0a19433795.tar.bz2
GT5-Unofficial-c74367258e8a2a60392234d2a1a13e0a19433795.zip
migrate GT++ config to GTNHLib (#3193)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Martin Robertz <dream-master@gmx.net>
Diffstat (limited to 'src/main/java/gtPlusPlus/preloader/asm')
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java144
-rw-r--r--src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java10
2 files changed, 5 insertions, 149 deletions
diff --git a/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java b/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java
deleted file mode 100644
index 5fa903906a..0000000000
--- a/src/main/java/gtPlusPlus/preloader/asm/AsmConfig.java
+++ /dev/null
@@ -1,144 +0,0 @@
-package gtPlusPlus.preloader.asm;
-
-import java.io.File;
-import java.util.ArrayList;
-
-import net.minecraftforge.common.config.Configuration;
-import net.minecraftforge.common.config.Property;
-
-import org.apache.logging.log4j.Level;
-
-import cpw.mods.fml.common.FMLLog;
-import gtPlusPlus.preloader.PreloaderLogger;
-
-public class AsmConfig {
-
- public static Configuration config;
-
- public static boolean enableOreDictPatch;
- public static boolean enableGtTooltipFix;
- public static boolean enableGtNbtFix;
- public static boolean enableGtCharcoalPitFix;
- public static boolean enableCofhPatch;
- public static boolean enableTcAspectSafety;
- public static boolean enabledLwjglKeybindingFix;
- public static boolean enabledFixEntitySetHealth;
- public static boolean enableThaumicTinkererRepairFix;
-
- public static boolean disableAllLogging;
- public static boolean debugMode;
-
- static {
- config = new Configuration(new File("config/GTplusplus/asm.cfg"));
- syncConfig(true);
- }
-
- public static void syncConfig(boolean load) {
- ArrayList<String> propOrder = new ArrayList<>();
- ArrayList<String> propOrderDebug = new ArrayList<>();
-
- try {
- if (!config.isChild && load) {
- config.load();
- }
-
- Property prop;
-
- // Debug
- prop = config.get("debug", "disableAllLogging", true);
- prop.comment = "Disables ALL logging from GT++.";
- prop.setLanguageKey("gtpp.disableAllLogging")
- .setRequiresMcRestart(false);
- disableAllLogging = prop.getBoolean(true);
- propOrderDebug.add(prop.getName());
-
- prop = config.get("debug", "debugMode", false);
- prop.comment = "Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)";
- prop.setLanguageKey("gtpp.debugMode")
- .setRequiresMcRestart(false);
- debugMode = prop.getBoolean(false);
- propOrderDebug.add(prop.getName());
-
- prop = config.get("debug", "enabledFixEntitySetHealth", false);
- prop.comment = "Enable/Disable entity setHealth() fix.";
- prop.setLanguageKey("gtpp.enabledFixEntitySetHealth")
- .setRequiresMcRestart(true);
- enabledFixEntitySetHealth = prop.getBoolean(false);
- propOrderDebug.add(prop.getName());
-
- prop = config.get("debug", "enableGtNbtFix", true);
- prop.comment = "Enable/Disable GT NBT Persistency Fix";
- prop.setLanguageKey("gtpp.enableGtNbtFix")
- .setRequiresMcRestart(true);
- enableGtNbtFix = prop.getBoolean(true);
- propOrderDebug.add(prop.getName());
-
- prop = config.get("debug", "enableCofhPatch", false);
- prop.comment = "Enable/Disable COFH OreDictionaryArbiter Patch (Useful for Development)";
- prop.setLanguageKey("gtpp.enableCofhPatch")
- .setRequiresMcRestart(true);
- enableCofhPatch = prop.getBoolean(false);
- propOrderDebug.add(prop.getName());
-
- prop = config.get("debug", "enableOreDictPatch", false);
- prop.comment = "Enable/Disable Forge OreDictionary Patch (Useful for Development)";
- prop.setLanguageKey("gtpp.enableOreDictPatch")
- .setRequiresMcRestart(true);
- enableOreDictPatch = prop.getBoolean(false);
- propOrderDebug.add(prop.getName());
-
- prop = config.get("debug", "enableThaumicTinkererRepairFix", false);
- prop.comment = "Enable/Disable Patch for Thaumic Repairer";
- prop.setLanguageKey("gtpp.enableThaumicTinkererRepairFix")
- .setRequiresMcRestart(true);
- enableThaumicTinkererRepairFix = prop.getBoolean(false);
- propOrderDebug.add(prop.getName());
-
- // General Features
- prop = config.get("general", "enabledLwjglKeybindingFix", true);
- prop.comment = "Prevents the game crashing from having invalid keybinds. https://github.com/alkcorp/GTplusplus/issues/544";
- prop.setLanguageKey("gtpp.enabledLwjglKeybindingFix")
- .setRequiresMcRestart(true);
- enabledLwjglKeybindingFix = prop.getBoolean(true);
- propOrder.add(prop.getName());
-
- prop = config.get("general", "enableGtTooltipFix", true);
- prop.comment = "Enable/Disable Custom GT Tooltips";
- prop.setLanguageKey("gtpp.enableGtTooltipFix")
- .setRequiresMcRestart(true);
- enableGtTooltipFix = prop.getBoolean(true);
- propOrder.add(prop.getName());
-
- prop = config.get("general", "enableGtCharcoalPitFix", true);
- prop.comment = "Makes the Charcoal Pile Igniter work better.";
- prop.setLanguageKey("gtpp.enableGtCharcoalPitFix")
- .setRequiresMcRestart(true);
- enableGtCharcoalPitFix = prop.getBoolean(true);
- propOrder.add(prop.getName());
-
- // TC Aspect Safety
- prop = config.get("general", "enableTcAspectSafety", true);
- prop.comment = "Fixes small oversights in Thaumcraft 4.";
- prop.setLanguageKey("gtpp.enableTcAspectSafety")
- .setRequiresMcRestart(true);
- enableTcAspectSafety = prop.getBoolean(true);
- propOrder.add(prop.getName());
-
- config.setCategoryPropertyOrder("general", propOrder);
- config.setCategoryPropertyOrder("debug", propOrderDebug);
- if (config.hasChanged()) {
- config.save();
- }
-
- PreloaderLogger.INFO("Gt Nbt Fix - Enabled: " + enableGtNbtFix);
- PreloaderLogger.INFO("Gt Tooltip Fix - Enabled: " + enableGtTooltipFix);
- PreloaderLogger.INFO("COFH Patch - Enabled: " + enableCofhPatch);
- PreloaderLogger.INFO("Thaumcraft Aspect Safety Patch - Enabled: " + enableTcAspectSafety);
- PreloaderLogger
- .INFO("Fix bad usage of EntityLivingBase.setHealth Patch - Enabled: " + enabledFixEntitySetHealth);
-
- } catch (Exception var3) {
- FMLLog.log(Level.ERROR, var3, "GT++ ASM had a problem loading it's config", new Object[0]);
- }
- }
-}
diff --git a/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java b/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
index dc033514f1..4fb4225d26 100644
--- a/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
+++ b/src/main/java/gtPlusPlus/preloader/asm/transformers/Preloader_Transformer_Handler.java
@@ -9,9 +9,9 @@ import org.objectweb.asm.ClassReader;
import org.objectweb.asm.ClassWriter;
import gregtech.asm.GTCorePlugin;
+import gtPlusPlus.core.config.ASMConfiguration;
import gtPlusPlus.preloader.PreloaderCore;
import gtPlusPlus.preloader.PreloaderLogger;
-import gtPlusPlus.preloader.asm.AsmConfig;
import gtPlusPlus.preloader.asm.transformers.Preloader_ClassTransformer.OreDictionaryVisitor;
public class Preloader_Transformer_Handler implements IClassTransformer {
@@ -47,7 +47,7 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
public byte[] transform(String name, String transformedName, byte[] basicClass) {
// Fix LWJGL index array out of bounds on keybinding IDs
if ((transformedName.equals(LWJGL_KEYBOARD) || transformedName.equals(MINECRAFT_GAMESETTINGS))
- && AsmConfig.enabledLwjglKeybindingFix
+ && ASMConfiguration.general.enabledLwjglKeybindingFix
&& !GTCorePlugin.islwjgl3Present()) {
boolean isClientSettingsClass = !transformedName.equals(LWJGL_KEYBOARD);
PreloaderLogger.INFO("LWJGL Keybinding index out of bounds fix", "Transforming " + transformedName);
@@ -56,7 +56,7 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
}
// Fix the OreDictionary - Forge
- if (transformedName.equals(FORGE_ORE_DICTIONARY) && AsmConfig.enableOreDictPatch) {
+ if (transformedName.equals(FORGE_ORE_DICTIONARY) && ASMConfiguration.debug.enableOreDictPatch) {
PreloaderLogger.INFO("OreDictTransformer", "Transforming " + transformedName);
ClassWriter classWriter = new ClassWriter(ClassWriter.COMPUTE_FRAMES);
new ClassReader(basicClass).accept(new OreDictionaryVisitor(classWriter), 0);
@@ -65,7 +65,7 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
// Fix the OreDictionary COFH
if (transformedName.equals(COFH_ORE_DICTIONARY_ARBITER)
- && (AsmConfig.enableCofhPatch || PreloaderCore.DEV_ENVIRONMENT)) {
+ && (ASMConfiguration.debug.enableCofhPatch || PreloaderCore.DEV_ENVIRONMENT)) {
PreloaderLogger.INFO("COFH", "Transforming " + transformedName);
return new ClassTransformer_COFH_OreDictionaryArbiter(basicClass).getWriter()
.toByteArray();
@@ -80,7 +80,7 @@ public class Preloader_Transformer_Handler implements IClassTransformer {
// Fix Thaumcraft stuff
// Patching ItemWispEssence to allow invalid item handling
- if (transformedName.equals(THAUMCRAFT_ITEM_WISP_ESSENCE) && AsmConfig.enableTcAspectSafety) {
+ if (transformedName.equals(THAUMCRAFT_ITEM_WISP_ESSENCE) && ASMConfiguration.general.enableTcAspectSafety) {
PreloaderLogger.INFO("Thaumcraft WispEssence_Patch", "Transforming " + transformedName);
return new ClassTransformer_TC_ItemWispEssence(basicClass, !PreloaderCore.DEV_ENVIRONMENT).getWriter()
.toByteArray();