Fully async, multithreaded, predictive, open source, 3.01 reach, 1.005 timer, 0.01% speed, 99.99% antikb, "bypassable" 1.8-1.21 anticheat
GrimAC is an free open source Minecraft anticheat designed to support the latest versions of Minecraft. It currently supports minecraft versions 1.8-1.21. Geyser players are fully exempt.
This project is considered feature-complete for the 2.0 (open-source) branch. If you would like a bug fix or enhancement and cannot sponsor the work, pull requests are welcome. A premium version is planned, which will offer additional subscription-based paid checks, such as heuristics.
Grim's API allows you to integrate Grim into your own plugins.
- API repository: GrimAPI
- Wiki info: Wiki
git clone https://github.com/GrimAnticheat/Grim.gitcd Grim./gradlew buildWhat makes Grim stand out against other anticheats?
Unknown
Unknown
Условия использования, изменения и распространения этого товара.
23.07.2026 · Modrinth
85dd3d9)Скриншоты и изображения из оригинальной страницы Modrinth.
Автор проекта не добавил галерею на Modrinth.
Опубликованные версии и оригинальные файлы Modrinth.
23.07.2026 · 1 217 загрузки
85dd3d9)23.07.2026 · 143 загрузки
85dd3d9)22.07.2026 · 102 загрузки
9c45c65)22.07.2026 · 12 загрузки
9c45c65)22.07.2026 · 1 загрузки
6ba39ef)22.07.2026 · 2 загрузки
6ba39ef)21.07.2026 · 1 904 загрузки
936179e)21.07.2026 · 228 загрузки
936179e)19.07.2026 · 2 536 загрузки
2fe3b3e)19.07.2026 · 288 загрузки
2fe3b3e)19.07.2026 · 1 358 загрузки
40684fb)19.07.2026 · 188 загрузки
40684fb)18.07.2026 · 1 216 загрузки
6c699c2)18.07.2026 · 120 загрузки
6c699c2)18.07.2026 · 15 загрузки
Found by custom Java linter static analysis.
2963fca)18.07.2026 · 7 загрузки
Found by custom Java linter static analysis.
2963fca)15.07.2026 · 3 320 загрузки
1e5bbc3)15.07.2026 · 395 загрузки
1e5bbc3)15.07.2026 · 31 загрузки
03a128d)15.07.2026 · 23 загрузки
03a128d)14.07.2026 · 2 730 загрузки
63a684d)14.07.2026 · 231 загрузки
63a684d)14.07.2026 · 12 загрузки
63a684d)14.07.2026 · 9 загрузки
63a684d)14.07.2026 · 12 загрузки
63a684d)14.07.2026 · 8 загрузки
63a684d)14.07.2026 · 35 загрузки
3b54c21)14.07.2026 · 16 загрузки
3b54c21)14.07.2026 · 11 загрузки
ed648d2)14.07.2026 · 8 загрузки
ed648d2)09.07.2026 · 7 343 загрузки
41b8b61)09.07.2026 · 617 загрузки
41b8b61)04.07.2026 · 6 830 загрузки
7807650)04.07.2026 · 629 загрузки
7807650)01.07.2026 · 4 220 загрузки
882015a)01.07.2026 · 366 загрузки
882015a)30.06.2026 · 488 загрузки
e454008)30.06.2026 · 68 загрузки
e454008)30.06.2026 · 31 загрузки
fixes issues with stuck speed across all versions, most notably on 1.18.2+ and 1.21.10+
also fixes issue with depth strider on vehicles - by Cyramek (28179c2)
30.06.2026 · 14 загрузки
fixes issues with stuck speed across all versions, most notably on 1.18.2+ and 1.21.10+
also fixes issue with depth strider on vehicles - by Cyramek (28179c2)
28.06.2026 · 3 558 загрузки
fix: https://github.com/GrimAnticheat/Grim/issues/2762 - by cyramek (54a29a2)
28.06.2026 · 284 загрузки
fix: https://github.com/GrimAnticheat/Grim/issues/2762 - by cyramek (54a29a2)
27.06.2026 · 1 647 загрузки
79d54e3)Backport storage ownership leases - by Axionize (573a1d2)
27.06.2026 · 157 загрузки
79d54e3)Backport storage ownership leases - by Axionize (573a1d2)
27.06.2026 · 637 загрузки
f65930b)27.06.2026 · 56 загрузки
f65930b)26.06.2026 · 940 загрузки
784c46d)26.06.2026 · 113 загрузки
784c46d)26.06.2026 · 355 загрузки
732b9e0)25.06.2026 · 613 загрузки
1d52bda)c96667c)ae11730)735550d)this class needs to be registry'fied if they gonna change boundingboxes in every version - by cyramek (4bce83e)
- Minor fixes - by cyramek (1250a40)
- Merge 26.2 support - by Axionize WS2 (d9bade6)
- Merge 26.2 support and update PacketEvents - by Axionize WS2 (52f8721)
- Use published PacketEvents snapshot - by Axionize WS2 (c40dfad)
- Skip Fabric publish when artifact is absent - by Axionize WS2 (12449c4)
eba3cb8)this was the cause why slime collisions were off by E-8
this can also be the cause of many false positives that are seemingly random - by cyramek (d2727a4)
- Fix formatting issues - by cyramek (02654ce)
24.06.2026 · 1 893 загрузки
0aa2e2b)24.06.2026 · 280 загрузки
0aa2e2b)21.06.2026 · 3 487 загрузки
Fix fastbreak using outdated onGround status (#2657)
make sure that we're using latest onGround in FastBreak
things pointed out in a review - by Cyramek (ba1a930)
21.06.2026 · 339 загрузки
Fix fastbreak using outdated onGround status (#2657)
make sure that we're using latest onGround in FastBreak
things pointed out in a review - by Cyramek (ba1a930)
20.06.2026 · 3 037 загрузки
e37b7e3)20.06.2026 · 331 загрузки
e37b7e3)14.06.2026 · 8 111 загрузки
67aa3a9)14.06.2026 · 1 020 загрузки
67aa3a9)14.06.2026 · 89 загрузки
e80e3c4)b03f110)edb6c04)227cf23)f3af8e2)19d74d5)c4b295f)14.06.2026 · 42 загрузки
e80e3c4)b03f110)edb6c04)227cf23)f3af8e2)19d74d5)c4b295f)14.06.2026 · 155 загрузки
1f1b03c)14.06.2026 · 30 загрузки
1f1b03c)11.06.2026 · 3 096 загрузки
E-8 -> E-15 - by cyramek (c83870b)
11.06.2026 · 398 загрузки
E-8 -> E-15 - by cyramek (c83870b)
10.06.2026 · 2 361 загрузки
Wire the public verbose registry/manifest foundation and add a binary flag path that writes ViolationEvent.verboseData. Convert BadPacketsR because its verbose payload is three simple numeric fields: elapsed player-clock ms, last transaction delta ms, and position packet count. - by Axionize WS2 (e19cb38)
- Fix verbose binary metadata nits - by Axionize WS2 (417a212)
- Convert flight checks to binary verbose - by Axionize WS2 (deed028)
- Make verboseVersion unsigned on consumer side - by Axionize WS2 (e684ec7)
- Convert reach verbose to binary f32
Store Simulation offset as f32 without flagId. Store Reach min distance through the binary verbose path while preserving the existing alert text; Hitboxes remains on text verbose for now. - by Axionize WS2 (f63a216)
- Update binary verbose precision and formatters
Use f64 for Reach and Simulation numeric payloads, add Reach entity type IDs encoded for the player's client version, and register old-string custom formatters for Reach, Simulation, and GroundSpoof.
BadPacketsR had no pre-conversion verbose string in the converted check, so it remains on the generic name=value reader. - by Axionize WS2 (01d19bd)
- Convert badpackets verbose to binary
Converted: BadPacketsA, BadPacketsD, BadPacketsE, BadPacketsF, BadPacketsG, BadPacketsH, BadPacketsL, BadPacketsO, BadPacketsP, BadPacketsQ, BadPacketsT, BadPacketsU, BadPacketsV, BadPacketsY.
Already binary, moved into package registration: BadPacketsR.
Skipped empty/no verbose: BadPacketsB, BadPacketsC, BadPacketsI, BadPacketsJ, BadPacketsK, BadPacketsM, BadPacketsN, BadPacketsS, BadPacketsW, BadPacketsX, BadPacketsZ.
badpackets2: package absent in this checkout.
Verification: ./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava --console=plain - by Axionize WS2 (e422749)
- Convert breaking and crash verbose to binary
Converted breaking: AirLiquidBreak, FarBreak, FastBreak, InvalidBreak, MultiBreak, PositionBreakA, PositionBreakB, RotationBreak, WrongBreak.
Skipped breaking: NoSwingBreak (no/empty verbose).
Converted crash: CrashC, CrashD, CrashE, CrashF, CrashH, CrashI.
Skipped crash: CrashA, CrashB, CrashG (no/empty verbose). - by Axionize WS2 (751011f)
- Preserve exact flag/alert/setback semantics for binary verbose checks - by Axionize WS2 (7ba8470)
- Convert wave B verbose checks to binary
Converted:\n- scaffolding: DuplicateRotPlace, FabricatedPlace, InvalidPlaceB, MultiPlace, RotationPlace\n- multiactions: MultiActionsC, MultiActionsD, MultiActionsF, MultiActionsG\n- chat: ChatB, ChatC\n- combat: MultiInteractA, MultiInteractB\n\nSkipped:\n- scaffolding: AirLiquidPlace, FarPlace, InvalidPlaceA, PositionPlace (empty verbose)\n- multiactions: MultiActionsA, MultiActionsB, MultiActionsE (empty verbose)\n- chat: ChatA, ChatD (empty or blank verbose)\n- combat: Hitboxes, SelfInteract (empty verbose), Reach (already converted/registered) - by Axionize WS2 (01ef829)
- Convert wave C verbose to binary
Converted:
- vehicle: VehicleA, VehicleD, VehicleE, VehicleF
- velocity: KnockbackHandler/AntiKB, ExplosionHandler/AntiExplosion
- timer: NegativeTimer, TickTimer
- exploit: ExploitA, ExploitB
- sprint: SprintA
- misc: Post
- elytra: ElytraB
Skipped unchanged:
- vehicle: VehicleB, VehicleC
- velocity: VectorPrecisionConverter
- timer: Timer, TimerLimit, VehicleTimer
- sprint: SprintB, SprintC, SprintD, SprintE, SprintF, SprintG
- misc: ClientBrand, GhostBlockMitigation, TransactionOrder
- elytra: ElytraA, ElytraC, ElytraD, ElytraE, ElytraF, ElytraG, ElytraH, ElytraI - by Axionize WS2 (5f4b923)
- Convert missed verbose packages to binary
Converted: baritone/Baritone; packetorder/PacketOrderB, PacketOrderC, PacketOrderD, PacketOrderE, PacketOrderF, PacketOrderG, PacketOrderI, PacketOrderK, PacketOrderL, PacketOrderO, PacketOrderP.
Skipped: packetorder/PacketOrderA, PacketOrderH, PacketOrderJ, PacketOrderM, PacketOrderN, and PacketOrderProcessor because they only use empty/no verbose.
Build: ./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava -PmavenLocalOverride=true --console=plain - by Axionize WS2 (e7f2ed2)
- Render binary verbose lazily on alerts - by Axionize WS2 (05c6eda)
- Use compact verbose encodings for object values - by Axionize (2a5685a)
- Restore BadPacketsR verbose formatter parity - by Axionize WS2 (5eb67c3)
- Merge verbose binary consumer - by Axionize WS2 (182c82e)
10.06.2026 · 302 загрузки
Wire the public verbose registry/manifest foundation and add a binary flag path that writes ViolationEvent.verboseData. Convert BadPacketsR because its verbose payload is three simple numeric fields: elapsed player-clock ms, last transaction delta ms, and position packet count. - by Axionize WS2 (e19cb38)
- Fix verbose binary metadata nits - by Axionize WS2 (417a212)
- Convert flight checks to binary verbose - by Axionize WS2 (deed028)
- Make verboseVersion unsigned on consumer side - by Axionize WS2 (e684ec7)
- Convert reach verbose to binary f32
Store Simulation offset as f32 without flagId. Store Reach min distance through the binary verbose path while preserving the existing alert text; Hitboxes remains on text verbose for now. - by Axionize WS2 (f63a216)
- Update binary verbose precision and formatters
Use f64 for Reach and Simulation numeric payloads, add Reach entity type IDs encoded for the player's client version, and register old-string custom formatters for Reach, Simulation, and GroundSpoof.
BadPacketsR had no pre-conversion verbose string in the converted check, so it remains on the generic name=value reader. - by Axionize WS2 (01d19bd)
- Convert badpackets verbose to binary
Converted: BadPacketsA, BadPacketsD, BadPacketsE, BadPacketsF, BadPacketsG, BadPacketsH, BadPacketsL, BadPacketsO, BadPacketsP, BadPacketsQ, BadPacketsT, BadPacketsU, BadPacketsV, BadPacketsY.
Already binary, moved into package registration: BadPacketsR.
Skipped empty/no verbose: BadPacketsB, BadPacketsC, BadPacketsI, BadPacketsJ, BadPacketsK, BadPacketsM, BadPacketsN, BadPacketsS, BadPacketsW, BadPacketsX, BadPacketsZ.
badpackets2: package absent in this checkout.
Verification: ./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava --console=plain - by Axionize WS2 (e422749)
- Convert breaking and crash verbose to binary
Converted breaking: AirLiquidBreak, FarBreak, FastBreak, InvalidBreak, MultiBreak, PositionBreakA, PositionBreakB, RotationBreak, WrongBreak.
Skipped breaking: NoSwingBreak (no/empty verbose).
Converted crash: CrashC, CrashD, CrashE, CrashF, CrashH, CrashI.
Skipped crash: CrashA, CrashB, CrashG (no/empty verbose). - by Axionize WS2 (751011f)
- Preserve exact flag/alert/setback semantics for binary verbose checks - by Axionize WS2 (7ba8470)
- Convert wave B verbose checks to binary
Converted:\n- scaffolding: DuplicateRotPlace, FabricatedPlace, InvalidPlaceB, MultiPlace, RotationPlace\n- multiactions: MultiActionsC, MultiActionsD, MultiActionsF, MultiActionsG\n- chat: ChatB, ChatC\n- combat: MultiInteractA, MultiInteractB\n\nSkipped:\n- scaffolding: AirLiquidPlace, FarPlace, InvalidPlaceA, PositionPlace (empty verbose)\n- multiactions: MultiActionsA, MultiActionsB, MultiActionsE (empty verbose)\n- chat: ChatA, ChatD (empty or blank verbose)\n- combat: Hitboxes, SelfInteract (empty verbose), Reach (already converted/registered) - by Axionize WS2 (01ef829)
- Convert wave C verbose to binary
Converted:
- vehicle: VehicleA, VehicleD, VehicleE, VehicleF
- velocity: KnockbackHandler/AntiKB, ExplosionHandler/AntiExplosion
- timer: NegativeTimer, TickTimer
- exploit: ExploitA, ExploitB
- sprint: SprintA
- misc: Post
- elytra: ElytraB
Skipped unchanged:
- vehicle: VehicleB, VehicleC
- velocity: VectorPrecisionConverter
- timer: Timer, TimerLimit, VehicleTimer
- sprint: SprintB, SprintC, SprintD, SprintE, SprintF, SprintG
- misc: ClientBrand, GhostBlockMitigation, TransactionOrder
- elytra: ElytraA, ElytraC, ElytraD, ElytraE, ElytraF, ElytraG, ElytraH, ElytraI - by Axionize WS2 (5f4b923)
- Convert missed verbose packages to binary
Converted: baritone/Baritone; packetorder/PacketOrderB, PacketOrderC, PacketOrderD, PacketOrderE, PacketOrderF, PacketOrderG, PacketOrderI, PacketOrderK, PacketOrderL, PacketOrderO, PacketOrderP.
Skipped: packetorder/PacketOrderA, PacketOrderH, PacketOrderJ, PacketOrderM, PacketOrderN, and PacketOrderProcessor because they only use empty/no verbose.
Build: ./gradlew :Grim-public:common:compileJava :Grim-public:bukkit:compileJava -PmavenLocalOverride=true --console=plain - by Axionize WS2 (e7f2ed2)
- Render binary verbose lazily on alerts - by Axionize WS2 (05c6eda)
- Use compact verbose encodings for object values - by Axionize (2a5685a)
- Restore BadPacketsR verbose formatter parity - by Axionize WS2 (5eb67c3)
- Merge verbose binary consumer - by Axionize WS2 (182c82e)
09.06.2026 · 263 загрузки
e7fedff)09.06.2026 · 128 загрузки
e7fedff)09.06.2026 · 239 загрузки
idk how to reproduce it because it shouldn't happen, but I guess transaction splits between entity equipment updates happen - by cyramek (4f747c3)
09.06.2026 · 41 загрузки
idk how to reproduce it because it shouldn't happen, but I guess transaction splits between entity equipment updates happen - by cyramek (4f747c3)
09.06.2026 · 518 загрузки
19dde8b)09.06.2026 · 68 загрузки
19dde8b)09.06.2026 · 12 загрузки
19dde8b)09.06.2026 · 64 загрузки
6b28271)09.06.2026 · 17 загрузки
6b28271)09.06.2026 · 51 загрузки
3404e9b)09.06.2026 · 15 загрузки
3404e9b)07.06.2026 · 1 406 загрузки
Replaces the leftover "Prison" placeholder used for the /grim history
header and database config with a neutral "ChangeMe" default that
prompts operators to set their own server name. - by Axionize (41b0fff)
07.06.2026 · 253 загрузки
Replaces the leftover "Prison" placeholder used for the /grim history
header and database config with a neutral "ChangeMe" default that
prompts operators to set their own server name. - by Axionize (41b0fff)
07.06.2026 · 71 загрузки
we're E-15 on average across all supported versions - by Cyramek (86785db)
07.06.2026 · 16 загрузки
we're E-15 on average across all supported versions - by Cyramek (86785db)
06.06.2026 · 1 997 загрузки
5f19722)06.06.2026 · 186 загрузки
5f19722)06.06.2026 · 73 загрузки
2ea1d99)06.06.2026 · 17 загрузки
2ea1d99)06.06.2026 · 101 загрузки
Compensate attack range swaps for movement (#7)
Compensate attack range swaps for movement
Restrict attack range movement compensation to swaps
Keep attack range item values as floats
Fix attack_range swap reach compensation
Add Reach verbose for attack range movement - by Axionize (f61d522)
06.06.2026 · 26 загрузки
Compensate attack range swaps for movement (#7)
Compensate attack range swaps for movement
Restrict attack range movement compensation to swaps
Keep attack range item values as floats
Fix attack_range swap reach compensation
Add Reach verbose for attack range movement - by Axionize (f61d522)
05.06.2026 · 932 загрузки
b2b2503)05.06.2026 · 96 загрузки
b2b2503)05.06.2026 · 628 загрузки
4de186b)05.06.2026 · 71 загрузки
4de186b)05.06.2026 · 460 загрузки
b3a7496)05.06.2026 · 78 загрузки
b3a7496)04.06.2026 · 749 загрузки
ac892c5)04.06.2026 · 102 загрузки
ac892c5)03.06.2026 · 1 600 загрузки
5e60273)03.06.2026 · 204 загрузки
5e60273)02.06.2026 · 982 загрузки
dde41ad)02.06.2026 · 136 загрузки
dde41ad)02.06.2026 · 55 загрузки
4642c3d)02.06.2026 · 26 загрузки
4642c3d)01.06.2026 · 1 493 загрузки
9888990)01.06.2026 · 450 загрузки
9888990)31.05.2026 · 809 загрузки
This reverts commit 6ce529c83de82eee53425a5b081c03115c181e04. - by ManInMyVan (48b778e)
31.05.2026 · 104 загрузки
This reverts commit 6ce529c83de82eee53425a5b081c03115c181e04. - by ManInMyVan (48b778e)
30.05.2026 · 1 240 загрузки
6ff7f44)30.05.2026 · 209 загрузки
6ff7f44)30.05.2026 · 88 загрузки
cd61780)6ce529c)d2e47fd)30.05.2026 · 24 загрузки
cd61780)6ce529c)d2e47fd)29.05.2026 · 1 131 загрузки
17b86aa)490a02b)406d6e7)29.05.2026 · 179 загрузки
17b86aa)490a02b)406d6e7)29.05.2026 · 265 загрузки
e62d451)29.05.2026 · 54 загрузки
e62d451)29.05.2026 · 757 загрузки
b62722b)36931a8)29.05.2026 · 156 загрузки
b62722b)36931a8)29.05.2026 · 60 загрузки
d34f5c1)29.05.2026 · 22 загрузки
d34f5c1)28.05.2026 · 146 загрузки
10cc198)28.05.2026 · 26 загрузки
10cc198)28.05.2026 · 23 загрузки
4a632c1)28.05.2026 · 22 загрузки
4a632c1)28.05.2026 · 329 загрузки
gravity is calculated based on deltaMovement, not actualMovement
fix: https://github.com/GrimAnticheat/Grim/issues/2687 - by cyramek (7e1607d)
28.05.2026 · 38 загрузки
gravity is calculated based on deltaMovement, not actualMovement
fix: https://github.com/GrimAnticheat/Grim/issues/2687 - by cyramek (7e1607d)
28.05.2026 · 434 загрузки
0b7001b)28.05.2026 · 86 загрузки
0b7001b)27.05.2026 · 1 472 загрузки
fix: https://github.com/GrimAnticheat/Grim/issues/2685 - by cyramek (ec08cbe)
27.05.2026 · 185 загрузки
fix: https://github.com/GrimAnticheat/Grim/issues/2685 - by cyramek (ec08cbe)
26.05.2026 · 569 загрузки
8c95b21)26.05.2026 · 73 загрузки
8c95b21)26.05.2026 · 538 загрузки
21f1534)26.05.2026 · 78 загрузки
21f1534)24.05.2026 · 1 429 загрузки
edc3987)24.05.2026 · 180 загрузки
edc3987)24.05.2026 · 42 загрузки
bebccfa)24.05.2026 · 20 загрузки
bebccfa)24.05.2026 · 110 загрузки
199b673)24.05.2026 · 36 загрузки
199b673)24.05.2026 · 806 загрузки
Reduce memory allocation and exclude annotation processors (#2669)
ComplexCollisionBox#downCast: Reduce alloc
ReachInterpolationData#getPossibleLocationCombined: Reduce alloc
SimpleCollisionBox: Only alloc boxes when needed
SimpleCollisionBox#betweenCornersInDirection: Skip Vector3d alloc
Materials: Use IdentityHashMap backed Sets to reduce alloc (StateType#hashCode)
build.gradle.kts: Exclude annotation processor service from shadowJar
Update common/src/main/java/ac/grim/grimac/utils/collisions/datatypes/ComplexCollisionBox.java
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: Dieu info@l4b.org
Co-authored-by: Techirion 126729304+Techirion@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by NO-UUID (6152908)
24.05.2026 · 109 загрузки
Reduce memory allocation and exclude annotation processors (#2669)
ComplexCollisionBox#downCast: Reduce alloc
ReachInterpolationData#getPossibleLocationCombined: Reduce alloc
SimpleCollisionBox: Only alloc boxes when needed
SimpleCollisionBox#betweenCornersInDirection: Skip Vector3d alloc
Materials: Use IdentityHashMap backed Sets to reduce alloc (StateType#hashCode)
build.gradle.kts: Exclude annotation processor service from shadowJar
Update common/src/main/java/ac/grim/grimac/utils/collisions/datatypes/ComplexCollisionBox.java
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: Dieu info@l4b.org
Co-authored-by: Techirion 126729304+Techirion@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by NO-UUID (6152908)
24.05.2026 · 225 загрузки
935668a)ce89791)24.05.2026 · 37 загрузки
935668a)ce89791)24.05.2026 · 30 загрузки
5869433)24.05.2026 · 17 загрузки
5869433)24.05.2026 · 54 загрузки
d939109)24.05.2026 · 23 загрузки
d939109)23.05.2026 · 51 загрузки
also reduce object allocations - by ManInMyVan (8083f42)
23.05.2026 · 15 загрузки
also reduce object allocations - by ManInMyVan (8083f42)
23.05.2026 · 23 загрузки
client-brand.ignored-clients in config - by ManInMyVan (60d3ecf)fd9e91d)d501dfe)43db51d)23.05.2026 · 10 загрузки
client-brand.ignored-clients in config - by ManInMyVan (60d3ecf)fd9e91d)d501dfe)43db51d)23.05.2026 · 833 загрузки
6252fe6)23.05.2026 · 125 загрузки
6252fe6)22.05.2026 · 432 загрузки
635708a)22.05.2026 · 125 загрузки
635708a)22.05.2026 · 36 загрузки
635708a)22.05.2026 · 874 загрузки
9b1aa1a)22.05.2026 · 113 загрузки
9b1aa1a)22.05.2026 · 367 загрузки
34c41db)22.05.2026 · 53 загрузки
34c41db)20.05.2026 · 1 039 загрузки
fdd734a)20.05.2026 · 115 загрузки
fdd734a)18.05.2026 · 2 791 загрузки
2af658c)18.05.2026 · 360 загрузки
2af658c)18.05.2026 · 45 загрузки
fdaf096)18.05.2026 · 27 загрузки
fdaf096)16.05.2026 · 1 259 загрузки
we're in E-15 now on average - by Cyramek (f3ed3b2)
16.05.2026 · 152 загрузки
we're in E-15 now on average - by Cyramek (f3ed3b2)
15.05.2026 · 1 364 загрузки
e32d091)15.05.2026 · 239 загрузки
e32d091)15.05.2026 · 52 загрузки
ff214a4)15.05.2026 · 22 загрузки
ff214a4)15.05.2026 · 731 загрузки
70223cd)15.05.2026 · 124 загрузки
70223cd)15.05.2026 · 55 загрузки
29316a7)15.05.2026 · 32 загрузки
29316a7)15.05.2026 · 75 загрузки
c156c00)15.05.2026 · 158 загрузки
c156c00)14.05.2026 · 242 загрузки
25d10f4)14.05.2026 · 47 загрузки
25d10f4)14.05.2026 · 130 загрузки
20d68c1)14.05.2026 · 26 загрузки
20d68c1)14.05.2026 · 53 загрузки
fb4ad7a)14.05.2026 · 22 загрузки
fb4ad7a)14.05.2026 · 496 загрузки
36675eb)14.05.2026 · 80 загрузки
36675eb)14.05.2026 · 38 загрузки
5fa803e)14.05.2026 · 20 загрузки
5fa803e)13.05.2026 · 1 035 загрузки
7a7e07f)13.05.2026 · 175 загрузки
7a7e07f)12.05.2026 · 204 загрузки
62b2268)12.05.2026 · 50 загрузки
62b2268)12.05.2026 · 305 загрузки
Fix entity boundingbox replication regression (#2642)
fix entity boundingbox replication regression
check if tick end event exists - by Cyramek (8a3767b)
12.05.2026 · 50 загрузки
Fix entity boundingbox replication regression (#2642)
fix entity boundingbox replication regression
check if tick end event exists - by Cyramek (8a3767b)
12.05.2026 · 26 загрузки
Apply block effects for swim-hop vector (#2648)
apply block effects for swim-hop vector
adjust swim hop constants - by Cyramek (73c60d0)
12.05.2026 · 14 загрузки
Apply block effects for swim-hop vector (#2648)
apply block effects for swim-hop vector
adjust swim hop constants - by Cyramek (73c60d0)
12.05.2026 · 114 загрузки
02f1dc3)12.05.2026 · 27 загрузки
02f1dc3)12.05.2026 · 265 загрузки
cdd490b)12.05.2026 · 53 загрузки
cdd490b)11.05.2026 · 1 087 загрузки
3cd17cc)11.05.2026 · 163 загрузки
3cd17cc)10.05.2026 · 1 174 загрузки
65d1050)c549b19)6953235)10.05.2026 · 172 загрузки
65d1050)c549b19)6953235)10.05.2026 · 127 загрузки
717829a)10.05.2026 · 32 загрузки
717829a)08.05.2026 · 1 295 загрузки
7ccff01)08.05.2026 · 214 загрузки
7ccff01)08.05.2026 · 650 загрузки
addabec)99e309f)08.05.2026 · 100 загрузки
addabec)99e309f)06.05.2026 · 1 512 загрузки
new trig lookup table just dropped - by Cyramek (494e9c5)
06.05.2026 · 213 загрузки
new trig lookup table just dropped - by Cyramek (494e9c5)
05.05.2026 · 1 155 загрузки
ce86075)05.05.2026 · 165 загрузки
ce86075)04.05.2026 · 1 105 загрузки
7d823f5)04.05.2026 · 162 загрузки
7d823f5)04.05.2026 · 81 загрузки
Fix 1.9 client noslow on 1.8 servers (#2607)
fix 1.9 client noslow on 1.8 servers
fix metadata ids - by ManInMyVan (5c6de64)
04.05.2026 · 37 загрузки
Fix 1.9 client noslow on 1.8 servers (#2607)
fix 1.9 client noslow on 1.8 servers
fix metadata ids - by ManInMyVan (5c6de64)
04.05.2026 · 20 загрузки
215a1e6)04.05.2026 · 15 загрузки
215a1e6)04.05.2026 · 67 загрузки
5a40a06)04.05.2026 · 24 загрузки
5a40a06)03.05.2026 · 361 загрузки
d591f10)2c60aae)21f0c3d)17d4d2f)3e5afef)fc899a3)83a6d98)5254190)145f71c)4c866d0)f81e183)3d95fea)03.05.2026 · 69 загрузки
d591f10)2c60aae)21f0c3d)17d4d2f)3e5afef)fc899a3)83a6d98)5254190)145f71c)4c866d0)f81e183)3d95fea)30.04.2026 · 3 012 загрузки
e9c918d)fd9e0f8)30.04.2026 · 458 загрузки
e9c918d)fd9e0f8)30.04.2026 · 143 загрузки
2508a34)30.04.2026 · 55 загрузки
2508a34)30.04.2026 · 46 загрузки
This reverts commit 3021287391de4aee964abe5bcf6c452f72f68a7b. - by AoElite (73f63c1)
30.04.2026 · 26 загрузки
This reverts commit 3021287391de4aee964abe5bcf6c452f72f68a7b. - by AoElite (73f63c1)
30.04.2026 · 225 загрузки
3021287)30.04.2026 · 39 загрузки
3021287)29.04.2026 · 638 загрузки
75cc402)29.04.2026 · 112 загрузки
75cc402)29.04.2026 · 196 загрузки
c88b494)29.04.2026 · 53 загрузки
c88b494)28.04.2026 · 67 загрузки
84bd90d)28.04.2026 · 26 загрузки
84bd90d)28.04.2026 · 443 загрузки
c233a60)28.04.2026 · 78 загрузки
c233a60)28.04.2026 · 293 загрузки
fbabbf2)8861589)28.04.2026 · 74 загрузки
fbabbf2)8861589)28.04.2026 · 41 загрузки
053b090)28.04.2026 · 14 загрузки
053b090)27.04.2026 · 73 загрузки
578c784)27.04.2026 · 34 загрузки
578c784)27.04.2026 · 305 загрузки
tested with 1.8.9, 1.20.4 and ViaVersion on 1.20.4 Server and 1.8.9 Client
related issue: https://github.com/GrimAnticheat/Grim/issues/2148 - by InetAddress (5c46b0a)
27.04.2026 · 55 загрузки
tested with 1.8.9, 1.20.4 and ViaVersion on 1.20.4 Server and 1.8.9 Client
related issue: https://github.com/GrimAnticheat/Grim/issues/2148 - by InetAddress (5c46b0a)
26.04.2026 · 475 загрузки
fixes #2552 - by Axionize WS1 (257bffe)
26.04.2026 · 69 загрузки
fixes #2552 - by Axionize WS1 (257bffe)
26.04.2026 · 15 загрузки
Fixes issues on 1.8.9 / Older versions thinking that daylight detectors connect to fences / iron bars
Related: https://github.com/GrimAnticheat/Grim/issues/1856 - by KotlinList (d81d03f)
26.04.2026 · 19 загрузки
Fixes issues on 1.8.9 / Older versions thinking that daylight detectors connect to fences / iron bars
Related: https://github.com/GrimAnticheat/Grim/issues/1856 - by KotlinList (d81d03f)
25.04.2026 · 9 загрузки
66b3334)25.04.2026 · 13 загрузки
66b3334)24.04.2026 · 1 172 загрузки
7499d10)24.04.2026 · 218 загрузки
7499d10)23.04.2026 · 291 загрузки
794e120)23.04.2026 · 57 загрузки
794e120)23.04.2026 · 12 загрузки
3664f4d)23.04.2026 · 15 загрузки
3664f4d)22.04.2026 · 854 загрузки
6c3ccb4)22.04.2026 · 167 загрузки
6c3ccb4)18.04.2026 · 2 738 загрузки
Fix some falses regarding camel sprinting (#2462)
Fix camel sprinting falses
Forgot about camel husks
Obey code style
Fix respawns
Obey code style (for real this time)
Fix SprintG false with camels
Move camel sprinting state to VehicleData - by LaserSlime (d55f1b7)
18.04.2026 · 379 загрузки
Fix some falses regarding camel sprinting (#2462)
Fix camel sprinting falses
Forgot about camel husks
Obey code style
Fix respawns
Obey code style (for real this time)
Fix SprintG false with camels
Move camel sprinting state to VehicleData - by LaserSlime (d55f1b7)
17.04.2026 · 1 007 загрузки
broken after recent packetevents update that overriden #set method in Chunk_v1_18 - by cyramek (8dc657a)
17.04.2026 · 193 загрузки
broken after recent packetevents update that overriden #set method in Chunk_v1_18 - by cyramek (8dc657a)
17.04.2026 · 150 загрузки
61e9e69)17.04.2026 · 48 загрузки
61e9e69)17.04.2026 · 159 загрузки
f9fdfa7)17.04.2026 · 38 загрузки
f9fdfa7)15.04.2026 · 1 273 загрузки
19c12b7)15.04.2026 · 191 загрузки
19c12b7)15.04.2026 · 34 загрузки
only bukkit platform for now - by Cyramek (a9b91e7)
15.04.2026 · 17 загрузки
only bukkit platform for now - by Cyramek (a9b91e7)
15.04.2026 · 206 загрузки
7885555)15.04.2026 · 56 загрузки
7885555)15.04.2026 · 51 загрузки
bf10e23)f0e15b0)f380fcd)9b06c86)isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)11d572f)7d9dc86)89eedbe)77c48f4)10cb176)d1b2135)7fd7bc1)Fix PostgreSQL UUID retrieval in history command (#2575)
Fix PostgreSQL UUID retrieval in history command
Improve error handling for UUID retrieval in DatabaseUtils
Use if-else if in DatabaseUtils.getUuid - by Fussel (efd796c)
ece9f3c)b55a12c)e8dc9ae)3e07a0e)890799d)Fix MYSQL 8 support (#2534)
Fix MYSQL 8 support
Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)
1b60cb8)99dce8c)c169d9c)65815fc)cd3576b)b9da63c)13ad8bd)fc75e51)14.04.2026 · 161 загрузки
c169d9c)14.04.2026 · 176 загрузки
99dce8c)14.04.2026 · 38 загрузки
99dce8c)13.04.2026 · 94 загрузки
1b60cb8)13.04.2026 · 26 загрузки
1b60cb8)13.04.2026 · 406 загрузки
Fix MYSQL 8 support (#2534)
Fix MYSQL 8 support
Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)
13.04.2026 · 102 загрузки
Fix MYSQL 8 support (#2534)
Fix MYSQL 8 support
Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)
13.04.2026 · 197 загрузки
fc75e51)13.04.2026 · 48 загрузки
fc75e51)13.04.2026 · 11 загрузки
13ad8bd)13.04.2026 · 19 загрузки
13ad8bd)12.04.2026 · 400 загрузки
3e07a0e)12.04.2026 · 91 загрузки
3e07a0e)10.04.2026 · 1 363 загрузки
e8dc9ae)10.04.2026 · 279 загрузки
e8dc9ae)10.04.2026 · 85 загрузки
b55a12c)10.04.2026 · 36 загрузки
b55a12c)09.04.2026 · 1 018 загрузки
ece9f3c)09.04.2026 · 222 загрузки
ece9f3c)09.04.2026 · 473 загрузки
Fix PostgreSQL UUID retrieval in history command (#2575)
Fix PostgreSQL UUID retrieval in history command
Improve error handling for UUID retrieval in DatabaseUtils
Use if-else if in DatabaseUtils.getUuid - by Fussel (efd796c)
09.04.2026 · 121 загрузки
Fix PostgreSQL UUID retrieval in history command (#2575)
Fix PostgreSQL UUID retrieval in history command
Improve error handling for UUID retrieval in DatabaseUtils
Use if-else if in DatabaseUtils.getUuid - by Fussel (efd796c)
06.04.2026 · 1 366 загрузки
b9da63c)06.04.2026 · 276 загрузки
b9da63c)06.04.2026 · 226 загрузки
7fd7bc1)06.04.2026 · 66 загрузки
7fd7bc1)05.04.2026 · 1 311 загрузки
d1b2135)05.04.2026 · 272 загрузки
d1b2135)04.04.2026 · 295 загрузки
10cb176)04.04.2026 · 95 загрузки
10cb176)03.04.2026 · 773 загрузки
77c48f4)03.04.2026 · 176 загрузки
77c48f4)03.04.2026 · 714 загрузки
cd3576b)03.04.2026 · 148 загрузки
cd3576b)03.04.2026 · 27 загрузки
89eedbe)03.04.2026 · 21 загрузки
89eedbe)03.04.2026 · 17 загрузки
7d9dc86)03.04.2026 · 27 загрузки
7d9dc86)02.04.2026 · 2 151 загрузки
11d572f)02.04.2026 · 193 загрузки
11d572f)31.03.2026 · 1 069 загрузки
isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)31.03.2026 · 219 загрузки
isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)29.03.2026 · 1 390 загрузки
9b06c86)29.03.2026 · 300 загрузки
9b06c86)29.03.2026 · 86 загрузки
f380fcd)29.03.2026 · 29 загрузки
f380fcd)27.03.2026 · 2 032 загрузки
bf10e23)27.03.2026 · 411 загрузки
bf10e23)25.03.2026 · 1 389 загрузки
5f9b9dd)740f7f4)25.03.2026 · 324 загрузки
5f9b9dd)740f7f4)21.03.2026 · 2 372 загрузки
e40ec01)21.03.2026 · 347 загрузки
e40ec01)21.03.2026 · 30 загрузки
Check for keepsprint on 1.9 servers (#2070)
check for keepsprint on 1.9 servers
update held item in AttackCooldownHandler every time the slot is changed
fix #2389
change AttackCooldownHandler package - by ManInMyVan (e954124)
21.03.2026 · 22 загрузки
Check for keepsprint on 1.9 servers (#2070)
check for keepsprint on 1.9 servers
update held item in AttackCooldownHandler every time the slot is changed
fix #2389
change AttackCooldownHandler package - by ManInMyVan (e954124)
20.03.2026 · 788 загрузки
598aae0)20.03.2026 · 127 загрузки
598aae0)20.03.2026 · 761 загрузки
48115eb)20.03.2026 · 126 загрузки
48115eb)16.03.2026 · 2 868 загрузки
539e822)16.03.2026 · 453 загрузки
539e822)16.03.2026 · 46 загрузки
29c0757)16.03.2026 · 22 загрузки
29c0757)13.03.2026 · 2 374 загрузки
13fb273)13.03.2026 · 319 загрузки
13fb273)11.03.2026 · 1 354 загрузки
0a1ce1d)11.03.2026 · 246 загрузки
0a1ce1d)09.03.2026 · 818 загрузки
add support for https://github.com/ViaVersion/ViaVersion/pull/4733 - by Cyramek (7e8b6b6)
09.03.2026 · 166 загрузки
add support for https://github.com/ViaVersion/ViaVersion/pull/4733 - by Cyramek (7e8b6b6)
09.03.2026 · 71 загрузки
546abf0)09.03.2026 · 35 загрузки
546abf0)09.03.2026 · 87 загрузки
thanks LaserSlime and Axionize for help! - by Cyramek (302bed1)
09.03.2026 · 16 загрузки
fix: https://github.com/GrimAnticheat/Grim/issues/2463 - by Cyramek (8a0d1e2)
09.03.2026 · 28 загрузки
thanks LaserSlime and Axionize for help! - by Cyramek (302bed1)
09.03.2026 · 23 загрузки
fix: https://github.com/GrimAnticheat/Grim/issues/2463 - by Cyramek (8a0d1e2)
09.03.2026 · 82 394 загрузки
This update brings official support for Minecraft 1.21.10 & 1.21.11, a massive overhaul to the Grim API for developers, robust new features like PostgreSQL and Discord Forum integration, and dozens of critical false-positive fixes and performance optimizations.
You can download the latest release on Modrinth: https://modrinth.com/plugin/grimac
/grim testwebhook command to easily verify your configuration. (by @ManInMyVan)This update contains numerous developer experience improvements and bug fixes for the Grim API.
* Simplified EventBus Registration: Developers no longer need to manually construct a GrimPlugin instance to use the EventBus. Platform-specific resolvers automatically determine the context (e.g., passing this from a Bukkit Plugin class or Fabric Mod Initializer).
* Fixed Reflected Listeners: Fixed a critical bug causing ClassCastException for listeners registered via registerAnnotatedListeners.
* New Methods: Added a method exposing the int block type from CompensatedWorld. (by @Cubicake in #2464)
* Note: Legacy API support has been temporarily added back to prevent breakage while developers migrate to the new standard.
Vector3dm multiplier improvements), and implemented FastUtil map micro-optimizations to reduce garbage collection overhead.Reach causing it to not flag certain clients from 1.15-1.20.1 and 1.21.5-1.21.8. (by @Axionize)Reach false positive involving Happy Ghasts on clients older than 1.21.6. (by @GreenedDev in #2352)FastBreak false positive that occurred when switching tools via a Shulker Box. (by @Ayouuuu in #2454)/grim spectate on a player in another dimension would incorrectly reset the spectator's gamemode to Survival. (by @GroupXyz2 in #2365)NullPointerException that occurred on Spigot servers using the late-bind option on versions older than 1.14.4. (by @uRyanxD in #2388)getTPS() metric (temporary patch). (by @Axionize)Elytra (A, B, C, F), PositionBreakB, and MultiActions (C, D) have been marked as stable.ro.yml): Added by @ItzBloxxy in #2285pl.yml): Added by @dxw1d in #2501zh.yml): Huge translation improvements and comment updates by @tjshtqwq and @MatrixU5er.A massive thank you to everyone who contributed to this release!
* @Szypkoo made their first contribution in #2329
* @ItzBloxxy made their first contribution in #2285
* @Weigurde made their first contribution in #2350
* @tenki-cloud[bot] made their first contribution in #2362
* @GroupXyz2 made their first contribution in #2365
* @GreenedDev made their first contribution in #2352
* @NgLoader made their first contribution in #2372
* @iLemon made their first contribution in #2397
* @uRyanxD made their first contribution in #2388
* @runningbird2 made their first contribution in #2477
* @Cubicake made their first contribution in #2464
* @tjshtqwq made their first contribution in #2267
* @dxw1d made their first contribution in #2501
Full Changelog: https://github.com/GrimAnticheat/Grim/compare/v2.3.72...v2.3.73
09.03.2026 · 7 810 загрузки
This update brings official support for Minecraft 1.21.10 & 1.21.11, a massive overhaul to the Grim API for developers, robust new features like PostgreSQL and Discord Forum integration, and dozens of critical false-positive fixes and performance optimizations.
You can download the latest release on Modrinth: https://modrinth.com/plugin/grimac
/grim testwebhook command to easily verify your configuration. (by @ManInMyVan)This update contains numerous developer experience improvements and bug fixes for the Grim API.
* Simplified EventBus Registration: Developers no longer need to manually construct a GrimPlugin instance to use the EventBus. Platform-specific resolvers automatically determine the context (e.g., passing this from a Bukkit Plugin class or Fabric Mod Initializer).
* Fixed Reflected Listeners: Fixed a critical bug causing ClassCastException for listeners registered via registerAnnotatedListeners.
* New Methods: Added a method exposing the int block type from CompensatedWorld. (by @Cubicake in #2464)
* Note: Legacy API support has been temporarily added back to prevent breakage while developers migrate to the new standard.
Vector3dm multiplier improvements), and implemented FastUtil map micro-optimizations to reduce garbage collection overhead.Reach causing it to not flag certain clients from 1.15-1.20.1 and 1.21.5-1.21.8. (by @Axionize)Reach false positive involving Happy Ghasts on clients older than 1.21.6. (by @GreenedDev in #2352)FastBreak false positive that occurred when switching tools via a Shulker Box. (by @Ayouuuu in #2454)/grim spectate on a player in another dimension would incorrectly reset the spectator's gamemode to Survival. (by @GroupXyz2 in #2365)NullPointerException that occurred on Spigot servers using the late-bind option on versions older than 1.14.4. (by @uRyanxD in #2388)getTPS() metric (temporary patch). (by @Axionize)Elytra (A, B, C, F), PositionBreakB, and MultiActions (C, D) have been marked as stable.ro.yml): Added by @ItzBloxxy in #2285pl.yml): Added by @dxw1d in #2501zh.yml): Huge translation improvements and comment updates by @tjshtqwq and @MatrixU5er.A massive thank you to everyone who contributed to this release!
* @Szypkoo made their first contribution in #2329
* @ItzBloxxy made their first contribution in #2285
* @Weigurde made their first contribution in #2350
* @tenki-cloud[bot] made their first contribution in #2362
* @GroupXyz2 made their first contribution in #2365
* @GreenedDev made their first contribution in #2352
* @NgLoader made their first contribution in #2372
* @iLemon made their first contribution in #2397
* @uRyanxD made their first contribution in #2388
* @runningbird2 made their first contribution in #2477
* @Cubicake made their first contribution in #2464
* @tjshtqwq made their first contribution in #2267
* @dxw1d made their first contribution in #2501
Full Changelog: https://github.com/GrimAnticheat/Grim/compare/v2.3.72...v2.3.73
09.03.2026 · 46 загрузки
Closes https://github.com/GrimAnticheat/Grim/issues/2520 - by Axionize (879d566)
09.03.2026 · 34 загрузки
Closes https://github.com/GrimAnticheat/Grim/issues/2520 - by Axionize (879d566)
09.03.2026 · 28 загрузки
53cf3e8)d4611f1)09.03.2026 · 26 загрузки
53cf3e8)d4611f1)08.03.2026 · 393 загрузки
This reverts commit 1d0cbb7078205b0b265a8ae6047bd304811ed130. - by ManInMyVan (c7983b7)
- Remove unused imports in Reach.java - by ManInMyVan (d273229)
08.03.2026 · 62 загрузки
This reverts commit 1d0cbb7078205b0b265a8ae6047bd304811ed130. - by ManInMyVan (c7983b7)
- Remove unused imports in Reach.java - by ManInMyVan (d273229)
04.03.2026 · 4 630 загрузки
Co-authored-by: DawixTV 92529087+DawixTV@users.noreply.github.com - by dxw1d (272a889)
04.03.2026 · 677 загрузки
Co-authored-by: DawixTV 92529087+DawixTV@users.noreply.github.com - by dxw1d (272a889)
04.03.2026 · 55 загрузки
438b0a5)This reverts commit 4798903fb1ea8adf744bc6001016690c5625b171. - by Axionize (0c52c20)
- Update MultiActionsC/D description - by ManInMyVan (76a262d)
- Check sneaking in MultiActionsC/D - by ManInMyVan (ee2e198)
- Make MultiActionsB a BlockBreakCheck - by ManInMyVan (5308c35)
- Probably fix #2134 - by ManInMyVan (e6a7518)
- Remove unused import - by ManInMyVan (3d68d26)
- Exempt ElytraC for 1 tick on respawn - by ManInMyVan (b8600bc)
- Wtf mojang - by ManInMyVan (485f267)
- Remove unused import - by ManInMyVan (32d778d)
- Minor refactor - by ManInMyVan (0d6d4da)
- Improve piston performance - by AoElite (6ad8050)
- Add CONTRIBUTING.md and improve the README.md - by AoElite (ee2ccc5)
- Merge pull request #2143 from Souipi/fix/ka-ping-method-cce
Fix GrimPlayer#getKeepAlivePing() method throwing a CCE. - by AoElite (63f2c05)
- Patch #2140 - by ManInMyVan (983872a)
- Support plugins updating ATTACK_DAMAGE (fixes #2159) - by SamB440 (5e5fbe6)
- Iron trapdoors can only be opened in 1.7 - by ManInMyVan (e81716a)
- Fire can't be placed in liquids - by ManInMyVan (9484870)
- Support reobf folia jars - by ManInMyVan (5de34f5)
- Check if entityId is an active firework before adding to removal set - by SamB440 (b6e481d)
- Slight optimization - by ManInMyVan (bc258de)
- Cleanup - by ManInMyVan (d3e3b58)
- A bit more cleanup - by ManInMyVan (6c79baf)
- Reduce object creation on fabric servers - by ManInMyVan (0ac0a78)
- 1.21.6 MVP
Changes from https://github.com/GrimAnticheat/Grim/pull/2079 remain unmerged. New movement, entity, and attribute fixes have not been accounted for. This merely allows Grim to boot on 1.21.6/1.21.7-rc2 servers and 1.21.6/1.21.7-rc2 players to join. - by Axionize (4ade97a)
- Include fabric-permissions-api:0.4.0 for Fabric 1.21.6 - by Axionize (fcc7851)
- 1.21.5/.6/.7 (#2079)
1.21.5 partial changes
leftover
cleanup
check if player is in vehicle
1;1 input transformation
forgot to push that
notes
i hate mutability
not the case
this is the right way
note
java style
initial block collisions support
incorrect fix for powder snow issues (1.21.4)
support 1.18.2+ horizontal collision detection
support elytra changes
point three
readability
missed that
fix merge conflicts
support minecraft:blocks_attacks
minecraft:blocks_attacks can override minecraft:food
remove debug
rewrite data consumable components support
simplify consumable component handling
as always, I forgot to remove this
note things todo
one more thing
POC item behaviour
workaround https://github.com/retrooper/packetevents/pull/1255
1.21.6 initial support
fix .5/.6 riding issues
create happy ghast entity
todo list
remove workarounds
properly fix riding issues
only use item behaviour system on reliable data component server
replace happy ghast checks
fix jumping on honey blocks, implement dried ghast block
partially implement dried ghast ViaVersion replacement
update sneaking behavior for newer client versions
things pointed out in review
reduce movement buffer size
rename that field
little refactor
don't duplicate code
leave it as what it was
rename SERVER_USE_INPUT_FOR_SNEAKING to SERVER_USES_INPUT_FOR_SNEAKING
grim's packetevents fork is here!
simplify isHappyGhast type check - by Cyramek (aaeded1)
06dc5a5)0fb2e00)8c64b48)56130ed)b8013d6)710d614)Implement HappyGhast movement simulation (#2182)
implement happyghast movement simulation
use grim movement input calculations for happy ghast
remove unused jump possibilities method from HappyGhastPredictionEngine - by Cyramek (c8df737)
0f54849)c30be94)1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Update translation - by tjshtqwq (c2acfae)
- Remove unused imports - by ManInMyVan (f739b1e)
- Merge branch '2.0' into patch-1 - by tjshtqwq (75b5405)
- Update zh.yml - by tjshtqwq (f54ca0e)
- Clean up typos and translator notes - by Axionize (1f55742)
- Merge PR #2267 - Improved Chinese Translations - by Axionize (439477e)
ef195ea)9786f0d)d22f8d8)b821f12)984cfee)ea848fa)d190e42)dea9659)1ab7f9f)9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)04.03.2026 · 35 загрузки
438b0a5)This reverts commit 4798903fb1ea8adf744bc6001016690c5625b171. - by Axionize (0c52c20)
- Update MultiActionsC/D description - by ManInMyVan (76a262d)
- Check sneaking in MultiActionsC/D - by ManInMyVan (ee2e198)
- Make MultiActionsB a BlockBreakCheck - by ManInMyVan (5308c35)
- Probably fix #2134 - by ManInMyVan (e6a7518)
- Remove unused import - by ManInMyVan (3d68d26)
- Exempt ElytraC for 1 tick on respawn - by ManInMyVan (b8600bc)
- Wtf mojang - by ManInMyVan (485f267)
- Remove unused import - by ManInMyVan (32d778d)
- Minor refactor - by ManInMyVan (0d6d4da)
- Improve piston performance - by AoElite (6ad8050)
- Add CONTRIBUTING.md and improve the README.md - by AoElite (ee2ccc5)
- Merge pull request #2143 from Souipi/fix/ka-ping-method-cce
Fix GrimPlayer#getKeepAlivePing() method throwing a CCE. - by AoElite (63f2c05)
- Patch #2140 - by ManInMyVan (983872a)
- Support plugins updating ATTACK_DAMAGE (fixes #2159) - by SamB440 (5e5fbe6)
- Iron trapdoors can only be opened in 1.7 - by ManInMyVan (e81716a)
- Fire can't be placed in liquids - by ManInMyVan (9484870)
- Support reobf folia jars - by ManInMyVan (5de34f5)
- Check if entityId is an active firework before adding to removal set - by SamB440 (b6e481d)
- Slight optimization - by ManInMyVan (bc258de)
- Cleanup - by ManInMyVan (d3e3b58)
- A bit more cleanup - by ManInMyVan (6c79baf)
- Reduce object creation on fabric servers - by ManInMyVan (0ac0a78)
- 1.21.6 MVP
Changes from https://github.com/GrimAnticheat/Grim/pull/2079 remain unmerged. New movement, entity, and attribute fixes have not been accounted for. This merely allows Grim to boot on 1.21.6/1.21.7-rc2 servers and 1.21.6/1.21.7-rc2 players to join. - by Axionize (4ade97a)
- Include fabric-permissions-api:0.4.0 for Fabric 1.21.6 - by Axionize (fcc7851)
- 1.21.5/.6/.7 (#2079)
1.21.5 partial changes
leftover
cleanup
check if player is in vehicle
1;1 input transformation
forgot to push that
notes
i hate mutability
not the case
this is the right way
note
java style
initial block collisions support
incorrect fix for powder snow issues (1.21.4)
support 1.18.2+ horizontal collision detection
support elytra changes
point three
readability
missed that
fix merge conflicts
support minecraft:blocks_attacks
minecraft:blocks_attacks can override minecraft:food
remove debug
rewrite data consumable components support
simplify consumable component handling
as always, I forgot to remove this
note things todo
one more thing
POC item behaviour
workaround https://github.com/retrooper/packetevents/pull/1255
1.21.6 initial support
fix .5/.6 riding issues
create happy ghast entity
todo list
remove workarounds
properly fix riding issues
only use item behaviour system on reliable data component server
replace happy ghast checks
fix jumping on honey blocks, implement dried ghast block
partially implement dried ghast ViaVersion replacement
update sneaking behavior for newer client versions
things pointed out in review
reduce movement buffer size
rename that field
little refactor
don't duplicate code
leave it as what it was
rename SERVER_USE_INPUT_FOR_SNEAKING to SERVER_USES_INPUT_FOR_SNEAKING
grim's packetevents fork is here!
simplify isHappyGhast type check - by Cyramek (aaeded1)
06dc5a5)0fb2e00)8c64b48)56130ed)b8013d6)710d614)Implement HappyGhast movement simulation (#2182)
implement happyghast movement simulation
use grim movement input calculations for happy ghast
remove unused jump possibilities method from HappyGhastPredictionEngine - by Cyramek (c8df737)
0f54849)c30be94)1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Update translation - by tjshtqwq (c2acfae)
- Remove unused imports - by ManInMyVan (f739b1e)
- Merge branch '2.0' into patch-1 - by tjshtqwq (75b5405)
- Update zh.yml - by tjshtqwq (f54ca0e)
- Clean up typos and translator notes - by Axionize (1f55742)
- Merge PR #2267 - Improved Chinese Translations - by Axionize (439477e)
ef195ea)9786f0d)d22f8d8)b821f12)984cfee)ea848fa)d190e42)dea9659)1ab7f9f)9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)03.03.2026 · 893 загрузки
f0fbc9d)7d487a4)e8a9855)03.03.2026 · 217 загрузки
f0fbc9d)7d487a4)e8a9855)23.02.2026 · 8 489 загрузки
4ca65b1)23.02.2026 · 1 136 загрузки
4ca65b1)22.02.2026 · 310 загрузки
7be8f51)22.02.2026 · 132 загрузки
7be8f51)30.01.2026 · 20 215 загрузки
f118b5c)30.01.2026 · 2 610 загрузки
f118b5c)28.01.2026 · 2 345 загрузки
f95d877)28.01.2026 · 372 загрузки
f95d877)24.01.2026 · 3 871 загрузки
6c49a01)24.01.2026 · 478 загрузки
6c49a01)20.01.2026 · 2 868 загрузки
80afaae)20.01.2026 · 374 загрузки
80afaae)18.01.2026 · 1 787 загрузки
88cfffc)35174fd)18.01.2026 · 272 загрузки
88cfffc)35174fd)17.01.2026 · 1 719 загрузки
cd86c14)17.01.2026 · 271 загрузки
cd86c14)15.01.2026 · 1 861 загрузки
b7a719d)15.01.2026 · 279 загрузки
b7a719d)14.01.2026 · 923 загрузки
c043357)14.01.2026 · 176 загрузки
c043357)14.01.2026 · 325 загрузки
9d1682d)14.01.2026 · 55 загрузки
9d1682d)13.01.2026 · 217 загрузки
fefe0d1)13.01.2026 · 79 загрузки
fefe0d1)13.01.2026 · 130 загрузки
08770f0)b9fa89c)075cec8)3659060)a54329a)13.01.2026 · 59 загрузки
08770f0)b9fa89c)075cec8)3659060)a54329a)13.01.2026 · 719 загрузки
50a25d9)13.01.2026 · 110 загрузки
50a25d9)10.01.2026 · 2 062 загрузки
21f6988)10.01.2026 · 239 загрузки
21f6988)08.01.2026 · 2 794 загрузки
8001f6c)08.01.2026 · 259 загрузки
8001f6c)08.01.2026 · 55 загрузки
c5855fd)08.01.2026 · 60 загрузки
c5855fd)07.01.2026 · 365 загрузки
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
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:
1. rot packet with PLAYER look angle
2. vehicle move packet with ENTITY look angle
vehicle move packet overrides player's yaw and pitch from first rot packet
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)
07.01.2026 · 77 загрузки
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
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:
1. rot packet with PLAYER look angle
2. vehicle move packet with ENTITY look angle
vehicle move packet overrides player's yaw and pitch from first rot packet
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)
06.01.2026 · 687 загрузки
Add Back Support for Legacy API (#2409)
Add back support for the legacy API temporarily
Bump API to release version - by Axionize (95e2774)
06.01.2026 · 85 загрузки
Add Back Support for Legacy API (#2409)
Add back support for the legacy API temporarily
Bump API to release version - by Axionize (95e2774)
06.01.2026 · 162 загрузки
02f6a3b)06.01.2026 · 49 загрузки
02f6a3b)06.01.2026 · 37 загрузки
dbd7510)06.01.2026 · 26 загрузки
dbd7510)06.01.2026 · 60 загрузки
ca64aab)be35b9b)9cb4547)06.01.2026 · 28 загрузки
ca64aab)be35b9b)9cb4547)05.01.2026 · 1 556 загрузки
14573da)05.01.2026 · 139 загрузки
14573da)04.01.2026 · 235 загрузки
07d2010)639490a)04.01.2026 · 49 загрузки
07d2010)639490a)04.01.2026 · 800 загрузки
6186abc)04.01.2026 · 82 загрузки
6186abc)03.01.2026 · 221 загрузки
29d28c6)03.01.2026 · 32 загрузки
29d28c6)01.01.2026 · 2 164 загрузки
98fd065)01.01.2026 · 152 загрузки
98fd065)01.01.2026 · 149 загрузки
d0b30de)01.01.2026 · 34 загрузки
d0b30de)01.01.2026 · 252 загрузки
80f90e6)7c68947)Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic
Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).
b79d5fd)01.01.2026 · 43 загрузки
80f90e6)7c68947)Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic
Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).
b79d5fd)31.12.2025 · 487 загрузки
101473b)31.12.2025 · 64 загрузки
101473b)31.12.2025 · 35 загрузки
42b6630)31.12.2025 · 27 загрузки
42b6630)31.12.2025 · 118 загрузки
90193b4)60b70d1)4292e93)31.12.2025 · 48 загрузки
90193b4)60b70d1)4292e93)30.12.2025 · 1 074 загрузки
ce0dad5)30.12.2025 · 95 загрузки
ce0dad5)29.12.2025 · 669 загрузки
9e745fd)29.12.2025 · 102 загрузки
9e745fd)29.12.2025 · 72 загрузки
d374c2b)29.12.2025 · 29 загрузки
d374c2b)28.12.2025 · 1 723 загрузки
2d8def6)28.12.2025 · 128 загрузки
2d8def6)21.12.2025 · 5 631 загрузки
b6f9f86)21.12.2025 · 688 загрузки
b6f9f86)17.12.2025 · 3 301 загрузки
965008f)12f6af3)4a104e2)c019566)17.12.2025 · 946 загрузки
965008f)12f6af3)4a104e2)c019566)14.12.2025 · 2 052 загрузки
This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)
14.12.2025 · 169 загрузки
This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)
14.12.2025 · 48 загрузки
d96d683)14.12.2025 · 22 загрузки
d96d683)14.12.2025 · 32 загрузки
acf273f)14.12.2025 · 26 загрузки
acf273f)14.12.2025 · 30 загрузки
679e869)14.12.2025 · 25 загрузки
679e869)08.12.2025 · 4 056 загрузки
a1b4893)08.12.2025 · 485 загрузки
a1b4893)06.12.2025 · 1 202 загрузки
4d28f85)06.12.2025 · 160 загрузки
4d28f85)29.11.2025 · 4 302 загрузки
3bf3226)29.11.2025 · 380 загрузки
3bf3226)29.11.2025 · 242 загрузки
bf637f5)29.11.2025 · 49 загрузки
bf637f5)25.11.2025 · 2 235 загрузки
c2c044f)25.11.2025 · 272 загрузки
c2c044f)24.11.2025 · 1 039 загрузки
2d785fd)24.11.2025 · 179 загрузки
2d785fd)23.11.2025 · 61 загрузки
403fd36)23.11.2025 · 35 загрузки
403fd36)22.11.2025 · 1 167 загрузки
e386b93)22.11.2025 · 157 загрузки
e386b93)22.11.2025 · 43 загрузки
Fix spectate command resetting gamemode when spectating someone in another dimension (#2365)
Fix gamemode change on dimension change
This issue happened when using the spectate command on a player in another dimension. the spectator was set to survival mode.
When spectating a player in another dimension, you would previously get set to survival mode, this is now fixed. - by GroupXyz (3fc985c)
22.11.2025 · 38 загрузки
Fix spectate command resetting gamemode when spectating someone in another dimension (#2365)
Fix gamemode change on dimension change
This issue happened when using the spectate command on a player in another dimension. the spectator was set to survival mode.
When spectating a player in another dimension, you would previously get set to survival mode, this is now fixed. - by GroupXyz (3fc985c)
19.11.2025 · 1 826 загрузки
8ddd7f1)19.11.2025 · 235 загрузки
8ddd7f1)18.11.2025 · 349 загрузки
3f67272)18.11.2025 · 69 загрузки
3f67272)18.11.2025 · 224 загрузки
e1bd2ed)18.11.2025 · 55 загрузки
e1bd2ed)13.11.2025 · 3 018 загрузки
9b500a2)13.11.2025 · 346 загрузки
9b500a2)12.11.2025 · 678 загрузки
6df484b)12.11.2025 · 89 загрузки
6df484b)09.11.2025 · 1 210 загрузки
a46d296)09.11.2025 · 149 загрузки
a46d296)09.11.2025 · 433 загрузки
ba1d1db)5c71531)09.11.2025 · 76 загрузки
ba1d1db)5c71531)04.11.2025 · 2 944 загрузки
def2163)04.11.2025 · 397 загрузки
def2163)03.11.2025 · 286 загрузки
Config Romanian translation for grim ac. - by ItzBloxxy (918e657)
03.11.2025 · 50 загрузки
Config Romanian translation for grim ac. - by ItzBloxxy (918e657)
03.11.2025 · 43 загрузки
ea1f161)03.11.2025 · 38 загрузки
ea1f161)03.11.2025 · 74 загрузки
c323cf0)03.11.2025 · 28 загрузки
c323cf0)03.11.2025 · 32 загрузки
Who knows what other problems this could cause... - by SamB440 (0ba3317)
03.11.2025 · 33 загрузки
Who knows what other problems this could cause... - by SamB440 (0ba3317)
01.11.2025 · 1 067 загрузки
fc47c5b)01.11.2025 · 124 загрузки
fc47c5b)01.11.2025 · 84 загрузки
6280b28)17cf067)01.11.2025 · 35 загрузки
6280b28)17cf067)01.11.2025 · 628 загрузки
bfd2bd0)01.11.2025 · 93 загрузки
bfd2bd0)31.10.2025 · 1 257 загрузки
see https://fabricmc.net/2025/10/31/obfuscation.html - by ManInMyVan (b373e5f)
- Slight cleanup of fabric code - by ManInMyVan (0df77dd)
31.10.2025 · 85 загрузки
see https://fabricmc.net/2025/10/31/obfuscation.html - by ManInMyVan (b373e5f)
- Slight cleanup of fabric code - by ManInMyVan (0df77dd)
31.10.2025 · 216 загрузки
115c329)31.10.2025 · 205 загрузки
115c329)30.10.2025 · 93 загрузки
5f8692d)30.10.2025 · 156 загрузки
5f8692d)28.10.2025 · 410 загрузки
f8a5315)28.10.2025 · 789 загрузки
f8a5315)27.10.2025 · 155 загрузки
Add copper golem statue, shelf collision boxes and other missing 1.21.10 stuff (#2315)
add copper golem statue
Include ViaVersion substitution
add shelves
also add copper armor
add mannequin box sizes
Add copper golem size - by AnnotationVisitor (102b584)
27.10.2025 · 278 загрузки
Add copper golem statue, shelf collision boxes and other missing 1.21.10 stuff (#2315)
add copper golem statue
Include ViaVersion substitution
add shelves
also add copper armor
add mannequin box sizes
Add copper golem size - by AnnotationVisitor (102b584)
27.10.2025 · 167 загрузки
a76bf9c)27.10.2025 · 220 загрузки
a76bf9c)27.10.2025 · 37 загрузки
4f3e715)27.10.2025 · 39 загрузки
4f3e715)26.10.2025 · 78 загрузки
1b47e31)26.10.2025 · 108 загрузки
1b47e31)24.10.2025 · 504 загрузки
Clear active item before updating inventory on legacy (#2317)
Apply spotless
Clear active item before updating inventory on legacy - by BT (calcastor/mame) (b69906f)
24.10.2025 · 843 загрузки
Clear active item before updating inventory on legacy (#2317)
Apply spotless
Clear active item before updating inventory on legacy - by BT (calcastor/mame) (b69906f)
23.10.2025 · 183 загрузки
9ba4052)23.10.2025 · 303 загрузки
9ba4052)21.10.2025 · 391 загрузки
Optimize Messages (#2309)
Optimize MessageUtil.replacePlaceHolders()
Send user messages at packet level bypassing backend server for performance
Stash temporary changes
Make Grim send fast chat messages bypasses platform by default - by Axionize (90036e2)
21.10.2025 · 646 загрузки
Optimize Messages (#2309)
Optimize MessageUtil.replacePlaceHolders()
Send user messages at packet level bypassing backend server for performance
Stash temporary changes
Make Grim send fast chat messages bypasses platform by default - by Axionize (90036e2)
21.10.2025 · 34 загрузки
faf2fb3)21.10.2025 · 40 загрузки
faf2fb3)20.10.2025 · 85 загрузки
we're now in 1e-15 average - by cyramek (7461aca)
20.10.2025 · 99 загрузки
we're now in 1e-15 average - by cyramek (7461aca)
20.10.2025 · 35 загрузки
sender-not-found message - by AoElite (f381805)2fa022e)20.10.2025 · 47 загрузки
sender-not-found message - by AoElite (f381805)2fa022e)20.10.2025 · 110 загрузки
44900e5)20.10.2025 · 172 загрузки
44900e5)19.10.2025 · 214 загрузки
a2f4dc1)19.10.2025 · 329 загрузки
a2f4dc1)18.10.2025 · 240 загрузки
0237f95)18.10.2025 · 332 загрузки
0237f95)15.10.2025 · 453 загрузки
e222df8)15.10.2025 · 666 загрузки
e222df8)15.10.2025 · 37 загрузки
bbab7e2)15.10.2025 · 45 загрузки
bbab7e2)15.10.2025 · 63 загрузки
41c7e41)15.10.2025 · 99 загрузки
41c7e41)14.10.2025 · 145 загрузки
5551ef6)14.10.2025 · 258 загрузки
5551ef6)14.10.2025 · 24 загрузки
ca6e83d)14.10.2025 · 34 загрузки
ca6e83d)14.10.2025 · 35 загрузки
4d6ac75)14.10.2025 · 42 загрузки
4d6ac75)12.10.2025 · 310 загрузки
d538c59)12.10.2025 · 579 загрузки
d538c59)12.10.2025 · 50 загрузки
6a223a3)12.10.2025 · 62 загрузки
6a223a3)12.10.2025 · 31 загрузки
2e1c79b)12.10.2025 · 42 загрузки
2e1c79b)12.10.2025 · 45 загрузки
bb143d7)12.10.2025 · 62 загрузки
bb143d7)12.10.2025 · 125 загрузки
8d7a4cc)12.10.2025 · 231 загрузки
8d7a4cc)12.10.2025 · 53 загрузки
832194a)12.10.2025 · 89 загрузки
832194a)11.10.2025 · 56 загрузки
0321e0b)11.10.2025 · 95 загрузки
0321e0b)11.10.2025 · 25 загрузки
6385460)11.10.2025 · 23 загрузки
6385460)11.10.2025 · 102 загрузки
ce6e1d3)163e120)5c46021)11.10.2025 · 132 загрузки
ce6e1d3)163e120)5c46021)10.10.2025 · 118 загрузки
b85c65d)d7cb4aa)b4d031c)f6024a4)10.10.2025 · 225 загрузки
b85c65d)d7cb4aa)b4d031c)f6024a4)10.10.2025 · 56 загрузки
6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
- Support latest spigot in BukkitItemResetHandler - by ManInMyVan (a56e99e)
- Forgot 1.21.9/10 - by ManInMyVan (7f6b7d0)
- Rewrite BukkitItemResetHandler & add isUsingItem() & docs - by ManInMyVan (c208824)
e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 57 загрузки
6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
- Support latest spigot in BukkitItemResetHandler - by ManInMyVan (a56e99e)
- Forgot 1.21.9/10 - by ManInMyVan (7f6b7d0)
- Rewrite BukkitItemResetHandler & add isUsingItem() & docs - by ManInMyVan (c208824)
e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 62 загрузки
6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
- Support latest spigot in BukkitItemResetHandler - by ManInMyVan (a56e99e)
- Forgot 1.21.9/10 - by ManInMyVan (7f6b7d0)
9ab2f2e)e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 100 загрузки
6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
- Support latest spigot in BukkitItemResetHandler - by ManInMyVan (a56e99e)
- Forgot 1.21.9/10 - by ManInMyVan (7f6b7d0)
9ab2f2e)e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 29 загрузки
4942401)6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
- Support latest spigot in BukkitItemResetHandler - by ManInMyVan (a56e99e)
9ab2f2e)e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 33 загрузки
4942401)6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
- Support latest spigot in BukkitItemResetHandler - by ManInMyVan (a56e99e)
9ab2f2e)e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 30 загрузки
6e28434)4942401)6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
9ab2f2e)e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)10.10.2025 · 49 загрузки
6e28434)4942401)6e58e8c)8d3e77f)9da9c30)ed727cc)39b74b2)c7fbc4b)1b62b1d)hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
- Bump dependencies - by Axionize (513633c)
- Improve performance and cleaniness of downloading dependencies - by Axionize (a7bdc86)
- Optimize Bukkit dependency fetching - by Axionize (cccc5fd)
- Undisable fabric by accident and minor cleanup - by Axionize (d9e279a)
- Split version compute and build steps - by SamB440 (0bbf472)
- Fix silent failing on build - by SamB440 (42c6d08)
- Now fix geyser dependency - by SamB440 (9e7dabe)
9ab2f2e)e2cf0fa)b88dfa7)3de670e)fe1c6bf)4287f62)38ccc55)0340e07)6320fa6)8f1e993)345502b)9ea389b)c90d7ab)fefaa57)40a4c08)c10e74c)cc10288)c422173)7c5aae9)438e1ac)a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)09.10.2025 · 140 загрузки
7b82060)Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
- Fix build - by ManInMyVan (438e1ac)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)09.10.2025 · 780 загрузки
7b82060)Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
- Slight cleanup (mostly weakening package-private) - by ManInMyVan (1bb95e7)
- Less messy build script - by ManInMyVan (d24726c)
- Use jetbrains nullability annotations - by ManInMyVan (7b243d3)
- Use lombok in some places - by ManInMyVan (3cf06bf)
- Remove unused class TaskWrapperHandle - by ManInMyVan (e36e619)
- Don't use Preconditions for null-checking - by ManInMyVan (ef0ea35)
- Undeprecate BukkitConversionUtils#fromBukkitFace(BlockFace) - by ManInMyVan (b102afb)
- Make VehiclePositionUpdate a record - by ManInMyVan (f9fff4e)
- Make BlockPlaceSnapshot a record - by ManInMyVan (cec4a85)
- Move bstats plugin id to a constants class - by ManInMyVan (6d3aa47)
- Deobf some methods in PredictionEngineBoat - by ManInMyVan (0c86d01)
- Use GrimMath.radians instead of manual conversion - by ManInMyVan (6a02c93)
- Make LastInstance#lastInstance private - by ManInMyVan (258d94b)
- Make FabricPermissionRegistrationManager#fabricSenderFactory private - by ManInMyVan (c0bd2dd)
- Clean up some comments and spacing - by ManInMyVan (8f437d6)
- Make MovementTickerLivingVehicle#movementInput protected - by ManInMyVan (2c0b4a2)
- Remove unnecessary parenthesis on folia scheduler tasks - by ManInMyVan (7137b36)
- Allow multiple instances of TridentItem - by ManInMyVan (c3eb0e4)
Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
- Fix build - by ManInMyVan (438e1ac)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)09.10.2025 · 57 загрузки
38a2ea4)b563792)5fb8cd9)0844fc6)d1b0f4d)135c90c)b4714b0)4992cf6)df31a39)4b53457)1a6b6fc)8a2ca76)ba18d4c)3b76ded)0ccd03a)e16979b)7b82060)Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)09.10.2025 · 69 загрузки
38a2ea4)b563792)5fb8cd9)0844fc6)d1b0f4d)135c90c)b4714b0)4992cf6)df31a39)4b53457)1a6b6fc)8a2ca76)ba18d4c)3b76ded)0ccd03a)e16979b)7b82060)Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
- Fix BLOCK_INTERACTION_RANGE creative mode on < 1.20.5 - by SamB440 (642e580)
Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)09.10.2025 · 64 загрузки
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)09.10.2025 · 110 загрузки
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
- Bump version - by ManInMyVan (8884b0a)
Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)08.10.2025 · 265 загрузки
d657aec)Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)08.10.2025 · 519 загрузки
d657aec)Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
- Fix 1.9 sloped rail height - by ManInMyVan (7c5aae9)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)07.10.2025 · 69 загрузки
fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)07.10.2025 · 119 загрузки
fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)07.10.2025 · 37 загрузки
d657aec)Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)07.10.2025 · 25 загрузки
d657aec)Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
- Make ExplosionHandler#firstBreadMap private - by ManInMyVan (258ef06)
- XRot & yRot -> yaw & pitch - by ManInMyVan (662d02c)
- Deobf getNearestLookingDirections() - by ManInMyVan (141ccae)
- Nullability annotations & deobfing - by ManInMyVan (0e6d116)
bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
- Fix a few warns - by ManInMyVan (c422173)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)06.10.2025 · 298 загрузки
3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)06.10.2025 · 496 загрузки
3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
- Make devvelocity build scan integration only run on --scan being applied; Update foojay resolver convention; - by Axionize (e009389)
- Implement API v1.2.0: Improve EventBus usability and fix reflection bugs
This update contains numerous fixes and improvements to the API, focusing on developer experience and robustness.
feat(api): Simplify EventBus registration with context resolvers
- Removes the requirement for developers to manually construct a GrimPlugin instance to use the EventBus.
- The new GrimExtensionManager uses platform-specific resolvers to automatically determine the context from common object types, reducing boilerplate.
- On Bukkit, developers can now pass:
- A Plugin instance (e.g., this from their main plugin class)
- Any Class from the plugin's JAR (e.g., MyListener.class)
- The plugin's name as a String
- On Fabric, developers can now pass:
- A mod's entrypoint instance (e.g., `this` from an Initializer)
- The mod ID as a `String`
- A `ModContainer` instance
- Any `Class` from the mod's JAR
fix(api): Correctly invoke reflected event listeners
- Fixes a critical bug causing a ClassCastException for listeners registered via registerAnnotatedListeners. Listeners are now correctly fired only for their declared event type. subscribe() remains the recommended registration method.
perf(api): Optimize invocation of reflected listeners
- Slightly improves performance of reflected listeners by removing a redundant runtime null-check from the hot path of every event call.
refactor(core): Moved concrete EventBus implementation from API to common module
- The OptimizedEventBus implementation has been relocated to the common module to better separate the public API contract from its internal logic. - by Axionize (12e79a1)
d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)05.10.2025 · 123 загрузки
1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)05.10.2025 · 165 загрузки
1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
- Small cleanup (mostly making things private & final) - by ManInMyVan (8d1ee00)
9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)04.10.2025 · 262 загрузки
c30be94)1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)04.10.2025 · 300 загрузки
c30be94)1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
- Even more robust sanitization - by Axionize (0fd2a96)
- Add reset-item-usage-on-item-use - by ManInMyVan (aa4c6e0)
9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)03.10.2025 · 3 625 загрузки
This release is headlined by support for Minecraft versions up to 1.21.8. It also includes a suite of new checks, numerous bug fixes, and significant internal improvements including the long-awaited platform independence refactor allowing us to now support Fabric and paving the way for future support of platforms like Sponge, Minestom, Velocity and more. Get it now on Modrinth: https://modrinth.com/plugin/grimac
PacketOrder Checks: Introduced a comprehensive suite of PacketOrder checks to detect various packet manipulation cheats and inconsistencies that were not previously covered. (by @ManInMyVan in #1678)/grim history Command: Added a new command to view a player's historical alerts directly in-game, with support for different database backends. (by @Axionize in #2201)1.21.8, including new movement simulation for "Happy Ghast" blocks and updated sneaking behavior. (by @Cyramek in #2079)hasSaddle logic for entities. (by @Cyramek in #2179)getBlockAt) on older Bukkit versions. (by @Cyramek in #2122)NullPointerExceptions in BadPacketsH during respawn and in block placement checks. (by @Bram1903 in #2106, @Ayouuuu in #2215)ClassCastException when getting a player's keep-alive ping. (by @Souipi in #2143)9.0.0-rc2 and updated various other dependencies like Adventure and Cloud. (by @Goooler in #2229)Full Changelog: https://github.com/GrimAnticheat/Grim/compare/v2.3.71...v2.3.72
03.10.2025 · 37 033 загрузки
This release is headlined by support for Minecraft versions up to 1.21.8. It also includes a suite of new checks, numerous bug fixes, and significant internal improvements including the long-awaited platform independence refactor allowing us to now support Fabric and paving the way for future support of platforms like Sponge, Minestom, Velocity and more. Get it now on Modrinth: https://modrinth.com/plugin/grimac
PacketOrder Checks: Introduced a comprehensive suite of PacketOrder checks to detect various packet manipulation cheats and inconsistencies that were not previously covered. (by @ManInMyVan in #1678)/grim history Command: Added a new command to view a player's historical alerts directly in-game, with support for different database backends. (by @Axionize in #2201)1.21.8, including new movement simulation for "Happy Ghast" blocks and updated sneaking behavior. (by @Cyramek in #2079)hasSaddle logic for entities. (by @Cyramek in #2179)getBlockAt) on older Bukkit versions. (by @Cyramek in #2122)NullPointerExceptions in BadPacketsH during respawn and in block placement checks. (by @Bram1903 in #2106, @Ayouuuu in #2215)ClassCastException when getting a player's keep-alive ping. (by @Souipi in #2143)9.0.0-rc2 and updated various other dependencies like Adventure and Cloud. (by @Goooler in #2229)Full Changelog: https://github.com/GrimAnticheat/Grim/compare/v2.3.71...v2.3.72
03.10.2025 · 40 загрузки
0f54849)c30be94)1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
1ab7f9f)9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)03.10.2025 · 57 загрузки
0f54849)c30be94)1bfef2e)3c56235)d2913b3)fix soft collisions for vehicles - by SamB440 (ddcc5a2)
- Add ItemTypes.TURTLE_HELMET - by Ayou (d657aec)
- Merge pull request #2193 from Ayouuuu/2.0
Add ItemTypes.TURTLE_HELMET - by ManInMyVan (af2a53a)
- Slightly change ignore-duplicate-packet-rotation logic - by ManInMyVan (38a2ea4)
- Move ExploitA & C to chat category - by ManInMyVan (b563792)
- Add KnownInput#moving - by ManInMyVan (5fb8cd9)
- PlayerData -> player - by ManInMyVan (0844fc6)
- Remove whitespace in EquipmentType - by ManInMyVan (d1b0f4d)
- Check for moving while chatting - by ManInMyVan (135c90c)
- Add Chat and Exploit to punishments - by ManInMyVan (b4714b0)
- Check if chat is hidden - by ManInMyVan (4992cf6)
- Descriptions for almost every place check - by ManInMyVan (df31a39)
- Validate anvil item name length - by ManInMyVan (4b53457)
- Payload system - by ManInMyVan (1a6b6fc)
- This took too long - by ManInMyVan (8a2ca76)
- Add missing return - by ManInMyVan (ba18d4c)
- BadPacketsJ should be stable - by ManInMyVan (3b76ded)
- ExploitC fail-fast page parsing - by ManInMyVan (0ccd03a)
- Finish ExploitC, replaces ExploitB - by ManInMyVan (e16979b)
- Add include-timestamp to discord.yml - by ManInMyVan (7b82060)
- Add /grim history (#2201)
Add /grim history command to see historical alerts
Add basic runtime reloading support.
Will only actually reload if current database is different/has different setting than the one requested in config.
Added [log] statements matching [alert] statements
Add more detailed error message if Grim history subsystem fails to load.
Refactor /grim history code; Fix autocomplete of online player names in /grim history
Fix error swapping checkName and verbose in SQLite implementation
Refactor /grim history to use more efficient long-term storage with compact UUIDs and string deduplication.
Grim old grim history data will not be migrated!
Replace %version% with grim version in /grim history entry output
Add support for %grim_version% %client_brand% %client_version% %server_version% substtuions in grim-history-entry - by Axionize (3e9b53e)
2e9b086)gradlew-wrapper 8.13 -> 8.14.3
adventure 4.21.0 -> 4.23.0
adventure-platform-bukkit 4.3.4 -> 4.4.0
cloud-paper 2.0.0.-beta.10 -> 2.0.0.-beta.11
cloud-fabric 2.0.0.-beta.10 -> 2.0.0.-beta.11
packetevents 2.9.0-SNAPSHOT -> 2.9.2-SNAPSHOT
fabric-loader 0.16.10 -> 0.16.14
fabric-loom 1.10.5 -> 1.11.4
shadow 9.0.0-beta6 -> 9.0.0-rc1 - by Axionize (bbc1bee)
- Downgrade from shadow 9.0.0-rc1 to 9.0.0-beta8 to fix jar inflation bug with shading fastutil - by Axionize (6e28434)
- 1.21.8 Server Support - Bump PE - by Axionize (4942401)
- This should now be usable - by ManInMyVan (6e58e8c)
- No it shouldn't - by ManInMyVan (8d3e77f)
- There is no more via here - by ManInMyVan (9da9c30)
- SprintA verbose - by ManInMyVan (ed727cc)
- Packet cancelling in VehicleD - by ManInMyVan (39b74b2)
- Remove some empty lines - by ManInMyVan (c7fbc4b)
- Don't use ordinal for WindowClickType in CrashF - by ManInMyVan (1b62b1d)
- More pre-via
hopefully I didn't miss any getter changes - by ManInMyVan (d90de8f)
- Pre-via chat checks - by ManInMyVan (51bbb31)
- Small cleanup - by ManInMyVan (2a7403b)
- HOW DID I FORGET - by ManInMyVan (ac2c9ea)
- Temporary fix for BadPacketsE not working on vehicles - by Axionize (2ad9818)
- PacketOrderO - by ManInMyVan (2e01399)
- Pre-via block break checks - by ManInMyVan (408c7d5)
- BadPacketsO optimizations - by ManInMyVan (354216f)
- And it was not a teleport - by ManInMyVan (85acf78)
- These don't need to implement anything - by ManInMyVan (02426ad)
- Small stuff - by ManInMyVan (1f052f6)
- More small changes - by ManInMyVan (95b080a)
- More cleanup - by ManInMyVan (d8b719d)
- Add option to disable cancelling pong packets - by SamB440 (933f6c7)
- Hardcode more 1.21.4+ hand harvestables (#2213)
Fixes issue #2117 temporarily until PacketEvents resolves their api shortcoming (https://github.com/retrooper/packetevents/issues/1217)
Adjust variable name
Cleanup spacing in BlockBreakSpeed util
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com
Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Loki (533ae70)
- Temp revert pre-via - by ManInMyVan (77c165c)
- Revert "temp revert pre-via"
This reverts commit 77c165cfa83e35ef94c6049446a6eab847d4a080. - by ManInMyVan (2528ff5)
- Bump PacketEvents - by Axionize (29e0c6e)
- Add mavenCentral() to repositsories to download me.lucko:fabric-permissions-api:0.1-SNAPSHOT for Fabric 1.16.1 - by Axionize (ba4bbef)
- Shadow 9.0.0-rc2 (#2229)
```
OLD: grimac-bukkit-2.3.72-shadow-9-ba4bbef66-before.jar
NEW: grimac-bukkit-2.3.72-shadow-9-a14b4044a-after.jar
JAR │ old │ new │ diff
───────┼──────────┼──────────┼──────
class │ 20.9 MiB │ 20.9 MiB │ 0 B
other │ 1.5 MiB │ 1.5 MiB │ 0 B
───────┼──────────┼──────────┼──────
total │ 22.4 MiB │ 22.4 MiB │ 0 B
CLASSES │ old │ new │ diff
─────────┼───────┼───────┼───────────
classes │ 4603 │ 4603 │ 0 (+0 -0)
methods │ 53656 │ 53656 │ 0 (+0 -0)
fields │ 22173 │ 22173 │ 0 (+0 -0)
=================
==== JAR ====
=================
size │ diff │ path
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/snakeyaml/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/internal/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/shaded/
│ 0 B │ - META-INF/versions/9/org/yaml/snakeyaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/grimac/
│ 0 B │ - META-INF/versions/9/org/yaml/
0 B │ 0 B │ + META-INF/versions/9/ac/grim/
│ 0 B │ - META-INF/versions/9/org/
0 B │ 0 B │ + META-INF/versions/9/ac/
0 B │ 0 B │ + META-INF/services/
──────┼──────┼─────────────────────────────────────────────────────────────────
0 B │ 0 B │ (total)
`` - *by Zongle Wang* (5a4471c)
- Fix very rare Reach false for versions < 1.20.2 and > 1.21.4 involving rot only packets. See https://bugs.mojang.com/browse/MC/issues/MC-255263 - *by Axionize* (3875a6b)
- Amend previous Reach false fix to only apply in versions > 1.14.4 - *by Axionize* (527c87e)
- Fix FastBreak falses with 1.20.5+ custom tool rules. - *by Axionize* (4b514e7)
- Make ChatC and ChatB postViaChecks as temporary workaround to PE parsing limitations. - *by Axionize* (31107ec)
- [ci skip] Bump run-paper version - *by SamB440* (cec0738)
- Zero point zero three - *by SamB440* (25b0582)
- Disallow step after setback - *by SamB440* (1136936)
- [ci skip] Add client version to bypass issue template - *by SamB440* (61f7ad8)
- Refactor GrimDump: extract basic info generation to reusable getBasicInfo method - *by AoElite* (a695dac)
- Allow all functional urls to be changeable, move all grim system property usage to a dedicated class - *by AoElite* (a9a2034)
- Recode grim version command to use new api - *by AoElite* (cd8d78d)
- Add getVehicle() and getVehicleType() in GrimPlayer - *by ManInMyVan* (647b13c)
- Check if a player is in a boat when sending STEER_BOAT (Add VehicleE) - *by ManInMyVan* (b5c14f4)
- Validate STEER_BOAT values (Add VehicleF) - *by ManInMyVan* (2e625e2)
- Remove Check.isFlying - *by ManInMyVan* (be120f0)
- Make Check.isTransaction static - *by ManInMyVan* (0a4a6cd)
- Split isJumping and lastJumping into separate declarations - *by ManInMyVan* (6787d1b)
- Simplify FloodgateUtil - *by ManInMyVan* (d2df1b7)
- Use Math.PI in VanillaMath instead of the literal - *by ManInMyVan* (7376468)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in TridentItem - *by ManInMyVan* (e433652)
- Remove unused method BlockFaceHelper.offset - *by ManInMyVan* (796a573)
- Mark many utility classes as UtilityClass - *by ManInMyVan* (380e3d9)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) in Riptide - *by ManInMyVan* (376e7a9`)
- Rewrite GeyserUtil to not use reflection
except once - by ManInMyVan (1ba072f)
- Merge FloodgateUtil & GeyserUtil - by ManInMyVan (a3108c7)
- Remove Killaura from punishments.yml + add Interact in japanese punishments.yml - by ManInMyVan (6ce610e)
- Fix typo in help: section of en messages.yml causing error message on /grim help. Also make /grim help handle null lines - by Axionize (94813c0)
- Remove unused import in BlockFaceHelper - by ManInMyVan (8cb4189)
- Allow line break in pages - by ManInMyVan (5761896)
- Cleaner stuckSpeedMultiplier constants - by ManInMyVan (03e1514)
- Roll up shitmath bruteforce in PredictionEngineElytra - by ManInMyVan (a953f50)
- Add force-slow-movement and force-stuck-speed (intended for anarchy servers) - by ManInMyVan (0dec743)
- Update README.md and CONTRIBUTING.md - by AoElite (c0b96ea)
- Limit 1.21.5+ sprint attribute desync to minecarts - by cyramek (fd59498)
- More readable PredictionEngineElytra.applyInputsToVelocityPossibilities - by ManInMyVan (28d8320)
- Allow platform to be configured via system argument - by AoElite (b997b6b)
- Make PacketPlayerDigging pre-via: fix #2250
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
- Add support for SET_PLAYER_INVENTORY packet - by SamB440 (17a8d3b)
- Add some utilities - by AoElite (090d1a8)
- Reduce the number of tasks for updating permissions - by AoElite (4702add)
- Add GrimList command for debugging exemptions - by AoElite (dbac8bc)
- Don't allow sending OFF_HAND in USE_ITEM to bypass noslow - by ManInMyVan (ff9af98)
- Get item in PacketPlayerDigging.handleUseItem instead of it being passed - by ManInMyVan (a7f8c77)
- Use getItemInHand in PacketPlayerDigging - by ManInMyVan (d71239b)
- Only set NoSlow.didSlotChangeLastTick if the slot actually changed - by ManInMyVan (aab6908)
- PacketStateData.eatingHand -> itemInUseHand - by ManInMyVan (b37393c)
- Make PacketStateData.isSlowedByUsingItem() based on slowedByUsingItemSlot
the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
- Replace ChannelHelper.runInEventLoop with GrimPlayer#runSafely - by ManInMyVan (3f17557)
- Move ComprensatedInventory instance to GrimPlayer - by ManInMyVan (ea5ed06)
- Simplify ViaVersionUtil - by ManInMyVan (42d247b)
- Clean up EntityPredicates - by ManInMyVan (e26cf0f)
- Make MainSupportingBlockData a record - by ManInMyVan (64ebdf2)
- Use GrimMath.radians in JumpPower - by ManInMyVan (2b03755)
- Make Dripstone.update(...) void - by ManInMyVan (9f4c321)
- Remove GrimPlayer#isEyeInFluid(FluidTag) - by ManInMyVan (4e1320f)
- Deobf FluidFallingAdjustedMovement.getFluidFallingAdjustedMovement(...) - by ManInMyVan (dc03060)
- Protected -> private in final class - by ManInMyVan (0bf3a21)
- Remove GrimPlayer#getInventory() - by ManInMyVan (bd4cd31)
- Fix riptide velocity (#2262) - by Ayou (0586ea5)
- Read event after getting player - by ManInMyVan (a8693c3)
- Read event after getting player - by ManInMyVan (070116b)
- Remove unused imports - by ManInMyVan (f739b1e)
- Only do NoSlow checks if trident is not enchanted with Riptide
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
- Fix FastBreak falses white riding entity (#2273) - by EternalHuman (57a9f8f)
- Ensure fabric uses our packetevents fork - by AoElite (846e9ad)
- Update packetevents - by AoElite (a02f49e)
- Update workflow - by AoElite (db92c65)
- Remove workflow paths - by AoElite (becbba3)
- Tweak workflow - by AoElite (e368bc8)
- Remove secret requirement - by AoElite (184050b)
- Add back workflow paths - by AoElite (c2a07bd)
- Revert pre via (#2280)
revert pre-via part 1
don't register checks multiple times
revert pre-via part 1
don't register checks multiple times
fix merge conflicts
Co-authored-by: cyramek xcyramek@gmail.com - by SamB440 (cb13221)
- Optimize away entity collision check in 1.8 (#2269) - by Pablo Herrera (fe7a263)
- Add repo.grim.ac for 1.16.1 so fabric-permissions-api will be downloaded - by Axionize (293f6ea)
- Disable CodeQL workflow schedule - by AoElite (b70abbe)
- Enable parallel building - by AoElite (9b2b080)
- Update gradle publishing actions, remove action dependency requirement, disabled building and publishing of lite - by AoElite (2403bc5)
- Update the checkout action to v5 in CodeQL workflow - by AoElite (a0bd388)
- Bump lombok plugin to 9.0.0 - by AoElite (9618912)
- Use different approach in Gradle version extraction in the publishing workflow - by AoElite (2a5979c)
- Simplify version extraction - by AoElite (088621f)
- Add a build properties file to include more details about the build - by AoElite (c428bf6)
- Use GitHub's default branch instead of assuming 2.0 - by AoElite (18d1602)
- Remove unused mainBranch property from BuildConfig - by AoElite (f54ceb6)
- Exclude pull requests - by AoElite (01ff3ec)
- Add build properties to dump - by AoElite (8d25519)
- Correct formatting for conditional checks in gradle-publish workflow - by AoElite (1f16d7b)
- Update readme - by AoElite (4be2549)
- Specify java version fpr codeql - by AoElite (fb926ab)
- Modify grim startup update check failure message - by Axionize (3ac26d0)
- Update new release/alpha build workflow - by Axionize (cbc2f51)
- Run workflow on .github/workflows/ update - by Axionize (8f78556)
- Update buildscript to be more flexible; add support for gradle build scans - by Axionize (2df4c23)
- Bugfix - by Axionize (dda1332)
- Build script fix - by Axionize (a74e10e)
- Remove -q from printVersion so when --scan is applied logs print out - by Axionize (2f8a473)
- Print out build scan url not found when --scan enabled and url not found - by Axionize (b72485d)
- Fix escpaing some stings in preparing final changelog - by Axionize (a26951c)
- Use secrets for MODRINTH_ID - by Axionize (50f3d84)
- Fix using secrets for MODRINTH_ID in workflows - by Axionize (b824ce1)
- Fix using secrets for MODRINTH_ID in workflows again - by Axionize (0095f8a)
- Buildscript patches - by Axionize (d15a2dd)
1ab7f9f)9a22a28)d59a9fa)b8e70b8)fec8806)c4a18a5)bb7ba08)d835314)Fix various vehicle issues [1.21.2] (#2185)
fix happyghast step, collisions with fluids
warn about viabackwards compatibility
fix 1.21.2+ riding without control
use known input sneaking status if server support that
fix fluid current pushing logic for happyghasts
actually fix fluid pushing for happyghast
fix vehicle input calculations for <=1.21.1 servers
fix elytra inputs
Revert 'fix elytra inputs'
use pre-via listeners for sneaking
remove warnings for sneaking issues on newer server versions
fix float/double error causing 1e-8 imprecision when jumping on a horse
workaround false positives when jumping on a horse
add camel entity type
only do this for 1.21.2+ client on 1.21.2+ servers
build with new Grim PacketEvents fork snapshot with support for pre-via injection on Fabric - by Cyramek (978364a)
2518ced)18f0a2a)Fix vehicle relative teleport/vehicle 1.12.2+ teleport system (#2200)
fix vehicle relative teleport/vehicle 1.12.2+ teleport system
only mark teleports for re-encoding if we’re actually rewriting them - by Cyramek (4156768)
fix: https://github.com/GrimAnticheat/Grim/issues/2203 - by cyramek (c66de10)
- Https://github.com/GrimAnticheat/Grim/issues/2209 - by cyramek (c37a79b)
- Fix #2211 - by ManInMyVan (9ab2f2e)
- Fix NPE in BlockPlaceCheck#getCombinedBox (#2215) - by Ayou (e2cf0fa)
- Fix getting block jump factor in older versions - by cyramek (b88dfa7)
- Fix exception - by ManInMyVan (3de670e)
- Fix #2221 - by ManInMyVan (fe1c6bf)
- Fix PacketOrderO falses in vehicles - by ManInMyVan (4287f62)
- Fix ChatA/ChatB falses from 31107ec4b - by ManInMyVan (38ccc55)
- Shitmath look vector - by ManInMyVan (0340e07)
- Use stuckSpeedMultiplier instead of 0.99, 0.98, 0.99 - by ManInMyVan (6320fa6)
- Fix CrashH false - by AoElite (8f1e993)
- Fix deprecated method call ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (345502b)
- Fix RunningMode field modifiers - by ManInMyVan (9ea389b)
- Fixed some minor build warnings - by AoElite (c90d7ab)
- Fix workflow - by AoElite (fefaa57)
- Fix repo property including org - by AoElite (40a4c08)
- Fix leaf litter hitbox - by ManInMyVan (c10e74c)
- Fix segmented hitboxes - by ManInMyVan (cc10288)
a239560)0374b8c)5183ad8)2bf1260)ba305cf)b0906d9)01.10.2025 · 350 загрузки
3ac26d0)01.10.2025 · 847 загрузки
3ac26d0)30.09.2025 · 86 загрузки
cc10288)30.09.2025 · 170 загрузки
cc10288)30.09.2025 · 192 загрузки
c10e74c)30.09.2025 · 402 загрузки
c10e74c)28.09.2025 · 293 загрузки
28.09.2025 · 518 загрузки
18.09.2025 · 1 655 загрузки
293f6ea)18.09.2025 · 4 327 загрузки
293f6ea)16.09.2025 · 383 загрузки
184050b)16.09.2025 · 741 загрузки
184050b)09.09.2025 · 1 187 загрузки
57a9f8f)09.09.2025 · 2 198 загрузки
57a9f8f)07.09.2025 · 209 загрузки
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
07.09.2025 · 411 загрузки
This is not vanilla, but this is what the legacy handler does. To implement this properly, we would need to track biomes AND skylight, which is very memory-expensive.
fix: https://github.com/GrimAnticheat/Grim/issues/2259 - by cyramek (b7c5837)
05.09.2025 · 500 загрузки
f739b1e)05.09.2025 · 869 загрузки
f739b1e)05.09.2025 · 166 загрузки
a8693c3)070116b)05.09.2025 · 276 загрузки
a8693c3)070116b)04.09.2025 · 111 загрузки
0586ea5)04.09.2025 · 195 загрузки
0586ea5)04.09.2025 · 94 загрузки
bd4cd31)04.09.2025 · 194 загрузки
bd4cd31)03.09.2025 · 62 загрузки
3f17557)ea5ed06)42d247b)e26cf0f)64ebdf2)2b03755)9f4c321)4e1320f)dc03060)0bf3a21)03.09.2025 · 96 загрузки
3f17557)ea5ed06)42d247b)e26cf0f)64ebdf2)2b03755)9f4c321)4e1320f)dc03060)0bf3a21)02.09.2025 · 236 загрузки
a7f8c77)d71239b)aab6908)b37393c)the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
345502b)9ea389b)02.09.2025 · 388 загрузки
a7f8c77)d71239b)aab6908)b37393c)the slowedByUsingItem is redundant - by ManInMyVan (cecf5fb)
- Reduce runnables with world borders - by ManInMyVan (21ef46a)
- Cache default input value; reduce memory usage for pre-1.21.2 players - by ManInMyVan (eddb14b)
- Normalize trighandler param names - by ManInMyVan (b44dd89)
- Mark GrimMath methods as pure - by ManInMyVan (566dc9b)
- Make Ray fields final - by ManInMyVan (f87a077)
- Don't use deprecated method ItemStack.getEnchantmentLevel(EnchantmentType, ClientVersion) - by ManInMyVan (d2a8dce)
345502b)9ea389b)02.09.2025 · 35 загрузки
ff9af98)02.09.2025 · 76 загрузки
ff9af98)31.08.2025 · 465 загрузки
090d1a8)4702add)dbac8bc)31.08.2025 · 824 загрузки
090d1a8)4702add)dbac8bc)31.08.2025 · 116 загрузки
8f1e993)31.08.2025 · 238 загрузки
8f1e993)28.08.2025 · 542 загрузки
17a8d3b)28.08.2025 · 909 загрузки
17a8d3b)28.08.2025 · 188 загрузки
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
28.08.2025 · 382 загрузки
also move it before PreViaCheckManagerListener - by ManInMyVan (97c1bdd)
- Remove unused imports in ChatA/B - by ManInMyVan (1c46546)
23.08.2025 · 993 загрузки
b997b6b)23.08.2025 · 1 689 загрузки
b997b6b)16.08.2025 · 1 218 загрузки
28d8320)16.08.2025 · 2 159 загрузки
28d8320)16.08.2025 · 60 загрузки
6320fa6)16.08.2025 · 102 загрузки
6320fa6)16.08.2025 · 44 загрузки
0340e07)16.08.2025 · 67 загрузки
0340e07)16.08.2025 · 78 загрузки
fd59498)16.08.2025 · 140 загрузки
fd59498)16.08.2025 · 151 загрузки
c0b96ea)16.08.2025 · 251 загрузки
c0b96ea)14.08.2025 · 301 загрузки
03e1514)a953f50)0dec743)38ccc55)14.08.2025 · 485 загрузки
03e1514)a953f50)0dec743)38ccc55)14.08.2025 · 69 загрузки
8cb4189)5761896)14.08.2025 · 175 загрузки
8cb4189)5761896)13.08.2025 · 413 загрузки
94813c0)13.08.2025 · 718 загрузки
94813c0)11.08.2025 · 302 загрузки
b0906d9)11.08.2025 · 553 загрузки
b0906d9)11.08.2025 · 56 загрузки
6ce610e)11.08.2025 · 74 загрузки
6ce610e)11.08.2025 · 38 загрузки
be120f0)0a4a6cd)6787d1b)d2df1b7)7376468)e433652)796a573)380e3d9)376e7a9)1ba072f)a3108c7)'ba305cf)11.08.2025 · 59 загрузки
be120f0)0a4a6cd)6787d1b)d2df1b7)7376468)e433652)796a573)380e3d9)376e7a9)1ba072f)a3108c7)'ba305cf)11.08.2025 · 45 загрузки
2bf1260)11.08.2025 · 66 загрузки
2bf1260)11.08.2025 · 198 загрузки
2e625e2)11.08.2025 · 314 загрузки
2e625e2)11.08.2025 · 75 загрузки
647b13c)b5c14f4)4287f62)11.08.2025 · 150 загрузки
647b13c)b5c14f4)4287f62)11.08.2025 · 49 загрузки
a695dac)a9a2034)cd8d78d)11.08.2025 · 80 загрузки
a695dac)a9a2034)cd8d78d)09.08.2025 · 462 загрузки
09.08.2025 · 696 загрузки
17.04.2025 · 47 941 загрузки
This update does NOT add support for 1.21.5. The changes in 1.21.5 are complex and we do not recommend allowing 1.21.5 players on your server at this time.
Grim is going multi-platform! The platform-independence branch will soon be merged, adding support for Fabric.
check-for-updates (SamB440)01.02.2025 · 11 262 загрузки
Want to help out? Maybe one of these issues will interest you!
- https://github.com/GrimAnticheat/Grim/issues/1885
- https://github.com/GrimAnticheat/Grim/issues/1962
30.01.2025 · 1 008 загрузки
See commits since version bump for changelog: https://github.com/GrimAnticheat/Grim/commits/2.0/
Want to help out? Maybe one of these issues will interest you!
- https://github.com/GrimAnticheat/Grim/issues/1885
- https://github.com/GrimAnticheat/Grim/issues/1962
17.12.2024 · 2 962 загрузки
Warning! Grim NOW REQUIRES Java 17+. See https://github.com/GrimAnticheat/Grim/wiki/Updating-to-Java-17 for more information.
Notably with this update comes with support for 1.21.2+ clients, where Mojang has thankfully added a new END_TICK packet. This means Grim can now be as accurate with 1.21.2+ clients as it is with 1.8 clients, particularly for reach checks. Mojang also added a PLAYER_INPUT packet, which tells us the inputs of the player. This will allow a significant performance boost.
Known issues:
- If you are using an older server version then we currently cannot listen to these to these new packets from 1.21.2+ clients due to ViaVersion blocking them.
- If you use ViaBackwards on a 1.21.2+ server, this will cause issues for older clients in vehicles. A fix for both of these issues, by bypassing ViaVersion with a PacketEvents fork, is being worked on.
Changes:
- Added support for camel simulation (SamB440)
- Added MiniMessage and PlaceHolderAPI Support (ManInMyVan)
- Use an identity hash set for synced tags (SamB440)
- Improved punishment manager performance (AoElite)
- Don't let setbacks bypass stuck speed (SamB440)
- Fixed timer ping-abuse-limit-threshold, patching some timer balance abuse hacks (SamB440)
- Readded and fixed BadPacketsG (SamB440)
- Fixed riptide falses when colliding with teamed entities (Axionize)
- Fixed offground precision loss to make us consistent 1E-15 offset (SamB440)
- Added support for 1.21.3+ clients and servers (SamB440)
- Patched a Paper dupe for outdated servers (ManInMyVan)
- Fixed wrongly ported Reach changes (Cyramek)
- Use movementThreshold() instead of 0.03 where appropiate (Axionize)
- Warn servers that want extra reach accuracy that they need to add -Dpaper.explicit-flush=true (Axionize)
- Fixed reading world asynchronously on Folia (Rothes)
- Optimised MenuType#getMenuType (MachineBreaker)
- Use FastUtil collections where possible (MachineBreaker)
- Updated to Java 17 (SamB440)
- Fixed shields breaking causing NoSlow falses (ManInMyVan)
- Limited when 1.9+ players can increase attack slow (SamB440)
- Lava and water are now filtered out of FINISHED_DIGGING (SamB440)
- Color codes are now stripped from client brand (jonesdevelopment)
- Allowed exempting elytras in a hidden config option (ManInMyVan)
- Packets are no longer re-encoded by default (AoElite)
- Reduced Optional allocations with attribute methods (SamB440)
- Readded and fixed AimModulo360 (SamB440)
- Having fix-1_21-placement-rotation enabled in the ViaVersion will now print an error on startup due to incompatibility (Cyramek)
- Fix incorrect casting to float before clamping attribute values (Axionize)
- max-transaction-time option is now clamped between 1 and 180 to prevent issues (SamB440)
- Optimised getPossibleEyeHeights (Axionize)
- Added MultiInteract checks (ManInMyVan)
- NegativeTimer can now be configured to setback (ManInMyVan)
- Added MultiPlace check (ManInMyVan)
- Reworked all collision boxes and hitboxes to improve performance and fix falses (Axionize)
- Added Japanese translation (K-Lqrs)
- Fixed a FastBreak false when mining vines with a sword (ManInMyVan)
- Fixed some falses with BadPacketsX & Z (ManInMyVan)
12.09.2024 · 2 758 загрузки
Warning: Grim will soon require Java 17+. See https://github.com/GrimAnticheat/Grim/wiki/Updating-to-Java-17 for more information.
20.08.2024 · 1 153 загрузки
Warning: Grim will soon require Java 17+. See https://github.com/GrimAnticheat/Grim/wiki/Updating-to-Java-17 for more information.
max-ping-firework-boost can now be disabled with -1