aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gtPlusPlus/core/config
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/core/config
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/core/config')
-rw-r--r--src/main/java/gtPlusPlus/core/config/ASMConfiguration.java49
-rw-r--r--src/main/java/gtPlusPlus/core/config/ConfigHandler.java575
-rw-r--r--src/main/java/gtPlusPlus/core/config/Configuration.java261
3 files changed, 310 insertions, 575 deletions
diff --git a/src/main/java/gtPlusPlus/core/config/ASMConfiguration.java b/src/main/java/gtPlusPlus/core/config/ASMConfiguration.java
new file mode 100644
index 0000000000..d79a746642
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/config/ASMConfiguration.java
@@ -0,0 +1,49 @@
+package gtPlusPlus.core.config;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.G_T_PLUS_PLUS, configSubDirectory = "GTPlusPlus", category = "asm", filename = "ASM")
+@Config.LangKeyPattern(pattern = "gtpp.gui.config.%cat.%field", fullyQualified = true)
+@Config.Comment("ASM section")
+@Config.RequiresMcRestart
+public class ASMConfiguration {
+
+ public static Debug debug = new Debug();
+ public static General general = new General();
+
+ // Debug
+ @Config.Comment("Debug section")
+ public static class Debug {
+
+ @Config.Comment("Disables ALL logging from GT++.")
+ @Config.DefaultBoolean(true)
+ public boolean disableAllLogging;
+
+ @Config.Comment("Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)")
+ @Config.DefaultBoolean(false)
+ public boolean debugMode;
+
+ @Config.Comment("Enable/Disable COFH OreDictionaryArbiter Patch (Useful for Development)")
+ @Config.DefaultBoolean(true)
+ public boolean enableCofhPatch;
+
+ @Config.Comment("Enable/Disable Forge OreDictionary Patch (Useful for Development)")
+ @Config.DefaultBoolean(false)
+ public boolean enableOreDictPatch;
+ }
+
+ @Config.Comment("General section")
+ public static class General {
+ // General Features
+
+ @Config.Comment("Prevents the game crashing from having invalid keybinds. https://github.com/alkcorp/GTplusplus/issues/544")
+ @Config.DefaultBoolean(true)
+ public boolean enabledLwjglKeybindingFix;
+
+ @Config.Comment("Fixes small oversights in Thaumcraft 4.")
+ @Config.DefaultBoolean(true)
+ public boolean enableTcAspectSafety;
+ }
+}
diff --git a/src/main/java/gtPlusPlus/core/config/ConfigHandler.java b/src/main/java/gtPlusPlus/core/config/ConfigHandler.java
deleted file mode 100644
index e6041ab78a..0000000000
--- a/src/main/java/gtPlusPlus/core/config/ConfigHandler.java
+++ /dev/null
@@ -1,575 +0,0 @@
-package gtPlusPlus.core.config;
-
-import static gregtech.api.enums.Mods.GregTech;
-import static gtPlusPlus.core.lib.GTPPCore.ConfigSwitches.*;
-import static gtPlusPlus.core.lib.GTPPCore.EVERGLADESBIOME_ID;
-import static gtPlusPlus.core.lib.GTPPCore.EVERGLADES_ID;
-import static gtPlusPlus.core.lib.GTPPCore.turbineCutoffBase;
-
-import java.io.File;
-
-import net.minecraftforge.common.config.Configuration;
-
-import cpw.mods.fml.common.event.FMLPreInitializationEvent;
-
-public class ConfigHandler {
-
- public static void handleConfigFile(final FMLPreInitializationEvent event) {
- final Configuration config = new Configuration(
- new File(event.getModConfigurationDirectory(), "GTplusplus/GTplusplus.cfg"));
- config.load();
-
- // Debug
- /*
- * DEBUG = config.getBoolean("debugMode", "debug", false,
- * "Enables all sorts of debug logging. (Don't use unless told to, breaks other things.)");
- */
- MACHINE_INFO = config.getBoolean(
- "enableMachineInfoLogging",
- "debug",
- false,
- "Makes many machines display lots of debug logging.");
- showHiddenNEIItems = config
- .getBoolean("showHiddenNEIItems", "debug", false, "Makes all items hidden from NEI display.");
- dumpItemAndBlockData = config.getBoolean(
- "dumpItemAndBlockData",
- "debug",
- false,
- "Dumps all GT++ and Toxic Everglade Data to en_US.lang in the config folder. This config option can be used by foreign players to generate blank .lang files, which they can populate with their language of choice.");
-
- // Machines
- enableThaumcraftShardUnification = config.getBoolean(
- "enableThaumcraftShardUnification",
- "machines",
- false,
- "Allows the use of TC shards across many recipes by oreDicting them into a common group.");
- disableIC2Recipes = config.getBoolean(
- "disableIC2Recipes",
- "machines",
- false,
- "Alkaluscraft Related - Removes IC2 Cables Except glass fibre. Few other Misc Tweaks.");
- boilerSteamPerSecond = config.getInt(
- "boilerSteamPerSecond",
- "machines",
- 750,
- 0,
- 10000,
- "Sets the steam per second value in LV,MV,HV boilers (respectively 1x,2x,3x this number for the tiers)");
-
- // GT-Fixes
- turbineCutoffBase = config.getInt(
- "turbineCutoffBase",
- GregTech.ID,
- 75000,
- 0,
- Integer.MAX_VALUE,
- "Rotors below this durability will be removed, prevents NEI clutter. Minimum Durability is N * x, where N is the new value set and x is the turbine size, where 1 is Tiny and 4 is Huge. Set to 0 to disable.");
-
- // Pipes & Cables
- enableCustom_Pipes = config.getBoolean("enableCustom_Pipes", GregTech.ID, true, "Adds Custom GT Fluid Pipes.");
- enableCustom_Cables = config.getBoolean("enableCustom_Cables", GregTech.ID, true, "Adds Custom GT Cables.");
-
- enableMachine_Dehydrators = config
- .getBoolean("enableMachineDehydrators", GregTech.ID, true, "These dehydrate stuff.");
- enableMachine_SteamConverter = config
- .getBoolean("enableMachineSteamConverter", GregTech.ID, true, "Converts IC2 steam -> Railcraft steam.");
- enableMachine_FluidTanks = config
- .getBoolean("enableMachineFluidTanks", GregTech.ID, true, "Portable fluid tanks.");
- enableMachine_RocketEngines = config.getBoolean(
- "enableMachineRocketEngines",
- GregTech.ID,
- true,
- "Diesel egines with different internals, they consume less fuel overall.");
- enableMachine_GeothermalEngines = config.getBoolean(
- "enableMachineGeothermalEngines",
- GregTech.ID,
- true,
- "These may be overpowered, Consult a local geologist.");
- enableMachine_Tesseracts = config
- .getBoolean("enableMachineTesseracts", GregTech.ID, true, "Tesseracts for wireless item/fluid movement.");
- enableMachine_SimpleWasher = config.getBoolean(
- "enableMachineSimpleWasher",
- GregTech.ID,
- true,
- "Very basic automated cauldron for dust washing.");
- enableMachine_Pollution = config
- .getBoolean("enableMachinePollution", GregTech.ID, true, "Pollution Detector & Scrubbers.");
-
- // Multi machines
- enableMultiblock_AlloyBlastSmelter = config.getBoolean(
- "enableMultiblockAlloyBlastSmelter",
- GregTech.ID,
- true,
- "Required to smelt most high tier materials from GT++. Also smelts everything else to molten metal.");
- enableMultiblock_IndustrialCentrifuge = config
- .getBoolean("enableMultiblockIndustrialCentrifuge", GregTech.ID, true, "Spin, Spin, Spiiiin.");
- enableMultiblock_IndustrialCokeOven = config.getBoolean(
- "enableMultiblockIndustrialCokeOven",
- GregTech.ID,
- true,
- "Pyro Oven Alternative, older, more realistic, better.");
- enableMultiblock_IndustrialElectrolyzer = config.getBoolean(
- "enableMultiblockIndustrialElectrolyzer",
- GregTech.ID,
- true,
- "Electrolyzes things with extra bling factor.");
- enableMultiblock_IndustrialMacerationStack = config.getBoolean(
- "enableMultiblockIndustrialMacerationStack",
- GregTech.ID,
- true,
- "A hyper efficient maceration tower, nets more bonus outputs.");
- enableMultiblock_IndustrialPlatePress = config.getBoolean(
- "enableMultiblockIndustrialPlatePress",
- GregTech.ID,
- true,
- "Industrial bendering machine thingo.");
- enableMultiblock_IndustrialWireMill = config.getBoolean(
- "enableMultiblockIndustrialWireMill",
- GregTech.ID,
- true,
- "Produces fine wire and exotic cables.");
- enableMultiblock_MatterFabricator = config
- .getBoolean("enableMultiblockMatterFabricator", GregTech.ID, true, "?FAB?RIC?ATE MA?TT?ER.");
- enableMultiblock_MultiTank = config.getBoolean(
- "enableMultiblockMultiTank",
- GregTech.ID,
- true,
- "Tall tanks, each layer adds extra fluid storage.");
- enableMultiblock_PowerSubstation = config
- .getBoolean("enableMultiblockPowerSubstation", GregTech.ID, true, "For managing large power grids.");
- enableMultiblock_LiquidFluorideThoriumReactor = config.getBoolean(
- "enableMultiblockLiquidFluorideThoriumReactor",
- GregTech.ID,
- true,
- "For supplying large power grids.");
- enableMultiblock_NuclearFuelRefinery = config.getBoolean(
- "enableMultiblock_NuclearFuelRefinery",
- GregTech.ID,
- true,
- "Refines molten chemicals into nuclear fuels.");
- enableMultiblock_NuclearSaltProcessingPlant = config.getBoolean(
- "enableMultiblockNuclearSaltProcessingPlant",
- GregTech.ID,
- true,
- "Reprocesses depleted nuclear salts into useful chemicals.");
- enableMultiblock_IndustrialSifter = config
- .getBoolean("enableMultiblock_IndustrialSifter", GregTech.ID, true, "Large scale sifting.");
- enableMultiblock_LargeAutoCrafter = config.getBoolean(
- "enableMultiblock_LargeAutoCrafter",
- GregTech.ID,
- true,
- "Can Assemble, Disassemble and Craft Project data from Data Sticks.");
- enableMultiblock_IndustrialThermalCentrifuge = config.getBoolean(
- "enableMultiblock_IndustrialThermalCentrifuge",
- GregTech.ID,
- true,
- "Your warm spin for the ore thing.");
- enableMultiblock_IndustrialWashPlant = config.getBoolean(
- "enableMultiblock_IndustrialWashPlant",
- GregTech.ID,
- true,
- "Used to wash the dirt, riiiiight offff..");
- enableMultiblock_ThermalBoiler = config.getBoolean(
- "enableMachineThermalBoiler",
- GregTech.ID,
- true,
- "Thermal Boiler from GT4. Can Filter Lava for resources.");
- enableMultiblock_IndustrialCuttingMachine = config.getBoolean(
- "enableMultiblock_IndustrialCuttingMachine",
- GregTech.ID,
- true,
- "Very fast and efficient Cutting Machine.");
- enableMultiblock_IndustrialFishingPort = config
- .getBoolean("enableMultiblock_IndustrialFishingPort", GregTech.ID, true, "Fish the seas, except on land.");
- enableMultiblock_IndustrialExtrudingMachine = config.getBoolean(
- "enableMultiblock_IndustrialExtrudingMachine",
- GregTech.ID,
- true,
- "Very fast and efficient Extruding Machine.");
- enableMultiblock_IndustrialMultiMachine = config.getBoolean(
- "enableMultiblock_IndustrialMultiMachine",
- GregTech.ID,
- true,
- "Can run recipes for 9 different types of machines.");
- enableMultiblock_Cyclotron = config
- .getBoolean("enableMultiblock_Cyclotron", GregTech.ID, true, "COMET - Scientific Cyclotron.");
-
- // Features
- enableWatchdogBGM = config.getInt(
- "enableWatchdogBGM",
- "features",
- 0,
- 0,
- Short.MAX_VALUE,
- "Set to a value greater than 0 to reduce the ticks taken to delay between BGM tracks. Acceptable Values are 1-32767, where 0 is disabled. Vanilla Uses 12,000 & 24,000. 200 is 10s.");
- hideUniversalCells = config
- .getBoolean("hideUniversalCells", "features", true, "Hides every filled IC2 Universal Cell from NEI.");
-
- // Biomes
- EVERGLADES_ID = config.getInt("darkworld_ID", "worldgen", 227, 1, 254, "The ID of the Dark Dimension.");
- EVERGLADESBIOME_ID = config
- .getInt("darkbiome_ID", "worldgen", 238, 1, 254, "The biome within the Dark Dimension.");
-
- // Pollution
- pollutionPerSecondMultiPackager = config
- .get(
- "pollution",
- "pollutionPerSecondMultiPackager",
- pollutionPerSecondMultiPackager,
- "pollution rate in gibbl/s for the Amazon warehousing depot")
- .getInt(pollutionPerSecondMultiPackager);
- pollutionPerSecondMultiIndustrialAlloySmelter = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialAlloySmelter",
- pollutionPerSecondMultiIndustrialAlloySmelter,
- "pollution rate in gibbl/s for the Alloy blast smelter")
- .getInt(pollutionPerSecondMultiIndustrialAlloySmelter);
- pollutionPerSecondMultiIndustrialArcFurnace = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialArcFurnace",
- pollutionPerSecondMultiIndustrialArcFurnace,
- "pollution rate in gibbl/s for the High current arc furnace")
- .getInt(pollutionPerSecondMultiIndustrialArcFurnace);
- pollutionPerSecondMultiIndustrialCentrifuge = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialCentrifuge",
- pollutionPerSecondMultiIndustrialCentrifuge,
- "pollution rate in gibbl/s for the Industrial centrifuge")
- .getInt(pollutionPerSecondMultiIndustrialCentrifuge);
- pollutionPerSecondMultiIndustrialCokeOven = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialCokeOven",
- pollutionPerSecondMultiIndustrialCokeOven,
- "pollution rate in gibbl/s for the Industrial coke oven")
- .getInt(pollutionPerSecondMultiIndustrialCokeOven);
- pollutionPerSecondMultiIndustrialCuttingMachine = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialCuttingMachine",
- pollutionPerSecondMultiIndustrialCuttingMachine,
- "pollution rate in gibbl/s for the Cutting factory")
- .getInt(pollutionPerSecondMultiIndustrialCuttingMachine);
- pollutionPerSecondMultiIndustrialDehydrator = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialDehydrator",
- pollutionPerSecondMultiIndustrialDehydrator,
- "pollution rate in gibbl/s for the Utupu-Tanuri")
- .getInt(pollutionPerSecondMultiIndustrialDehydrator);
- pollutionPerSecondMultiIndustrialElectrolyzer = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialElectrolyzer",
- pollutionPerSecondMultiIndustrialElectrolyzer,
- "pollution rate in gibbl/s for the Industrial electrolyzer")
- .getInt(pollutionPerSecondMultiIndustrialElectrolyzer);
- pollutionPerSecondMultiIndustrialExtruder = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialExtruder",
- pollutionPerSecondMultiIndustrialExtruder,
- "pollution rate in gibbl/s for the Industrial extrusion machine")
- .getInt(pollutionPerSecondMultiIndustrialExtruder);
- pollutionPerSecondMultiIndustrialMacerator = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialMacerator",
- pollutionPerSecondMultiIndustrialMacerator,
- "pollution rate in gibbl/s for the Maceration stack")
- .getInt(pollutionPerSecondMultiIndustrialMacerator);
- pollutionPerSecondMultiIndustrialMixer = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialMixer",
- pollutionPerSecondMultiIndustrialMixer,
- "pollution rate in gibbl/s for the Industrial mixing machine")
- .getInt(pollutionPerSecondMultiIndustrialMixer);
- pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal",
- pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal,
- "pollution rate in gibbl/s for the Large processing factory in metal mode")
- .getInt(pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal);
- pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid",
- pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid,
- "pollution rate in gibbl/s for the Large processing factory in fluid mode")
- .getInt(pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid);
- pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc",
- pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc,
- "pollution rate in gibbl/s for the Large processing factory in misc mode")
- .getInt(pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc);
- pollutionPerSecondMultiIndustrialPlatePress_ModeForming = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialPlatePress_ModeForming",
- pollutionPerSecondMultiIndustrialPlatePress_ModeForming,
- "pollution rate in gibbl/s for the Industrial material press in forming mode")
- .getInt(pollutionPerSecondMultiIndustrialPlatePress_ModeForming);
- pollutionPerSecondMultiIndustrialPlatePress_ModeBending = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialPlatePress_ModeBending",
- pollutionPerSecondMultiIndustrialPlatePress_ModeBending,
- "pollution rate in gibbl/s for the Industrial material press in bending mode")
- .getInt(pollutionPerSecondMultiIndustrialPlatePress_ModeBending);
- pollutionPerSecondMultiIndustrialForgeHammer = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialForgeHammer",
- pollutionPerSecondMultiIndustrialForgeHammer,
- "pollution rate in gibbl/s for the Industrial Forge Hammer")
- .getInt(pollutionPerSecondMultiIndustrialForgeHammer);
- pollutionPerSecondMultiIndustrialSifter = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialSifter",
- pollutionPerSecondMultiIndustrialSifter,
- "pollution rate in gibbl/s for the Large Sifter")
- .getInt(pollutionPerSecondMultiIndustrialSifter);
- pollutionPerSecondMultiIndustrialThermalCentrifuge = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialThermalCentrifuge",
- pollutionPerSecondMultiIndustrialThermalCentrifuge,
- "pollution rate in gibbl/s for the Large thermal refinery")
- .getInt(pollutionPerSecondMultiIndustrialThermalCentrifuge);
- pollutionPerSecondMultiIndustrialVacuumFreezer = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialVacuumFreezer",
- pollutionPerSecondMultiIndustrialVacuumFreezer,
- "pollution rate in gibbl/s for the Cryogenic freezer")
- .getInt(pollutionPerSecondMultiIndustrialVacuumFreezer);
- pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath",
- pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath,
- "pollution rate in gibbl/s for the Ore washing plant in chemical bath mode")
- .getInt(pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath);
- pollutionPerSecondMultiIndustrialWashPlant_ModeWasher = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialWashPlant_ModeWasher",
- pollutionPerSecondMultiIndustrialWashPlant_ModeWasher,
- "pollution rate in gibbl/s for the Ore washing plant in ore washer mode")
- .getInt(pollutionPerSecondMultiIndustrialWashPlant_ModeWasher);
- pollutionPerSecondMultiIndustrialWireMill = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialWireMill",
- pollutionPerSecondMultiIndustrialWireMill,
- "pollution rate in gibbl/s for the Wire factory")
- .getInt(pollutionPerSecondMultiIndustrialWireMill);
- pollutionPerSecondMultiIsaMill = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIsaMill",
- pollutionPerSecondMultiIsaMill,
- "pollution rate in gibbl/s for the IsaMill grinding machine")
- .getInt(pollutionPerSecondMultiIsaMill);
- pollutionPerSecondMultiAdvDistillationTower_ModeDistillery = config
- .get(
- "pollution",
- "pollutionPerSecondMultiAdvDistillationTower_ModeDistillery",
- pollutionPerSecondMultiAdvDistillationTower_ModeDistillery,
- "pollution rate in gibbl/s for the Dangote distillus in distillery mode")
- .getInt(pollutionPerSecondMultiAdvDistillationTower_ModeDistillery);
- pollutionPerSecondMultiAdvDistillationTower_ModeDT = config
- .get(
- "pollution",
- "pollutionPerSecondMultiAdvDistillationTower_ModeDT",
- pollutionPerSecondMultiAdvDistillationTower_ModeDT,
- "pollution rate in gibbl/s for the Dangote distillus in distillation tower mode")
- .getInt(pollutionPerSecondMultiAdvDistillationTower_ModeDT);
- pollutionPerSecondMultiAdvEBF = config
- .get(
- "pollution",
- "pollutionPerSecondMultiAdvEBF",
- pollutionPerSecondMultiAdvEBF,
- "pollution rate in gibbl/s for the Volcanus")
- .getInt(pollutionPerSecondMultiAdvEBF);
- pollutionPerSecondMultiAdvImplosion = config
- .get(
- "pollution",
- "pollutionPerSecondMultiAdvImplosion",
- pollutionPerSecondMultiAdvImplosion,
- "pollution rate in gibbl/s for the Density^2")
- .getInt(pollutionPerSecondMultiAdvImplosion);
- pollutionPerSecondMultiABS = config
- .get(
- "pollution",
- "pollutionPerSecondMultiABS",
- pollutionPerSecondMultiABS,
- "pollution rate in gibbl/s for the Alloy blast furnace")
- .getInt(pollutionPerSecondMultiABS);
- pollutionPerSecondMultiCyclotron = config
- .get(
- "pollution",
- "pollutionPerSecondMultiCyclotron",
- pollutionPerSecondMultiCyclotron,
- "pollution rate in gibbl/s for the Cyclotron")
- .getInt(pollutionPerSecondMultiCyclotron);
- pollutionPerSecondMultiIndustrialFishingPond = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialFishingPond",
- pollutionPerSecondMultiIndustrialFishingPond,
- "pollution rate in gibbl/s for the Zuhai - fishing port")
- .getInt(pollutionPerSecondMultiIndustrialFishingPond);
- // pollutionPerSecondMultiLargeRocketEngine;
- pollutionPerSecondMultiLargeSemiFluidGenerator = config
- .get(
- "pollution",
- "pollutionPerSecondMultiLargeSemiFluidGenerator",
- pollutionPerSecondMultiLargeSemiFluidGenerator,
- "pollution rate in gibbl/s for the Large semifluid burner")
- .getInt(pollutionPerSecondMultiLargeSemiFluidGenerator);
- pollutionPerSecondMultiMassFabricator = config
- .get(
- "pollution",
- "pollutionPerSecondMultiMassFabricator",
- pollutionPerSecondMultiMassFabricator,
- "pollution rate in gibbl/s for the Matter fabrication CPU")
- .getInt(pollutionPerSecondMultiMassFabricator);
- pollutionPerSecondMultiRefinery = config
- .get(
- "pollution",
- "pollutionPerSecondMultiRefinery",
- pollutionPerSecondMultiRefinery,
- "pollution rate in gibbl/s for the Reactor fuel processing plant")
- .getInt(pollutionPerSecondMultiRefinery);
- // pollutionPerSecondMultiGeneratorArray;
- pollutionPerSecondMultiIndustrialRockBreaker = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialRockBreaker",
- pollutionPerSecondMultiIndustrialRockBreaker,
- "pollution rate in gibbl/s for the Industrial Rock Breaker")
- .getInt(pollutionPerSecondMultiIndustrialRockBreaker);
- pollutionPerSecondMultiIndustrialChisel = config
- .get(
- "pollution",
- "pollutionPerSecondMultiIndustrialChisel",
- pollutionPerSecondMultiIndustrialChisel,
- "pollution rate in gibbl/s for the Industrial Chisel")
- .getInt(pollutionPerSecondMultiIndustrialChisel);
- pollutionPerSecondMultiTreeFarm = config
- .get(
- "pollution",
- "pollutionPerSecondMultiTreeFarm",
- pollutionPerSecondMultiTreeFarm,
- "pollution rate in gibbl/s for the Tree growth simulator")
- .getInt(pollutionPerSecondMultiTreeFarm);
- pollutionPerSecondMultiFrothFlotationCell = config
- .get(
- "pollution",
- "pollutionPerSecondMultiFrothFlotationCell",
- pollutionPerSecondMultiFrothFlotationCell,
- "pollution rate in gibbl/s for the Flotation cell regulator")
- .getInt(pollutionPerSecondMultiFrothFlotationCell);
- pollutionPerSecondMultiAutoCrafter = config
- .get(
- "pollution",
- "pollutionPerSecondMultiAutoCrafter",
- pollutionPerSecondMultiAutoCrafter,
- "pollution rate in gibbl/s for the Large-Scale auto assembler v1.01")
- .getInt(pollutionPerSecondMultiAutoCrafter);
- pollutionPerSecondMultiMolecularTransformer = config
- .get(
- "pollution",
- "pollutionPerSecondMultiMolecularTransformer",
- pollutionPerSecondMultiMolecularTransformer,
- "pollution rate in gibbl/s for the Multiblock Molecular Transformer")
- .getInt(pollutionPerSecondMultiMolecularTransformer);
- pollutionPerSecondMultiThermalBoiler = config
- .get(
- "pollution",
- "pollutionPerSecondMultiThermalBoiler",
- pollutionPerSecondMultiThermalBoiler,
- "pollution rate in gibbl/s for the Thermal boiler")
- .getInt(pollutionPerSecondMultiThermalBoiler);
- pollutionPerSecondMultiAlgaePond = config
- .get(
- "pollution",
- "pollutionPerSecondMultiAlgaePond",
- pollutionPerSecondMultiAlgaePond,
- "pollution rate in gibbl/s for the Algae farm")
- .getInt(pollutionPerSecondMultiAlgaePond);
- basePollutionPerSecondSemiFluidGenerator = config
- .get(
- "pollution",
- "basePollutionPerSecondSemiFluidGenerator",
- basePollutionPerSecondSemiFluidGenerator,
- "base pollution rate in gibbl/s for the single block semi fluid generators")
- .getInt(basePollutionPerSecondSemiFluidGenerator);
- pollutionReleasedByTierSemiFluidGenerator = config.get(
- "pollution",
- "pollutionReleasedByTierSemiFluidGenerator",
- pollutionReleasedByTierSemiFluidGenerator,
- "coefficient applied to the base rate of the single block semi fluid generators based on its tier (first is tier 0 aka ULV)")
- .getDoubleList();
- basePollutionPerSecondBoiler = config
- .get(
- "pollution",
- "basePollutionPerSecondBoiler",
- basePollutionPerSecondBoiler,
- "base pollution rate in gibbl/s for the single block boilers")
- .getInt(basePollutionPerSecondBoiler);
- pollutionReleasedByTierBoiler = config.get(
- "pollution",
- "pollutionReleasedByTierBoiler",
- pollutionReleasedByTierBoiler,
- "coefficient applied to the base rate of the single block semi fluid generators based on its tier (first is tier 0 aka ULV)")
- .getDoubleList();
- baseMinPollutionPerSecondRocketFuelGenerator = config
- .get(
- "pollution",
- "baseMinPollutionPerSecondRocketFuelGenerator",
- baseMinPollutionPerSecondRocketFuelGenerator,
- "minimum base pollution rate in gibbl/s for the single block rocket engines")
- .getInt(baseMinPollutionPerSecondRocketFuelGenerator);
- baseMaxPollutionPerSecondRocketFuelGenerator = config
- .get(
- "pollution",
- "baseMaxPollutionPerSecondRocketFuelGenerator",
- baseMaxPollutionPerSecondRocketFuelGenerator,
- "maximum base pollution rate in gibbl/s for the single block rocket engines")
- .getInt(baseMaxPollutionPerSecondRocketFuelGenerator);
- pollutionReleasedByTierRocketFuelGenerator = config.get(
- "pollution",
- "pollutionReleasedByTierRocketFuelGenerator",
- pollutionReleasedByTierRocketFuelGenerator,
- "coefficient applied to the base rate of the single block rocket engines based on its tier (first is tier 0 aka ULV)")
- .getDoubleList();
- basePollutionPerSecondGeothermalGenerator = config
- .get(
- "pollution",
- "basePollutionPerSecondGeothermalGenerator",
- basePollutionPerSecondGeothermalGenerator,
- "base pollution rate in gibbl/s for the geothermal engines")
- .getInt(basePollutionPerSecondGeothermalGenerator);
- pollutionReleasedByTierGeothermalGenerator = config.get(
- "pollution",
- "pollutionReleasedByTierGeothermalGenerator",
- pollutionReleasedByTierGeothermalGenerator,
- "coefficient applied to the base rate of the single block geothermal engines based on its tier (first is tier 0 aka ULV)")
- .getDoubleList();
-
- // Visual
- enableAnimatedTextures = config
- .getBoolean("enableAnimatedTextures", "visual", true, "Enables Animated GT++ Textures, Requires Restart");
- config.save();
- }
-}
diff --git a/src/main/java/gtPlusPlus/core/config/Configuration.java b/src/main/java/gtPlusPlus/core/config/Configuration.java
new file mode 100644
index 0000000000..e2cd0463f1
--- /dev/null
+++ b/src/main/java/gtPlusPlus/core/config/Configuration.java
@@ -0,0 +1,261 @@
+package gtPlusPlus.core.config;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.G_T_PLUS_PLUS, configSubDirectory = "GTPlusPlus", filename = "GTPlusPlus")
+@Config.LangKeyPattern(pattern = "gtpp.gui.config.%cat.%field", fullyQualified = true)
+@Config.Comment("General section")
+@Config.RequiresMcRestart
+public class Configuration {
+
+ public static final Debug debug = new Debug();
+ public static final Machines machines = new Machines();
+ public static final Gregtech gregtech = new Gregtech();
+ public static final Pollution pollution = new Pollution();
+ public static final Features features = new Features();
+ public static final Visual visual = new Visual();
+ public static final Worldgen worldgen = new Worldgen();
+
+ @Config.Comment("Debug section")
+ public static class Debug {
+
+ @Config.Comment("Makes many machines display lots of debug logging.")
+ @Config.DefaultBoolean(false)
+ public boolean MachineInfo;
+
+ @Config.Comment("Makes all items hidden from NEI display.")
+ @Config.DefaultBoolean(false)
+ public boolean showHiddenNEIItems;
+
+ @Config.Comment("Dumps all GT++ and Toxic Everglade Data to en_US.lang in the config folder. This config option can be used by foreign players to generate blank .lang files, which they can populate with their language of choice.")
+ @Config.DefaultBoolean(false)
+ public boolean dumpItemAndBlockData;
+
+ }
+
+ @Config.Comment("Machines section")
+ public static class Machines {
+
+ @Config.Comment("Allows the use of TC shards across many recipes by oreDicting them into a common group.")
+ @Config.DefaultBoolean(false)
+ public boolean enableThaumcraftShardUnification;
+
+ @Config.Comment("Alkaluscraft Related - Removes IC2 Cables Except glass fibre. Few other Misc Tweaks.")
+ @Config.DefaultBoolean(false)
+ public boolean disableIC2Recipes;
+ @Config.Comment("Sets the steam per second value in LV,MV,HV boilers (respectively 1x,2x,3x this number for the tiers)")
+ @Config.DefaultInt(750)
+ public int boilerSteamPerSecond;
+ }
+
+ @Config.Comment("GregTech section")
+ public static class Gregtech {
+
+ @Config.Comment("Rotors below this durability will be removed, prevents NEI clutter. Minimum Durability is N * x, where N is the new value set and x is the turbine size, where 1 is Tiny and 4 is Huge. Set to 0 to disable.")
+ @Config.DefaultInt(25_500)
+ public int turbineCutoffBase;
+ }
+
+ @Config.Comment("Pollution section")
+ public static class Pollution {
+
+ @Config.Comment("pollution rate in gibbl/s for the Amazon warehousing depot")
+ @Config.DefaultInt(40)
+ public int pollutionPerSecondMultiPackager;
+ @Config.Comment("pollution rate in gibbl/s for the Alloy blast smelter")
+ @Config.DefaultInt(300)
+ public int pollutionPerSecondMultiIndustrialAlloySmelter;
+ @Config.Comment("pollution rate in gibbl/s for the High current arc furnace")
+ @Config.DefaultInt(2_400)
+ public int pollutionPerSecondMultiIndustrialArcFurnace;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial centrifuge")
+ @Config.DefaultInt(300)
+ public int pollutionPerSecondMultiIndustrialCentrifuge;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial coke oven")
+ @Config.DefaultInt(80)
+ public int pollutionPerSecondMultiIndustrialCokeOven;
+ @Config.Comment("pollution rate in gibbl/s for the Cutting factory")
+ @Config.DefaultInt(160)
+ public int pollutionPerSecondMultiIndustrialCuttingMachine;
+ @Config.Comment("pollution rate in gibbl/s for the Utupu-Tanuri")
+ @Config.DefaultInt(500)
+ public int pollutionPerSecondMultiIndustrialDehydrator;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial electrolyzer")
+ @Config.DefaultInt(300)
+ public int pollutionPerSecondMultiIndustrialElectrolyzer;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial extrusion machine")
+ @Config.DefaultInt(1_000)
+ public int pollutionPerSecondMultiIndustrialExtruder;
+ @Config.Comment("pollution rate in gibbl/s for the Maceration stack")
+ @Config.DefaultInt(400)
+ public int pollutionPerSecondMultiIndustrialMacerator;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial mixing machine")
+ @Config.DefaultInt(800)
+ public int pollutionPerSecondMultiIndustrialMixer;
+ @Config.Comment("pollution rate in gibbl/s for the Large processing factory in metal mode")
+ @Config.DefaultInt(400)
+ public int pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal;
+ @Config.Comment("pollution rate in gibbl/s for the Large processing factory in fluid mode")
+ @Config.DefaultInt(400)
+ public int pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid;
+ @Config.Comment("pollution rate in gibbl/s for the Large processing factory in misc mode")
+ @Config.DefaultInt(600)
+ public int pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial material press in forming mode")
+ @Config.DefaultInt(240)
+ public int pollutionPerSecondMultiIndustrialPlatePress_ModeForming;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial material press in bending mode")
+ @Config.DefaultInt(480)
+ public int pollutionPerSecondMultiIndustrialPlatePress_ModeBending;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial Forge Hammer")
+ @Config.DefaultInt(250)
+ public int pollutionPerSecondMultiIndustrialForgeHammer;
+ @Config.Comment("pollution rate in gibbl/s for the Large Sifter")
+ @Config.DefaultInt(40)
+ public int pollutionPerSecondMultiIndustrialSifter;
+ @Config.Comment("pollution rate in gibbl/s for the Large thermal refinery")
+ @Config.DefaultInt(1_000)
+ public int pollutionPerSecondMultiIndustrialThermalCentrifuge;
+ @Config.Comment("pollution rate in gibbl/s for the Industrial fluid heater")
+ @Config.DefaultInt(1_000)
+ public int pollutionPerSecondMultiIndustrialFluidHeater;
+ @Config.Comment("pollution rate in gibbl/s for the Cryogenic freezer")
+ @Config.DefaultInt(500)
+ public int polluti