aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/config
diff options
context:
space:
mode:
authorboubou19 <miisterunknown@gmail.com>2024-08-27 20:50:30 +0200
committerGitHub <noreply@github.com>2024-08-27 18:50:30 +0000
commit4908d5967c3dfeff5616c65144e701859b9e30a2 (patch)
tree3e58a4b8ebd8b70745e81c4c71c765980e4ec4f4 /src/main/java/gregtech/common/config
parent3c574facfb224029c0b69865e281023da6170ce0 (diff)
downloadGT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.tar.gz
GT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.tar.bz2
GT5-Unofficial-4908d5967c3dfeff5616c65144e701859b9e30a2.zip
Config/gregtech.cfg (#2939)
* first pass on config migration * second pass on config migration * removing bad configs * rename config classes and register them * move debug options to its own debug category * migrate pollution * finish migrating general config * removing useless config * finish GregTech.cfg port to GTNHLib * don't accidentally force panic mode in dev env * typo * defaults are now handled by the confg handler * remove dead config * force config save after defaults are being written * stop messing with the GregTech.cfg externally * removing comments * new underground fluid builder and porting default underground fluids to code * move config handlers of gregtech.cfg in their own package * process MachineStats.cfg * yeeted MaterialProperties.cfg * remove unused compat in GTNH * process OverpoweredStuff.cfg * process Other.cfg * ungregify some config variables * remove unused variables * fix Ids.cfg not being populated * delete duplicate printing of MTE IDs in GT5U clients * bump hodgepodge version to get mod phase timers * process Client.cfg * fix bad category naming * registering all the config handlers in gui * bump GTNHLib version * actually only registering client configs * use proper double arrays now * move GT ore mixes to patternbuilders * dead code * fix multifiles config not being handled properly * import class from NHCore * removing reflection * use enums for registration * yeet config for Asteroid dimensions * remove unused since 2015 enum entry * todo * rework oremix enums * imported dimension data in enums * convert old dirty predicate into proper one * hook gagreg onto the OreMixes enum * finally nuke worldgen.ore.mix config category! * hook gagreg small ores onto the SmallOres enum * imported dim values in enum * fix dirty work around in vm predicate * yeet unused classes * hook GT stones to GTStones enum * yeet all the remaining booleans in the worldgen category * port endasteroids category * port general category * deprecated * yeet unused bw compat * finish worldgen config migration * hardcode config into code * remove not generated config entry * remove Unification.cfg * fix build * migrate oreveins away from config * migrate small ores away from config * delete config parser * forgotten * fix EoH recipe crash in dev * fix GT NEI Ore Plugin config and csv paths * shade opencsv * rewrite csv generator * spotless apply
Diffstat (limited to 'src/main/java/gregtech/common/config')
-rw-r--r--src/main/java/gregtech/common/config/client/ConfigColorModulation.java25
-rw-r--r--src/main/java/gregtech/common/config/client/ConfigInterface.java29
-rw-r--r--src/main/java/gregtech/common/config/client/ConfigPreference.java21
-rw-r--r--src/main/java/gregtech/common/config/client/ConfigRender.java46
-rw-r--r--src/main/java/gregtech/common/config/client/ConfigWaila.java21
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigDebug.java79
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigFeatures.java34
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigGeneral.java254
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigHarvestLevel.java28
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigMachines.java147
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigOreDropBehavior.java24
-rw-r--r--src/main/java/gregtech/common/config/gregtech/ConfigPollution.java129
-rw-r--r--src/main/java/gregtech/common/config/machinestats/ConfigBronzeSolarBoiler.java32
-rw-r--r--src/main/java/gregtech/common/config/machinestats/ConfigMachines.java34
-rw-r--r--src/main/java/gregtech/common/config/machinestats/ConfigMassFabricator.java33
-rw-r--r--src/main/java/gregtech/common/config/machinestats/ConfigMicrowaveEnergyTransmitter.java28
-rw-r--r--src/main/java/gregtech/common/config/machinestats/ConfigSteelSolarBoiler.java32
-rw-r--r--src/main/java/gregtech/common/config/machinestats/ConfigTeleporter.java28
-rw-r--r--src/main/java/gregtech/common/config/opstuff/ConfigGeneral.java48
-rw-r--r--src/main/java/gregtech/common/config/other/ConfigGeneral.java24
-rw-r--r--src/main/java/gregtech/common/config/worldgen/ConfigEndAsteroids.java33
-rw-r--r--src/main/java/gregtech/common/config/worldgen/ConfigGeneral.java48
22 files changed, 1177 insertions, 0 deletions
diff --git a/src/main/java/gregtech/common/config/client/ConfigColorModulation.java b/src/main/java/gregtech/common/config/client/ConfigColorModulation.java
new file mode 100644
index 0000000000..f5b189136e
--- /dev/null
+++ b/src/main/java/gregtech/common/config/client/ConfigColorModulation.java
@@ -0,0 +1,25 @@
+package gregtech.common.config.client;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(
+ modid = Mods.Names.GREG_TECH,
+ category = "color_modulation",
+ configSubDirectory = "GregTech",
+ filename = "Client")
+public class ConfigColorModulation {
+
+ @Config.Comment("hex value for the cable insulation color modulation.")
+ @Config.DefaultString("#404040")
+ public static String cableInsulation;
+
+ @Config.Comment("hex value for the construction foam color modulation.")
+ @Config.DefaultString("#404040")
+ public static String constructionFoam;
+
+ @Config.Comment("hex value for the machine metal color modulation.")
+ @Config.DefaultString("#D2DCFF")
+ public static String machineMetal;
+}
diff --git a/src/main/java/gregtech/common/config/client/ConfigInterface.java b/src/main/java/gregtech/common/config/client/ConfigInterface.java
new file mode 100644
index 0000000000..261be6f51c
--- /dev/null
+++ b/src/main/java/gregtech/common/config/client/ConfigInterface.java
@@ -0,0 +1,29 @@
+package gregtech.common.config.client;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "interface", configSubDirectory = "GregTech", filename = "Client")
+public class ConfigInterface {
+
+ @Config.Comment("if true, makes cover tabs visible on GregTech machines.")
+ @Config.DefaultBoolean(true)
+ public static boolean coverTabsVisible;
+
+ @Config.Comment("if true, puts the cover tabs display on the right of the UI instead of the left.")
+ @Config.DefaultBoolean(false)
+ public static boolean coverTabsFlipped;
+
+ @Config.Comment("How verbose should tooltips be? 0: disabled, 1: one-line, 2: normal, 3+: extended.")
+ @Config.DefaultInt(2)
+ public static int tooltipVerbosity;
+
+ @Config.Comment("How verbose should tooltips be when LSHIFT is held? 0: disabled, 1: one-line, 2: normal, 3+: extended.")
+ @Config.DefaultInt(3)
+ public static int tooltipShiftVerbosity;
+
+ @Config.Comment("Which style to use for title tab on machine GUI? 0: text tab split-dark, 1: text tab unified, 2: item icon tab.")
+ @Config.DefaultInt(0)
+ public static int titleTabStyle;
+}
diff --git a/src/main/java/gregtech/common/config/client/ConfigPreference.java b/src/main/java/gregtech/common/config/client/ConfigPreference.java
new file mode 100644
index 0000000000..f69ee8b890
--- /dev/null
+++ b/src/main/java/gregtech/common/config/client/ConfigPreference.java
@@ -0,0 +1,21 @@
+package gregtech.common.config.client;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "preference", configSubDirectory = "GregTech", filename = "Client")
+public class ConfigPreference {
+
+ @Config.Comment("if true, input filter will initially be on when input buses are placed in the world.")
+ @Config.DefaultBoolean(false)
+ public static boolean inputBusInitialFilter;
+
+ @Config.Comment("if true, allow multistacks on single blocks by default when they are first placed in the world.")
+ @Config.DefaultBoolean(false)
+ public static boolean singleBlockInitialAllowMultiStack;
+
+ @Config.Comment("if true, input filter will initially be on when machines are placed in the world.")
+ @Config.DefaultBoolean(false)
+ public static boolean singleBlockInitialFilter;
+}
diff --git a/src/main/java/gregtech/common/config/client/ConfigRender.java b/src/main/java/gregtech/common/config/client/ConfigRender.java
new file mode 100644
index 0000000000..27860a13cb
--- /dev/null
+++ b/src/main/java/gregtech/common/config/client/ConfigRender.java
@@ -0,0 +1,46 @@
+package gregtech.common.config.client;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "render", configSubDirectory = "GregTech", filename = "Client")
+public class ConfigRender {
+
+ @Config.Comment("if true, enables ambient-occlusion smooth lighting on tiles.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderTileAmbientOcclusion;
+
+ @Config.Comment("if true, enables glowing of the machine controllers.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderGlowTextures;
+
+ @Config.Comment("if true, render flipped machine with flipped textures.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderFlippedMachinesFlipped;
+
+ @Config.Comment("if true, render indicators on hatches.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderIndicatorsOnHatch;
+
+ @Config.Comment("if true, enables dirt particles when pollution reaches the threshold.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderDirtParticles;
+
+ @Config.Comment("if true, enables pollution fog when pollution reaches the threshold.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderPollutionFog;
+
+ @Config.Comment("if true, enables the green -> red durability for an item's damage value.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderItemDurabilityBar;
+
+ @Config.Comment("if true, enables the blue charge bar for an electric item's charge.")
+ @Config.DefaultBoolean(true)
+ public static boolean renderItemChargeBar;
+
+ @Config.Comment("enables BaseMetaTileEntity block updates handled by BlockUpdateHandler.")
+ @Config.DefaultBoolean(false)
+ public static boolean useBlockUpdateHandler;
+
+}
diff --git a/src/main/java/gregtech/common/config/client/ConfigWaila.java b/src/main/java/gregtech/common/config/client/ConfigWaila.java
new file mode 100644
index 0000000000..9d6f732941
--- /dev/null
+++ b/src/main/java/gregtech/common/config/client/ConfigWaila.java
@@ -0,0 +1,21 @@
+package gregtech.common.config.client;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "waila", configSubDirectory = "GregTech", filename = "Client")
+
+public class ConfigWaila {
+
+ /**
+ * This enables showing voltage tier of transformer for Waila, instead of raw voltage number
+ */
+ @Config.Comment("if true, enables showing voltage tier of transformer for Waila, instead of raw voltage number.")
+ @Config.DefaultBoolean(true)
+ public static boolean wailaTransformerVoltageTier;
+
+ @Config.Comment("if true, enables showing voltage tier of transformer for Waila, instead of raw voltage number.")
+ @Config.DefaultBoolean(false)
+ public static boolean wailaAverageNS;
+}
diff --git a/src/main/java/gregtech/common/config/gregtech/ConfigDebug.java b/src/main/java/gregtech/common/config/gregtech/ConfigDebug.java
new file mode 100644
index 0000000000..fe5fc52b13
--- /dev/null
+++ b/src/main/java/gregtech/common/config/gregtech/ConfigDebug.java
@@ -0,0 +1,79 @@
+package gregtech.common.config.gregtech;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "debug", configSubDirectory = "GregTech", filename = "GregTech")
+public class ConfigDebug {
+
+ @Config.Comment("enable D1 flag (a set of debug logs)")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean D1;
+
+ @Config.Comment("enable D2 flag (another set of debug logs)")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean D2;
+
+ @Config.Comment("This will prevent NEI from crashing but spams the Log.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean allowBrokenRecipeMap;
+
+ @Config.Comment("Debug parameters for cleanroom testing.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugCleanroom;
+
+ @Config.Comment("Debug parameter for driller testing.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugDriller;
+
+ @Config.Comment("Debug parameter for world generation. Tracks chunks added/removed from run queue.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugWorldgen;
+
+ @Config.Comment("Debug parameter for orevein generation.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugOrevein;
+
+ @Config.Comment("Debug parameter for small ore generation.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugSmallOres;
+
+ @Config.Comment("Debug parameter for stones generation.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugStones;
+
+ @Config.Comment("Debug parameter for single block miner.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugBlockMiner;
+
+ @Config.Comment("Debug parameter for single block pump.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugBlockPump;
+
+ @Config.Comment("Debug parameter for entity cramming reduction.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugEntityCramming;
+
+ @Config.Comment("Debug parameter for gregtech.api.util.GT_ChunkAssociatedData")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugWorldData;
+
+ @Config.Comment("Debug parameter for chunk loaders.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean debugChunkloaders;
+}
diff --git a/src/main/java/gregtech/common/config/gregtech/ConfigFeatures.java b/src/main/java/gregtech/common/config/gregtech/ConfigFeatures.java
new file mode 100644
index 0000000000..82a86f9186
--- /dev/null
+++ b/src/main/java/gregtech/common/config/gregtech/ConfigFeatures.java
@@ -0,0 +1,34 @@
+package gregtech.common.config.gregtech;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "features", configSubDirectory = "GregTech", filename = "GregTech")
+public class ConfigFeatures {
+
+ @Config.Comment("Controls the stacksize of tree related blocks.")
+ @Config.DefaultInt(64)
+ @Config.RequiresMcRestart
+ public static int maxLogStackSize;
+
+ @Config.Comment("Controls the stacksize of every oredicted prefix based items used for blocks (if that even makes sense)")
+ @Config.DefaultInt(64)
+ @Config.RequiresMcRestart
+ public static int maxOtherBlocksStackSize;
+
+ @Config.Comment("Controls the stacksize of oredicted planks.")
+ @Config.DefaultInt(64)
+ @Config.RequiresMcRestart
+ public static int maxPlankStackSize;
+
+ @Config.Comment("Controls the stacksize of oredicted items used in ore treatment.")
+ @Config.DefaultInt(64)
+ @Config.RequiresMcRestart
+ public static int maxOreStackSize;
+
+ @Config.Comment("Controls the stacksize of IC2 overclocker upgrades.")
+ @Config.DefaultInt(4)
+ @Config.RequiresMcRestart
+ public static int upgradeStackSize;
+}
diff --git a/src/main/java/gregtech/common/config/gregtech/ConfigGeneral.java b/src/main/java/gregtech/common/config/gregtech/ConfigGeneral.java
new file mode 100644
index 0000000000..e2ac011d39
--- /dev/null
+++ b/src/main/java/gregtech/common/config/gregtech/ConfigGeneral.java
@@ -0,0 +1,254 @@
+package gregtech.common.config.gregtech;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "general", configSubDirectory = "GregTech", filename = "GregTech")
+public class ConfigGeneral {
+
+ @Config.Comment("Control percentage of filled 3x3 chunks. Lower number means less oreveins spawn.")
+ @Config.DefaultInt(100)
+ @Config.RequiresMcRestart
+ public static int oreveinPercentage;
+
+ @Config.Comment("Control number of attempts to find a valid orevein. Generally this maximum limit isn't hit, selecting a vein is cheap")
+ @Config.DefaultInt(64)
+ @Config.RequiresMcRestart
+ public static int oreveinAttempts;
+
+ @Config.Comment("Control number of attempts to place a valid ore vein. If a vein wasn't placed due to height restrictions, completely in the water, etc, another attempt is tried.")
+ @Config.DefaultInt(8)
+ @Config.RequiresMcRestart
+ public static int oreveinMaxPlacementAttempts;
+
+ @Config.Comment("Whether to place small ores as placer ores for an orevein.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean oreveinPlacerOres;
+
+ @Config.Comment("Multiplier to control how many placer ores get generated.")
+ @Config.DefaultInt(2)
+ @Config.RequiresMcRestart
+ public static int oreveinPlacerOresMultiplier;
+
+ @Config.Comment("If true, enables the timber axe (cuts down whole tree in a single hit).")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean timber;
+
+ @Config.Comment("If true, all the GT5U potions are always drinkable.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean drinksAlwaysDrinkable;
+
+ @Config.Comment("if true, shows all the metaitems in creative and in NEI.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean doShowAllItemsInCreative;
+
+ @Config.Comment("if true, makes the GT5U sounds multi-threaded.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean multiThreadedSounds;
+
+ @Config.Comment("Max entity amount in the same block for entity craming.")
+ @Config.DefaultInt(6)
+ @Config.RequiresMcRestart
+ public static int maxEqualEntitiesAtOneSpot;
+
+ @Config.Comment("The chance of success to start a fire from the flint and steel.")
+ @Config.DefaultInt(30)
+ @Config.RequiresMcRestart
+ public static int flintChance;
+
+ @Config.Comment("Entity despawn time.")
+ @Config.DefaultInt(6000)
+ @Config.RequiresMcRestart
+ public static int itemDespawnTime;
+
+ @Config.Comment("If true, allows small boiler automation.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean allowSmallBoilerAutomation;
+
+ @Config.Comment("If true, increases dungeon loots in vanilla structures.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean increaseDungeonLoot;
+
+ @Config.Comment("If true, spawns an axe at the start in adventure mode. Does nothing if the advanture mode isn't forced.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean axeWhenAdventure;
+
+ @Config.Comment("If true, forces the survival map into adventure mode.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean survivalIntoAdventure;
+
+ @Config.Comment("If true, hungers the players based on his amount of stuff in the inventory every 6s, regardless of player movement.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean hungerEffect;
+
+ @Config.Comment("If true, enables the item oredification of the items in the inventory.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean inventoryUnification;
+
+ @Config.Comment("if true, enables GT5U and GT++ bees.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean GTBees;
+
+ @Config.Comment("if true, enables crafting unification.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean craftingUnification;
+
+ @Config.Comment("If true, nerfs planks recipes.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean nerfedWoodPlank;
+
+ @Config.Comment("if true, reduces the durability of the vanilla tools.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean nerfedVanillaTools;
+
+ @Config.Comment("if true, enables GT5U achievements.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean achievements;
+
+ @Config.Comment("if true, hides unused ores.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean hideUnusedOres;
+
+ @Config.Comment("if true, enables all the materials in GT5U.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean enableAllMaterials;
+
+ @Config.Comment("Controls the amount of tick over the lag averaging is done with the scanner.")
+ @Config.DefaultInt(25)
+ @Config.RequiresMcRestart
+ public static int ticksForLagAveraging;
+
+ @Config.Comment("Controls the threshold (in ms) above which a lag warning is issued in log for a specific tile entity.")
+ @Config.DefaultInt(100)
+ @Config.RequiresMcRestart
+ public static int millisecondThesholdUntilLagWarning;
+
+ @Config.Comment("if true, drops the content of the machine inventory before exploding.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean explosionItemDrop;
+
+ @Config.Comment("if true, enables the cleanroom multi.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean enableCleanroom;
+
+ @Config.Comment("if true, enables low gravity requirement in some crafts. Is forced to false if GalactiCraft is not present.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean lowGravProcessing;
+
+ @Config.Comment("if true, crops need a block below to fully grow.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean cropNeedBlock;
+
+ @Config.Comment("if yes, allows the automatic interactions with the maintenance hatches.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean autoMaintenaceHatchesInteraction;
+
+ @Config.Comment("if true, mixed ores only yields the equivalent of 2/3 of the pure ores.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean mixedOreOnlyYieldsTwoThirdsOfPureOre;
+
+ @Config.Comment("if true, rich ores yield twice as much as normal ores.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean richOreYieldMultiplier;
+
+ @Config.Comment("if true, nether ores yield twice as much as normal ores.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean netherOreYieldMultiplier;
+
+ @Config.Comment("if true, end ores yield twice as much as normal ores.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean endOreYieldMultiplier;
+
+ @Config.Comment("if true, enables GT6 styled pipe connections.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean gt6Pipe;
+
+ @Config.Comment("if true, enables GT6 styled wire connections.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean gt6Cable;
+
+ @Config.Comment("if true, allows GT5U cables to be IC2 power sources.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean ic2EnergySourceCompat;
+
+ @Config.Comment("if true, wires will require soldering material to be connected.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean costlyCableConnection;
+
+ @Config.Comment("if true, crashes on null recipe input.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean crashOnNullRecipeInput;
+
+ @Config.Comment("if true, enable placeholder for material names in lang file.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean i18nPlaceholder;
+
+ @Config.Comment("if true, sets the hardness of the mobspawers to 500 and their blast resistance to 6 000 000.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean harderMobSpawner;
+
+ @Config.Comment("Controls the minimum distance allowed for the long distance pipelines to form.")
+ @Config.DefaultInt(64)
+ @Config.RequiresMcRestart
+ public static int minimalDistancePoints;
+
+ @Config.Comment("This will set the blacklist of blocks for CTM blocks.")
+ @Config.DefaultStringList({ "team.chisel.block.BlockRoadLine" })
+ @Config.RequiresMcRestart
+ public static String[] CTMBlacklist;
+
+ @Config.Comment("This will set the whitelist of blocks for CTM blocks.")
+ @Config.DefaultStringList({ "team.chisel.block.BlockCarvable", "team.chisel.block.BlockCarvableGlass" })
+ @Config.RequiresMcRestart
+ public static String[] CTMWhitelist;
+
+ @Config.Comment("if true, logs all the oredict in logs/OreDict.log.")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean loggingOreDict;
+
+ @Config.Comment("if true, logs all the oredict in logs/Explosion.log.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean loggingExplosions;
+
+ @Config.Comment("if true, log all the oredict in logs/PlayerActivity.log.")
+ @Config.DefaultBoolean(true)
+ @Config.RequiresMcRestart
+ public static boolean loggingPlayerActicity;
+}
diff --git a/src/main/java/gregtech/common/config/gregtech/ConfigHarvestLevel.java b/src/main/java/gregtech/common/config/gregtech/ConfigHarvestLevel.java
new file mode 100644
index 0000000000..f924ceda8d
--- /dev/null
+++ b/src/main/java/gregtech/common/config/gregtech/ConfigHarvestLevel.java
@@ -0,0 +1,28 @@
+package gregtech.common.config.gregtech;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(
+ modid = Mods.Names.GREG_TECH,
+ category = "harvest_level",
+ configSubDirectory = "GregTech",
+ filename = "GregTech")
+public class ConfigHarvestLevel {
+
+ @Config.Comment("Activate Harvest Level Change")
+ @Config.DefaultBoolean(false)
+ @Config.RequiresMcRestart
+ public static boolean activateHarvestLevelChange;
+
+ @Config.Comment("Maximum harvest level")
+ @Config.DefaultInt(7)
+ @Config.RequiresMcRestart
+ public static int maxHarvestLevel;
+
+ @Config.Comment("GraniteHarvestLevel harvest level")
+ @Config.DefaultInt(3)
+ @Config.RequiresMcRestart
+ public static int graniteHarvestLevel;
+}
diff --git a/src/main/java/gregtech/common/config/gregtech/ConfigMachines.java b/src/main/java/gregtech/common/config/gregtech/ConfigMachines.java
new file mode 100644
index 0000000000..06f6c0c18f
--- /dev/null
+++ b/src/main/java/gregtech/common/config/gregtech/ConfigMachines.java
@@ -0,0 +1,147 @@
+package gregtech.common.config.gregtech;
+
+import com.gtnewhorizon.gtnhlib.config.Config;
+
+import gregtech.api.enums.Mods;
+
+@Config(modid = Mods.Names.GREG_TECH, category = "machines", configSubDirectory = "GregTech", filename = "GregTech")
+public class ConfigMachines {
+
+ @Config.Comment("Number of ticks between sending sound packets to clients for electric machines. Default is 1.5 seconds. Trying to mitigate lag and FPS drops.")
+ @Config.DefaultInt(30)
+ @Config.RequiresMcRestart
+ public static int ticksBetweenSounds;
+
+ @Config.Comment("This will set the blacklist for the world accelerator in TE mode.")
+ @Config.DefaultStringList({ "com.rwtema.extrautils.tileentity.enderquarry.TileEntityEnderQuarry",
+ "advsolar.common.tiles.TileEntityUltimateSolarPanel", "advsolar.common.tiles.TileEntitySolarPanel",
+ "advsolar.common.tiles.TileEntityQuantumSolarPanel", "advsolar.common.tiles.TileEntityHybridSolarPanel",
+ "advsolar.common.tiles.TileEntityAdvancedSolarPanel", "com.supsolpans.tiles.TileAdminSolarPanel",
+ "com.supsolpans.tiles.TilePhotonicSolarPanel", "com.supsolpans.tiles.TileSingularSolarPanel",
+ "com.supsolpans.tiles.TileSpectralSolarPanel", "emt.tile.solar.air.TileEntityAirSolar",
+ "emt.tile.solar.air.TileEntityDoubleAirSolar", "emt.tile.solar.air.TileEntityTripleAirSolar",
+ "emt.tile.solar.air.TileEntityQuadrupleAirSolar", "emt.tile.solar.air.TileEntityQuintupleAirSolar",
+ "emt.tile.solar.air.TileEntitySextupleAirSolar", "emt.tile.solar.air.TileEntitySeptupleAirSolar",
+ "emt.tile.solar.air.TileEntityOctupleAirSolar", "emt.tile.solar.compressed.TileEntityCompressedSolar",
+ "emt.tile.solar.compressed.TileEntityDoubleCompressedSolar",
+ "emt.tile.solar.compressed.TileEntityTripleCompressedSolar",
+ "emt.tile.solar.compressed.TileEntityQuadrupleAirSolar",
+ "emt.tile.solar.compressed.TileEntityQuintupleAirSolar", "emt.tile.solar.compressed.TileEntitySextupleAirSolar",
+ "emt.tile.solar.compressed.TileEntitySeptupleAirSolar", "emt.tile.solar.compressed.TileEntityOctupleAirSolar",
+ "emt.tile.solar.dark.TileEntityDarkSolar", "emt.tile.solar.dark.TileEntityDoubleDarkSolar",
+ "emt.tile.solar.dark.TileEntityTripleDarkSolar", "emt.tile.solar.dark.TileEntityQuadrupleAirSolar",
+ "emt.tile.solar.dark.TileEntityQuintupleAirSolar", "emt.tile.solar.dark.TileEntitySextupleAirSolar",
+ "emt.tile.solar.dark.TileEntitySeptupleAirSolar", "emt.tile.solar.dark.TileEntityOctupleAirSolar",
+ "emt.tile.solar.earth.TileEntityDoubleEarthSolar", "emt.tile.solar.earth.TileEntityEarthSolar",
+ "emt.tile.solar.earth.TileEntityTripleEarthSolar", "emt.tile.solar.earth.TileEntityQuadrupleAirSolar",
+ "emt.tile.solar.earth.TileEntityQuintupleAirSolar", "emt.tile.solar.earth.TileEntitySextupleAirSolar",
+ "emt.tile.solar.earth.TileEntitySeptupleAirSolar", "emt.tile.solar.earth.TileEntityOctupleAirSolar",
+ "emt.tile.solar.fire.TileEntityDoubleFireSolar", "emt.tile.solar.fire.TileEntityFireSolar",
+ "emt.tile.solar.fire.TileEntityTripleFireSolar", "emt.tile.solar.fire.TileEntityQuadrupleAirSolar",
+ "emt.tile.solar.fire.TileEntityQuintupleAirSolar", "emt.tile.solar.fire.TileEntitySextupleAirSolar",
+ "emt.tile.solar.fire.TileEntitySeptupleAirSolar", "emt.tile.solar.fire.TileEntityOctupleAirSolar",
+ "emt.tile.solar.order.TileEntityDoubleOrderSolar", "emt.tile.solar.order.TileEntityOrderSolar",
+ "emt.tile.solar.order.TileEntityTripleOrderSolar", "emt.tile.solar.order.TileEntityQuadrupleAirSolar",
+ "emt.tile.solar.order.TileEntityQuintupleAirSolar", "emt.tile.solar.order.TileEntitySextupleAirSolar",
+ "emt.tile.solar.order.TileEntitySeptupleAirSolar", "emt.tile.solar.order.TileEntityOctupleAirSolar",
+ "emt.tile.solar.water.TileEntityDoubleWaterSolar", "emt.tile.solar.water.TileEntityTripleWaterSolar",
+ "emt.tile.solar.water.TileEntityWaterSolar", "emt.tile.solar.water.TileEntityQuadrupleAirSolar",
+ "emt.tile.solar.water.TileEntityQuintupleAirSolar", "emt.tile.solar.water.TileEntitySextupleAirSolar",
+ "emt.tile.solar.water.TileEntitySeptupleAirSolar", "emt.tile.solar.water.TileEntityOctupleAirSolar",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkgE",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkgH",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkgL",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkgM",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwaE",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwaH",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwaL",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwaM",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwmE",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwmH",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwmL",
+ "com.lulan.compactkineticgenerators.tileentity.TileCkwmM", "com.supsolpans.tiles.TileSpectralSolarPanel",
+ "com.supsolpans.tiles.TileSingularSolarPanel", "com.supsolpans.tiles.TileAdminSolarPanel",
+ "com.supsolpans.tile