From 6af34bdefca3b5de4b513ddb67ead21b26c90daba55d786207a2f2e836f73fdb Mon Sep 17 00:00:00 2001 From: anonoe <8bdd1ef7-1633-4e26-83a0-8dda8605bcd0@aleeas.com> Date: Sat, 12 Apr 2025 19:08:06 +0200 Subject: [PATCH] mod config updates --- client/minecraft/config/badoptimizations.txt | 58 +++++- client/minecraft/config/c2me.toml | 169 ++++++++++++++++-- .../config/ferritecore.mixin.properties | 23 ++- client/minecraft/config/immediatelyfast.json | 22 ++- .../config/modernfix-mixins.properties | 82 ++++++++- client/minecraft/config/moreculling.toml | 18 +- client/minecraft/config/sodium-options.json | 17 +- client/minecraft/config/threadtweak.json | 7 +- client/minecraft/config/vmp.properties | 19 +- client/minecraft/config/zoomify.json | 27 ++- 10 files changed, 405 insertions(+), 37 deletions(-) diff --git a/client/minecraft/config/badoptimizations.txt b/client/minecraft/config/badoptimizations.txt index ec27b8c..04915c1 100644 --- a/client/minecraft/config/badoptimizations.txt +++ b/client/minecraft/config/badoptimizations.txt @@ -1,17 +1,73 @@ +# BadOptimizations configuration +# Toggle and configure optimizations here. +# *All* of these require restarts. + +# Whether we should cancel updating the lightmap if not needed. enable_lightmap_caching: true +# How much the in-game time must change in ticks (default tick rate = 1/20th of a second) +# for the lightmap to update. +# Higher values will result in less frequent updates +# to block lighting, but slightly better performance. +# Values below 2 will disable the optimization. lightmap_time_change_needed_for_update: 80 + +# Whether the sky's color should be cached unless you're on a biome border. enable_sky_color_caching: true +# How much the in-game time must change in ticks for the sky color to +# be recalculated when not between biome borders. Higher values will result in +# the sky updating less frequently, but slightly better performance. +# Values below 2 will all have the same effect. skycolor_time_change_needed_for_update: 20 + +# Whether we should avoid calling debug renderers +# if there are no debug entries to render or process. enable_debug_renderer_disable_if_not_needed: true + +# +# Micro optimizations +# + +# Whether we should avoid calling the particle manager +# and its calculations if there are no particles. enable_particle_manager_optimization: true +# Whether we should avoid calling the toast manager if there are no toasts. enable_toast_optimizations: true +# Whether the result of getSkyAngle should be cached +# for the entire frame during rendering. enable_sky_angle_caching_in_worldrenderer: true +# Whether entity renderers should be stored directly in EntityType instead of a HashMap. +# If your entity-adding mod crashes with this mod, it's probably this option's fault. enable_entity_renderer_caching: true +# Whether block entity renderers should be stored in BlockEntityType instead of a HashMap. enable_block_entity_renderer_caching: true +# Whether entity flags should be cached instead of calling DataTracker. +# Also removes the unnecessary thread lock in DataTracker. +# Unneeded with Lithium. Has no effect in Minecraft 1.20.5+. enable_entity_flag_caching: true +# Whether we should avoid calling FOV calculations +# if the FOV effect scale is zero. enable_remove_redundant_fov_calculations: true +# Don't tick the tutorial if the game is not in demo mode. enable_remove_tutorial_if_not_demo: true + +# +# Other +# + +# Whether BadOptimizations should be added onto +# the left text of the F3 menu. show_f3_text: false + +# Some config options will be force-disabled if certain mods are present +# due to incompatibilities (e.g. entity rendering caching +# is disabled w/ Twilight Forest / BedrockSkinUtility / SkinShuffle). +# However, if you still want to use the optimizations, you can override it +# by setting this to true. Beware of crashes. And Herobrine. ignore_mod_incompatibilities: false + +# Whether to log the entire config into console when booting up. +# If you plan on reporting an issue, please keep this on. log_config: false -config_version: 3 + +# Do not change this +config_version: 4 diff --git a/client/minecraft/config/c2me.toml b/client/minecraft/config/c2me.toml index b121029..537f0fe 100644 --- a/client/minecraft/config/c2me.toml +++ b/client/minecraft/config/c2me.toml @@ -1,17 +1,152 @@ -version = 3 -defaultGlobalExecutorParallelismExpression = "max(1,min(if(is_client,(cpus/2.66+1),(cpus/1.5)),if(is_j9vm,((mem_gb-(if(is_client,0.5,0.2)))/0.2),((mem_gb-(if(is_client,0.8,0.5)))/0.2))))" - -[clientSideConfig] - - [clientSideConfig.modifyMaxVDConfig] - enabled = false - -[noTickViewDistance] - compatibilityMode = false - maxConcurrentChunkLoads = 2 - -[ioSystem] - gcFreeChunkSerializer = true - -[threadedWorldGen] - enabled = true +version = 3 +# (Default: +# max( +# 1, +# min( +# if( is_windows, +# (cpus / 1.6 - 2), +# (cpus / 1.2 - 2) +# ), +# if( is_j9vm, +# ( ( mem_gb - (if(is_client, 0.6, 0.2)) ) / 0.5 ), +# ( ( mem_gb - (if(is_client, 1.2, 0.6)) ) / 1.2 ) +# ) +# ) - if(is_client, 2, 0) +# ) +# ) +# The expression for the default value of global executor parallelism. +# This is used when the parallelism isn't overridden. +# Available variables: is_windows, is_j9vm, is_client, cpus, mem_gb +# +defaultGlobalExecutorParallelismExpression = "max(1,min(if(is_client,(cpus/2.66+1),(cpus/1.5)),if(is_j9vm,((mem_gb-(if(is_client,0.5,0.2)))/0.2),((mem_gb-(if(is_client,0.8,0.5)))/0.2))))" +# (Default: 2) Configures the parallelism of global executor +globalExecutorParallelism = "default" + +[clientSideConfig] + + [clientSideConfig.modifyMaxVDConfig] + # (Default: true) Whether to modify maximum view distance + enabled = false + # (Default: 35) Max render distance allowed in game options + maxViewDistance = "default" + +[noTickViewDistance] + # (Default: true) Whether to use compatibility mode to send chunks + # This may fix some mod compatibility issues + compatibilityMode = false + # (Default: 3) No-tick view distance max concurrent chunk loads + # Lower this for a better latency and higher this for a faster loading + maxConcurrentChunkLoads = 2 + # (Default: false) Whether to ensure correct chunks within normal render distance + # This will send chunks twice increasing network load + ensureChunkCorrectness = "default" + # (Default: true) Whether to enable no-tick view distance + enabled = "default" + +[ioSystem] + # (Default: true) Whether to use async chunk loading & unloading + async = "default" + # (Default: -1) Defines which chunk compression should be used + # -1 for Vanilla default + # 1 for GZip (RFC1952) (Vanilla compatible) + # 2 for Zlib (RFC1950) (Vanilla default) (Vanilla compatible) + # 3 for Uncompressed (Fastest, but higher disk usage) (Vanilla compatible) + # + # Original chunk data will still readable after modifying this option + # as this option only affects newly stored chunks + # Invalid values will fall back to vanilla default + # + chunkStreamVersion = "default" + # (Default: false) EXPERIMENTAL FEATURE + # This replaces the way your chunks are saved. + # Please keep regular backups of your world if you are using this feature, + # and report any world issues you encounter with this feature to our GitHub. + # + # Whether to use the fast reduced allocation chunk serializer + # (may cause incompatibility with other mods) + # + # Set to false for the following reasons: + # Incompatible with architectury@9.2.14 (*) (defined in c2me) + gcFreeChunkSerializer = true + # (Default: true) Whether to use the optimized implementation of IO system + replaceImpl = "default" + # (Default: 8192) Soft limit for io worker nbt cache + chunkDataCacheSoftLimit = "default" + # (Default: 32678) Hard limit for io worker nbt cache + chunkDataCacheLimit = "default" + +[threadedWorldGen] + # (Default: true) Whether to allow feature generation (world decorations like trees, ores and etc.) run in parallel + # (may cause incompatibility with other mods) + allowThreadedFeatures = "default" + # (Default: true) Whether to allow reducing lock radius + # (may cause incompatibility with other mods) + reduceLockRadius = "default" + # (Default: true) Whether to enable async and parallel scheduling + # This will reduce server thread load + # (may cause incompatibility with other mods) + # + asyncScheduling = "default" + # (Default: false) Whether to enable this feature + enabled = true + +[fixes] + # (Default: true) + # Whether to disable the shutdown hook of log4j2 on dedicated servers. + # Enabling this also makes the JVM exit when the dedicated server is considered fully shut down. + # This option have no effect on client-side. + # We has historically been doing this, and this config option allows you to disable this behavior. + # + disableLoggingShutdownHook = "default" + # (Default: true) Enforces safe world random access. + # This feature detects unsafe off-thread world random access, helping to find the causes + # of mysterious "Accessing LegacyRandomSource from multiple threads" crash. + # The default behavior is to fail hard when such bad things happens. + # Disabling this option will replace this behavior with a warning. + # + # It is generally not recommended to disable this settings unless you know what you are doing + # + # + enforceSafeWorldRandomAccess = "default" + +[generalOptimizations] + # (Default: true) Whether to let async chunk request no longer block server thread + # (may cause incompatibility with other mods) + optimizeAsyncChunkRequest = "default" + # (Default: 100000) The task interval of mid-tick chunk tasks in nanoseconds (-1 to disable) + # Mid-tick chunk tasks is to execute chunk tasks during server tick loop + # to speed up chunk loading and generation + # This helps chunks loading and generating under high MSPT but may raise + # MSPT when chunks are loading or generating + # + # It is generally not recommended to adjust this value unless you know + # what you are doing + # + # Incompatible with Dimensional Threading (dimthread) + # + midTickChunkTasksInterval = "default" + + [generalOptimizations.autoSave] + # (Default: ENHANCED) Defines how auto save should be handled + # VANILLA: Use vanilla auto-save behavior (auto-save performed every tick during ticking) + # ENHANCED: Use C2ME enhanced auto-save (auto-save performed when the server have spare time after ticking) + # PERIODIC: Use pre-1.18 vanilla auto-save behavior (auto-save performed every 6000 ticks during ticking) + # + # Please preserve quotes so this config don't break + # + mode = "default" + # (Default: 20000) Defines the delay in milliseconds between performing auto-save for a chunk + # This is only used when mode is set to ENHANCED + # + delay = "default" + +[vanillaWorldGenOptimizations] + # (Default: true) Whether to enable aquifer optimizations to accelerate overworld worldgen + # (may cause incompatibility with other mods) + optimizeAquifer = "default" + # (Default: true) Whether to enable End Biome Cache to accelerate The End worldgen + # This is no longer included in lithium-fabric + # (may cause incompatibility with other mods) + # + useEndBiomeCache = "default" + diff --git a/client/minecraft/config/ferritecore.mixin.properties b/client/minecraft/config/ferritecore.mixin.properties index 77da9f7..d55d381 100644 --- a/client/minecraft/config/ferritecore.mixin.properties +++ b/client/minecraft/config/ferritecore.mixin.properties @@ -1 +1,22 @@ -useSmallThreadingDetector = true \ No newline at end of file +# Replace the blockstate neighbor table +replaceNeighborLookup = true +# Do not store the properties of a state explicitly and read themfrom the replace neighbor table instead. Requires replaceNeighborLookup to be enabled +replacePropertyMap = true +# Cache the predicate instances used in multipart models +cacheMultipartPredicates = true +# Avoid creation of new strings when creating ModelResourceLocations +modelResourceLocations = true +# Do not create a new MultipartBakedModel instance for each block state using the same multipartmodel. Requires cacheMultipartPredicates to be enabled +multipartDeduplication = true +# Deduplicate cached data for blockstates, most importantly collision and render shapes +blockstateCacheDeduplication = true +# Deduplicate vertex data of baked quads in the basic model implementations +bakedQuadDeduplication = true +# Use smaller data structures for "simple" models, especially models with few side-specific faces +modelSides = true +# Replace objects used to detect multi-threaded access to chunks by a much smaller field. This option is disabled by default due to very rare and very hard-to-reproduce crashes, use at your own risk! +useSmallThreadingDetector = true +# Use a slightly more compact, but also slightly slower representation for block states +compactFastMap = false +# Populate the neighbor table used by vanilla. Enabling this slightly increases memory usage, but can help with issues in the rare case where mods access it directly. +populateNeighborTable = false diff --git a/client/minecraft/config/immediatelyfast.json b/client/minecraft/config/immediatelyfast.json index ff38103..b9d8ea1 100644 --- a/client/minecraft/config/immediatelyfast.json +++ b/client/minecraft/config/immediatelyfast.json @@ -1,7 +1,21 @@ { - "fast_buffer_upload_size_mb": 64, + "REGULAR_INFO": "----- Regular config values below -----", + "font_atlas_resizing": true, + "map_atlas_generation": true, + "hud_batching": true, + "fast_text_lookup": true, + "fast_buffer_upload": true, + "COSMETIC_INFO": "----- Cosmetic only config values below (Does not optimize anything) -----", + "dont_add_info_into_debug_hud": false, + "EXPERIMENTAL_INFO": "----- Experimental config values below (Rendering glitches may occur) -----", "experimental_disable_error_checking": true, - "experimental_screen_batching": true, + "experimental_disable_resource_pack_conflict_handling": false, "experimental_sign_text_buffering": true, - "experimental_disable_resource_pack_conflict_handling": false -} + "experimental_screen_batching": true, + "DEBUG_INFO": "----- Debug only config values below (Do not touch) -----", + "debug_only_and_not_recommended_disable_universal_batching": false, + "debug_only_and_not_recommended_disable_mod_conflict_handling": false, + "debug_only_and_not_recommended_disable_hardware_conflict_handling": false, + "debug_only_print_additional_error_information": false, + "debug_only_use_last_usage_for_batch_ordering": false +} \ No newline at end of file diff --git a/client/minecraft/config/modernfix-mixins.properties b/client/minecraft/config/modernfix-mixins.properties index 17da5f6..b84243a 100644 --- a/client/minecraft/config/modernfix-mixins.properties +++ b/client/minecraft/config/modernfix-mixins.properties @@ -1,12 +1,86 @@ -mixin.bugfix.chunk_deadlock=true +# This is the configuration file for ModernFix. +# In general, prefer using the config screen to editing this file. It can be accessed +# via the standard mod menu on your respective mod loader. Changes will, however, +# require restarting the game to take effect. +# +# The following options can be enabled or disabled if there is a compatibility issue. +# Add a line with your option name and =true or =false at the bottom of the file to enable +# or disable a rule. For example: +# mixin.perf.dynamic_resources=true +# Do not include the #. You may reset to defaults by deleting this file. +# +# Available options: +# mixin.bugfix.buffer_builder_leak=true # (default) +# mixin.bugfix.chunk_deadlock=false # (overridden for mod compat) +# mixin.bugfix.concurrency=true # (default) +# mixin.bugfix.ender_dragon_leak=true # (default) +# mixin.bugfix.missing_block_entities=false # (default) +# mixin.bugfix.packet_leak=false # (default) +# mixin.bugfix.paper_chunk_patches=false # (overridden for mod compat) +# mixin.bugfix.restore_old_dragon_movement=false # (default) +# mixin.bugfix.world_leaks=true # (default) +# mixin.bugfix.world_screen_skipped=true # (default) +# mixin.devenv=false # (default) +# mixin.feature.blockentity_incorrect_thread=false # (default) +# mixin.feature.branding=true # (default) +# mixin.feature.cause_lag_by_disabling_threads=false # (default) +# mixin.feature.direct_stack_trace=false # (default) +# mixin.feature.disable_unihex_font=false # (default) +# mixin.feature.integrated_server_watchdog=true # (default) +# mixin.feature.measure_time=true # (default) +# mixin.feature.remove_chat_signing=false # (default) +# mixin.feature.remove_telemetry=true # (default) +# mixin.feature.snapshot_easter_egg=true # (default) +# mixin.feature.spam_thread_dump=false # (default) +# mixin.feature.spark_profile_launch=false # (default) +# mixin.feature.stalled_chunk_load_detection=false # (default) +# mixin.feature.warn_missing_perf_mods=true # (default) +# mixin.launch.class_search_cache=true # (default) +# mixin.perf.blast_search_trees=true # (default) +# mixin.perf.blast_search_trees.force=false # (default) +# mixin.perf.cache_blockstate_cache_arrays=true # (default) +# mixin.perf.cache_model_materials=true # (default) +# mixin.perf.cache_profile_texture_url=true # (default) +# mixin.perf.cache_strongholds=false # (overridden for mod compat) +# mixin.perf.cache_upgraded_structures=true # (default) +# mixin.perf.chunk_meshing=true # (default) +# mixin.perf.clear_fabric_mapping_tables=false # (default) +# mixin.perf.clear_mixin_classinfo=false # (default) +# mixin.perf.compact_bit_storage=true # (default) +# mixin.perf.dedicated_reload_executor=true # (default) +# mixin.perf.deduplicate_climate_parameters=false # (default) +# mixin.perf.deduplicate_location=false # (default) +# mixin.perf.deduplicate_wall_shapes=true # (default) +# mixin.perf.dynamic_dfu=true # (default) +# mixin.perf.dynamic_entity_renderers=false # (default) +# mixin.perf.dynamic_resources=false # (default) +# mixin.perf.dynamic_sounds=true # (default) +# mixin.perf.dynamic_structure_manager=true # (default) +# mixin.perf.faster_command_suggestions=true # (default) +# mixin.perf.faster_item_rendering=false # (default) +# mixin.perf.faster_structure_location=true # (default) +# mixin.perf.faster_texture_stitching=true # (default) +# mixin.perf.fix_loop_spin_waiting=true # (default) +# mixin.perf.memoize_creative_tab_build=true # (default) +# mixin.perf.model_optimizations=true # (default) +# mixin.perf.mojang_registry_size=true # (default) +# mixin.perf.nbt_memory_usage=false # (overridden for mod compat) +# mixin.perf.reduce_blockstate_cache_rebuilds=true # (default) +# mixin.perf.remove_biome_temperature_cache=true # (default) +# mixin.perf.remove_spawn_chunks=false # (default) +# mixin.perf.resourcepacks=true # (default) +# mixin.perf.state_definition_construct=true # (default) +# mixin.perf.thread_priorities=false # (overridden for mod compat) +# mixin.perf.ticking_chunk_alloc=true # (default) +# mixin.perf.worldgen_allocation=false # (default) +# mixin.safety=true # (default) +# +# User overrides go here. mixin.bugfix.packet_leak=true -mixin.bugfix.paper_chunk_patches=true mixin.perf.clear_fabric_mapping_tables=true mixin.perf.clear_mixin_classinfo=true mixin.perf.deduplicate_location=true mixin.perf.dynamic_entity_renderers=true mixin.perf.dynamic_resources=true mixin.perf.faster_item_rendering=true -mixin.perf.nbt_memory_usage=true mixin.perf.remove_spawn_chunks=true -mixin.perf.thread_priorities=false \ No newline at end of file diff --git a/client/minecraft/config/moreculling.toml b/client/minecraft/config/moreculling.toml index 3865a32..368a6b5 100644 --- a/client/minecraft/config/moreculling.toml +++ b/client/minecraft/config/moreculling.toml @@ -1,7 +1,23 @@ version = 1 +enableSodiumMenu = true +cloudCulling = true +signTextCulling = true +rainCulling = true +useBlockStateCulling = true +useCustomItemFrameRenderer = true +itemFrameMapCulling = true +useItemFrameLOD = true itemFrameLODRange = 16 +useItemFrame3FaceCulling = true itemFrame3FaceCullingRange = 2.0 leavesCullingMode = "DEPTH" +leavesCullingAmount = 2 includeMangroveRoots = true -entityModelCulling = true +powderSnowCulling = true endGatewayCulling = true +beaconBeamCulling = true +entityModelCulling = true +useOnModdedBlocksByDefault = true + +[modCompatibility] +minecraft = true diff --git a/client/minecraft/config/sodium-options.json b/client/minecraft/config/sodium-options.json index 76d4ae4..e24f2c0 100644 --- a/client/minecraft/config/sodium-options.json +++ b/client/minecraft/config/sodium-options.json @@ -1,12 +1,25 @@ { "quality": { - "weather_quality": "FAST", + "weather_quality": "FAST", + "leaves_quality": "DEFAULT", "enable_vignette": false }, "advanced": { + "enable_memory_tracing": false, + "use_advanced_staging_buffers": true, "cpu_render_ahead_limit": 5 }, "performance": { - "use_entity_culling": false + "chunk_builder_threads": 0, + "always_defer_chunk_updates_v2": true, + "animate_only_visible_textures": true, + "use_entity_culling": false, + "use_fog_occlusion": true, + "use_block_face_culling": true, + "use_no_error_g_l_context": true + }, + "notifications": { + "has_cleared_donation_button": false, + "has_seen_donation_prompt": false } } \ No newline at end of file diff --git a/client/minecraft/config/threadtweak.json b/client/minecraft/config/threadtweak.json index 13951e0..13ddb08 100644 --- a/client/minecraft/config/threadtweak.json +++ b/client/minecraft/config/threadtweak.json @@ -1,8 +1,13 @@ { + "threadCount": { + "bootstrap": 1, + "main": 3 + }, "threadPriority": { "game": 8, + "bootstrap": 1, "main": 2, "io": 7, "integratedServer": 7 } -} +} \ No newline at end of file diff --git a/client/minecraft/config/vmp.properties b/client/minecraft/config/vmp.properties index affdc18..defec4c 100644 --- a/client/minecraft/config/vmp.properties +++ b/client/minecraft/config/vmp.properties @@ -1,4 +1,15 @@ -exp_use_optimized_chunk_ticking_iteration=true -show_async_loading_messages=false -show_chunk_tracking_messages=false -use_multiple_netty_event_loops=false \ No newline at end of file +#Configuration file for VMP +#Sat Apr 12 18:41:29 CEST 2025 +deprecated_precache_biome_lookup=false +use_async_portals=true +use_async_chunks_on_login=true +show_chunk_tracking_messages=false +show_async_loading_messages=false +use_async_logging=true +use_async_chunks_on_some_commands=false +use_multiple_netty_event_loops=false +use_optimized_entity_tracking=true +exp3_use_packet_priority_system=false +exp_use_packet_priority_system_block_update_consolidation=false +target_chunk_send_rate=-1 +exp_use_optimized_chunk_ticking_iteration=true diff --git a/client/minecraft/config/zoomify.json b/client/minecraft/config/zoomify.json index 60e0b9e..e9a32e3 100644 --- a/client/minecraft/config/zoomify.json +++ b/client/minecraft/config/zoomify.json @@ -1,3 +1,26 @@ { - "zoomInTime": 0.30000000000000004 -} + "initialZoom": 4, + "zoomInTime": 0.30000000000000004, + "zoomOutTime": 0.5, + "zoomInTransition": "ease_out_exp", + "zoomOutTransition": "ease_out_exp", + "affectHandFov": true, + "retainZoomSteps": false, + "linearLikeSteps": true, + "scrollZoom": true, + "scrollZoomAmount": 3, + "scrollZoomSmoothness": 70, + "zoomKeyBehaviour": "hold", + "_keybindScrolling": false, + "relativeSensitivity": 100, + "relativeViewBobbing": true, + "cinematicCamera": 0, + "spyglassBehaviour": "combine", + "spyglassOverlayVisibility": "holding", + "spyglassSoundBehaviour": "with_overlay", + "secondaryZoomAmount": 4, + "secondaryZoomInTime": 10.0, + "secondaryZoomOutTime": 1.0, + "secondaryHideHUDOnZoom": true, + "_firstLaunch": false +} \ No newline at end of file