NoFall

[X] Definitive
NoFall detector — accumulates downward distance while airborne, flags when a player lands from a damaging fall (fallAccum > threshold 8.0) without a hurt signal. Also catches ground-spoof-over-air and Verus stair-step.
id: noFallDamage  ·  class: NoFallDamageCheck  ·  group: Movement

What it detects

NoFall detector — accumulates downward distance while airborne, flags when a player lands from a damaging fall (fallAccum > threshold 8.0) without a hurt signal. Also catches ground-spoof-over-air and Verus stair-step.

Observer signature

Landed-no-hurt on airborne->grounded transition: wasAirborne && fallAccum > threshold && !soft && tick - lastHurtTick > 2; level = max(1, ceil((fallAccum-3)*2)). Spoof: onGroundPacket && fallAccum > threshold && !isSolidBelow(0.5). Stair: ~-2.0 then ~0 dy cycles >=3.

False-positive guards

  • Vehicle/gliding exempt
  • Teleport exempt (tick - lastTeleportTick < 5)
  • Soft-land exemption (WATER/SLIME_BLOCK/HAY_BLOCK/COBWEB)
  • Hurt signal resets fallAccum and exempts the next landing
  • Chunk not loaded -> skip

Configuration

Defaults (editable in-game via the YACL config screen or /ius config):

FieldDefault
enabledtrue
setbackVL4.0
decay1.0
threshold8.0
fall accum bar8.0 blocks
soft blockswater/slime/hay/cobweb

Source

src/main/kotlin/dev/iustitia/checks/movement/NoFallDamageCheck.kt  ↗