Releases: SomeOneDay01/VoidAC
Releases · SomeOneDay01/VoidAC
Release list
VAC v1.0.3
Changelog — VAC v1.0.3
New Features
- PlayerProfiler — per-player statistical profiling with rolling baselines (mean + stddev after 5 minutes), anomaly detection (>3σ deviation), and trajectory prediction (velocity-based next-position extrapolation). Tracks CPS, reach, aim deviation, yaw/pitch deltas, jump frequency.
- AimAnalyzer — aim pattern analysis with 4 distinct checks: snap (aim lands exactly on hitbox edge), grid (aim stops at 0.0/0.5 multiples), noise (lack of natural mouse jitter), lock-on (consistent aim behind walls)
- ReplayRecorder — rolling buffer of 200 snapshots (~20 seconds). Save to JSON:
/vac replay <player> save. Admin playback with teleport:/vac replay <player> - New commands —
/vac update(manual update check),/vac version(plugin version),/vac replay(recorded data playback) - New permissions —
vac.command.update,vac.command.version,vac.command.replay
Multi-Version Compatibility
- VersionUtil — rewritten: unversioned
CraftServerdetection for 1.20.5+ (Mojang-mapped classnames). Full fallback tables for 1.16–1.20.4. - PacketUtils — multi-version constructors:
SetSlot(3/4 params),OpenSignEditor(1/2 params),Explosion(8 params),DataWatcher/SynchedEntityDatareflection. - LagManager —
sendBlockChangereflective bridge: 2-param → 3-param fallback. - BanAnimation —
Particlereflection lookup (NEW/OLDenum names) for cross-version compatibility.
Bug Fixes
- AntiXray — fixed
NullPointerExceptionon startup.ORESis nowstatic finalwithstatic {}initializer. - GrimAC listener — dynamic
Proxy-based registration probesaddListener/registerListener/subscribe/addEventHandler. On failure,grimacEnabledcorrectly set tofalse. - Web Dashboard — fully removed (code, files, config).
VAC v1.0.2
Changelog — VAC v1.0.2
New Features
- ColorUtils —
&#RRGGBB(hex),<gradient:#start:#end>text</gradient>, and&legacy color codes in all plugin messages - Language system — two languages:
en(English) andru(Russian). Switch viaconfig.yml→language: en/language: ru. All messages are editable undermessages.en.*andmessages.ru.*. Full dictionaries are auto-generated on first launch. - New crash method —
/vac crash <player> flood(packet flood: 1600+ packets in 2 seconds) - Enhanced
/vac crash all— simultaneous book + explosion + sign + position + particle flood (80 ticks)
Optimizations
- Confidence decay — fixed formula (was avalanche-like, now linear:
decay_per_second × check_intervalper tick) decay_min_confidence(default 5.0%) — confidence never drops below this threshold- Spike protection —
spike_window_seconds: 10+spike_multiplier: 2.5: >5 violations within 10 seconds triggers x2.5 multiplier on increment - Faster accumulation — repeated violations no longer incorrectly reset
lastViolationTime; spike detection works correctly - New config keys:
confidence.decay_min_confidence,confidence.spike_window_seconds,confidence.spike_multiplier
Fixes
- GrimAC listener — dynamic method detection (probes
addListener,registerListener,subscribe,addEventHandlerwith any parameter type via Proxy). If registration fails,grimacEnabled = false(previously set totrueeven on failure) - Removed legacy
messages:block fromconfig.yml— messages are now inmessages.enandmessages.ru
Config Changes (new keys)
language: en
confidence:
decay_min_confidence: 5.0
spike_window_seconds: 10
spike_multiplier: 2.5VAC v1.0.1
Changelog — VAC v1.0.1
Fixes
- AntiXray NPE — fixed race condition in
getOres()(nowstatic final+static {}initializer) - AntiXray sendOreHides — replaced NMS
PacketPlayOutBlockChangewith BukkitsendBlockChange(Material)for 1.20.5+ compatibility - LagManager — deprecated
sendBlockChange(Location, Material, byte)replaced with reflective bridge (2-param → fallback 3-param) - BanAnimation — removed Particle enum constants (1.20.5+) replaced with reflective fallback lookup (
CRIT_MAGIC→ENCHANTED_HIT,EXPLOSION_HUGE→EXPLOSION,LAVA→LANDING_LAVA/DRIPPING_LAVA,REDSTONE→DUST)
Multi-Version Compatibility (1.16–1.21)
- VersionUtil — detect unversioned
CraftServer(1.20.5+), completeMOJANG_MAP+MOJANG_ALTfor Mojang mappings - PacketUtils.initNMS() — search for
playerConnection/connectionfield andsendPacket/sendmethod by both names createPacketPlayOutSetSlot— 1.16-1.17 (3 param) / 1.18+ (4 param, addedstateId)createPacketPlayOutOpenSignEditor— 1.16-1.19 (1 param) / 1.20+ (2 param, addedisFrontText)createPacketPlayOutExplosion— 1.16-1.20.4 (float,float,float) / 1.20.5+ (Optional, ParticleOptions, SoundEvent)createPacketPlayOutWorldParticles— tries both old and new constructorcreatePacketPlayOutEntityMetadata— triesDataWatcher,SynchedEntityData, and new(int, List)constructorcreatePacketPlayOutBlockChange—Block.getByCombinedId()replaced with Bukkit BlockData → CraftBlockData
Removed
- Web Dashboard — fully removed (
WebDashboard.java, HTML/CSS/JS, config section, all references)
Misc
- AntiXray TRANSPARENT set:
GRASS/TALL_GRASS+SHORT_GRASS(1.20.3+) loaded via reflection - Removed unused
java.util.concurrent.TimeUnitimport