Falling Hazard

Last updated Sep 18, 2026

Falling Hazard

Optional room-wide descending particle plane. Off by default on new rooms.

Settings live on each room YAML under falling-hazard (not in config.yml). Configure from the wand hotbar Falling Hazard item (magma cream).

Behavior

  1. Starts when a floor begins. If start mode is After delay, the delay runs on every floor (not only floor 1).
  2. hazard.warning is sent when a delay starts. hazard.started is sent when the plane first activates on floor 1.
  3. A short grace period (~2 seconds) lets players settle before damage.
  4. A particle plane descends across the current floor’s block bounds.
  5. Above, in plane, and below use the modes you set.
  6. Pauses while a cleared floor’s countdown runs and during drop/paste.
  7. Resumes at the same world Y it paused at (does not snap to the next ceiling).
  8. If the plane is far above the current floor, it speeds up to catch up, then returns to normal speed when near that floor’s ceiling.
  9. Stops when it reaches the current floor bottom (no lingering damage pool).
  10. Paste failures clear the pause so the hazard is not stuck off for the rest of the run.

Damage uses normal player.damage, so anti-cheese.death-behavior still applies (kick, spectate, or respawn on the current floor). Slice damage ticks about twice per second.

Creative and spectator players are ignored. Invulnerable players (including a short post-respawn window) are ignored.

Editor

Right-click Falling Hazard (magma cream):

GUI Effect
On Opens the Falling Hazard menu
Off Toggles enabled / disabled
Control Action
Enable On / off for this room
Start Floor start or After delay (+ delay seconds)
Fall interval Ticks between drops (left −10 · right +10 · shift ±40)
In plane / Above Hit modes
Damage Amount when a damage mode is active
Particle Left next · right previous presets. Shift-click to type any Bukkit particle name in chat (clickable suggestions; type cancel to abort)
Color When the particle supports color (left / right)
Advanced Density, spread, slice height, size, render interval

Blocks dropped each tick interval still come from speed in the room YAML (default 1.0). Catch-up multiplies that step when the plane is far above.

Room YAML

falling-hazard:
  enabled: false
  start-mode: floor_start          # floor_start | after_delay
  start-delay-seconds: 0           # 0–60; used when start-mode is after_delay
  speed: 1.0                       # Blocks dropped each fall-interval (catch-up may multiply)
  fall-interval: 100               # Ticks between drops (100 = 5s). Edited in the GUI.
  slice-height: 1.0                # Thickness of the hit plane
  above-mode: instant_kill         # safe | damage | instant_kill
  hit-mode: damage                 # damage | instant_kill
  damage: 2.0                      # Half-hearts when a damage mode hits
  particle: DUST                   # Any Bukkit Particle name
  color: "#FF3300"                 # Hex; used by color particles (e.g. DUST)
  particle-size: 1.5
  particle-density: 30
  particles-per-point: 5
  spread-horizontal: 0.8
  spread-vertical: 0.3
  render-interval: 4               # Ticks between particle refreshes

Missing falling-hazard on older rooms means disabled.

Messages

In messages.yml:

Key When
hazard.warning Start delay begins
hazard.started Plane activates (floor 1)
editor.hazard-enabled / editor.hazard-disabled GUI-off toggle feedback
editor.particle-input-* Shift-click particle chat flow

Tips

  • Instant kill above the plane pairs well with death-behavior: respawn for retries, or kick for hard fails.
  • Lower density and particles-per-point if the plane causes lag.
  • Keep floor bounds accurate; the plane covers the pasted schematic’s block box.
  • Use a lower fall-interval (faster ticks) for tighter pressure; catch-up handles deep multi-floor gaps automatically.