Speed

[!] Inferential
Horizontal-speed envelope — flags sustained or alternating overspeed. Catches both sustained speed hacks (all 6 ticks over) and alternating BHop (3 over / 3 under) while rejecting 1-2 tick spikes.
id: speedEnvelope  ·  class: SpeedEnvelopeCheck  ·  group: Movement

What it detects

Horizontal-speed envelope — flags sustained or alternating overspeed. Catches both sustained speed hacks (all 6 ticks over) and alternating BHop (3 over / 3 under) while rejecting 1-2 tick spikes.

Observer signature

bps = hypot(delta.x, delta.z) * 20.0; pushed into a 6-tick window; flags when overCount >= 3 (>=3 samples > effectiveCap). Effective cap raised by Speed effect (+20%/level) and x1.3 on ice/blue_ice/packed_ice/frosted_ice/slime_block. Level = max(1, min(10, ceil(overshoot/3.0))).

False-positive guards

  • Vehicle/gliding/riptide/swimming exempt
  • Velocity window (tick - velocityTick < 40)
  • Teleport exempt (tick - lastTeleportTick < 10, clears window)
  • Hurt/knockback exempt (tick - hurtTick < 3)
  • Server-lag exempt (LAG_WINDOW=8 / BURST_WINDOW=3, skips AND does not push sample)
  • Chunk not loaded -> no cap raise (strict)

Configuration

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

FieldDefault
enabledtrue
setbackVL5.0
decay1.0
threshold10.0
window6 ticks
over count>= 3
ice/slime mult1.3
speed factor+20% / level
LAG_WINDOW8

Source

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