- Added inventory check type in API
- Added Inventory (A) detection
- Added Inventory (B) detection
- Improved the flag rate and accuracy of Aim check
- Added other bot check that flies around player to Killaura (Bot) to account for clients not doing a proper RayCast and opting to just turn on attack invisibles and mobs.
- Added comments to Killaura (Trace)
- Optimized Fly (A) detection and added comments
- Fixed false positive caused by incorrect acceleration prediction in Fly (A). I used the current onGround when that is actually never a factor in vertical acceleration, only the product of what the client moves to.
- Removed "optimization" in Fly (A) that basically just stopped prediction when client sends onGround and sets motionY to 0. Changed this behavior to it still do the acceleration subtraction 0.08 times 0.98 but run a collision check that will set the y to 0 if necessary; more closely replicates vanilla mechanics.
- Optimized Horizontal check and fixing field name motionX to more appropriate motion name.
- Optimized Velocity (B) by using current Horizontal optimizations and applying them to this check.
- Moved logs command in AnticheatCommand class to its own LogsCommand class. Added other kinds of logs commands like /kauri logs paste to send it to pastebin and /kauri logs web to view logs on the website.
- Fixed error on plugin shutdown caused by NPE. This was due to an order of operations issue with PlayerRegistry and PacketHandler
- Added wrapper for PacketPlayInWindowClick, PacketPlayInClientCommand.
- Added KLocation#getDirection() method as a shorthand to doing MathUtils.getDirection(KLocation field);
- Moved Helper#angularDistance to MathUtils#angularDistance
- Added CollisionBox#downcast() method as a shorthand method to not have to create a new List field every time I want to get the downcasted SimpleCollisionBox of any wrapped CollisionBox.
- Added new Speed check
- Fixing false positives with Fly (C) under blocks
- Fixed false positives with stepping on Fly (C) and Fly (D)
- Fixed liquid false positives with Fly (C) and (D)
- Fixed horizontal friction-based false positives, like switching between ice and regular blocks (used wrong friction)
- Fixed NoFall (B) false positive when in liquid and under block pressing space bar
- New Order (Place) and Order (Use) check
- New Autoclicker (A) and Autoclicker (B) check.
- Event system for checks has changed to use lambdas instead of reflection (IE WAction and TimedWAction)
- Added configurable commands for punishments
- Added punishments
- Added title command (wont show in help menu)
- Added new AnticheatAPI project
- Implemented flag, punish, and cancel listeners for API uses.
- Fixed TickTimer not functioning
- Fixed generalCancel always cancelling
- Removed debug from places that I am not currently in need of debugging
- Attempting to fix login error when reloading when injecting packethandler
- Added sensitivity to playerInfo command
- Fixed runaway buffer fp on Fly (A)
- Added wrapper for PacketHandshakeInSetProtocol
- Took ProtocolAPI from Atlas to implement ViaVersion and ProtocolSupport version checking hooks.
- Added hook into "Login" style packets.
- Wth this new hook, we get player version numbers and store them by Channel now.
- Packets are now initialized in the same join listener as where APlayer is generated in JoinListener class.
- Removed Listener extension from HandlerAbstract, ModernHandler, LegacvHandler
NOTE: Protocol version grabbing needs implemented for LegacyHandler (1.7.10 version)