DakotaAC Structured Changelog
This document summarizes the main changes and optimizations made to each module of the DakotaAC plugin, categorized by Added, Fixed, and Removed.
Movement Modules
-
Sneak
- Added:
- Delay mechanism before speed check, using
PlayerToggleSneakEvent
. HashMap
to manage player sneak start times.PlayerQuitEvent
handler to clear player data.- English comments and explanations (Follow-up).
- Delay mechanism before speed check, using
- Fixed:
- Optimized speed calculation using
lengthSquared()
instead oflength()
.
- Optimized speed calculation using
- Added:
-
Fly
- Added:
PlayerFlyData
class for detailed flight state storage.- Grace period after teleports.
- Detection for unjustified rapid ascent and prolonged slow ascent/hovering.
- Improved helper methods for ground, solid block, liquid, and climbable checks.
- "Pull down" action on detection.
- Requirement for main plugin instance injection for task scheduling.
- Fixed:
- Refined logic to ignore players with legitimate flight permissions (Creative, Spectator,
/fly
, elytra, Levitation).
- Refined logic to ignore players with legitimate flight permissions (Creative, Spectator,
- Added:
-
HighJump
- Added:
- Tracking of height from last ground position (
lastOnGroundY
) and jump start block. - Dynamic calculation of max allowed jump height, adjusted for
PotionEffectType.JUMP_BOOST
andSLIME_BLOCK
. - General tolerance for jump calculations.
- Exclusions for game modes, flying, gliding, and a grace period after teleportation.
- Tracking of height from last ground position (
- Fixed:
- On detection, player is teleported to previous XZ at the Y height where the jump started (more precise rollback).
- Added:
-
InventoryMove
- Added:
PlayerInventoryData
class (open time, last check location, last click time).- Grace period after opening an inventory.
- Teleportation management for state reset.
- Extended detection to any type of open GUI, including the player's own inventory (Follow-up).
- Fixed:
- Refined monitoring logic on
InventoryOpenEvent
andPlayerMoveEvent
for all GUI types. - Multiple exclusions (Creative, Spectator, vehicle, flying, gliding, Levitation, falling).
- Detection logic based on significant movement + recent inventory click.
- Refined monitoring logic on
- Added:
-
Jesus
- Added:
PlayerWaterData
class (last check location, ticks on water surface, last teleport time).- Grace period after teleportation.
- Refined
isPlayerExploitingWaterSurface
method (checks feet at water level, head above water). - Detection based on maintaining a constant vertical level on water + exceeding horizontal speed threshold.
- Fixed:
- Exclusions for legitimate water movement/states (Creative, Spectator, flying, vehicle, Levitation, Dolphin's Grace, Lily Pad).
- Logic to ignore players who are legitimately swimming.
- Added:
-
NoSlowDown
- Added:
- Unified speed threshold for slowdown actions (
SLOWDOWN_ACTION_SPEED_THRESHOLD_SQUARED
). - Detection for item consumption/use slowdowns via
player.isBlocking()
and item type check. - Immediate alert if sprinting during a slowdown action.
- Unified speed threshold for slowdown actions (
- Fixed:
- Exclusions for Creative, Spectator, flying, vehicle, and
PotionEffectType.SPEED
. - Teleport action on detection (previous XZ, current Y).
- Optimized speed calculation (using squared values).
- Exclusions for Creative, Spectator, flying, vehicle, and
- Added:
-
NoWeb
- Added:
- Robust cobweb presence detection (
isInCobweb
checks feet, center, head). - Immediate alert on sprint in cobweb.
- Robust cobweb presence detection (
- Fixed:
- Realistic speed threshold (
COBWEB_SPEED_THRESHOLD_SQUARED
) and optimized calculation (usingdistanceSquared
). - Exclusions for Creative, Spectator, flying, vehicle, and
PotionEffectType.SPEED
. - Teleport action on detection (previous XZ, current Y).
- Realistic speed threshold (
- Added:
-
Speed
- Added:
PlayerSpeedData
class (detailed state tracking).- Detailed speed constants for various states (walk/sprint, ground/air, jump bonus).
- Multipliers for blocks affecting speed (ice, soul sand, honey block) (Follow-up).
- Handler for
PlayerTeleportEvent
to reset data (Follow-up).
- Fixed:
- Dynamic calculation of max allowed speed per tick, including
SPEED
andSLOWNESS
potion multipliers. - Averaging logic over a time window preserved.
- Adjusted base speed calculation for "head-hitter" scenarios (Follow-up).
- Slightly increased speed constants and tolerance for fewer false positives (Follow-up).
- Dynamic calculation of max allowed speed per tick, including
- Added:
-
Sprint
(OmniSprint/Directional Sprint)- Added:
- Exclusions for Creative, Spectator, flying, gliding, vehicle, and not being on ground.
- Fixed:
- Preserved and validated angle calculation logic.
- Used
distanceSquared
for the minimum movement threshold. MAX_ALLOWED_SPRINT_DIRECTION_ANGLE_RAD
(80 degrees) defines the legitimate sprint cone.
- Added:
-
Step
- Added:
PlayerStepData
class.- Grace period after teleportation.
- Fixed:
- Logic based on
wasOnGroundLastTick
,yChangeThisTick > MAX_STEP_THRESHOLD
, andvelocityY < MIN_JUMP_VELOCITY_EXPECTED
. - Ignoring
SLIME_BLOCK
andHONEY_BLOCK
as launch sources. - Threshold adjustments (
MAX_LEGIT_VERTICAL_STEP_THRESHOLD
to0.60
) to correctly allow stepping on slabs/stairs while still detecting full block steps without a proper jump (Follow-ups). - Improved alert message.
- Logic based on
- Added:
Exploit Modules
-
GhostHand
- Removed:
- Angle check (
isLookingTowards
).
- Angle check (
- Fixed:
- Detection now exclusively based on
player.getTargetBlockExact()
. - Simplified logic and code cleanup.
- Detection now exclusively based on
- Removed:
-
Blink
- Added:
- Grace period after legitimate teleports (using
PlayerTeleportEvent
andHashSet
). - Requirement for main plugin instance injection.
- Grace period after legitimate teleports (using
- Fixed:
- Robustness checks for
from
andto
locations. - Use of
distanceSquared
for distance threshold comparison.
- Robustness checks for
- Added:
-
Phase
- Added:
- Expanded
PASSABLE_MATERIALS
list. - Exclusion for
GameMode.CREATIVE
(Follow-up).
- Expanded
- Fixed:
- Improved
isEffectivelySolid
method to correctly handleOpenable
block states (doors, gates). - Detection logic changed to flag only if entire body (head and feet) is in solid blocks (Follow-up).
- Updated alert message to be more specific (Follow-up).
- Initial implementation checked three points (feet, center, head); refined to feet and head for "full body" (Follow-up).
- Improved
- Added:
Combat Modules
-
Killaura
- Added:
- Detection applied to attacks on any living entity, not just players (Follow-up).
- Fixed:
- Optimized attack angle calculation (dot product, pre-calculated cosine).
- Use of
world.rayTraceBlocks()
for precise Line of Sight (LOS) detection. - Structured checks: angle first, then LOS.
victim
variable type changed toLivingEntity
and helper methods adapted (Follow-up).
- Added:
-
AutoClicker
- Added:
enum ClickType { LEFT_CLICK_SWING, RIGHT_CLICK_ITEM_USE }
.- Separate data storage for each click type.
- Monitoring
Action.LEFT_CLICK_AIR
for attacks. - Monitoring
Action.RIGHT_CLICK_AIR
/BLOCK
only for specific "spammable" items.
- Fixed:
- Adjusted CPS threshold to 25 for both click types (Follow-up).
- Added:
-
Criticals
- Removed:
- Inefficient per-player state (
lastLocation
,lastAttackTime
).
- Inefficient per-player state (
- Fixed:
- Direct check of
event.isCritical()
. - Detection of illegitimate criticals based on conditions: on ground, negligible fall distance, climbing, in liquid, in vehicle.
- Direct check of
- Removed:
-
HitBox
- Removed:
- Less precise angle-based check.
- Fixed:
- Detection based on
victim.getBoundingBox().rayTrace(...)
for server-side hitbox intersection. - Dynamic calculation of
rayTraceMaxDistance
to ensure ray is long enough, focusing check on aim precision rather than imposing its own reach limit (Follow-up). - Alert message focused on "Aim" (Follow-up).
- Reconfirmed existing logic correctly handles client-side enlarged hitboxes (Follow-up).
- Detection based on
- Removed:
-
Velocity
(Anti-Knockback)- Removed:
- Event cancellation from within the
BukkitRunnable
(as it's too late).
- Event cancellation from within the
- Fixed:
- Comparison of player location 1 tick after damage using a squared distance threshold.
- Player validity check (online, alive) in the delayed task.
- Filtering of very small damage events.
- Removed:
-
Scaffold
- Added:
PlayerScaffoldData
class (last placement time, last placement yaw).- Multiple checks: placement speed, look direction (different angle for sprint/walk), rapid head movement ("snap aiming").
- Requirement for main plugin instance injection.
- Fixed:
- Standard exclusions (Creative, Spectator, flying, etc.).
- Identification of scaffold-like placement (block below feet, free space above).
- Removed flawed "blocks per tick" logic; focused on interval between placements.
- Added:
Miscellaneous Modules (Misc)
-
AntiBot
- Added:
- Interaction monitoring (
AsyncPlayerChatEvent
,PlayerInteractEvent
) viahasPerformedAction
flag. - Injection of the main plugin instance.
- Specific alert message.
- Interaction monitoring (
- Fixed:
- Wait time reduced to 1 second.
- Strict position and rotation check if no other actions were performed by the new player.
- Added:
-
Chat
(Swear Filter)- Added:
- Pre-compilation of regular expressions for banned words.
- Flexible regex (
buildFlexiblePatternForSwear
) allowing separators and common "leet speak" (getLeetRegexForChar
).
- Fixed:
- Improved filtering process applying patterns successively.
- Replacement with
*
matching the length of the detected text.
- Added:
-
Spammer
- Added:
enum ActionType { CHAT, COMMAND }
.- Separate timestamp storage for each action type.
- Generalized
handlePlayerAction
method. - Specific alert messages for spam type.
- Fixed:
- Use of
LinkedList
for timestamps (better queue performance). - Set
EventPriority.MONITOR
.
- Use of
- Added:
World Modules
-
FastBreak
- Added:
- Explicit exclusions for players with
PotionEffectType.HASTE
or tools withEnchantment.EFFICIENCY
(Follow-up). - Exclusion for
event.isInstaBreak()
(Follow-up).
- Explicit exclusions for players with
- Fixed:
- Extended
BASE_BREAK_TIMES_MS
map (base times without buffs). PlayerBreakState
for sequences of the same block type.- Tolerance factor for break times.
- Core logic of comparing interval between same-type block breaks against a reference time (without buffs) maintained and clarified (Follow-up).
- Extended
- Added:
-
FastPlace
- Added:
- Exclusions (Creative, Spectator).
- Handler for
PlayerQuitEvent
to clear data.
- Fixed:
- Set
EventPriority.HIGH
. - Core logic (checking
MIN_PLACE_INTERVAL_MS
) preserved.
- Set
- Added:
-
Fucker
(NoLOSBreak)- Removed:
WATCHED_BLOCKS
list; detection generalized to any block type.
- Fixed:
- Use of
player.getTargetBlockExact()
for server-side targeted block. - Alert if server-targeted block is
null
or different from the block actually broken. - Exclusions (Creative, Spectator).
- Set
EventPriority.HIGH
. - Reconfirmed existing optimized version meets requirements (Follow-up).
- Use of
- Removed:
-
Nuker
- Added:
MAX_NUKER_RADIUS_SQUARED
constant to define detection radius.- Verification of broken block's distance from the player.
- Handler for
PlayerQuitEvent
.
- Fixed:
- Adjusted thresholds:
TIME_WINDOW_MS
to 1 second,MAX_NEARBY_BLOCKS_IN_WINDOW
to 5. - Standard exclusions (Creative, Spectator).
- Set
EventPriority.HIGH
.
- Adjusted thresholds:
- Added:
Player Modules
-
AntiVoid
- Added:
PlayerVoidData
class (initial Y on void contact,BukkitTask
,isBeingMonitored
flag).- Logic to schedule a task on void damage to check player's Y after a delay.
- State management on
PlayerQuitEvent
,PlayerDeathEvent
,PlayerTeleportEvent
. - Requirement for main plugin instance injection.
- Removed:
- Event cancellation from the delayed task (as it's too late).
- Fixed:
- Exclusions (Creative, Spectator).
- Alert condition based on player being significantly above initial void contact Y after delay.
- Added:
-
ChestStealer
- Added:
ClickActionLog
class (timestamp +itemsTakenThisClick
).calculateItemsTaken
method based onInventoryAction
.- Two-stage detection: high click speed + total items taken above a threshold.
- Handlers for
InventoryCloseEvent
andPlayerQuitEvent
to clear data.
- Fixed:
- Applicable for
CHEST
,ENDER_CHEST
,SHULKER_BOX
,BARREL
.
- Applicable for
- Added:
-
FastUse
- Added:
- Handler for
PlayerQuitEvent
.
- Handler for
- Fixed:
- Renamed
MIN_CONSUMPTION_TIME_MS
toMAX_VALID_INTERVAL_BETWEEN_CONSUMPTIONS_MS
for clarity. - Set
EventPriority.HIGH
,ignoreCancelled = true
. - Core logic for checking intervals between consumption finishes preserved.
- Renamed
- Added:
-
InventoryCleaner
- Added:
- Strict "no GUI open" condition:
player.getOpenInventory().getType() == InventoryType.CRAFTING
. - Use of
Deque<Long>
for a sliding window of drop timestamps. - Handler for
PlayerQuitEvent
.
- Strict "no GUI open" condition:
- Fixed:
- Adjusted thresholds (
MAX_DROPS_IN_WINDOW
,TIME_WINDOW_MS
). - Exclusions (Creative, Spectator).
- On detection, event is cancelled and timestamp queue is cleared.
- Adjusted thresholds (
- Added:
Main Class and Utilities
-
DakotaAC
(Main Class)- Fixed:
- More flexible listener registration mechanism (tries no-arg constructor, then plugin instance constructor).
- Improved error messages on listener loading.
- Use of constants for package paths.
- Fixed:
-
Alert
- Fixed:
- Replaced
HashMap
withjava.util.concurrent.ConcurrentHashMap
for thread-safety. - Use of map's
merge()
method for atomic updating of violence levels. - Removed a redundant
suspicionTypes.put(...)
line. - Clarified operator notification condition (notifies on every alert).
- Replaced
- Fixed:
-
Commands
- Added:
- Static constants for permissions and sub-command names.
- Fixed:
- Optimized
onTabComplete
method with a static base list for commands.
- Optimized
- Added:
-
Punishment
- Added:
- Constants for configuration keys and default values.
- Public
reloadPunishmentConfig()
method. - Storage of
banThreshold
andbanDurationMillis
in memory, updated on config (re)load.
- Fixed:
- Improved configuration file management with more detailed log messages.
- Player kick performed on the main thread if necessary.
- Added:
Added:
- KillAura$PlayerOrientationData: Analyzes the player's orientation and movement patterns to identify automated behaviors typical of aimbot or kill aura hacks, ensuring all combat actions appear human-like.
- Report: Provides a feature allowing players to submit reports about suspected cheaters, logging crucial details such as player name, reason, and timestamp for admin review.
- Message: Manages and delivers configurable messages and alerts to players or staff, including warnings and informational updates related to anti-cheat detections.
- Chat: Monitors chat packets to prevent and flag potential exploits, such as spamming or sending crafted messages that could disrupt server communication or cause issues.
- GhostHand: Detects players attempting to interact with blocks or entities through walls or from otherwise impossible distances, blocking actions that would otherwise give an unfair advantage.
- PingSpoof: Identifies and mitigates attempts to fake a high or low ping to manipulate the server’s perception of player latency, often used to gain an advantage in PvP situations.
- ServerCrasher: Monitors for and blocks specific packet patterns or actions designed to overload and crash the server, safeguarding server stability against malicious attacks.
- Version: Uses ProtocolLib to capture and store the player's protocol version during the initial handshake, ensuring compatibility and logging data for further checks or restrictions.
- Version$1: Works as a supportive class to
Version
, handling additional internal logic for managing and verifying the captured protocol versions. - HighJump$1: Provides auxiliary functions for the HighJump detection, checking if players are jumping higher than allowed by the server's configured rules.
- Speed$1: Assists speed check capabilities to catch players using movement hacks that allow them to travel faster than normal, considering different terrain conditions.
- Sprint: Detects abnormal sprinting behavior that does not align with the default game mechanics, such as infinite sprint or sprinting in situations where it should not be possible.
- Step: Monitors whether players are stepping up blocks unnaturally without jumping, a common characteristic of step hacks, and flags these movements for review.
- ChestStealer: Detects automated looting or stealing of items from chests, which is a common cheat in competitive gameplay.
- ChestStealer$1: Assists
ChestStealer
with detailed event handling and additional checks to ensure no unauthorized access to chest contents goes undetected. - ChestStealer$InventorySession: Manages and tracks a player's interactions with inventories, looking for patterns that indicate automated looting or inventory manipulation.
- FastUse$1: Supports the detection of cheats that allow players to consume or use items at an accelerated rate, beyond what is normally possible in the game.
- Phase: Prevents players from using exploits that allow them to move through solid blocks, ensuring that all player movement adheres to the server's collision rules.
- XRay$MiningActivity: Tracks mining patterns to detect the use of x-ray hacks, which enable players to see and mine valuable ores that are hidden from normal view.
- BedBreaker: Monitors for automated breaking of beds or similar entities, which can be used to sabotage other players in competitive or survival modes.
- AimBot: Detected and prevented automated aiming systems used to give players perfect accuracy in combat, ensuring all aiming was manual and fair.
Fixed:
- Speed: Fixed an issue where the anti-cheat would mistakenly detect a player as using speed hacks when the attacker knocks the victim back, ensuring that knockback mechanics are correctly recognized and not falsely flagged.
- NoFall: Corrected false positives where a player would be flagged for NoFall if their fall distance was reported as 0 and ground state was true, even while they were still falling on the Y-axis. Now, the detection accurately tracks whether a player is genuinely falling or using a cheat to avoid fall damage.
- Step: Redesigned to detect when a player has ground state set to true but continues to modify their Y position without performing a legitimate jump, flagging them for step hacks.
- AutoClicker: Improved detection logic to ensure players are not flagged for trying to break multiple blocks or holding down the mouse button. Now only activates in combat and block interaction modes.
- Critical: Uses player data from Minecraft to detect whether all hits are critical and checks if the player’s Y position changes when executing a critical hit. Also verifies that the player is not grounded during a critical hit.
- HitBox: The entire player model is now treated as a single point, and attackers are flagged for modified hitboxes if they do not have their aim precisely on this point when hitting.
- KillAura: Now uses a line-of-sight method to check if a player is attacking through blocks or without having their crosshair aimed at the target entity. It also calculates the speed at which a player turns to face their target before attacking.
- Reach: Reach distances are now calculated separately for survival and creative modes, with additional checks for block breaking, placing, and entity attacks.
- PingSpoof: All messages are now in English, and the method to block new players joining with a ping over 100ms has been updated for more effective prevention.
- ServerCrasher: Updated all messages to English and enhanced the method for blocking new players attempting to join when the server’s TPS is low.
- Version: Players will no longer be automatically kicked if their Minecraft version is not recognized. Instead, staff members will receive a notification about the unrecognized version.
- Fly: Added a tick-based calculation for how long a player is in the air without being grounded, and checks XZ speed to detect if the player is flying upward abnormally without falling.
- HighJump: Fixed an issue where players placing blocks under their feet while building upward would be detected for high jumping. Now accounts for block placement mechanics and jump timing.
- Jesus: Resolved false positives and flags when a player swims or stands on non-solid blocks that are less than 0.5 blocks tall.
- NoSlowDown: Fixed an issue where players eating or blocking with items would be falsely detected for NoSlowDown. A startup tick is now used to ensure speed checks are accurate during item usage.
Removed:
- DakotaAC$ReportCommand: Managed the in-game command for reporting cheaters, including command parsing and logging for admin use.
- Scaffold$1: Helped enforce block placement rules, detecting and blocking hacks that allow players to automatically build scaffolding structures without manual effort.
- Fly$1: Assisted with the detection of flight hacks, monitoring for abnormal movement patterns that indicated unauthorized flying.
- XRay$1$1: Extended x-ray detection capabilities, ensuring players couldn't see hidden ores or blocks, even with more advanced x-ray techniques.
- Fucker: Prevented players from using cheats to automatically break blocks or entities like beds, typically used in griefing or strategic sabotage.
- AntiVoid: Detected and nullified cheats that allowed players to avoid falling into the void, often used to bypass death in void-based game modes.
- KillAura$1: A support class that added extra detection layers for identifying kill aura behavior, analyzing attack patterns and player movement.
- AimBot$2: An additional helper that collaborated with the main aimbot detection system, focusing on more sophisticated checks for aiming automation.
- AimBot$1: Worked alongside the primary aimbot detection to manage event handling and provide more granular analysis of aiming behavior.
Added
- AntiVoid
- If a player is detected falling into the void and is in the void, they will be returned to the last location where they were detected touching the ground before falling into the void.
- Blink
- If a player teleports without being teleported by the server or another player, they will be detected if they teleport 5 blocks without being teleported by something or someone.
- FastUse
- The player is detected if they eat, place, or break blocks at an abnormal speed.
- config.yml file and DakotaAC folder
- When you first install the DakotaAC plugin, a folder will be generated in the
plugins
folder containing theconfig.yml
file where you can modify various options. It is recommended to completely delete and reinstall the plugin, as the files might not generate correctly due to a known issue with Paper/Bukkit.
- When you first install the DakotaAC plugin, a folder will be generated in the
- Commands
- More commands have been added, such as
/dakotaac reload
and/report (player)
/report (player)
allows you to specify a player when reporting, which will notify online staff. If no staff are online, DakotaAC will attempt to handle the reported player, and the report will be saved. When staff come online, they will be notified of the report./dakotaac reload
will reload only methods and newly added classes. This will not erase reports or data for players.
- More commands have been added, such as
Removed
- SetBack method
- The setback method has been temporarily removed to prevent other bugs in the detection of certain checks. This method no longer closes events or blocks the player, but instead directly detects and notifies staff.
Fixed
- Notify
- The issue where notifications from the anticheat were not received by non-OP players has been fixed.
- Optimization
- The plugin's reboot and startup speed have been optimized.
- The plugin is now compatible with all plugins but may encounter issues if multiple anticheat plugins or anticheat addons are present.
- Non-functional code lines have been removed, and the remaining code has been optimized to reduce the plugin's size.
- AimBot
- A significant bug in this check has been fixed. Previously, the anticheat would spawn an NPC near the player, but the NPC would become invisible and persist in the Citizens API. When trying to view how many NPCs were in the world, these NPCs would multiply and remain spawned. From now on, these NPCs will be destroyed to prevent them from being saved in the Citizens API.
Added
-
AutoClicker
- Detects if the player exceeds 20 clicks in an abnormally fast time.
-
Critical
- Checks if the player is not on the ground and their Y coordinate hasn’t changed in any tick where they hit an entity.
-
HitBox
- Verifies if the player’s view is exactly aligned with the entity they are attacking, or if the player can hit the entity without directly looking at it.
-
KillAura
- Detects if the player is hitting through solid or non-solid blocks, meaning they are attacking through blocks that need to be broken to reach the entity.
-
HighJump
- Checks if the player jumps suddenly into the air, i.e., if their Y coordinate changes abruptly without smooth motion.
-
Jesus
- Detects if the player is "on the ground" even when surrounded by non-solid blocks like water or lava.
-
NoSlowDown
- Detects if the player is eating or blocking with an item (like a shield) without their XZ movement speed being reduced.
-
AimBot
- Checks the player by spawning a fake NPC that circles around the player four times to see if the player targets it automatically.
-
InventoryMove
- Detects if the player moves items in their inventory while still moving, or if they drop items from their inventory without opening it or while moving.
-
Velocity
- Checks if the player receives knockback when hit by an entity or projectile and if the player moves in the opposite direction of the hit.
-
Fucker
- Detects if the player is breaking a block but the block’s path to their head is interfered by other blocks.
-
Scaffold
- Detects if the player is placing blocks too quickly or placing multiple blocks in a single tick, and if they keep their view on the placed block for 5 ticks.
Removed
-
PingSpoof
- Removed because it incorrectly flagged players with bad internet connections or lower-performance computers, causing lag or high ping.
-
Chat
- Removed because Microsoft introduced a reporting system where players can be reported for breaking the game’s rules.
-
NoRotateSet
- Removed because, when a player joins or leaves the server, they might not fully load, causing their character’s head and camera to misalign and falsely trigger a ban.
Fixed
-
Reach
- Fixed a bug where if the player sprinted and hit an entity, their reach would increase by 5%, and in Creative mode, it would increase by 10%. This was approximate and occurred if the player was looking up or down.
-
KillAura
- Fixed a bug where the player was able to hit an entity in water or lava, which were considered non-solid blocks. Now, detection focuses on the player's body position rather than the head.
-
Critical
- Reworked the method for detecting a player’s critical hit while in water. If the player’s feet touch the ground but they swim slightly upward, they can still deliver critical hits to entities.
-
Fly
- Fixed a bug where the player was detected when jumping on slabs or in water, or when the player received knockback over 10 blocks while maintaining their Y coordinate.
-
NoFall
- Fixed and reworked the logic for detecting NoFall, where a player falling in the air was detected as if they had landed on the ground, even if they were still airborne and more than 4 blocks above the ground.
-
Speed
- Fixed a bug where the player was detected by their Y position. Now, the player is detected by their XZ velocity and movement speed from one block to another, measured in 3 ticks.
-
XRay
- Fixed a bug where, if the plugin was reloaded, blocks changed by the XRay feature would remain altered and not return to their original state.
-
Fucker
- The player was detected even if the block and their head were interfered by a non-solid block.
-
Scaffold
- Fixed a bug where the player spammed blocks under them while bridging instead of properly building the bridge while jumping on the ground.