- SpeedCheck: tps.enabled and tps.min_tps_threshold now work (was hardcoded) - ConfigManager/config.yml: Removed orphaned async_task_threads and commands.* keys - PunishmentManager: database.enabled now correctly disables SQLite logging - PacketListener: Removed dead code (updatePacketTiming, recordClick, recordAttack)
30 lines
2.5 KiB
Markdown
30 lines
2.5 KiB
Markdown
# XeroAntiCheat
|
|
|
|
Lightweight, accurate anti-cheat for Paper 1.21.x
|
|
|
|
## Latest Updates (v1.1.3)
|
|
|
|
- **SpeedCheck**: `tps.min_tps_threshold` and `tps.enabled` config keys now actually work — previously hardcoded as `18.0` and always-on.
|
|
- **config.yml**: Removed orphaned `async_task_threads` key and entire `commands:` section — these were never read by the plugin.
|
|
- **PunishmentManager**: `database.enabled: false` now correctly disables SQLite punishment logging as documented.
|
|
- **PacketListener**: Removed three unreachable fallback methods (`updatePacketTiming`, `recordClick`, `recordAttack`) — dead code since v1.0.4.
|
|
|
|
## Latest Updates (v1.1.2)
|
|
|
|
- **reload**: `violation.decay_interval` changes now take effect immediately — the decay task is cancelled and recreated on every `/xac reload`.
|
|
- **NoFallCheck**: Added Beds (all 16 colour variants via `Tag.BEDS`) and Powder Snow to the list of blocks that cancel fall damage. Eliminates false positives when players land on these blocks.
|
|
- **config.yml**: Removed orphaned `allow_jump_crits` key from `checks.critical` section (was removed from code in v1.1.1).
|
|
- **JesusCheck, GlideCheck**: Eliminated `Math.sqrt()` from hot-path threshold comparisons.
|
|
|
|
## Latest Updates (v1.1.1)
|
|
|
|
- **CriticalCheck**: Removed dead code — the "no-air crit" detection branch was logically unreachable because `isCritical=true` requires `!isOnGround`, making the subsequent `isOnGround` check always false. The check now only flags "crit while sprinting" (the only branch that could actually fire). Removed `allow_jump_crits` config key. (Future enhancement: Option B damage-ratio detection.)
|
|
- **InventoryMoveCheck**: Replaced `Math.sqrt()` with squared distance comparison (`distanceSquared > 0.01`), consistent with the ReachCheck optimisation.
|
|
|
|
## Latest Updates (v1.1.0)
|
|
|
|
- **ReachCheck**: Now measures distance to entity bounding box center instead of feet. Eliminates false negatives when attacking tall entities (horses, iron golems, withers). Also switched from `distance()` to `distanceSquared()` comparison, removing a `Math.sqrt()` from the hot path.
|
|
- **AutoClickerCheck**: `checkPattern()` rewritten with zero-allocation two-pass iterator approach. Previously allocated two `ArrayList` objects on every combat click.
|
|
- **TimerCheck**: Removed redundant blink detection from `check()` method. Blink detection is fully handled by the 5-tick scheduled task. `setLastMovePacketTime()` retained to feed the task.
|
|
- **KillAuraCheck**: Removed unused `EntityEffect` import.
|