What is tickforge-world-defaults.yml?

tickforge-world-defaults.yml contains the default world-level settings that apply to every world on your server. Individual worlds can override any of these values by editing the paper-world.yml file inside that world's folder.

ℹ️
Per-World Overrides
To override a setting for a single world, copy the key into <world-folder>/paper-world.yml. Any key not present in a per-world file inherits the default from this file.

Where to find this file

The file lives inside the config/ directory that TickForge creates in your server root.

FILE PATH
<server-root>/config/tickforge-world-defaults.yml
Migrating from Paper?
If you previously used paper-world-defaults.yml, TickForge automatically migrates compatible keys on first launch. A backup of your original file is saved to config/legacy-backup/.

anticheat

Anti-xray engine settings. Hides ore distribution from x-ray clients.

anti-xray

KeyTypeDefaultDescription
enabledbooleanfalseEnable the anti-xray engine.
engine-modeenumHIDEAnti-xray engine mode. HIDE replaces ores with stone client-side. OBFUSCATE replaces all hidden blocks with random ores.
max-block-heightint64Maximum Y level to apply anti-xray. Ores above this are sent normally.
update-radiusint2Radius of blocks to update when a block is broken, revealing hidden ores nearby.
lava-obscuresbooleanfalseTreat lava as an opaque block for anti-xray purposes.
use-permissionbooleanfalseOnly apply anti-xray to players without the bypass permission.
hidden-blockslistore blocksBlocks to hide from x-ray clients. Defaults include all ores, chests, and spawners.
replacement-blocksliststone, planks, deepslateBlocks used to replace hidden blocks in OBFUSCATE mode.
YAML
anticheat: anti-xray: enabled: false engine-mode: HIDE max-block-height: 64 update-radius: 2 lava-obscures: false use-permission: false

chunks

Chunk saving, unloading, and entity save limits.

KeyTypeDefaultDescription
auto-save-intervaldurationdefaultInterval between auto-saves. Uses the server default if unset.
max-auto-save-chunks-per-tickint24Maximum chunks saved per tick during auto-save. Lower values spread I/O over more ticks.
fixed-chunk-inhabited-timeint-1Override chunk inhabited time with a fixed value. -1 to use actual time.
prevent-moving-into-unloaded-chunksbooleanfalsePrevent players from entering unloaded chunks (teleports them back).
delay-chunk-unloads-byduration10sKeep chunks loaded for this duration after the last player leaves. Reduces reload churn.
flush-regions-on-savebooleanfalseFlush region files to disk on save. Safer but slower.
YAML
chunks: auto-save-interval: default max-auto-save-chunks-per-tick: 24 fixed-chunk-inhabited-time: -1 prevent-moving-into-unloaded-chunks: false delay-chunk-unloads-by: 10s flush-regions-on-save: false

collisions

Entity collision behavior and cramming rules.

KeyTypeDefaultDescription
only-players-collidebooleanfalseOnly process collisions involving at least one player.
allow-vehicle-collisionsbooleantrueAllow vehicles (boats, minecarts) to collide with entities.
fix-climbing-bypassing-cramming-rulebooleanfalseFix entities bypassing the cramming limit while climbing.
max-entity-collisionsint8Maximum number of collisions processed per entity per tick.
allow-player-cramming-damagebooleanfalseAllow players to take damage from entity cramming.
YAML
collisions: only-players-collide: false allow-vehicle-collisions: true fix-climbing-bypassing-cramming-rule: false max-entity-collisions: 8 allow-player-cramming-damage: false

command-blocks

Permission and execution settings for command blocks.

KeyTypeDefaultDescription
permissions-levelint2Op permission level command blocks execute with.
force-follow-perm-levelbooleantrueForce command blocks to respect the configured permission level.
YAML
command-blocks: permissions-level: 2 force-follow-perm-level: true

entities

The largest section, covering mob effects, armor stands, spawning, behavior, and tracking ranges.

mob-effects

KeyTypeDefaultDescription
spiders-immune-to-poison-effectbooleantrueSpiders are immune to the poison effect.
immune-to-wither-effect.witherbooleantrueWither boss is immune to the wither effect.
immune-to-wither-effect.wither-skeletonbooleantrueWither skeletons are immune to the wither effect.

armor-stands

KeyTypeDefaultDescription
do-collision-entity-lookupsbooleantrueArmor stands check for entity collisions.
tickbooleantrueArmor stands are ticked each server tick. Disable to save CPU on servers with many armor stands.

spawning

KeyTypeDefaultDescription
per-player-mob-spawnsbooleantrueUse per-player mob spawn counts instead of global counts.
despawn-range-shapeenumELLIPSOIDShape used for despawn range checks. ELLIPSOID or CYLINDER.
all-chunks-are-slime-chunksbooleanfalseMake every chunk a slime chunk.
iron-golems-can-spawn-in-airbooleanfalseAllow iron golems to spawn in air blocks.
count-all-mobs-for-spawningbooleanfalseCount all mobs toward the spawn cap, not just naturally spawned ones.
filter-bad-tile-entity-nbt-from-falling-blocksbooleantrueStrip dangerous NBT from falling block entities to prevent exploits.
disable-mob-spawner-spawn-egg-transformationbooleanfalsePrevent spawn eggs from changing the mob type of spawners.
scan-for-legacy-ender-dragonbooleantrueScan for legacy ender dragon fight data on world load.

spawning.duplicate-uuid

KeyTypeDefaultDescription
modeenumSAFE_REGENHow to handle duplicate entity UUIDs. SAFE_REGEN, DELETE, NOTHING, or WARN.
safe-regen-delete-rangeint32Range in blocks to search for duplicate entities when using SAFE_REGEN.

spawning.wandering-trader

KeyTypeDefaultDescription
spawn-minute-lengthint1200Length of a "minute" in ticks for wandering trader spawn logic.
spawn-chance-failure-incrementint25How much the spawn chance increases per failed attempt.
spawn-chance-minint25Minimum spawn chance (percentage).
spawn-chance-maxint75Maximum spawn chance (percentage).

behavior

KeyTypeDefaultDescription
disable-chest-cat-detectionbooleanfalseDisable the check for cats sitting on chests (allows opening blocked chests).
spawner-nerfed-mobs-should-jumpbooleanfalseAllow nerfed spawner mobs to still jump.
experience-merge-max-valueint-1Maximum XP value for merged orbs. -1 for unlimited.
should-remove-dragonbooleanfalseRemove the ender dragon on world load if true.
zombies-target-turtle-eggsbooleantrueZombies pathfind to and trample turtle eggs.
piglins-guard-chestsbooleantruePiglins become hostile when players open containers.
baby-zombie-movement-modifierdouble0.5Speed modifier for baby zombies (0.5 = 50% faster than adults).
disable-creeper-lingering-effectbooleanfalseDisable the lingering potion effect from charged creeper explosions.
ender-dragons-death-always-places-dragon-eggbooleanfalseAlways place a dragon egg on ender dragon death (not just the first kill).
phantoms-do-not-spawn-on-creative-playersbooleantruePrevent phantom spawns from counting creative players.
phantoms-only-attack-insomniacsbooleantruePhantoms only target players who haven't slept.
player-insomnia-start-ticksint72000Ticks since last sleep before phantoms begin targeting a player.
phantoms-spawn-attempt-min-secondsint60Minimum seconds between phantom spawn attempts.
phantoms-spawn-attempt-max-secondsint119Maximum seconds between phantom spawn attempts.
parrots-are-unaffected-by-player-movementbooleanfalsePrevent parrots from dismounting when a player moves.
disable-player-critsbooleanfalseDisable critical hits for players.
nerf-pigmen-from-nether-portalsbooleanfalseNerf zombified piglins that spawn from nether portals.
only-merge-items-horizontallybooleanfalseOnly merge items on the same Y level, preventing visual artifacts.

behavior.pillager-patrols

KeyTypeDefaultDescription
disablebooleanfalseDisable pillager patrols entirely.
spawn-chancedouble0.2Chance of a patrol spawning each cycle.
spawn-delay.per-playerbooleanfalseUse per-player patrol spawn delay.
spawn-delay.ticksint12000Ticks between patrol spawn attempts.
start.per-playerbooleanfalseTrack patrol start day per player.
start.dayint5In-game day when patrols start spawning.

tracking-range-y

KeyTypeDefaultDescription
enabledbooleanfalseEnable vertical tracking range limits (reduces entity packets in tall builds).
playerintdefaultVertical tracking range for players.
animalintdefaultVertical tracking range for animals.
monsterintdefaultVertical tracking range for monsters.
miscintdefaultVertical tracking range for misc entities.
displayintdefaultVertical tracking range for display entities.
otherintdefaultVertical tracking range for all other entities.

environment

Weather, explosions, portals, void damage, and world generation behavior.

KeyTypeDefaultDescription
disable-thunderbooleanfalseDisable thunderstorms.
disable-ice-and-snowbooleanfalseDisable ice formation and snowfall.
optimize-explosionsbooleanfalseCache explosion block lookups. Faster but slightly changes blast patterns.
disable-explosion-knockbackbooleanfalseDisable knockback from explosions.
generate-flat-bedrockbooleanfalseGenerate a single flat layer of bedrock instead of the default jagged pattern.
void-damage-amountdouble4.0Damage dealt per tick when an entity is in the void. Set to disabled to turn off.
void-damage-min-build-height-offsetdouble-64.0Offset below min build height where void damage begins.
fire-tick-delayint30Ticks between fire spread attempts.
water-over-lava-flow-speedint5How quickly water flows over lava (lower = faster).
portal-search-radiusint128Radius to search for an existing portal when entering the nether.
portal-create-radiusint16Radius to search for valid portal placement location.
portal-search-vanilla-dimension-scalingbooleantrueApply vanilla 1:8 dimension scaling to portal search.
nether-ceiling-void-damage-heightintdisabledY level above which void damage is dealt in the nether. Prevents nether roof access.
max-fluid-ticksint65536Maximum pending fluid tick updates per world.
max-block-ticksint65536Maximum pending block tick updates per world.
locate-structures-outside-world-borderbooleanfalseAllow /locate to find structures outside the world border.

environment.treasure-maps

KeyTypeDefaultDescription
enabledbooleantrueEnable treasure map functionality.
find-already-discovered.villager-tradebooleanfalseVillager-traded maps can point to already-discovered structures.
find-already-discovered.loot-tablesbooleandefaultLoot table maps can point to already-discovered structures.

environment.frosted-ice

KeyTypeDefaultDescription
enabledbooleantrueEnable frosted ice from Frost Walker enchantment.
delay.minint20Minimum ticks before frosted ice starts melting.
delay.maxint40Maximum ticks before frosted ice starts melting.

fishing-time-range

Controls how long players wait for a fish to bite.

KeyTypeDefaultDescription
minimumint100Minimum ticks before a fish bites.
maximumint600Maximum ticks before a fish bites.
YAML
fishing-time-range: minimum: 100 maximum: 600

fixes

Bug fixes and exploit patches that can be toggled.

KeyTypeDefaultDescription
fix-items-merging-through-wallsbooleanfalsePrevent items from merging through solid blocks.
disable-unloaded-chunk-enderpearl-exploitbooleanfalsePrevent ender pearls from traveling through unloaded chunks.
prevent-tnt-from-moving-in-waterbooleanfalsePrevent primed TNT from being pushed by water.
split-overstacked-lootbooleantrueSplit loot table results that exceed max stack size into multiple stacks.
falling-block-height-nerfintdisabledRemove falling blocks above this Y level. Prevents lag machines.
tnt-entity-height-nerfintdisabledRemove TNT entities above this Y level. Prevents lag machines.
YAML
fixes: fix-items-merging-through-walls: false disable-unloaded-chunk-enderpearl-exploit: false prevent-tnt-from-moving-in-water: false split-overstacked-loot: true falling-block-height-nerf: disabled tnt-entity-height-nerf: disabled

hopper

Hopper performance and behavior tweaks.

KeyTypeDefaultDescription
cooldown-when-fullbooleantrueApply a transfer cooldown when a hopper is full. Significant performance improvement.
disable-move-eventbooleanfalseDisable the InventoryMoveItemEvent for hoppers. Major performance gain but breaks some plugins.
ignore-occluding-blocksbooleanfalseAllow hoppers to pull items through solid blocks.
YAML
hopper: cooldown-when-full: true disable-move-event: false ignore-occluding-blocks: false

lootables

Loot table replenishment for naturally generated containers.

KeyTypeDefaultDescription
auto-replenishbooleanfalseAutomatically refill loot containers after they've been looted.
restrict-player-relootbooleantruePrevent the same player from re-looting a container before it refills.
reset-seed-on-fillbooleantrueRandomize loot table seed when refilling so loot varies each time.
max-refillsint-1Maximum times a container can be refilled. -1 for unlimited.
refresh-minduration12hMinimum time before a container can be refilled.
refresh-maxduration2dMaximum time before a container is guaranteed to refill.
YAML
lootables: auto-replenish: false restrict-player-reloot: true reset-seed-on-fill: true max-refills: -1 refresh-min: 12h refresh-max: 2d

maps

Map rendering and item frame display settings.

KeyTypeDefaultDescription
item-frame-cursor-limitint128Maximum map cursors rendered per item frame. Lower values reduce bandwidth.
item-frame-cursor-update-intervalint10Ticks between map cursor updates in item frames.
YAML
maps: item-frame-cursor-limit: 128 item-frame-cursor-update-interval: 10

max-growth-height

Maximum growth heights for plants.

KeyTypeDefaultDescription
cactusint3Maximum height a cactus can grow.
reedsint3Maximum height sugar cane can grow.
bamboo.maxint16Maximum bamboo growth height.
bamboo.minint11Minimum bamboo growth height before it can stop growing.
YAML
max-growth-height: cactus: 3 reeds: 3 bamboo: max: 16 min: 11

misc

Redstone implementation, pathfinding, and miscellaneous gameplay tweaks.

KeyTypeDefaultDescription
redstone-implementationenumVANILLARedstone engine. VANILLA, EIGENCRAFT (optimized, same behavior), or ALTERNATE_CURRENT (fastest, minor differences).
update-pathfinding-on-block-updatebooleantrueRecalculate mob pathfinding when blocks change. Disable for performance at the cost of AI accuracy.
disable-end-creditsbooleanfalseSkip the end credits sequence when entering the end portal.
disable-sprint-interruption-on-attackbooleanfalsePrevent sprinting from being cancelled when the player is attacked.
disable-relative-projectile-velocitybooleanfalseProjectiles ignore the shooter's velocity (always fire at base speed).
legacy-ender-pearl-behaviorbooleanfalseUse pre-1.21.2 ender pearl behavior (pearls despawn on logout).
allow-remote-ender-dragon-respawningbooleanfalseAllow respawning the ender dragon from outside The End.
show-sign-click-command-failure-msgs-to-playerbooleanfalseShow command failure messages when a player clicks a sign with a command.
YAML
misc: redstone-implementation: VANILLA update-pathfinding-on-block-update: true disable-end-credits: false disable-sprint-interruption-on-attack: false disable-relative-projectile-velocity: false legacy-ender-pearl-behavior: false allow-remote-ender-dragon-respawning: false

scoreboards

Scoreboard entity tracking and display settings.

KeyTypeDefaultDescription
allow-non-player-entities-on-scoreboardsbooleantrueAllow non-player entities to appear on scoreboards.
use-vanilla-world-scoreboard-name-coloringbooleanfalseUse vanilla team color for scoreboard display names.
YAML
scoreboards: allow-non-player-entities-on-scoreboards: true use-vanilla-world-scoreboard-name-coloring: false

spawn

World spawn protection behavior.

KeyTypeDefaultDescription
allow-using-signs-inside-spawn-protectionbooleanfalseAllow players to interact with signs inside the spawn protection area.
YAML
spawn: allow-using-signs-inside-spawn-protection: false

tick-rates

Override how often specific game mechanics are processed.

KeyTypeDefaultDescription
grass-spreadint1Ticks between grass spread attempts. Higher values slow grass growth.
container-updateint1Ticks between container inventory sync updates.
mob-spawnerint1Ticks between mob spawner activation checks.
wet-farmlandint1Ticks between wet farmland moisture checks.
dry-farmlandint1Ticks between dry farmland dehydration checks.
Sensor & Behavior Overrides
You can also override individual entity sensor and behavior tick rates using the sensor and behavior maps. For example, Villager secondarypoisensor defaults to 40.
YAML
tick-rates: grass-spread: 1 container-update: 1 mob-spawner: 1 wet-farmland: 1 dry-farmland: 1 sensor: villager: secondarypoisensor: 40 behavior: villager: validatenearbypoi: -1

unsupported-settings

Experimental or unsupported options. Use at your own risk.

No Support Provided
These settings are not officially supported. They may cause unexpected behavior, data loss, or instability. Do not use them unless you fully understand what they do.
KeyTypeDefaultDescription
fix-invulnerable-end-crystal-exploitbooleantrueFix the invulnerable end crystal exploit.
disable-world-ticking-when-emptybooleanfalseStop ticking worlds that have no players in them. May break time-dependent mechanics.
YAML
unsupported-settings: fix-invulnerable-end-crystal-exploit: true disable-world-ticking-when-empty: false

Full Default File

Below is the complete tickforge-world-defaults.yml as generated on first launch with all defaults.

⚠️
Don't Copy-Paste Blindly
Only override keys you understand. Most defaults are tuned for vanilla-accurate behavior. Changing values without understanding their impact can cause gameplay issues or instability.
TICKFORGE-WORLD-DEFAULTS.YML
Click to copy
# TickForge World Defaults Configuration # https://tickforge.dev/wiki/configuration/tickforge-world-defaults anticheat: anti-xray: enabled: false engine-mode: HIDE max-block-height: 64 update-radius: 2 lava-obscures: false use-permission: false chunks: auto-save-interval: default max-auto-save-chunks-per-tick: 24 fixed-chunk-inhabited-time: -1 prevent-moving-into-unloaded-chunks: false delay-chunk-unloads-by: 10s flush-regions-on-save: false collisions: only-players-collide: false allow-vehicle-collisions: true fix-climbing-bypassing-cramming-rule: false max-entity-collisions: 8 allow-player-cramming-damage: false command-blocks: permissions-level: 2 force-follow-perm-level: true entities: mob-effects: spiders-immune-to-poison-effect: true immune-to-wither-effect: wither: true wither-skeleton: true armor-stands: do-collision-entity-lookups: true tick: true markers: tick: true spawning: per-player-mob-spawns: true despawn-range-shape: ELLIPSOID all-chunks-are-slime-chunks: false iron-golems-can-spawn-in-air: false count-all-mobs-for-spawning: false filter-bad-tile-entity-nbt-from-falling-blocks: true disable-mob-spawner-spawn-egg-transformation: false scan-for-legacy-ender-dragon: true duplicate-uuid: mode: SAFE_REGEN safe-regen-delete-range: 32 wandering-trader: spawn-minute-length: 1200 spawn-chance-failure-increment: 25 spawn-chance-min: 25 spawn-chance-max: 75 alt-item-despawn-rate: enabled: false behavior: disable-chest-cat-detection: false spawner-nerfed-mobs-should-jump: false experience-merge-max-value: -1 should-remove-dragon: false zombies-target-turtle-eggs: true piglins-guard-chests: true baby-zombie-movement-modifier: 0.5 disable-creeper-lingering-effect: false ender-dragons-death-always-places-dragon-egg: false phantoms-do-not-spawn-on-creative-players: true phantoms-only-attack-insomniacs: true player-insomnia-start-ticks: 72000 phantoms-spawn-attempt-min-seconds: 60 phantoms-spawn-attempt-max-seconds: 119 parrots-are-unaffected-by-player-movement: false disable-player-crits: false nerf-pigmen-from-nether-portals: false only-merge-items-horizontally: false pillager-patrols: disable: false spawn-chance: 0.2 spawn-delay: per-player: false ticks: 12000 start: per-player: false day: 5 tracking-range-y: enabled: false environment: disable-thunder: false disable-ice-and-snow: false optimize-explosions: false disable-explosion-knockback: false generate-flat-bedrock: false void-damage-amount: 4.0 void-damage-min-build-height-offset: -64.0 fire-tick-delay: 30 water-over-lava-flow-speed: 5 portal-search-radius: 128 portal-create-radius: 16 portal-search-vanilla-dimension-scaling: true nether-ceiling-void-damage-height: disabled max-fluid-ticks: 65536 max-block-ticks: 65536 locate-structures-outside-world-border: false treasure-maps: enabled: true find-already-discovered: villager-trade: false loot-tables: default frosted-ice: enabled: true delay: min: 20 max: 40 fishing-time-range: minimum: 100 maximum: 600 fixes: fix-items-merging-through-walls: false disable-unloaded-chunk-enderpearl-exploit: false prevent-tnt-from-moving-in-water: false split-overstacked-loot: true falling-block-height-nerf: disabled tnt-entity-height-nerf: disabled hopper: cooldown-when-full: true disable-move-event: false ignore-occluding-blocks: false lootables: auto-replenish: false restrict-player-reloot: true reset-seed-on-fill: true max-refills: -1 refresh-min: 12h refresh-max: 2d maps: item-frame-cursor-limit: 128 item-frame-cursor-update-interval: 10 max-growth-height: cactus: 3 reeds: 3 bamboo: max: 16 min: 11 misc: redstone-implementation: VANILLA update-pathfinding-on-block-update: true disable-end-credits: false disable-sprint-interruption-on-attack: false disable-relative-projectile-velocity: false legacy-ender-pearl-behavior: false allow-remote-ender-dragon-respawning: false scoreboards: allow-non-player-entities-on-scoreboards: true use-vanilla-world-scoreboard-name-coloring: false spawn: allow-using-signs-inside-spawn-protection: false tick-rates: grass-spread: 1 container-update: 1 mob-spawner: 1 wet-farmland: 1 dry-farmland: 1 sensor: villager: secondarypoisensor: 40 behavior: villager: validatenearbypoi: -1 unsupported-settings: fix-invulnerable-end-crystal-exploit: true disable-world-ticking-when-empty: false

Download Default Config

Grab the full default tickforge-world-defaults.yml file to use as a starting point or reference.