Remove deprecated mod files and update mixin properties for compatibility adjustments.

This commit is contained in:
Leonid Pershin
2026-05-09 18:52:48 +03:00
parent 937f2302da
commit ccabfa323f
15 changed files with 893 additions and 5 deletions
+209
View File
@@ -0,0 +1,209 @@
version = 3
# (Default:
# max(
# 1,
# min(
# if( is_windows,
# (cpus / 1.6),
# (cpus / 1.3)
# ) - if(is_client, 1, 0),
# ( ( mem_gb - (if(is_client, 1.2, 0.6)) ) / 0.6 )
# )
# )
# )
# 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 = "default"
# (Default: 4) Sets the thread priority for worker threads
#
# References:
# - https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/lang/Thread.html#setPriority(int)
#
threadPoolPriority = "default"
# (Default: 6) Configures the parallelism of global executor
globalExecutorParallelism = "default"
[generalOptimizations]
# (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"
[ioSystem]
# (Default: true) Whether to use the optimized implementation of IO system
replaceImpl = "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)
#
gcFreeChunkSerializer = "default"
# (Default: 8192) Soft limit for io worker nbt cache
chunkDataCacheSoftLimit = "default"
# (Default: 32678) Hard limit for io worker nbt cache
chunkDataCacheLimit = "default"
[fixes]
# (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"
[vanillaWorldGenOptimizations]
# (Default: false) Whether to use density function compiler to accelerate world generation
#
# Density function: https://minecraft.wiki/w/Density_function
#
# This functionality compiles density functions from world generation
# datapacks (including vanilla generation) to JVM bytecode to increase
# performance by allowing JVM JIT to better optimize the code
#
# Currently, all functions provided by vanilla are implemented.
# Chunk upgrades from pre-1.18 versions are not implemented and will
# fall back to the unoptimized version of density functions.
#
useDensityFunctionCompiler = "default"
# (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)
#
# Set to false for the following reasons:
# Incompatible with biolith@3.0.10 (*) (defined in c2me)
useEndBiomeCache = "default"
# (Default: true) Whether to enable StructureWeightSampler optimizations to accelerate world generation
#
optimizeStructureWeightSampler = "default"
[chunkSystem]
# (Default: true) Whether to enable async serialization
#
asyncSerialization = "default"
# (Default: false) Whether to recover from errors when loading chunks
# This will cause errored chunk to be regenerated entirely, which may cause data loss
# Only applies when async chunk loading is enabled
#
recoverFromErrors = "default"
# (Default: true) Whether to allow POIs (Point of Interest) to be unloaded
# Unloaded POIs are reloaded on-demand or when the corresponding chunks are loaded again,
# which should not cause any behavior change
#
# Note:
# Vanilla never unloads POIs when chunks unload, causing small memory leaks
# These leaks adds up and eventually cause issues after generating millions of chunks
# in a single world instance
#
allowPOIUnloading = "default"
# (Default: false) This option workarounds MC-276863, a bug that makes mushrooms appear in non-postprocessed chunks
# This bug is amplified with notickvd as it exposes non-postprocessed chunks to players
#
# This should not affect other worldgen behavior and game mechanics in general
#
suppressGhostMushrooms = "default"
# (Default: true) Whether to synchronize the management of player tickets
#
# In vanilla Minecraft, player tickets are not always removed immediately when players leave an area.
# The delay in removal increases with the chunk systems throughput, but due to vanillas typically
# slow chunk loading, tickets are almost always removed immediately. However, some contraptions rely
# on this immediate removal behavior and tend to be broken with the increased chunk throughput.
# Enabling this option synchronizes player ticket handling, making it more predictable and
# thus improving compatibility with these contraptions.
#
syncPlayerTickets = "default"
# (Default: true) Whether to turn fluid postprocessing into scheduled tick
#
# Fluid post-processing is very expensive when loading in new chunks, and this can affect
# MSPT significantly. This option delays fluid post-processing to scheduled tick to hopefully
# mitigate this issue.
#
fluidPostProcessingToScheduledTick = "default"
# (Default: true) Whether to filter fluid post-processing on worldgen threads
#
# The worldgen processes creates a lot of unnecessary fluid post-processing tasks,
# which can overload the server thread and cause stutters.
# This applies a rough filter to filter out fluids that are definitely not going to flow
#
filterFluidPostProcessing = "default"
# (Default: true) Whether to use legacy scheduling for neighbor chunks
#
# Enabling this restores the behavior of always loading in neighbor chunks when a chunk is loaded.
#
useLegacyScheduling = "default"
# (Default: false) Whether to enable low memory mode
#
# This option will attempt to aggressively unload unused chunks.
# Only applies when useLegacyScheduling is disabled.
#
lowMemoryMode = "default"
# (Default: true) Whether to delay full chunk events to after full chunk future have been completed
# This restores the buggy behavior in NeoForge that the ecosystem have been relying on
#
# Do not change this unless you know what you are doing
#
delayFullChunkEvents = "default"
[noTickViewDistance]
# (Default: true) Whether to enable no-tick view distance
enabled = "default"
# (Default: 7) No-tick view distance max concurrent chunk loads
# Lower this for a better latency and higher this for a faster loading
maxConcurrentChunkLoads = "default"
# (Default: true) Whether to use compatibility mode to send chunks
# This may fix some mod compatibility issues
compatibilityMode = "default"
# (Default: true) Enable server-side support for extended render distance protocol (c2me:ext_render_distance_v1)
# This allows requesting render distances higher than 127 chunks from the server
#
enableExtRenderDistanceProtocol = "default"
# (Default: false) Whether to ensure correct chunks within normal render distance
# This will send chunks twice increasing network load
ensureChunkCorrectness = "default"
# (Default: 200) Applies a multiplier *in percentage* to the target chunk sending rate from vanilla
# Setting this to 0 disables rate limiting
#
# Defaults to 200, which is 200%
#
chunkSendingSpeedMultiplierPercentage = "default"
[clientSideConfig.modifyMaxVDConfig]
# (Default: true) Whether to modify maximum view distance
enabled = "default"
# (Default: 87) Max render distance allowed in game options
maxViewDistance = "default"
# (Default: true) Enable client-side support for extended render distance protocol (c2me:ext_render_distance_v1)
# This allows requesting render distances higher than 127 chunks from the server
#
# Note: The server must advertise support this protocol for this to work
#
enableExtRenderDistanceProtocol = "default"
+325
View File
@@ -0,0 +1,325 @@
#Krypton Hybrid - Packet Compression
#Select the compression algorithm used for all player connections.
#IMPORTANT: BOTH the server and every connecting client must use the same
#algorithm. Mismatched algorithms will immediately corrupt the session.
[compression]
#Compression algorithm to use for network packets.
# ZLIB - vanilla zlib (DEFLATE). Always available. Minecraft default.
# ZSTD - Zstandard compression (zstd-jni, native). Best ratio; moderate CPU.
#Default: ZSTD
#Allowed Values: ZLIB, ZSTD
algorithm = "ZSTD"
#Zstd compression level (1 = fastest/largest, 22 = slowest/smallest).
#Only used when algorithm = ZSTD. Backed by zstd-jni (native).
#Level 3 is the zstd reference implementation default.
#Range: 1 22 | Default: 3
# Default: 3
# Range: 1 ~ 22
zstd_level = 3
#Krypton Hybrid - Zstd Advanced / Parallel Compression
#Fine-grained control over Zstd's native multi-threaded compression
#and match-finding parameters. These settings only take effect when
#compression.algorithm = ZSTD. Changes require a server restart
#(new connections will use the updated values).
#
#WARNING: Misconfigured values can increase CPU usage or memory
#consumption significantly. The defaults are safe for all scenarios.
[zstd_advanced]
#Number of native worker threads for parallel Zstd compression.
#0 = single-threaded (compression runs in the Netty I/O thread).
#Values >= 1 activate libzstd's multi-threaded mode: input data is
#split into jobs compressed in parallel by a per-connection native
#thread pool. Useful when compressing large payloads (chunk data,
#recipe sync) on multi-core CPUs.
#
#Total native threads = workers × active connections, so keep this
#low on high-player-count servers.
#Range: 0 128 | Default: 0 (single-threaded)
# Default: 0
# Range: 0 ~ 128
workers = 0
#Overlap log for multi-threaded compression.
#Controls how much context (dictionary data) each worker thread
#shares with the previous thread's output. Higher values improve
#compression ratio but use more memory per job.
#Only meaningful when workers >= 1.
#overlap_size = 2^(overlapLog) KB.
#0 = auto (Zstd picks a value based on compression level).
#Range: 0 9 | Default: 0
# Default: 0
# Range: 0 ~ 9
overlap_log = 0
#Job size (bytes) for multi-threaded compression.
#Minimum input partition per worker thread. Smaller values increase
#parallelism for small payloads but add scheduling overhead.
#Only meaningful when workers >= 1.
#0 = auto (Zstd selects based on compression level and overlap).
#Range: 0 (auto) or 512 1073741824 | Default: 0
# Default: 0
# Range: 0 ~ 1073741824
job_size = 0
#Enable Zstd long-distance matching (LDM).
#When true, Zstd searches for repeated byte sequences across a
#much larger window than the standard match finder. Improves ratio
#for highly repetitive data (flat-world chunks, bulk NBT) at the
#cost of higher memory usage.
#Default: false
enable_long_distance_matching = false
#Window log for long-distance matching.
#Sets the LDM window size exponent: window = 2^windowLog bytes.
#Only used when enable_long_distance_matching = true.
#20 = 1 MB, 24 = 16 MB, 27 = 128 MB (Zstd default).
#For Minecraft traffic, 2024 is usually sufficient.
#Range: 10 30 | Default: 27
# Default: 27
# Range: 10 ~ 30
long_distance_window_log = 27
#Zstd compression strategy (match-finding algorithm).
#Higher strategies find better matches but use more CPU.
#0 = auto (determined by compression level).
#1 = fast, 2 = dfast, 3 = greedy, 4 = lazy, 5 = lazy2,
#6 = btlazy2, 7 = btopt, 8 = btultra, 9 = btultra2.
#Values above 5 are NOT recommended for real-time game servers.
#Range: 0 9 | Default: 0 (auto)
# Default: 0
# Range: 0 ~ 9
strategy = 0
#Enable pre-trained Zstd dictionary compression.
#Both server and client must use the same dictionary file.
#Default: false
dict_enabled = false
#Path to the pre-trained dictionary file (.zdict).
#Relative paths are resolved from the game working directory.
#Default: config/krypton_hybrid.zdict
dict_path = "config/krypton_hybrid.zdict"
#If true, dictionary load failure is fatal for Zstd context creation.
#If false, Krypton falls back to plain Zstd and logs a warning.
#Default: false
dict_required = false
#Krypton Hybrid - Network Security / Independent Packet Control
#Protects the inbound network path without touching Velocity Native fast paths.
#All checks run in the Minecraft / NeoForge layer and are designed to fail fast
#before expensive decode, decompression, NBT, or gameplay processing begins.
[security]
#Global security kill-switch.
#Default: true
enabled = true
#Connection-rate limiting and rapid reconnect protection.
[security.connection_rate_limit]
#Sustained connection attempts per second per IP.
#Range: 1 - 1000 | Default: 8
# Default: 8
# Range: 1 ~ 1000
rate = 8
#Burst capacity for new connections per IP.
#Range: 1 - 5000 | Default: 20
# Default: 20
# Range: 1 ~ 5000
burst = 20
#Quarantine duration after repeated connection abuse.
#Range: 0 - 3600 | Default: 30
# Default: 30
# Range: 0 ~ 3600
quarantine_seconds = 30
#Rapid reconnect detection window in milliseconds.
#Range: 0 - 60000 | Default: 1500
# Default: 1500
# Range: 0 ~ 60000
rapid_reconnect_window_ms = 1500
#Extra connection tokens consumed on rapid reconnect.
#Range: 0 - 128 | Default: 4
# Default: 4
# Range: 0 ~ 128
rapid_reconnect_penalty = 4
#Decompression-bomb prevention for both ZLIB and ZSTD.
[security.decompression_guard]
# Default: 16777216
# Range: > 1024
max_decompressed_bytes = 16777216
# Default: 100
# Range: > 1
max_ratio = 100
# Default: 8
# Range: > 0
min_compressed_bytes_for_ratio_check = 8
#Handshake/login timeout budgets.
[security.timeouts]
# Default: 5
# Range: 1 ~ 300
handshake_sec = 5
# Default: 10
# Range: 1 ~ 300
login_sec = 10
# Default: 30
# Range: 1 ~ 3600
play_sec = 30
#Frame and logical payload size checks.
[security.packet_size]
# Default: 2097152
# Range: > 1024
frame_max_bytes = 2097152
# Default: 131072
# Range: > 0
custom_payload_max_bytes = 131072
#Enable FriendlyByteBuf read-side hard limits (can break large mod custom payloads).
#Default: false
read_limits_enabled = false
# Default: 32767
# Range: > 1
string_max_chars = 32767
# Default: 16384
# Range: > 1
collection_max_elements = 16384
# Default: 8192
# Range: > 1
map_max_entries = 8192
# Default: 16384
# Range: > 1
counted_loop_max = 16384
# Default: 2097152
# Range: > 1
byte_array_max_bytes = 2097152
#Handshake protocol sanity checks.
[security.handshake_validation]
# Default: 3
# Range: > 0
min_protocol = 3
# Default: 1100
# Range: > 0
max_protocol = 1100
# Default: 255
# Range: 1 ~ 1024
max_address_length = 255
#Weighted anomaly response policy.
[security.anomaly]
# Default: 10
# Range: 1 ~ 1000
strike_threshold = 10
#Write-side backpressure and slow-reader protection.
[security.resource_guard]
# Default: 524288
# Range: > 1024
watermark_low = 524288
# Default: 2097152
# Range: > 1024
watermark_high = 2097152
# Default: 4096
# Range: > 1
max_pending_writes = 4096
# Default: 15
# Range: 1 ~ 3600
max_unwritable_seconds = 15
#Krypton Hybrid - Light Data Optimization
#Reduces ClientboundLevelChunkWithLightPacket size by replacing uniform
#DataLayer arrays (e.g. all-max sky-light sections) with 2-byte tokens.
#Requires Krypton Hybrid on BOTH the server and every connecting client.
[light_opt]
#Enable uniform-RLE encoding for light DataLayer arrays.
#Saves up to ~40 KB per chunk load in open-sky environments.
#Default: true
enabled = true
#Krypton Hybrid - Chunk Data Optimization
#Reduces ClientboundLevelChunkPacketData size by replacing NBT-based
#heightmap serialization with compact binary + XOR-delta encoding, and
#extracting biome data from the section buffer for single-value detection.
#Requires Krypton Hybrid on BOTH the server and every connecting client.
[chunk_data_opt]
#Enable biome delta encoding and heightmap compression.
#Heightmaps: compact binary format with XOR-delta (~40 bytes NBT overhead
#saved per chunk, plus significantly better compressibility for correlated
#heightmap data under Zstd/ZLIB).
#Biomes: single-value sections encoded as 2 bytes instead of 3+; biome
#data grouped for better cross-section compressor exploitation.
#Default: true
enabled = true
#Delayed Chunk Cache (DCC)
#Reduces redundant chunk resends when a player moves near the edge of
#their view distance. Departing chunks are buffered; if the player
#re-enters range within the timeout, the full resend is skipped.
[dcc]
#Enable or disable the Delayed Chunk Cache entirely.
#Default: true
enabled = true
#Maximum number of chunks buffered per player.
#When full, new departing chunks are untracked immediately.
#Range: 1 200 | Default: 60
# Default: 60
# Range: 1 ~ 200
size_limit = 60
#Cache radius (chunks) around the player's current position.
#Cached chunks farther than this are evicted and untracked.
#Range: 1 32 | Default: 5
# Default: 5
# Range: 1 ~ 32
distance = 5
#Seconds before a cached chunk is forcibly evicted.
#Higher values improve hit rate; lower values reduce client memory.
#Range: 5 300 | Default: 30
# Default: 30
# Range: 5 ~ 300
timeout_seconds = 30
#Broadcast Serialization Cache
#Caches serialized packet bytes when the same Packet object is
#broadcast to multiple players, avoiding redundant serialization.
[broadcast_cache]
#Enable the broadcast serialization cache.
#Saves CPU by avoiding re-serialization of the same packet
#when broadcast to multiple players on the same Netty I/O thread.
#Default: true
enabled = true
#Packet Coalescing
#Deduplicates redundant entity update packets within each tick's
#bundle before sending. Removes superseded velocity, teleport,
#and entity data packets for the same entity.
[packet_coalescing]
#Enable packet coalescing within entity tracking bundles.
#Default: true
enabled = true
#Block Entity NBT Delta Sync
#Reduces block entity data packet size by sending only changed NBT
#keys instead of the full tag. Requires Krypton Hybrid on BOTH
#the server and every connecting client.
[block_entity_delta]
#Enable per-player NBT delta encoding for block entity updates.
#Significantly reduces bandwidth for frequently-updating block
#entities (furnaces, hoppers, redstone components).
#Default: true
enabled = true
#Proxy Compatibility
#Controls how Krypton Hybrid interacts with reverse proxies
#(e.g. Velocity). When behind a proxy, certain optimizations must
#be disabled or gated to preserve proxy compatibility.
[proxy]
#Proxy detection mode.
# NONE - No proxy; all optimizations active (direct connection).
# AUTO - Auto-detect Velocity via login plugin channel.
# When detected, forces ZLIB on backend and gates custom
# wire formats behind capability negotiation.
# VELOCITY - Assume Velocity proxy; always use ZLIB backend
# compression and gate custom wire formats.
#Default: NONE
#Allowed Values: NONE, AUTO, VELOCITY
mode = "NONE"
#Shared secret for Velocity Modern Forwarding.
#Must match the forwarding-secret in Velocity's velocity.toml.
#When non-empty and mode is AUTO or VELOCITY, the server will
#verify connecting players via HMAC-SHA256 signed forwarding data.
#Leave empty to disable modern forwarding (heuristic detection only).
#Default: (empty)
forwarding_secret = ""
+4 -4
View File
@@ -10,7 +10,7 @@
# Do not include the #. You may reset to defaults by deleting this file.
#
# Available options:
# mixin.bugfix.chunk_deadlock=true # (default)
# mixin.bugfix.chunk_deadlock=false # (overridden for mod compat)
# mixin.bugfix.cofh_core_crash=true # (default)
# mixin.bugfix.concurrency=true # (default)
# mixin.bugfix.ctm_resourceutil_cme=true # (default)
@@ -20,7 +20,7 @@
# mixin.bugfix.fix_config_crashes=true # (default)
# mixin.bugfix.missing_block_entities=false # (default)
# mixin.bugfix.packet_leak=false # (default)
# mixin.bugfix.paper_chunk_patches=true # (default)
# mixin.bugfix.paper_chunk_patches=false # (overridden for mod compat)
# mixin.bugfix.recipe_book_type_desync=true # (default)
# mixin.bugfix.restore_old_dragon_movement=false # (default)
# mixin.bugfix.skip_redundant_saves=false # (default)
@@ -50,7 +50,7 @@
# mixin.perf.attribute_supplier_dedup=true # (default)
# mixin.perf.cache_blockstate_cache_arrays=true # (default)
# mixin.perf.cache_profile_texture_url=true # (default)
# mixin.perf.cache_strongholds=true # (default)
# mixin.perf.cache_strongholds=false # (overridden for mod compat)
# mixin.perf.capability_list_compaction=true # (default)
# mixin.perf.chunk_meshing=true # (default)
# mixin.perf.clear_mixin_classinfo=false # (default)
@@ -86,7 +86,7 @@
# mixin.perf.optimize_surface_rules=true # (default)
# mixin.perf.patchouli_deduplicate_books=true # (default)
# mixin.perf.reduce_blockstate_cache_rebuilds=true # (default)
# mixin.perf.release_protochunks=true # (default)
# mixin.perf.release_protochunks=false # (overridden for mod compat)
# mixin.perf.remove_biome_temperature_cache=true # (default)
# mixin.perf.resourcepacks=true # (default)
# mixin.perf.smart_ingredient_sync=true # (default)
+335
View File
@@ -0,0 +1,335 @@
# The main configuration file for ServerCore.
# Most of these settings can be reloaded without restarting using /servercore reload.
# Most miscellaneous feature toggles.
features:
# Prevents lagspikes caused by players moving into unloaded chunks.
prevent-moving-into-unloaded-chunks: false
# The amount of seconds between auto-saves when /save-on is active.
autosave-interval-seconds: 300
# The fraction that decides the chance of experience orbs being able to merge with each other. (1 = 100%, 40 = 2.5%)
# Note that just like in vanilla, experience orbs will still need to be of the same size to actually merge.
xp-merge-fraction: 40
# The radius in blocks that experience orbs will merge at.
xp-merge-radius: 0.5
# The radius in blocks that items will merge at.
item-merge-radius: 0.5
lobotomize-villagers:
# Makes villagers tick less often if they are stuck in a 1x1 space.
enabled: false
# Decides the interval in between villager ticks when lobotomized.
tick-interval: 20
# Automatically modifies dynamic settings based on the server performance.
dynamic:
# Enables dynamic performance checks.
enabled: false
# The average MSPT to target.
target-mspt: 35
# The default values for dynamic settings.
# If left unspecified, the maximum value will be used.
# Note: adding view / simulation distance here will override their value in server.properties.
default-values:
MOBCAP_PERCENTAGE: 100
CHUNK_TICK_DISTANCE: 10
# The settings that will be decreased when the server is overloaded, in the specified order.
# You can remove settings from the list that you don't want to be dynamically adjusted.
# ► max = The maximum value the server will increase the setting to.
# ► min = The minimum value the server will decrease the setting to.
# ► increment = The amount the setting will be increased or decreased by.
# ► interval = The amount of seconds between each check to increase or decrease.
dynamic-settings:
- setting: 'CHUNK_TICK_DISTANCE'
max: 10
min: 6
increment: 1
interval: 15
- setting: 'MOBCAP_PERCENTAGE'
max: 100
min: 50
increment: 10
interval: 15
- setting: 'SIMULATION_DISTANCE'
max: 10
min: 6
increment: 1
interval: 15
- setting: 'CHUNK_TICK_DISTANCE'
max: 6
min: 2
increment: 1
interval: 15
- setting: 'MOBCAP_PERCENTAGE'
max: 50
min: 30
increment: 10
interval: 15
- setting: 'SIMULATION_DISTANCE'
max: 6
min: 5
increment: 1
interval: 15
- setting: 'VIEW_DISTANCE'
max: 10
min: 5
increment: 1
interval: 150
# A special mobcap that only affects the breeding of animals and villagers.
breeding-cap:
# Enables breeding caps.
enabled: false
# The breeding cap for villagers.
# ► limit = The limit of mobs of the same type within range. Setting this to negative will disable the breeding cap.
# ► range = The range it will check for entities of the same type.
# ► unlimited-height = Whether to ignore the vertical distance when checking for entities of the same type.
villagers:
limit: 32
range: 64
unlimited-height: false
# The breeding cap for animals.
# Note that this cap only checks for animals of the same type.
# If the limit is 32 you can still breed 32 cows and 32 pigs next to each other.
animals:
limit: 32
range: 64
unlimited-height: false
# Gives more control over mob spawning.
mob-spawning:
# Mobcap settings for zombie reinforcements.
# ► enforce-mobcap = Whether to enforce mobcaps for this type of mobspawning.
# ► additional-capacity = Additional capacity for this specific mobcap. Decides how much it can spawn over the regular mobcap.
# It is recommended to allow them to spawn a bit over the regular mobcap as they would otherwise never get a chance to spawn.
zombie-reinforcements:
enforce-mobcap: false
additional-capacity: 32
# Mobcap settings for zombified piglin spawning from nether portal random ticks.
nether-portal-randomticks:
enforce-mobcap: false
additional-capacity: 32
# Mobcap settings for mobs spawned from monster spawners.
monster-spawners:
enforce-mobcap: false
additional-capacity: 32
# Mobcap settings for silverfish spawned from the infested potion effect.
infested:
enforce-mobcap: false
additional-capacity: 32
# A list of mob categories with their respective mobcap and spawn interval.
# ► category = The vanilla spawn category.
# ► mobcap = The maximum amount of entities in the same category that can spawn near a player.
# ► spawn-interval = The interval between spawn attempts in ticks. Higher values mean less frequent spawn attempts.
categories:
- category: 'MONSTER'
mobcap: 70
spawn-interval: 1
- category: 'CREATURE'
mobcap: 10
spawn-interval: 400
- category: 'AMBIENT'
mobcap: 15
spawn-interval: 1
- category: 'AXOLOTLS'
mobcap: 5
spawn-interval: 1
- category: 'UNDERGROUND_WATER_CREATURE'
mobcap: 5
spawn-interval: 1
- category: 'WATER_CREATURE'
mobcap: 5
spawn-interval: 1
- category: 'WATER_AMBIENT'
mobcap: 20
spawn-interval: 1
- category: 'AETHER_AETHER_AERWHALE'
mobcap: 1
spawn-interval: 1
- category: 'AETHER_AETHER_DARKNESS_MONSTER'
mobcap: 5
spawn-interval: 1
- category: 'AETHER_AETHER_SKY_MONSTER'
mobcap: 4
spawn-interval: 1
- category: 'AETHER_AETHER_SURFACE_MONSTER'
mobcap: 15
spawn-interval: 1
# Settings for commands and their formatting.
commands:
# Enables the /servercore status command.
status-enabled: true
# Enables the /mobcaps command.
mobcaps-enabled: true
colors:
# The colors used in command feedback. You can use hex codes or minecraft legacy color names.
# The primary color is the most used color in command feedback.
primary: 'dark_aqua'
# The secondary color is used for highlighting important information, like values.
secondary: 'green'
# The tertiary color is mostly used for text in titles.
tertiary: 'aqua'
# Activation range can drastically reduce the amount of lag caused by ticking entities.
# It does this by cleverly skipping certain entity ticks based on the distance to players and other factors, like immunity checks.
# Immunity checks determine whether an entity should be ticked even when it's outside the activation range, like for example when it is falling or takes damage.
# Note: while this is a very powerful feature, it can still slow down mobfarms and break very specific technical contraptions.
activation-range:
# Enables activation range.
enabled: false
# Briefly ticks entities newly added to the world for 10 seconds (includes both spawning and loading).
# This gives them a chance to properly immunize when they are spawned if they should be. Can be helpful for mobfarms.
tick-new-entities: true
# Enables vertical range checks. By default, activation ranges only work horizontally.
# This can greatly improve performance on taller worlds, but might break a few very specific ai-based mobfarms.
use-vertical-range: false
# Skips 1/4th of entity ticks whilst not immune.
# This affects entities that are within the activation range, but not immune (for example by falling or being in water).
skip-non-immune: false
# Allows villagers to tick regardless of the activation range when panicking.
villager-tick-panic: true
# The time in seconds that a villager needs to be inactive for before obtaining work immunity (if it has work tasks).
villager-work-immunity-after: 20
# The amount of ticks an inactive villager will wake up for when it has work immunity.
villager-work-immunity-for: 20
# A list of entity types that should be excluded from activation range checks.
excluded-entity-types:
- 'minecraft:warden'
- 'minecraft:ghast'
- 'minecraft:hopper_minecart'
# The activation type that will get assigned to any entity that doesn't have a custom activation type.
# ► activation-range = The range an entity is required to be in from a player to be activated.
# ► tick-interval = The interval between 'active' ticks whilst the entity is inactive. Negative values will disable these active ticks.
# ► wakeup-interval = The interval between inactive entity wakeups in seconds.
# ► extra-height-up = Allows entities to be ticked when far above the player when vertical range is in use.
# ► extra-height-down = Allows entities to be ticked when far below the player when vertical range is in use.
default-activation-type:
activation-range: 16
tick-interval: 20
wakeup-interval: -1
extra-height-up: false
extra-height-down: false
# A list of custom activation types.
# ► name = The name of the activation type.
# ► entity-matcher = A list of conditions to filter entities. Only one of these conditions needs to be met for an entity to match.
# ► If an entity matches multiple activation types, the one highest in the list will be used. The conditions accept the following formats:
# - Entity type matching | Uses the entity type's identifier. | 'minecraft:zombie' matches zombies, but for example not husks or drowned.
# - Typeof class matching | Uses the 'typeof:' prefix. | 'typeof:monster' matches all monsters.
# ► Available typeof classes: mob, monster, raider, neutral, ambient, animal, water_animal, flying_animal, flying_monster, villager, projectile.
custom-activation-types:
- name: 'raider'
activation-range: 48
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'typeof:raider'
- name: 'water'
activation-range: 16
tick-interval: 20
wakeup-interval: 60
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:water_animal'
- name: 'villager'
activation-range: 16
tick-interval: 20
wakeup-interval: 30
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:villager'
- name: 'zombie'
activation-range: 16
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'minecraft:zombie'
- 'minecraft:husk'
- name: 'monster-below'
activation-range: 32
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: true
entity-matcher:
- 'minecraft:creeper'
- 'minecraft:slime'
- 'minecraft:magma_cube'
- 'minecraft:hoglin'
- name: 'flying-monster'
activation-range: 48
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'minecraft:ghast'
- 'minecraft:phantom'
- name: 'monster'
activation-range: 32
tick-interval: 20
wakeup-interval: 20
extra-height-up: true
extra-height-down: false
entity-matcher:
- 'typeof:monster'
- name: 'animal'
activation-range: 16
tick-interval: 20
wakeup-interval: 60
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:animal'
- 'typeof:ambient'
- name: 'creature'
activation-range: 24
tick-interval: 20
wakeup-interval: 30
extra-height-up: false
extra-height-down: false
entity-matcher:
- 'typeof:mob'
+19
View File
@@ -0,0 +1,19 @@
# Allows you to toggle specific optimizations that don't have full vanilla parity.
# These settings will only take effect after server restarts.
# Prevents many different lagspikes caused by loading chunks synchronously.
# This for example causes maps to only update loaded chunks, which depending on the viewdistance can be a smaller radius than vanilla.
reduce-sync-loads: true
# Can significantly reduce the time spent on chunk iteration by only updating the ticking chunks list each second, rather than each tick.
# This is especially useful for servers with a high playercount and / or viewdistance.
# Note: This setting is incompatible with Moonrise.
cache-ticking-chunks: true
# Optimizes command block executions by caching parsed commands.
# Command parsing is a relatively expensive operation. By caching it we avoid parsing the same command every time it is executed.
optimize-command-blocks: false
# Can significantly reduce time spent on mobspawning, but isn't as accurate as vanilla on biome borders.
# This may cause mobs from another biome to spawn a few blocks across a biome border (this does not affect structure spawning!).
fast-biome-lookups: false
# Fluid random ticks, like lava spreading fire, are run twice each game tick.
# Enabling this will cancel the 'duplicate' second fluid tick, but this may cause slight behavior changes.
cancel-duplicate-fluid-ticks: false