Skip to content
Leaf26 edited this page Jun 17, 2026 · 2 revisions

safety.yml controls landing validation and correction. The biome whitelist/blacklist (biomeWhitelist + biomes) is covered on the Biome Controls page.

Landing protection

Key Default Purpose
invulnerabilityTime 5 Seconds of invulnerability after arrival (prevents fall/fire/drowning damage on landing).
safetyRadius 0 Block radius around the landing point to check for hazards. 0 checks only the landing block.
staleChunkRetryLimit 2 Bounded retry budget for the stale-chunk guard (prevents races where a chunk unloads before evaluation).
anvilPrefilterEnabled true Off-thread anvil pre-filter (rejects unsafe biomes/blocks without loading chunks).

Emergency platforms

A legacy fallback that builds a small platform when no solid ground is found. Disabled by default.

Key Default Purpose
platformRadius -1 Radius of the emergency platform. -1 disables it (recommended).
platformDepth 1 Downward depth of the platform.
platformAirHeight 2 Air height ensured above the platform.
platformMaterial GLASS Block used when no solid block exists.
platformRestoreSeconds -1 Restore the footprint to its original blocks after this many seconds. -1 never restores; 0 restores when the chunk next loads. The countdown only advances while the chunk is loaded and survives restarts. (Bukkit/Paper/Folia only; Fabric does not build platforms.)

Block filters and token grammar

airBlocks (walkable space above the landing) and unsafeBlocks (rejected landing targets) accept a token grammar:

  • MATERIAL - plain material (e.g. LAVA). (All editions.)
  • (Pro) MATERIAL[prop=val,prop2=val2] - match only when block-state properties match (case-insensitive string equality).
  • (Pro) MATERIAL[prop>=n] - numeric block-state range comparison (>=, <=, >, <; n a whole number, e.g. LAVA[level<=3]).
  • (Pro) #namespace:tag - every material in a block tag (e.g. #minecraft:logs).
  • (Pro) #namespace:tag[prop=val] - tag members matching properties.
  • (Pro) *[prop=val] - any material matching properties (e.g. *[waterlogged=true]).

Notes:

  • Multiple predicates inside one [ ... ] combine with logical AND; two range bounds on one key form an interval (LAVA[level>=2,level<=5]).
  • A block whose property is absent or non-numeric is a miss (fail-open) - it is never rejected by a predicate it cannot satisfy.
  • Malformed tokens are dropped at load with a single startup WARNING, never silently ignored.

Edition note. Plain materials work in every edition. The tag (#...) and predicate ([...]) grammar ships only in the full (Pro) edition; the rtp-lite variant treats both lists as flat material allow/deny lists.

Defaults include AIR, #minecraft:flowers, #minecraft:leaves (air) and LAVA, WATER, *[waterlogged=true], CACTUS, #minecraft:logs (unsafe).

version is an internal config version - do not change it.

Clone this wiki locally