{
  "modernfix.option.mixin.perf.cache_blockstate_cache_arrays": "All versions. Avoids creating fresh copies of enum arrays each time a blockstate cache is initialized. Minor optimization, but easy to do.",
  "modernfix.option.mixin.perf.patchouli_deduplicate_books": "Fix Patchouli books storing many empty items with NBT tags, reducing memory usage.",
  "modernfix.option.mixin.feature.snapshot_easter_egg": "Adds easter egg features (does not affect any vanilla visuals or behavior) when running on a snapshot version.",
  "modernfix.option.mixin.perf.clear_fabric_mapping_tables": "Reduces memory usage by clearing mapping data structures in Fabric Loader that are either redundant or rarely used by mods. Off by default for compatibility reasons.",
  "modernfix.option.mixin.perf.faster_texture_loading": "All versions pre 1.19.4. Avoids reading textures twice (the first time using a very slow code path) and instead does one faster load (similar to 1.19.3+).",
  "modernfix.option.mixin.bugfix.model_data_manager_cme": "Works around design flaws in the Forge ModelDataManager system that can cause unexpected concurrency issues.",
  "asynclocator.map.locating": "Map (Locating...)",
  "modernfix.option.mixin.perf.sync_executor_sleep": "All versions. Avoids having the main thread spin idly consuming one CPU core while waiting for the modloading workers to finish.",
  "modernfix.option.mixin.bugfix.blueprint_modif_memory_leak": "Fixes Blueprint\u0027s ObjectModificationManager leaking vanilla resources, reducing memory usage. Despite the fix being contributed in PR #195 a release was not yet made.",
  "modernfix.option.mixin.feature.stalled_chunk_load_detection": "This option may help to detect the cause of chunkloading freezes. However, leaving it enabled may cause slightly worse performance.",
  "modernfix.option.mixin.bugfix.cofh_core_crash": "Fixes a multithreading issue in CoFH Core that can cause rare crashes during launch.",
  "modernfix.option.category.expert_only.description": "Do not change unless you know what you are doing",
  "modernfix.option.mixin.bugfix.mc218112": "This option fixes a deadlock that can occur if an exception is thrown while processing entity data. Vanilla does not correctly unlock the data manager when it should. This is tracked as MC-218112 on the bug tracker, and was fixed by Mojang in 1.17.",
  "modernfix.option.mixin.perf.tag_id_caching": "Speeds up uses of tag entries by caching the location object instead of recreating it every time",
  "modernfix.option.mixin.perf.compact_bit_storage": "Fixes memory waste caused by some legacy servers (e.g. Hypixel) sending empty chunks as if they contain blocks. Reduces memory usage significantly on these servers.",
  "modernfix.connectedness_dynresoruces": "Connectedness and ModernFix\u0027s dynamic resources option are not compatible. Remove Connectedness or disable dynamic resources in the ModernFix config.",
  "modernfix.option.mixin.perf.state_definition_construct": "All versions. Enabled only if FerriteCore is installed. Takes advantage of FerriteCore\u0027s handling of blockstates to speed up their creation. This can help speed up launch with mods that add lots of blockstates, such as furniture mods.",
  "modernfix.option.mixin.perf.dynamic_entity_renderers": "Constructs entity models the first time they are seen instead of during launch. Some mods are not compatible with this option and will cause EntityRenderer crashes.",
  "modernfix.option.mixin.perf.twilightforest.structure_spawn_fix": "Fixes lag caused by Twilight Forest worldgen checking structures very inefficiently",
  "modernfix.option.category.bugfixes": "Bugfixes",
  "modernfix.config.wiki": "Open wiki",
  "modernfix.option.mixin.perf.cache_strongholds": "All versions. Saves the generated list of stronghold positions with the world, instead of regenerating it on every world load. Saves a little bit of time on 1.16, and quite a bit more on 1.18 and 1.19.",
  "modernfix.option.mixin.bugfix.remove_block_chunkloading": "Fixes zombie pigmen keeping the 0, 0 chunk loaded perpetually on Forge. Backport of Forge PR #8583.",
  "modernfix.option.mixin.perf.dynamic_resources.supermartijncore": "SuperMartijn642CoreLib compatibility patch for dynamic resources",
  "modernfix.no_ferritecore": "FerriteCore is not installed. Memory usage will be very high.",
  "modernfix.option.mixin.perf.kubejs": "1.16 only. Optimizations to KubeJS to avoid needless `ItemStack` copying, etc., which reduces the time taken to load datapacks.",
  "modernfix.option.disabled": "disabled",
  "modernfix.option.mixin.perf.forge_cap_retrieval": "Small micro-optimization that makes retrieving custom entity data slightly more efficient on Forge.",
  "modernfix.option.mixin.perf.fast_forge_dummies": "Speeds up Forge registry freezing during launch by using a faster code path",
  "modernfix.perf_mod_warning": "It is recommended to install the mods, but the warning(s) can be disabled in the ModernFix config.",
  "modernfix.option.mixin.perf.remove_biome_temperature_cache": "All versions. Removes the biome temperature cache as Lithium does on modern versions.",
  "modernfix.option.category.bugfixes.description": "Core bugfixes to improve game stability",
  "modernfix.option.mixin.perf.thread_priorities": "All versions. Adjusts the worker and server thread priorities to be lower than the client thread. This helps improve FPS stability on machines with few CPU cores, provided that the Java implementation in use respects priorities.",
  "modernfix.option.mixin.bugfix.entity_load_deadlock": "Fixes many issues where EntityJoinWorldEvent/EntityJoinLevelEvent cause a worldgen deadlock, by slightly deferring entity loading. Should not, however, cause any noticeable behavior changes in-game.",
  "key.modernfix": "ModernFix",
  "modernfix.option.mixin.perf.dedicated_reload_executor": "All versions. Moves resource pack and data pack reloading to a dedicated worker pool instead of using the default `Worker-Main` threads. This allows mods to Smooth Boot to still potentially improve singleplayer performance at runtime while not slowing down launch due to a limited thread count.",
  "modernfix.option.mixin.perf.deduplicate_climate_parameters": "Deduplicates climate parameter objects used by the new biome system, can save ~2MB but also slows down datapack reload somewhat.",
  "modernfix.option.mixin.bugfix.starlight_emptiness": "Fixes an occasional Starlight crash due to emptiness maps not being initialized. Backport of the same fix in Starlight for 1.18.x.",
  "modernfix.message.reload_config": "A mod config file change was detected. To prevent loading files that aren\u0027t done saving, reloading must be triggered by running /mfrc.",
  "modernfix.option.category.expert_only": "Expert only",
  "modernfix.option.off": "off",
  "modernfix.option.mixin.bugfix.paper_chunk_patches": "1.18 and newer. **A key optimization.** Ports a patch from Paper that fixes issues on 1.17 with chunkloading requiring huge amounts of memory and generating many `CompletableFuture` instances. 1.18+ are now able to load worlds on only 400MB of memory like 1.16 could.",
  "modernfix.option.mixin.perf.mojang_registry_size": "Fixes an issue causing registration of blocks/items to slow down proportional to the number already registered. This improves startup time.",
  "modernfix.option.mixin.perf.dynamic_structure_manager": "All versions. Allows the game to unload structure files after generation concludes instead of keeping them loaded forever.",
  "modernfix.option.mixin.bugfix.refinedstorage.te_bug": "Fixes Refined Storage external storage blocks occasionally failing to show contents of drawers, etc. when loaded. Backport of Refined Storage PR #3435, which was only applied to 1.18 and later.",
  "modernfix.option.mixin.feature.measure_time": "Uses a couple injections to measure world load time, datapack reload time, resource reload time, bootstrap time, and adds the necessary hooks to enable vanilla\u0027s unused profiler logic for resource reloading if so configured.",
  "modernfix.config.done_restart": "Done (restart required)",
  "modernfix.option.category.troubleshooting": "Troubleshooting/Utilities",
  "modernfix.config.not_default": " (modified)",
  "modernfix.option.mixin.perf.faster_item_rendering": "All versions. Avoids rendering the sides of items in GUIs. (Yes, vanilla appears to do that.)\n\nThis can triple FPS with a mod like REI/JEI installed on weaker GPUs, if enough items are visible. Disabled by default since it\u0027s new and not tested much, but should be safe. The most likely issue is items being completely invisible in GUIs, or appearing flat in the world.",
  "modernfix.option.mixin.perf.boost_worker_count": "1.16 only. Removes the hardcoded cap on worker thread count, similarly to what Mojang did in 1.18.",
  "modernfix.option.name.mixin.perf.async_jei": "Background JEI loading",
  "modernfix.option.mixin.feature.spam_thread_dump": "**To be used for debugging purposes only.** Causes a thread dump to be output to the log every 60 seconds. This can help to diagnose unexplained freezes during loading/gameplay.",
  "modernfix.option.mixin.perf.dynamic_resources.rs": "Refined Storage compatibility patch for dynamic resources",
  "modernfix.option.mixin.perf.compact_mojang_registries": "(Fabric) Experimental option that reduces the memory usage of registries by roughly 50%. Not useful in most modpacks unless they contain millions of blocks and items.",
  "modernfix.option.mixin.perf.remove_spawn_chunks": "Completely removes spawn chunks from the game. They are no longer loaded at all, unlike Ksyxis.",
  "modernfix.option.mixin.perf.dynamic_block_codecs": "Avoids storing a codec for every block(state) and instead generates and caches it on the fly when needed. Generally not worth enabling unless you have a million blocks/items.",
  "modernfix.option.mixin.perf.faster_texture_stitching": "All versions. Enables the game to use a faster texture stitching system originally written by SuperCoder79 for lwjgl3ify on 1.7.10, which can save some time during loading. Rarely, it\u0027s been reported to cause weird artifacts on blocks or in GUIs, this may be a Sodium bug.",
  "modernfix.option.mixin.perf.model_optimizations": "All versions. Implements optimizations to speed up the model loading process.",
  "modernfix.option.mixin.devenv": "Patches used when running in a development environment, for speed improvement and/or testing",
  "modernfix.option.mixin.perf.jeresources_startup": "1.16 only. Optimizes Just Enough Resources to not needlessly recreate villager entities many times for the same profession, which saves time during JEI startup.",
  "modernfix.option.category.performance.description": "Features that help improve game/launch performance",
  "modernfix.option.mixin.bugfix.chunk_deadlock": "Attempts to prevent chunk system deadlocks or provide additional debug information in the log when they occur. These deadlocks usually manifest as the server freezing indefinitely (e.g. entities not moving), while the client continues to work just fine.",
  "modernfix.option.mixin.bugfix.world_leaks": "Reduces the memory usage of old client-side worlds that aren\u0027t needed after switching dimensions. These are normally garbage collected in vanilla, but mods sometimes retain references to them.",
  "modernfix.option.mixin.perf.dynamic_sounds": "All versions. Allows the game to unload sounds, instead of sounds indefinitely persisting after being loaded.",
  "modernfix.option.mixin.bugfix.item_cache_flag": "Fixes MC-258939",
  "modernfix.option.mixin.bugfix.tf_cme_on_load": "Patches Twilight Forest to perform non-thread-safe client setup using the main thread as it should, rather than the FML worker thread.",
  "modernfix.option.mixin.perf.faster_advancements": "Rewrites the advancement checking logic to be faster and not cause StackOverflowError in large packs. Port of Advancements Debug from Fabric.",
  "modernfix.option.mixin.bugfix.recipe_book_type_desync": "Fixes Forge clients being disconnected when connecting to a vanilla server if mods add custom recipe book entry types.",
  "modernfix.option.mixin.bugfix.packet_leak": "**Experimental**, not enabled by default. An attempted fix for the memory leak issue that occurs after playing long enough on 1.16.",
  "modernfix.option.mixin.bugfix.removed_dimensions": "Fixes the game failing to load worlds if dimension mods are removed. Backport of Forge PR #8959.",
  "modernfix.option.mixin.perf.cache_model_materials": "All versions. Memoizes the `RenderMaterial` (texture) collection and dependency list that models return instead of requiring them to be recalculated on each request. Helps accelerate the model load/bake process.",
  "modernfix.option.enabled": "enabled",
  "modernfix.option.mixin.perf.fix_loop_spin_waiting": "Fixes Minecraft\u0027s built-in wait function consuming excessive amounts of CPU resources.",
  "modernfix.option.mixin.perf.dynamic_resources.ae2": "AE2 compatibility patch for dynamic resources",
  "modernfix.jei_load": "Loading JEI, this may take a while",
  "modernfix.option.mixin.perf.cache_upgraded_structures": "All versions. Many mods ship outdated structure files, which requires the game to upgrade them using DFU every single time they are loaded. This can be quite slow. This patch adds logic to instead save the upgraded version of the structure, and reuse it on the next load. To handle the case that the mod changes a structure file but not the name, the original file\u0027s hash is compared against the cached version, and if they do not match the structure will be upgraded again.",
  "asynclocator.map.none": "Map (No nearby feature found)",
  "modernfix.option.mixin.perf.datapack_reload_exceptions": "All versions. Reduces log spam and possibly slightly improves loading speed by not printing the stacktraces for some commonly thrown exceptions during datapack reload (e.g. missing items in loot tables/recipes). The message is still printed.",
  "modernfix.option.mixin.bugfix.fix_config_crashes": "Fixes Forge configs occasionally becoming corrupted when launching the game.",
  "modernfix.option.mixin.bugfix.ctm_resourceutil_cme": "Fixes a multithreading issue in ConnectedTexturesMod that can cause rare crashes during launch.",
  "modernfix.option.mixin.perf.fast_registry_validation": "All versions. Forge needlessly looks up a method via reflection every single time a registry is validated. This patch simply caches the returned value since it will be the same every time.",
  "modernfix.option.mixin.perf.compress_biome_container": "1.16 only. Minor optimization borrowed from Hydrogen, which attempts to save space in the biome container when possible. This gets disabled automatically if conflicting mods like BetterEnd or Chocolate are installed.",
  "modernfix.option.mixin.launch.class_search_cache": "Replaces Forge\u0027s resource finder (used to find game and a mod code) with a significantly faster version, speeding up launch",
  "modernfix.option.mixin.bugfix.edge_chunk_not_saved": "This option is a port of SuperCoder\u0027s Chunk Saving Fix mod (because I didn\u0027t realize it was already available for Forge at the time).",
  "modernfix.option.mixin.bugfix.unsafe_modded_shape_caches": "Fixes various ConcurrentModificationExceptions that can occur in content mods when computing block shapes",
  "modernfix.option.mixin.bugfix.chunk_deadlock.valhesia": "Patches Valhesia Structures to fix an issue in its code that causes frequent worldgen/chunkloading deadlocks.",
  "modernfix.option.mixin.perf.deduplicate_location": "All versions, but disabled by default due to load time impact. Deduplicates resource location namespaces and paths. This saves RAM but also increases the cost of constructing a new `ResourceLocation` by quite a bit.",
  "modernfix.option.mixin.perf.dynamic_dfu": "All versions. Modifies DFU initialization to happen the first time something needs to be upgraded. This sounds similar to LazyDFU but is distinctly implemented, as it avoids loading *any* DFU classes/data structures, while LazyDFU only disables rule optimization. Essentially, this option is a safer version of DataFixerSlayer as it will still load DFU when needed.\n\nYou should typically continue to use LazyDFU even with this option enabled, as otherwise DFU rule optimization will cause lag.",
  "modernfix.option.mod_override": " by mods [%s]",
  "modernfix.option.mixin.perf.forge_registry_lambda": "Fixes oversights in Forge that lead to excessive allocation in hot registry methods.",
  "modernfix.option.mixin.perf.dynamic_resources.ctm": "CTM compatibility patch for dynamic resources",
  "key.modernfix.config": "Open config screen",
  "modernfix.option.mixin.perf.nbt_memory_usage": "All versions. Uses a more efficient backing map for compound NBT tags that deduplicates key names and also uses an array map for very small compounds. This reduces the overhead of storing many compound tags in memory.",
  "modernfix.option.mixin.bugfix.concurrency": "The patches in this group fix concurrency-related issues within Minecraft and/or Forge. Most of them result in rare, hard-to-diagnose crashes during loading.",
  "modernfix.option.on": "on",
  "modernfix.option.mixin.safety": "Concurrency patches to prevent crashes during launch",
  "modernfix.option.mixin.perf.faster_font_loading": "All versions. Optimizes the font renderer to load fonts faster, speeding up resource reload.",
  "modernfix.option.mixin.perf.reduce_blockstate_cache_rebuilds": "All versions. **A key optimization.** Newer Minecraft versions (after 1.12) implemented a blockstate cache system that caches frequently used information about a blockstate, such as whether it is solid, its collision shape, etc. Rebuilding this cache is quite fast in vanilla (it takes only a second or two) but is quite slow with many mods installed, as there are many more blockstates present in the game which all must have their caches rebuilt.\n\nThis problem is exacerbated by Forge as the cache is rebuilt at many points when the data would almost certainly be unused before the next rebuild. Examples include right before reaching the main menu (during the \"Freezing data\" stage), as well as multiple (!) times when a world is being loaded.\n\nModernFix solves this performance bottleneck by instead making cache rebuilds lazy. Each blockstate rebuilds its cache the first time the data would be accessed. At any point when vanilla or Forge would attempt to rebuild caches for all blockstates, this is redirected to simply invalidate the cache on each blockstate instead.\n\nThis should not have any impact on TPS after startup concludes.",
  "modernfix.option.mixin.perf.skip_first_datapack_reload": "1.16 \u0026 1.19 only. **A key optimization.**\n\nIn the middle of the 1.16 development cycle, Forge patched the game to reload datapacks twice when loading an existing world, in order to fix an issue with biome ID shifting. Unfortunately, datapack reloads often take upwards of 30 seconds and so this very severely affects world loading times.\n\nModernFix makes the necessary changes to avoid this reload, based on the unfinished Forge PR #8163.\n\nThis change was removed by Forge in 1.18, but then a similar patch was added *again* in 1.19 to fix mod datapacks not being loaded when creating new singleplayer worlds. Fortunately, the issue is localized to the world creation screen in 1.19, and existing worlds only require a single reload. However, this still doubles the length of the lag spike when clicking \"Create New World\" in 1.19, and so ModernFix again makes changes to not perform a redundant reload.",
  "modernfix.option.mixin.bugfix.forge_vehicle_packets": "Fixes a bug introduced by a Forge patch that causes excessive amounts of chunk data packets to be sent to the player if they are riding a vehicle on a chunk border.",
  "modernfix.option.mixin.core": "Core patches required for ModernFix to work",
  "modernfix.option.mixin.perf.dynamic_resources.diagonalfences": "Diagonal Fences compatibility patch for dynamic resources",
  "modernfix.option.mixin.perf.clear_mixin_classinfo": "Force-loads all mixins when launch finishes and then clears out mixin data structures to remove most of Mixin\u0027s memory footprint. Disabled by default for compatibility reasons.",
  "modernfix.option.mixin.feature.warn_missing_perf_mods": "Shows a warning on startup if other performance mods considered essential and highly compatible are not present",
  "modernfix.option.mixin.perf.resourcepacks": "All versions. **A key optimization.** Launches on modern versions are heavily bottlenecked by filesystem access. Many requests are frequently made to resource packs to list resources or check if a given resource exists, and each of these result in a very slow file API call.\n\nModernFix completely eliminates most of the bottleneck here by simply caching a listing of all resources that exist within mod-provided and vanilla resourcepacks. The cache is rebuilt on resource reload (except for the vanilla resources, since they should never change while the game is running).\n\nThere are no known compatibility issues with this patch except for OptiFine (its CTM resources do not load correctly). However I do not recommend using OptiFine in any scenario, as it adds several minutes to launch time by itself and is not tested with ModernFix at all.",
  "modernfix.option.category.troubleshooting.description": "Features intended to assist in diagnosing problems",
  "modernfix.option.mixin.feature.branding": "Adds ModernFix to the branding list on the title screen, and also to the F3 screen.",
  "modernfix.option.mixin.bugfix.mantle_model_cme": "Fixes a bug in Mantle that can cause random ConcurrentModificationException crashes when rendering Tinkers Construct content.",
  "modernfix.option.mixin.bugfix.entity_pose_stack": "Fixes Forge issue #9118, where mods can cause undebuggable render crashes by pushing the matrix stack without popping it.",
  "modernfix.option.mixin.perf.use_integrated_resources": "Mostly for 1.16. Patches JEResources to use the integrated server\u0027s loot table data if playing singleplayer, rather than pointlessly reloading loot tables. Saves a couple more seconds during JEI startup.",
  "modernfix.option.mixin.bugfix.file_dialog_title": "Fixes a security issue with the worldgen settings file dialog",
  "modernfix.option.mixin.perf.dynamic_resources": "All versions. See https://github.com/embeddedt/ModernFix/wiki/Dynamic-Resources-FAQ.",
  "modernfix.option.mixin.feature.direct_stack_trace": "Normally off, can be enabled to force the raw stack trace to be dumped to the log when a crash occurs. Occasionally vanilla\u0027s crash report system fails to work properly and gives an entirely irrelevant stack trace/report.",
  "modernfix.option.mixin.perf.biome_zoomer": "1.16 only. Minor optimization to improve the performance of the biome zoomer using logic from 1.18.",
  "modernfix.option.mixin.perf.async_locator": "1.16 only. Backports the Async Locator mod\u0027s patches to eliminate server freezes associated with `/locate`, loot table generation, etc.",
  "modernfix.option.mixin.perf.blast_search_trees": "All versions. If REI or JEI are installed, construction of the vanilla search trees for creative searching is disabled, and searching is instead done using these mods\u0027 search implementations. This saves several seconds during world loading, and probably also saves some RAM as well (although I have not measured).",
  "modernfix.option.mixin.perf.nuke_empty_chunk_sections": "1.16 only, inspired by Hydrogen. Avoids storing chunk sections that are full of air in memory, instead marking them as empty.",
  "modernfix.option.category.performance": "Performance",
  "modernfix.option.mixin.perf.faster_command_suggestions": "Mitigate lag when there are hundreds of thousands of suggestions while typing a command",
  "modernfix.option.mixin.perf.deduplicate_wall_shapes": "Makes most wall blocks share the same shape object instead of each one having its own copy. Can reduce memory usage substantially when lots of wall blocks are added by mods.",
  "modernfix.config": "ModernFix mixin config",
  "modernfix.option.mixin.perf.async_jei": "1.16 only. **A key optimization.** Patches JEI to perform its reloading on a background thread, completely eliminating the long delay it adds to world loading.",
  "modernfix.option.mixin.bugfix.ender_dragon_leak": "Fixes a memory leak in vanilla caused by the ender dragon retaining a reference to the previous client world.",
  "modernfix.option.mixin.perf.reuse_datapacks": "1.16 only. Attempts to speed up switching between singleplayer worlds by skipping the datapack reload when possible. May cause compatibility issues with some mods, but is currently enabled by default.",
  "modernfix.option.mixin.feature.disable_unihex_font": "Remove the Unicode font, saves 10MB but causes special characters to no longer render",
  "modernfix.option.mixin.feature.spark_profile_launch": "If enabled, and a compatible version of Spark is installed, the entire launch sequence will be profiled until the main menu.",
  "modernfix.no_lazydfu": "LazyDFU is not installed. If Minecraft needs to update game data from an older version, there may be noticeable lag.",
  "modernfix.option.mixin.perf.cache_profile_texture_url": "Avoids pointlessly creating a URL object and speeds up skull block rendering.",
  "modernfix.option.mixin.bugfix.preserve_early_window_pos": "Makes the game window retain its existing size when control is handed over from Forge\u0027s early loading to Minecraft code. Fixes the window teleporting back to the center of the screen after being dragged, etc.",
  "modernfix.option.mixin.feature.integrated_server_watchdog": "Adds the vanilla watchdog to singleplayer worlds as well, but just prints out the stacktraces rather than forcefully terminating the world. This version includes the functionality of Fullstack Watchdog, but the latter is still needed for multiplayer.",
  "modernfix.option.mixin.perf.rewrite_registry": "All versions. **Currently semi-broken.** Aggressively replaces some internals of the Forge registry system with faster versions, however it currently causes freezes when loading some modpacks. Off by default for obvious reasons."
}