Spider

[X] Definitive
Wall-climb detector — AvA Spider + NCM ConstantClimb (plan §4 #6). The cheat sticks to a wall and ascends it without a ladder/vine/scaffold. Two sub-flags share one VL pool.
id: spider  ·  class: SpiderCheck  ·  group: Movement

What it detects

Wall-climb detector — AvA Spider + NCM ConstantClimb (plan §4 #6). The cheat sticks to a wall and ascends it without a ladder/vine/scaffold. Two sub-flags share one VL pool.

Observer signature

Spider (AvA): Δy > 0.05 while airborne with a solid NON-climbable block beside the player (4 face-adjacent columns at feet+torso), accumulator > threshold (10) consecutive ticks — a jump arcs ~6 ascending ticks then falls so >10 is unambiguous. Spider(ConstantClimb) (NCM): last 8 ascending Δy samples all within 0.1..0.6 and a 0.08 spread (constant YSpeed; a decelerating jump arc spans ~0.15). Liquid at the feet → exempt; climbable blocks → exempt; the >0.1 floor excludes Levitation (~0.05/tick).

False-positive guards

  • Vehicle/gliding/riptide/swimming exempt
  • Liquid at feet → exempt (water/bubble-column ascent is legit)
  • Climbable blocks (ladder/vine/scaffolding) → nearSolidWall returns false (legit ladder climb exempt)
  • ConstantClimb Δy floor 0.1 excludes Levitation; ceiling 0.6 excludes a jump's first impulse
  • Teleport exempt (tick - lastTeleportTick < 10, resets)
  • Server-lag pause (8 / 3 windows)
  • Chunk-unloaded → nearSolidWall fail-opens to false (chunk-unloaded-never-FP)

Configuration

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

FieldDefault
enabledtrue
setbackVL5.0
decay0.5
threshold10.0
Spider accumulator> threshold (10) ascending ticks
SPIDER_MIN_DY0.05
ConstantClimb window8 ticks
CLIMB_MIN/MAX_DY0.1 / 0.6
CLIMB_BAND0.08 (constant spread)

Source

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