
Lightning Grim Anticheat
Anticheat Perfected | 3.0005 reach | 99.999% antikb. Fork of GrimAC that's faster, with better reach checks, interact checks, and numerous bug fixes.
LightningGrim Anticheat (Fabric) 2.3.73-0a6ac7a-b97
alpha26 февраля 2026 г.Changes in this Build (since previous push)
Miscellaneous
-
Use config history.database.port for database connection port. Fixes #2415 - by SamB440 (
42b6630) -
Prevent torn reads and race condition on respawn on Fabric from reconstruction of ServerPlayerEntity - by Axionize (
101473b) -
Resync on netty thread instead of trying to send packets in region thread - by Axionize (
80f90e6) -
Add option to disable resyncing without API with a NoOp resync handler - by Axionize (
7c68947) -
Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic
-
Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).
-
Refactored sequential 'if' statements into an 'else-if' chain to improve branch prediction and allow early exits.
-
Reordered block checks based on frequency (Slabs, Snow, and Vines are now checked first).
-
Merged duplicate logic for multiface blocks. - by Axionize (
b79d5fd) -
Only update profiles if PLAYER_INFO_UPDATE contains ADD_PLAYER action - by Axionize (
d0b30de) -
Patch FabricatedPlace falses - by Axionize (
98fd065) -
Make CrashC verbose more consistent with other checks - by ManInMyVan (
6186abc) -
Improve FabricatedPlace patch - by Axionize (
07d2010) -
Attempt to fix disconnect.timeout cascade issues - by Axionize (
639490a) -
Fix Mushroom and Fungus Hitboxes - by Axionize (
14573da) -
Fix Coral hitboxes - by Axionize (
a2074d0) -
Add forgotten util class file for hitbox fix - by Axionize (
8016586) -
Fix merge errors in hitbox patch - by Axionize (
ca64aab) -
Update .gitignore - by Axionize (
be35b9b) -
Fix rot only accounting for reach/hitbox in 1.15 - 1.20.1 and 1.21.5 - 1.21.8 once and for all - by Axionize (
9cb4547) -
Temporary fix for Folia breaking getTPS() - by Axionize (
dbd7510) -
Faster temporary fix for Folia breaking getTPS() - by Axionize (
02f6a3b) -
Merge remote-tracking branch 'origin/2.0' into lightning - by Axionize (
5c17fba) -
Add Back Support for Legacy API (#2409)
-
Add back support for the legacy API temporarily
-
Bump API to release version - by Axionize (
95e2774)
- 1.21.11 support (#2420)
-
fix horse modern/legacy jumping mechanics, camel dash cooldown tracking (#2199)
-
implement UseEffects component
fixes: https://github.com/GrimAnticheat/Grim/issues/2396
-
initial support for hitbox margin
-
compensableDashableEntities -> dashableEntities
-
implement floating in water
-
implement nautilus movement
todo: fix dashing, fix step
- fix 0.03 fluid pushing
this code was dropped in: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f
-
fix nautilus dashing
-
improve precision while dashing
-
actually fix dashing
I'm really dumb ngl, vanilla packet sequence:
- rot packet with PLAYER look angle
- vehicle move packet with ENTITY look angle
vehicle move packet overrides player's yaw and pitch from first rot packet
- implement all prediction engines for nautilus
I will refactor this later
-
support new gliding behavior
-
refactor nautilus prediction engines
-
implement parched boundingbox
-
add support for fast lava gameplay attribute in fluid pushing
-
camels have variants now
-
WIP tick-based world borders
-
fix off ground camel dashing
thanks thisisatest8406
-
add onGround tracking for entities
-
revert tracking entity onGround
I decided that I don't care enough, camels are bugged as hell, everything desync
-
remove unneeded diff
-
fix pending jumps and camel off-ground dashing
-
remove outdated comment regarding nautilus jumping logic
-
Add support for max_reach AttackRange component
Co-authored-by: Axionize 154778082+Axionize@users.noreply.github.com - by Cyramek (bf85863)
- Unify all APIs - by Axionize (
c5855fd) - Fix support for messing legacy getGrimUser(Player player) method - by Axionize (
8001f6c) - Bump PE - by Axionize (
21f6988) - Bump API to no longer shade Player shim - by Axionize (
50a25d9) - Command API fallback handling - by Axionize (
08770f0) - Refactor Fabric to make permissions API and cloud optional dependencies - by Axionize (
b9fa89c) - Fabric 1.21.11 support for fabric-permissions-api-v0 not being included - by Axionize (
075cec8) - Update supported fabric versions - by Axionize (
3659060) - Bump PE - by Axionize (
a54329a) - Fix early init of CommandManager on Bukkit causing startup issues - by Axionize (
fefe0d1) - Rename Fabric mc1211 -> mc12111 module - by Axionize (
9d1682d) - Fix fast break false when switching tools via shulker box (#2454) - by Ayou (
c043357) - Revert this for now, until we find a better way to fix it - by cyramek (
b7a719d) - Don't let player reuse setback velocity (fixes #2445) (#2450) - by SamB440 (
cd86c14) - Rename Fabric1211PlatformServer -> Fabric12111PlatformServer - by Axionize (
88cfffc) - Refactor Resolver Lifecycle - by Axionize (
35174fd) - Evoker fangs are unhittable - by SamB440 (
80afaae) - Bump PE: Fixes Packet Ordering and mapping issues
- Previa packet mapping failing due to incorrect upstream call to getPacketVersion() instead of getClientVersion(), affects previa on all versions
- Fix Krypton + Via + Grim compat form listener relocation - by Axionize (
6c49a01) - Add method exposing int block type from CompensatedWorld (#2464)
-
Implement feature
-
Update common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
- Add @Override annotation
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Cubicake (2b62148)
- Add /grim testwebhook - by ManInMyVan (
327b947) - Improve comments in Chinese configuration file (#2490)
Updated comments in zh.yml for clarity and translation. - by MatrixU5er (b65b7f0)
- Load after ZNPCsPlus - by ManInMyVan (
1d0cbb7) - Bump grim-api version - by AoElite (
7be8f51) - Update Grim API to 1.2.4.0 - by Axionize (
4ca65b1) - Merge branch '2.0' into lightning
Conflicts:
.github/workflows/build-and-publish.yml
common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java
common/src/main/java/ac/grim/grimac/predictionengine/PointThreeEstimator.java - by Axionize (0a6ac7a)
♻️ Refactoring
- Refactor BlockEffectsResolver to accept movement list - by cyramek (
29d28c6)
🐛 Fixes
- Fix elytra packet abuse on 1.8 servers - by ManInMyVan (
f95d877) - Honor per-check nomodifypacket (#2477) - by runningbird2 (
f118b5c)
LightningGrim Anticheat (Bukkit) 2.3.73-0a6ac7a-b97
alpha26 февраля 2026 г.Changes in this Build (since previous push)
Miscellaneous
-
Use config history.database.port for database connection port. Fixes #2415 - by SamB440 (
42b6630) -
Prevent torn reads and race condition on respawn on Fabric from reconstruction of ServerPlayerEntity - by Axionize (
101473b) -
Resync on netty thread instead of trying to send packets in region thread - by Axionize (
80f90e6) -
Add option to disable resyncing without API with a NoOp resync handler - by Axionize (
7c68947) -
Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic
-
Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).
-
Refactored sequential 'if' statements into an 'else-if' chain to improve branch prediction and allow early exits.
-
Reordered block checks based on frequency (Slabs, Snow, and Vines are now checked first).
-
Merged duplicate logic for multiface blocks. - by Axionize (
b79d5fd) -
Only update profiles if PLAYER_INFO_UPDATE contains ADD_PLAYER action - by Axionize (
d0b30de) -
Patch FabricatedPlace falses - by Axionize (
98fd065) -
Make CrashC verbose more consistent with other checks - by ManInMyVan (
6186abc) -
Improve FabricatedPlace patch - by Axionize (
07d2010) -
Attempt to fix disconnect.timeout cascade issues - by Axionize (
639490a) -
Fix Mushroom and Fungus Hitboxes - by Axionize (
14573da) -
Fix Coral hitboxes - by Axionize (
a2074d0) -
Add forgotten util class file for hitbox fix - by Axionize (
8016586) -
Fix merge errors in hitbox patch - by Axionize (
ca64aab) -
Update .gitignore - by Axionize (
be35b9b) -
Fix rot only accounting for reach/hitbox in 1.15 - 1.20.1 and 1.21.5 - 1.21.8 once and for all - by Axionize (
9cb4547) -
Temporary fix for Folia breaking getTPS() - by Axionize (
dbd7510) -
Faster temporary fix for Folia breaking getTPS() - by Axionize (
02f6a3b) -
Merge remote-tracking branch 'origin/2.0' into lightning - by Axionize (
5c17fba) -
Add Back Support for Legacy API (#2409)
-
Add back support for the legacy API temporarily
-
Bump API to release version - by Axionize (
95e2774)
- 1.21.11 support (#2420)
-
fix horse modern/legacy jumping mechanics, camel dash cooldown tracking (#2199)
-
implement UseEffects component
fixes: https://github.com/GrimAnticheat/Grim/issues/2396
-
initial support for hitbox margin
-
compensableDashableEntities -> dashableEntities
-
implement floating in water
-
implement nautilus movement
todo: fix dashing, fix step
- fix 0.03 fluid pushing
this code was dropped in: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f
-
fix nautilus dashing
-
improve precision while dashing
-
actually fix dashing
I'm really dumb ngl, vanilla packet sequence:
- rot packet with PLAYER look angle
- vehicle move packet with ENTITY look angle
vehicle move packet overrides player's yaw and pitch from first rot packet
- implement all prediction engines for nautilus
I will refactor this later
-
support new gliding behavior
-
refactor nautilus prediction engines
-
implement parched boundingbox
-
add support for fast lava gameplay attribute in fluid pushing
-
camels have variants now
-
WIP tick-based world borders
-
fix off ground camel dashing
thanks thisisatest8406
-
add onGround tracking for entities
-
revert tracking entity onGround
I decided that I don't care enough, camels are bugged as hell, everything desync
-
remove unneeded diff
-
fix pending jumps and camel off-ground dashing
-
remove outdated comment regarding nautilus jumping logic
-
Add support for max_reach AttackRange component
Co-authored-by: Axionize 154778082+Axionize@users.noreply.github.com - by Cyramek (bf85863)
- Unify all APIs - by Axionize (
c5855fd) - Fix support for messing legacy getGrimUser(Player player) method - by Axionize (
8001f6c) - Bump PE - by Axionize (
21f6988) - Bump API to no longer shade Player shim - by Axionize (
50a25d9) - Command API fallback handling - by Axionize (
08770f0) - Refactor Fabric to make permissions API and cloud optional dependencies - by Axionize (
b9fa89c) - Fabric 1.21.11 support for fabric-permissions-api-v0 not being included - by Axionize (
075cec8) - Update supported fabric versions - by Axionize (
3659060) - Bump PE - by Axionize (
a54329a) - Fix early init of CommandManager on Bukkit causing startup issues - by Axionize (
fefe0d1) - Rename Fabric mc1211 -> mc12111 module - by Axionize (
9d1682d) - Fix fast break false when switching tools via shulker box (#2454) - by Ayou (
c043357) - Revert this for now, until we find a better way to fix it - by cyramek (
b7a719d) - Don't let player reuse setback velocity (fixes #2445) (#2450) - by SamB440 (
cd86c14) - Rename Fabric1211PlatformServer -> Fabric12111PlatformServer - by Axionize (
88cfffc) - Refactor Resolver Lifecycle - by Axionize (
35174fd) - Evoker fangs are unhittable - by SamB440 (
80afaae) - Bump PE: Fixes Packet Ordering and mapping issues
- Previa packet mapping failing due to incorrect upstream call to getPacketVersion() instead of getClientVersion(), affects previa on all versions
- Fix Krypton + Via + Grim compat form listener relocation - by Axionize (
6c49a01) - Add method exposing int block type from CompensatedWorld (#2464)
-
Implement feature
-
Update common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
- Add @Override annotation
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Cubicake (2b62148)
- Add /grim testwebhook - by ManInMyVan (
327b947) - Improve comments in Chinese configuration file (#2490)
Updated comments in zh.yml for clarity and translation. - by MatrixU5er (b65b7f0)
- Load after ZNPCsPlus - by ManInMyVan (
1d0cbb7) - Bump grim-api version - by AoElite (
7be8f51) - Update Grim API to 1.2.4.0 - by Axionize (
4ca65b1) - Merge branch '2.0' into lightning
Conflicts:
.github/workflows/build-and-publish.yml
common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java
common/src/main/java/ac/grim/grimac/predictionengine/PointThreeEstimator.java - by Axionize (0a6ac7a)
♻️ Refactoring
- Refactor BlockEffectsResolver to accept movement list - by cyramek (
29d28c6)
🐛 Fixes
- Fix elytra packet abuse on 1.8 servers - by ManInMyVan (
f95d877) - Honor per-check nomodifypacket (#2477) - by runningbird2 (
f118b5c)
LightningGrim Anticheat (Fabric) 2.3.73-daa3bfe-b96
alpha31 декабря 2025 г.Changes in this Build (since previous push)
Miscellaneous
- Adjust canGlide logic to try to improve compatibility - by AoElite (
679e869) - Adjust isGlider logic to account for items that can't be depleted - by AoElite (
acf273f) - Revert "fix incorrect EquipmentSlot mappings in isGlider logic"
This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)
- Refactor repo logic to support mavenLocalOverride - by Axionize (
965008f) - Bump PE - by Axionize (
12f6af3) - Add initial support for 1.21.11 and update dependencies - by Axionize (
97b8758) - Fix gliders not working in offhand slot (#2397) - by iLemon (
32f607b) - Bump github actions-upload-artifact versions - by Axionize (
9bd12cc) - Make runner configurable to work around Tenki issues (#2398) - by Axionize (
f772b74) - Fix NPE when Spigot late-bind option is enabled & improve injection logic
This PR fixes a NullPointerException that occurred when the Spigot "late-bind" option was enabled on servers prior to 1.14.4.
Changes:
- Changed injection priority: The plugin now attempts to register the Paper TickEndEvent first. It only falls back to NMS reflection if the Paper API is unavailable.
- Added a null check for the server connection instance to prevent the NPE during reflection injection.
- Added specific error logging: If injection fails on legacy servers (< 1.14.4), the plugin now reflectively checks
spigot.ymlsettings to explicitly warn the user iflate-bindis the cause. - Refactored reflection logic to use
ReflectionUtilsfor better safety and code cleanliness. - by uRyanxD (5f02ccc) - Bump PE - by Axionize (
92d06e4) - Build ci changes - by Axionize (
9626712) - Cache map values for performance (#2407) - by Rothes (
8f0036e) - Merge remote-tracking branch 'origin/2.0' into lightning
Conflicts:
.github/workflows/build-and-publish.yml - by Axionize (8379457)
- Clean up OptifineFastMath.java a bit - by ManInMyVan (
2d8def6) - Support CAMERA packet (#2303) - by ManInMyVan (
d374c2b) - Add PlatformPlayerFactory#getOfflinePlayers() - by Axionize (
ce0dad5) - Stash work - by Axionize (
90193b4) - Fix reach regression in not flagging clients from versions 1.15 to 1.20.1 due to rot only regression - by Axionize (
60b70d1) - Merge branch 'fix/reach-infinite-expanding-hitbox' into 2.0 - by Axionize (
4292e93) - Merge branch '2.0' into lightning - by Axionize (
daa3bfe)
🐛 Fixes
- Fix incorrect EquipmentSlot mappings in isGlider logic - by AoElite (
d96d683) - Exclude Azalea from Sapling hitbox definitions - by Axionize (
4a104e2) - Bubble Column, Azalea, Bed, and Ceiling Wall Sign hit/collision boxes - by Axionize (
c019566) - Bump gradle wrapper to fix build - by Axionize (
c2afc62) - Fix NPE due to incorrect initialization order - by cyramek (
9e745fd)
🤖 Maintenance & CI
- Bump shadow - by Axionize (
955b725) - Increase default building memory allocation - by Axionize (
55da384) - Bump PE - by Axionize (
b6f9f86)
LightningGrim Anticheat (Bukkit) 2.3.73-daa3bfe-b96
alpha31 декабря 2025 г.Changes in this Build (since previous push)
Miscellaneous
- Adjust canGlide logic to try to improve compatibility - by AoElite (
679e869) - Adjust isGlider logic to account for items that can't be depleted - by AoElite (
acf273f) - Revert "fix incorrect EquipmentSlot mappings in isGlider logic"
This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)
- Refactor repo logic to support mavenLocalOverride - by Axionize (
965008f) - Bump PE - by Axionize (
12f6af3) - Add initial support for 1.21.11 and update dependencies - by Axionize (
97b8758) - Fix gliders not working in offhand slot (#2397) - by iLemon (
32f607b) - Bump github actions-upload-artifact versions - by Axionize (
9bd12cc) - Make runner configurable to work around Tenki issues (#2398) - by Axionize (
f772b74) - Fix NPE when Spigot late-bind option is enabled & improve injection logic
This PR fixes a NullPointerException that occurred when the Spigot "late-bind" option was enabled on servers prior to 1.14.4.
Changes:
- Changed injection priority: The plugin now attempts to register the Paper TickEndEvent first. It only falls back to NMS reflection if the Paper API is unavailable.
- Added a null check for the server connection instance to prevent the NPE during reflection injection.
- Added specific error logging: If injection fails on legacy servers (< 1.14.4), the plugin now reflectively checks
spigot.ymlsettings to explicitly warn the user iflate-bindis the cause. - Refactored reflection logic to use
ReflectionUtilsfor better safety and code cleanliness. - by uRyanxD (5f02ccc) - Bump PE - by Axionize (
92d06e4) - Build ci changes - by Axionize (
9626712) - Cache map values for performance (#2407) - by Rothes (
8f0036e) - Merge remote-tracking branch 'origin/2.0' into lightning
Conflicts:
.github/workflows/build-and-publish.yml - by Axionize (8379457)
- Clean up OptifineFastMath.java a bit - by ManInMyVan (
2d8def6) - Support CAMERA packet (#2303) - by ManInMyVan (
d374c2b) - Add PlatformPlayerFactory#getOfflinePlayers() - by Axionize (
ce0dad5) - Stash work - by Axionize (
90193b4) - Fix reach regression in not flagging clients from versions 1.15 to 1.20.1 due to rot only regression - by Axionize (
60b70d1) - Merge branch 'fix/reach-infinite-expanding-hitbox' into 2.0 - by Axionize (
4292e93) - Merge branch '2.0' into lightning - by Axionize (
daa3bfe)
🐛 Fixes
- Fix incorrect EquipmentSlot mappings in isGlider logic - by AoElite (
d96d683) - Exclude Azalea from Sapling hitbox definitions - by Axionize (
4a104e2) - Bubble Column, Azalea, Bed, and Ceiling Wall Sign hit/collision boxes - by Axionize (
c019566) - Bump gradle wrapper to fix build - by Axionize (
c2afc62) - Fix NPE due to incorrect initialization order - by cyramek (
9e745fd)
🤖 Maintenance & CI
- Bump shadow - by Axionize (
955b725) - Increase default building memory allocation - by Axionize (
55da384) - Bump PE - by Axionize (
b6f9f86)
LightningGrim Anticheat (Fabric) 2.3.73-49742a9-b95
alpha9 ноября 2025 г.Changes in this Build (since previous push)
Miscellaneous
- Update upstream
- 1.21.10 support