Unofficial site, not affiliated with modrinth.com.What is this?
Плагины/Lightning Grim Anticheat
Lightning Grim Anticheat

Lightning Grim Anticheat

Anticheat Perfected | 3.0005 reach | 99.999% antikb. Fork of GrimAC that's faster, with better reach checks, interact checks, and numerous bug fixes.

117.9K
215
  • Changes in this Build (since previous push)

    Miscellaneous

    • Ensure the short commit is used - by AoElite (ce6e1d3)
    • Any 200 status codes are acceptable - by AoElite (163e120)
    • Allow the embed images to be customizable and show grim's version in the footer - by AoElite (5c46021)
    • Slightly more configurable webhook embed - by ManInMyVan (6385460)
    • Ignore unhittable entities for block placements - by AoElite (8d7a4cc)
    • Bump Gradle to 9.1.0 - by SamB440 (322d256)
    • CancelLerp fixed in 1.21.9, apparently - by SamB440 (bb143d7)
    • Correct bounding box calculations for baby turtles, happy ghasts, dolphins, armadillos, and camels - by cyramek (2e1c79b)
    • Don't specify baby scale factor twice - by ManInMyVan (6a223a3)
    • CHUNK_BATCH_ACK is async - by ManInMyVan (d538c59)
    • Add 2 more rules to .editorconfig - by ManInMyVan (1317ae0)
    • Fix ClassNotFoundException with new ChatB Via rewriter hook - by Axionize (4d6ac75)
    • Use FastUtil Map for violations - by Axionize (ca6e83d)
    • More fastutil micro optimizations - by Axionize (5551ef6)
    • Fix Fabric Auto JiJ script - by Axionize (41c7e41)
    • Require CHUNK_BATCH_ACK be sent only when it's supposed to be sent - by ManInMyVan (bbab7e2)
    • Check if we're already sending a bundle packet - by ManInMyVan (e222df8)
    • [1.21.10] Rewrite block effects, LpVector support, partially implemented collision boxes (#2300) - by Cyramek (0237f95)
    • Get rid of a buffer in vector format conversion - by cyramek (a2f4dc1)
    • Support copper variants of chains - by cyramek (44900e5)
    • Add translations for the sender-not-found message - by AoElite (f381805)
    • Refactor Grim startup/system args handling - by Axionize (faf2fb3)
    • 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)

    • Micro optimize DefaultResyncHandler - by Axionize (1eae548)
    • Optimize new object creation on vector add() calls - by Axionize (15e8098)
    • Optimize new Vector3dm() multiply calls - by Axionize (26492fd)
    • Mark ElytraB as stable - by ManInMyVan (8a6863b)
    • Mark ElytraC as stable - by ManInMyVan (3f19abc)
    • Mark ElytraA as stable - by ManInMyVan (d0aafdd)
    • Mark ElytraF as stable - by ManInMyVan (79bf7e4)
    • Remove double space in ChatB - by ManInMyVan (6e5ec33)
    • Mark PositionBreakB as stable - by ManInMyVan (89cf181)
    • Mark MultiActionsC as stable - by ManInMyVan (a82f2b8)
    • Mark MultiActionsD as stable - by ManInMyVan (a86bf57)
    • Possibly fix build - by ManInMyVan (9ba4052)
    • Clear active item before updating inventory on legacy (#2317)
    • Apply spotless

    • Clear active item before updating inventory on legacy - by BT (calcastor/mame) (b69906f)

    • Allow up to one PLAYER_INPUT per tick (#2306) - by ManInMyVan (1b47e31)
    • Add shelf collision box - by ManInMyVan (4f3e715)
    • Add copper golem statue collision box - by ManInMyVan (a76bf9c)
    • 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)

    • We do not need high bound if player ticks reliably. - by SamB440 (f8a5315)
    • Switch to mojmap for fabric

    see https://fabricmc.net/2025/10/31/obfuscation.html - by ManInMyVan (b373e5f)

    • Slight cleanup of fabric code - by ManInMyVan (0df77dd)
    • Reorder publication of artifacts to Modrinth and update supported versions - by Axionize (bfd2bd0)
    • Show size for applicable reach/hitbox flags - by ManInMyVan (6280b28)
    • Don't simulate movement in unloaded chunks?

    Who knows what other problems this could cause... - by SamB440 (0ba3317)

    • Bump cloud to beta.13, fixes #2318 - by SamB440 (c323cf0)
    • Disable PacketOrderP, fixes #2327 - by SamB440 (ea1f161)
    • New translation ro.yml (#2285)

    Config Romanian translation for grim ac. - by ItzBloxxy (918e657)

    • Disable ExploitB "invalid page characters" check - by ManInMyVan (def2163)
    • Small piston optimization - by AoElite (ba1d1db)
    • Tweak GrimDump output and include some non-default alert settings - by AoElite (5c71531)
    • Hopefully make installation instructions more clear

    also moves it higher on the page - by ManInMyVan (b14628c)

    • Make sure that we use packet-based inventory state after closing the inventory - by cyramek (a46d296)
    • Update CrashC.java (#2350) - by Weigurde (6df484b)
    • Bump PacketEvents version - by Axionize (9b500a2)
    • Migrate workflows to tenki (#2362) - by tenki-cloud[bot] (e1bd2ed)
    • Remove some unnecessary publishing paths - by AoElite (3380d7f)
    • Optimise bounding box calculations - by cyramek (3f67272)
    • Setback changes - by SamB440 (8ddd7f1)
    • Improve bypass template - by ManInMyVan (ba91251)
    • More consistent issue templates - by ManInMyVan (499bf7e)
    • 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.

    • Fix player gamemode reset bug

    When spectating a player in another dimension, you would previously get set to survival mode, this is now fixed. - by GroupXyz (3fc985c)

    • Fixed Reach false positive with Happy Ghast and clients under 1.21.6 (#2352) - by Greened (e386b93)
    • Bump PacketEvents version - by Axionize (2d785fd)
    • Make discord webhook pattern stricter and support different api versions - by AoElite (3bf3226)
    • Update lunar's brand format in all the configs - by AoElite (2d053d0)
    • More setback changes - by SamB440 (4d28f85)
    • Adjust canGlide logic to try to improve compatibility - by AoElite (679e869)
    • Adjust isGlider logic to account for items that can't be depleted - by AoElite (acf273f)
    • Revert "fix incorrect EquipmentSlot mappings in isGlider logic"

    This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)

    • Refactor repo logic to support mavenLocalOverride - by Axionize (965008f)
    • Bump PE - by Axionize (12f6af3)
    • Add initial support for 1.21.11 and update dependencies - by Axionize (97b8758)
    • Fix gliders not working in offhand slot (#2397) - by iLemon (32f607b)
    • Bump github actions-upload-artifact versions - by Axionize (9bd12cc)
    • Make runner configurable to work around Tenki issues (#2398) - by Axionize (f772b74)
    • Fix NPE when Spigot late-bind option is enabled & improve injection logic

    This PR fixes a NullPointerException that occurred when the Spigot "late-bind" option was enabled on servers prior to 1.14.4.

    Changes:

    • Changed injection priority: The plugin now attempts to register the Paper TickEndEvent first. It only falls back to NMS reflection if the Paper API is unavailable.

    • Added a null check for the server connection instance to prevent the NPE during reflection injection.

    • Added specific error logging: If injection fails on legacy servers (< 1.14.4), the plugin now reflectively checks spigot.yml settings to explicitly warn the user if late-bind is the cause.

    • Refactored reflection logic to use ReflectionUtils for better safety and code cleanliness. - by uRyanxD (5f02ccc)

    • Bump PE - by Axionize (92d06e4)

    • Build ci changes - by Axionize (9626712)

    • Cache map values for performance (#2407) - by Rothes (8f0036e)

    • Clean up OptifineFastMath.java a bit - by ManInMyVan (2d8def6)

    • Support CAMERA packet (#2303) - by ManInMyVan (d374c2b)

    • Add PlatformPlayerFactory#getOfflinePlayers() - by Axionize (ce0dad5)

    • Stash work - by Axionize (90193b4)

    • Fix reach regression in not flagging clients from versions 1.15 to 1.20.1 due to rot only regression - by Axionize (60b70d1)

    • Merge branch 'fix/reach-infinite-expanding-hitbox' into 2.0 - by Axionize (4292e93)

    • Use config history.database.port for database connection port. Fixes #2415 - by SamB440 (42b6630)

    • Prevent torn reads and race condition on respawn on Fabric from reconstruction of ServerPlayerEntity - by Axionize (101473b)

    • Resync on netty thread instead of trying to send packets in region thread - by Axionize (80f90e6)

    • Add option to disable resyncing without API with a NoOp resync handler - by Axionize (7c68947)

    • Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic

    • Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).

    • Refactored sequential 'if' statements into an 'else-if' chain to improve branch prediction and allow early exits.

    • Reordered block checks based on frequency (Slabs, Snow, and Vines are now checked first).

    • Merged duplicate logic for multiface blocks. - by Axionize (b79d5fd)

    • Only update profiles if PLAYER_INFO_UPDATE contains ADD_PLAYER action - by Axionize (d0b30de)

    • Patch FabricatedPlace falses - by Axionize (98fd065)

    • Make CrashC verbose more consistent with other checks - by ManInMyVan (6186abc)

    • Improve FabricatedPlace patch - by Axionize (07d2010)

    • Attempt to fix disconnect.timeout cascade issues - by Axionize (639490a)

    • Fix Mushroom and Fungus Hitboxes - by Axionize (14573da)

    • Fix Coral hitboxes - by Axionize (a2074d0)

    • Add forgotten util class file for hitbox fix - by Axionize (8016586)

    • Fix merge errors in hitbox patch - by Axionize (ca64aab)

    • Update .gitignore - by Axionize (be35b9b)

    • Fix rot only accounting for reach/hitbox in 1.15 - 1.20.1 and 1.21.5 - 1.21.8 once and for all - by Axionize (9cb4547)

    • Temporary fix for Folia breaking getTPS() - by Axionize (dbd7510)

    • Faster temporary fix for Folia breaking getTPS() - by Axionize (02f6a3b)

    • Add Back Support for Legacy API (#2409)

    • Add back support for the legacy API temporarily

    • Bump API to release version - by Axionize (95e2774)

    • 1.21.11 support (#2420)
    • fix horse modern/legacy jumping mechanics, camel dash cooldown tracking (#2199)

    • implement UseEffects component

    fixes: https://github.com/GrimAnticheat/Grim/issues/2396

    • initial support for hitbox margin

    • compensableDashableEntities -> dashableEntities

    • implement floating in water

    • implement nautilus movement

    todo: fix dashing, fix step

    • fix 0.03 fluid pushing

    this code was dropped in: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f

    • fix nautilus dashing

    • improve precision while dashing

    • actually fix dashing

    I'm really dumb ngl, vanilla packet sequence:

    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

    • implement all prediction engines for nautilus

    I will refactor this later

    • support new gliding behavior

    • refactor nautilus prediction engines

    • implement parched boundingbox

    • add support for fast lava gameplay attribute in fluid pushing

    • camels have variants now

    • WIP tick-based world borders

    • fix off ground camel dashing

    thanks thisisatest8406

    • add onGround tracking for entities

    • revert tracking entity onGround

    I decided that I don't care enough, camels are bugged as hell, everything desync

    • remove unneeded diff

    • fix pending jumps and camel off-ground dashing

    • remove outdated comment regarding nautilus jumping logic

    • Add support for max_reach AttackRange component


    Co-authored-by: Axionize 154778082+Axionize@users.noreply.github.com - by Cyramek (bf85863)

    • Unify all APIs - by Axionize (c5855fd)
    • Fix support for messing legacy getGrimUser(Player player) method - by Axionize (8001f6c)
    • Bump PE - by Axionize (21f6988)
    • Bump API to no longer shade Player shim - by Axionize (50a25d9)
    • Command API fallback handling - by Axionize (08770f0)
    • Refactor Fabric to make permissions API and cloud optional dependencies - by Axionize (b9fa89c)
    • Fabric 1.21.11 support for fabric-permissions-api-v0 not being included - by Axionize (075cec8)
    • Update supported fabric versions - by Axionize (3659060)
    • Bump PE - by Axionize (a54329a)
    • Fix early init of CommandManager on Bukkit causing startup issues - by Axionize (fefe0d1)
    • Rename Fabric mc1211 -> mc12111 module - by Axionize (9d1682d)
    • Fix fast break false when switching tools via shulker box (#2454) - by Ayou (c043357)
    • Revert this for now, until we find a better way to fix it - by cyramek (b7a719d)
    • Don't let player reuse setback velocity (fixes #2445) (#2450) - by SamB440 (cd86c14)
    • Rename Fabric1211PlatformServer -> Fabric12111PlatformServer - by Axionize (88cfffc)
    • Refactor Resolver Lifecycle - by Axionize (35174fd)
    • Evoker fangs are unhittable - by SamB440 (80afaae)
    • Bump PE: Fixes Packet Ordering and mapping issues
    • Previa packet mapping failing due to incorrect upstream call to getPacketVersion() instead of getClientVersion(), affects previa on all versions
    • Fix Krypton + Via + Grim compat form listener relocation - by Axionize (6c49a01)
    • Add method exposing int block type from CompensatedWorld (#2464)
    • Implement feature

    • Update common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

    • Add @Override annotation

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Cubicake (2b62148)

    • Add /grim testwebhook - by ManInMyVan (327b947)
    • Improve comments in Chinese configuration file (#2490)

    Updated comments in zh.yml for clarity and translation. - by MatrixU5er (b65b7f0)

    • Load after ZNPCsPlus - by ManInMyVan (1d0cbb7)
    • Bump grim-api version - by AoElite (7be8f51)
    • Update Grim API to 1.2.4.0 - by Axionize (4ca65b1)
    • Fix getting hitbox for unstable scaffolding - by Axionize (f0fbc9d)
    • History rewrite marker - by Axionize (7d487a4)
    • Add support for attribute swapping to and from items with attack range components - by Axionize (b281a2d)
    • Update translation - by tjshtqwq (c2acfae)
    • 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)
    • Add Polish configuration file for GrimAC (#2501)

    Co-authored-by: DawixTV 92529087+DawixTV@users.noreply.github.com - by dxw1d (272a889)

    • Revert "load after ZNPCsPlus"

    This reverts commit 1d0cbb7078205b0b265a8ae6047bd304811ed130. - by ManInMyVan (c7983b7)

    • Remove unused imports in Reach.java - by ManInMyVan (d273229)
    • Fix Discord Webhook PAPI Placeholders (#2518)
    • Fix support for Discord markdown parsing of several edge cases

    • Fix PAPI name mangling

    • Cleanup Implementation of new Discord Webhook handling

    • Document exploit choice to not use volatile when technically correct to

    • Address all code review concerns

    • Cleanup unused code

    • Refactor packages for discord related data types - by Axionize (c356f5f)

    • Fix compile issues from package references not being refactored in Discord refactor - by Axionize (53cf3e8)
    • Discord.yml translation fixes - by Axionize (d4611f1)
    • Add support disable-webhook-validation boolean in discord.yml for custom domains with Discord webhooks

    Closes https://github.com/GrimAnticheat/Grim/issues/2520 - by Axionize (879d566)

    • Account for 1.21.2+ clients ignoring teleport packets while in vehicle (#2470)

    fix: https://github.com/GrimAnticheat/Grim/issues/2463 - by Cyramek (8a0d1e2)

    • Bump version to 2.3.74 - by cyramek (546abf0)
    • Add support for viaversion attack range component for 1.21.11+ clients on legacy servers (#2474)

    add support for https://github.com/ViaVersion/ViaVersion/pull/4733 - by Cyramek (7e8b6b6)

    • Fix encoding of Polymer blocks breaking when resyncing with world, optimize allocations Fabric PlatformChunk.getBlockId(x,y,z) - by Axionize (0a1ce1d)
    • Reset food level on respawn (#2528) - by SamB440 (5749463)
    • Fix ghost block mitigation on floating block placement (#2530) - by RareMen (13fb273)
    • Exempt spectators in 1.21.11+ from PacketOrderB (fixes #2493) - by ManInMyVan (29c0757)
    • Slightly change BadPacketsP description - by ManInMyVan (539e822)
    • Rename BadPacketsC to SelfInteract - by ManInMyVan (177c003)
    • Set CheckManager#packetEntityReplication on init - by ManInMyVan (3055cd1)
    • Make TransactionOrder verbose consistent with other checks - by ManInMyVan (68f34f2)
    • Require hand to be MAIN_HAND in PacketOrderB - by ManInMyVan (598aae0)
    • 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)

    • Footer text does not get parsed as markdown - by ManInMyVan (e40ec01)
    • Bump Kotlin Plugin Serialization 2.3.0 - by Axionize (5f9b9dd)
    • Make DefaultResyncHandler a record - by Axionize (740f7f4)
    • Spear stabs are attacks, handle them as such - by ManInMyVan (bf10e23)
    • Add separate logic for publishing release builds in workflow - by AoElite (f0e15b0)
    • Bump PE for initial 26.1 support - by Axionize (f380fcd)
    • Fix PE 26.1 update (deferred fabric folder) - by Axionize (9b06c86)
    • Check if isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)
    • Move ElytraA onStartGliding() to before the client version check in PacketEntityAction - by ManInMyVan (11d572f)
    • Account for INTERACT_ENTITY being split in 26.1 - by ManInMyVan (7d9dc86)
    • Actually check sneaking in MultiInteractA - by ManInMyVan (89eedbe)
    • Quilt is a normal client - by ManInMyVan (77c48f4)
    • Fix glow squid bounding box - by SamB440 (10cb176)
    • Add BadPacketsC to check if the LEAVE_BED packet is valid - by ManInMyVan (d1b2135)
    • Fix soul torch collision data - by SamB440 (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)

    • Bump PE to support Bukkit 26.1 servers - by Axionize (ece9f3c)
    • Minor changes to PacketHidePlayerInfo - by ManInMyVan (b55a12c)
    • RESOURCE_PACK_STATUS is async - by ManInMyVan (e8dc9ae)
    • Downgrade PE to fix promise/future execution breaking in PE's netty listeners - by Axionize (3e07a0e)
    • Bumped Gradle Wrapper to fix build (#2591) - by Tyler (890799d)
    • Fix MYSQL 8 support (#2534)
    • Fix MYSQL 8 support

    • Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)

    • MultiActionsD not checking if the inventory got opened this tick (#2596) - by Bram (1b60cb8)
    • Don't check the same value twice - by ManInMyVan (99dce8c)
    • Fix incorrect entity metadata indexes - by Axionize (c169d9c)
    • Fix teleportAsync detection for old paper and MC versions where method did not exist - by Axionize (7885555)
    • 26.1 support (#2553)

    only bukkit platform for now - by Cyramek (a9b91e7)

    • Bump PE for 26.1.2 support - by Axionize (f36f870)
    • Implement fluid count tracker - by cyramek (f9fdfa7)
    • Always use main hand for attack packets - by cyramek (61e9e69)
    • Don't pass null clientVersion so chunk will use server version for mapping's lookup

    broken after recent packetevents update that overriden #set method in Chunk_v1_18 - by cyramek (8dc657a)

    • 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)

    • Load optional workspace.gradle.kts if present - by Axionize WS1 (6c3ccb4)
    • Migrate internal firings to GrimAPI 1.3 channel API (#2612) - by Axionize (3664f4d)
    • FastBreak false positive on Vault block (#2610) - by Tyler (794e120)
    • Fire GrimPlayerSetbackEvent alongside GrimTeleportEvent - by Axionize WS2 (a86dedf)
    • Bump packetevents to 6953c38 (upstream 2.12.2 merge + obfuscation-safe nbt scan) - by Axionize WS1 (7499d10)
    • Pass fluid count in our custom chunk reader - by cyramek (66b3334)
    • Update DynamicConnecting.java (#2617)

    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)

    • Bump packetevents to 22c9961 (relocateHandlers respects compress/decompress)

    fixes #2552 - by Axionize WS1 (257bffe)

    • Fix issues with DynamicConnecting.java with client versions (#2618)

    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)

    • History rewrite: five backends, session-based, ring-buffer write path + universal config autoupdater (#2622) - by Axionize (578c784)
    • Minor Post code cleanup - by ManInMyVan (053b090)
    • Don't cancel CLOSE_WINDOW in PacketOrderK - by ManInMyVan (fbabbf2)
    • Rename grim.legacy.* @CheckData stable_keys to descriptive names - by Axionize WS1 (c233a60)
    • Escape backslashes when emitting double-quoted scalars (#2623) - by Axionize WS1 (84bd90d)
    • Fix StackOverflow on isChunkLoaded by routing through ChunkSource (#2568) - by Axionize WS2 (c88b494)
    • Kick anyone who sends vv:proxy_details - by ManInMyVan (3021287)
    • Revert "kick anyone who sends vv:proxy_details"

    This reverts commit 3021287391de4aee964abe5bcf6c452f72f68a7b. - by AoElite (73f63c1)

    • Fixed Typo in shulker uncertainty logic (#2630) - by aquip (2508a34)
    • Kick anyone who sends vv:proxy_details - by ManInMyVan (e9c918d)
    • Add support for URL timeout customization and reimplement via proxy kicking - by AoElite (fd9e0f8)
    • Add --name / --match / --grep regex filters to /grim history - by Axionize WS1 (d591f10)
    • Bump grim-api pin to 1.3.2.0 - by Axionize WS1 (2c60aae)
    • Redstone wall torch should use isLit instead of isPowered - by cyramek (21f0c3d)
    • Bump grim-api to 1.3.2.1 - by Axionize WS2 (17d4d2f)
    • Check cameraEntity.isSelf() in isTickingReliablyFor - by ManInMyVan (3e5afef)
    • Simplify shulker opening/closing - by ManInMyVan (fc899a3)
    • Min, not max - by ManInMyVan (83a6d98)
    • Happy ghast scale is also clamped - by ManInMyVan (5254190)
    • Remove unused import - by ManInMyVan (145f71c)
    • Fall back to modrinth for changelog range when push payload missing - by Axionize WS1 (4c866d0)
    • Small cleanup - by ManInMyVan (5a40a06)
    • Remove unused import - by ManInMyVan (215a1e6)
    • Tweak "UrlTimeout" constant for consistency - by AoElite (addabec)
    • Update DiscordManager webhook regex to support canary and make timeout configurable - by AoElite (99e309f)
    • Check rotations in teleports (#2268) - by ManInMyVan (717829a)
    • Make name and stableKey in CheckData not optional - by ManInMyVan (65d1050)
    • Only check isSprinting when rewarding in sprint checks - by ManInMyVan (c549b19)
    • Use violation setback in SprintA - by ManInMyVan (6953235)
    • Bump grim-api to 1.4.0.0 - by Axionize (cdd490b)
    • Apply block effects for swim-hop vector (#2648)
    • apply block effects for swim-hop vector

    • adjust swim hop constants - by Cyramek (73c60d0)

    • VersionUtil uses providers.exec for git (config-cache compat) - by Axionize (62b2268)
    • Anchor N:M intervals at N (#2661) - by Axionize (5fa803e)
    • Fire N:M on boundary crossings, not on every flag at the boundary - by Axionize (36675eb)
    • Per-command incident cursor (nextBoundary + executedOnce) - by Axionize (fb4ad7a)
    • Preserve legacy one-shot command semantics - by Axionize (20d68c1)
    • Bump grim-api to 1.5.0.0 - by Axionize (25d10f4)
    • Use routed backend check catalog - by Axionize (29316a7)
    • Repair legacy history check ids - by Axionize (70223cd)
    • Use MySQL reconnecting API build - by Axionize (ff214a4)
    • Run check-id repair asynchronously - by Axionize (e32d091)
    • Small cleanup - by ManInMyVan (fdaf096)
    • Skip onUserLogin when PacketUser is null - by Axionize (2af658c)
    • Backport V3-side parity adds (against 2.0) (#2678) - by Axionize (9b1aa1a)
    • Bump PE: fix Issue #2670 - by Axionize (6252fe6)
    • Allow not having client-brand.ignored-clients in config - by ManInMyVan (60d3ecf)
    • Mark utility classes as @UtilityClass - by ManInMyVan (fd9e91d)
    • Make WriteLog$Entry a record - by ManInMyVan (d501dfe)
    • Bump PE: fix #2681 - by ManInMyVan (43db51d)
    • Make player.stuckSpeedMultiplier a Vector3d

    also reduce object allocations - by ManInMyVan (8083f42)

    • More object alloc reduction - by ManInMyVan (d939109)
    • Mark ChatD as stable - by ManInMyVan (5869433)
    • More code cleanup - by ManInMyVan (935668a)
    • Mark some listeners as pre-via - by ManInMyVan (ce89791)
    • 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

    • Remove leftover comments from testing

    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)

    • Use lombok getter for CompensatedInventory.startOfTickStack - by ManInMyVan (199b673)
    • Don't box if we don't need to - by ManInMyVan (bebccfa)
    • Make chat checks and BadPacketsM pre-via - by ManInMyVan (21f1534)

    ♻️ Refactoring

    • Refactor plugin message wrappers - by ManInMyVan (5f8692d)
    • Refactor via 1.11->1.10 chat hook - by ManInMyVan (fc47c5b)
    • Refactor BlockBreakSpeed class for improved maintainability - by AoElite (0d22e34)
    • Refactor BlockEffectsResolver to accept movement list - by cyramek (29d28c6)

    🐛 Fixes

    • Fix some warnings - by ManInMyVan (0321e0b)
    • Fix #2294 - by ManInMyVan (832194a)
    • Fix GrimDebug command exception if the sender is exempt or not found - by AoElite (2fa022e)
    • Fix offground precision loss <= 1.20.4

    we're now in 1e-15 average - by cyramek (7461aca)

    • Useless player fetch (#2329) - by Szypkoo (115c329)
    • Fix #2330 - by ManInMyVan (17cf067)
    • World isLoaded throws method not found (#2372) - by Nils Gereke (403fd36)
    • Fix null pointer when checking if bread was a setback - by AoElite (a1b4893)
    • Fix incorrect EquipmentSlot mappings in isGlider logic - by AoElite (d96d683)
    • Exclude Azalea from Sapling hitbox definitions - by Axionize (4a104e2)
    • Bubble Column, Azalea, Bed, and Ceiling Wall Sign hit/collision boxes - by Axionize (c019566)
    • Bump gradle wrapper to fix build - by Axionize (c2afc62)
    • Fix NPE due to incorrect initialization order - by cyramek (9e745fd)
    • Fix elytra packet abuse on 1.8 servers - by ManInMyVan (f95d877)
    • Honor per-check nomodifypacket (#2477) - by runningbird2 (f118b5c)
    • Fix many issues with collisions while riding nautilus/happyghast (#2460)

    thanks LaserSlime and Axionize for help! - by Cyramek (302bed1)

    • Fix noslow with invalid drop item packets - by ManInMyVan (48115eb)
    • Fix #2563 - by ManInMyVan (cd3576b)
    • Fix #1990 - by ManInMyVan (b9da63c)
    • Fix #2579 - by ManInMyVan (13ad8bd)
    • Fix PacketOrderC viabackwards false - by ManInMyVan (fc75e51)
    • Fix bouncy blocks (#2473) - by Cyramek (19c12b7)
    • Fix typo in MultiActionsC - by ManInMyVan (8861589)
    • Fix page length check (#2637) - by Captain-S0L0 (f81e183)
    • Fix shulker & dragon scale attrubute - by ManInMyVan (3d95fea)
    • 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)

    • Fix 1.21.11 spigot support - by ManInMyVan (7d823f5)
    • Fix swim hops while riding an entity that can float on water - by cyramek (ce86075)
    • Fix 1.21.11 trigonometry (#2644)

    new trig lookup table just dropped - by Cyramek (494e9c5)

    • Fix 26.1 spigot support - by ManInMyVan (7ccff01)
    • Fix BadPacketsM falses - by ManInMyVan (3cd17cc)
    • Fix golden dandelion in a flower pot collision - by cyramek (02f1dc3)
    • Fix entity boundingbox replication regression (#2642)
    • fix entity boundingbox replication regression

    • check if tick end event exists - by Cyramek (8a3767b)

    • Fix compensatedCamera with respawn packets - by ManInMyVan (7a7e07f)
    • Fix recent vialegacy update causing falses - by ManInMyVan (c156c00)
    • Fix precision loss while swimming in a flowing fluid (#2668)

    we're in E-15 now on average - by Cyramek (f3ed3b2)

    • Fix 1.8 wither skeleton hitbox - by ManInMyVan (fdd734a)
    • Fix #2677 - by ManInMyVan (34c41db)
    • Fix precision loss in <=1.19.3 - by cyramek (635708a)
    • Fix 1.21.11 clients flagging reach on 1.8 servers - by ManInMyVan (edc3987)

    🚀 Features

    • Support for postgresql (#2368) - by Nils Gereke (c2c044f)
    • Discord forum channel support (#2380) - by Nils Gereke (bf637f5)
    • Add Fabric piston event support (#2619) - by aquip (75cc402)

    🤖 Maintenance & CI

    • Bump shadow - by Axionize (955b725)
    • Increase default building memory allocation - by Axionize (55da384)
    • Bump PE - by Axionize (b6f9f86)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Ensure the short commit is used - by AoElite (ce6e1d3)
    • Any 200 status codes are acceptable - by AoElite (163e120)
    • Allow the embed images to be customizable and show grim's version in the footer - by AoElite (5c46021)
    • Slightly more configurable webhook embed - by ManInMyVan (6385460)
    • Ignore unhittable entities for block placements - by AoElite (8d7a4cc)
    • Bump Gradle to 9.1.0 - by SamB440 (322d256)
    • CancelLerp fixed in 1.21.9, apparently - by SamB440 (bb143d7)
    • Correct bounding box calculations for baby turtles, happy ghasts, dolphins, armadillos, and camels - by cyramek (2e1c79b)
    • Don't specify baby scale factor twice - by ManInMyVan (6a223a3)
    • CHUNK_BATCH_ACK is async - by ManInMyVan (d538c59)
    • Add 2 more rules to .editorconfig - by ManInMyVan (1317ae0)
    • Fix ClassNotFoundException with new ChatB Via rewriter hook - by Axionize (4d6ac75)
    • Use FastUtil Map for violations - by Axionize (ca6e83d)
    • More fastutil micro optimizations - by Axionize (5551ef6)
    • Fix Fabric Auto JiJ script - by Axionize (41c7e41)
    • Require CHUNK_BATCH_ACK be sent only when it's supposed to be sent - by ManInMyVan (bbab7e2)
    • Check if we're already sending a bundle packet - by ManInMyVan (e222df8)
    • [1.21.10] Rewrite block effects, LpVector support, partially implemented collision boxes (#2300) - by Cyramek (0237f95)
    • Get rid of a buffer in vector format conversion - by cyramek (a2f4dc1)
    • Support copper variants of chains - by cyramek (44900e5)
    • Add translations for the sender-not-found message - by AoElite (f381805)
    • Refactor Grim startup/system args handling - by Axionize (faf2fb3)
    • 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)

    • Micro optimize DefaultResyncHandler - by Axionize (1eae548)
    • Optimize new object creation on vector add() calls - by Axionize (15e8098)
    • Optimize new Vector3dm() multiply calls - by Axionize (26492fd)
    • Mark ElytraB as stable - by ManInMyVan (8a6863b)
    • Mark ElytraC as stable - by ManInMyVan (3f19abc)
    • Mark ElytraA as stable - by ManInMyVan (d0aafdd)
    • Mark ElytraF as stable - by ManInMyVan (79bf7e4)
    • Remove double space in ChatB - by ManInMyVan (6e5ec33)
    • Mark PositionBreakB as stable - by ManInMyVan (89cf181)
    • Mark MultiActionsC as stable - by ManInMyVan (a82f2b8)
    • Mark MultiActionsD as stable - by ManInMyVan (a86bf57)
    • Possibly fix build - by ManInMyVan (9ba4052)
    • Clear active item before updating inventory on legacy (#2317)
    • Apply spotless

    • Clear active item before updating inventory on legacy - by BT (calcastor/mame) (b69906f)

    • Allow up to one PLAYER_INPUT per tick (#2306) - by ManInMyVan (1b47e31)
    • Add shelf collision box - by ManInMyVan (4f3e715)
    • Add copper golem statue collision box - by ManInMyVan (a76bf9c)
    • 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)

    • We do not need high bound if player ticks reliably. - by SamB440 (f8a5315)
    • Switch to mojmap for fabric

    see https://fabricmc.net/2025/10/31/obfuscation.html - by ManInMyVan (b373e5f)

    • Slight cleanup of fabric code - by ManInMyVan (0df77dd)
    • Reorder publication of artifacts to Modrinth and update supported versions - by Axionize (bfd2bd0)
    • Show size for applicable reach/hitbox flags - by ManInMyVan (6280b28)
    • Don't simulate movement in unloaded chunks?

    Who knows what other problems this could cause... - by SamB440 (0ba3317)

    • Bump cloud to beta.13, fixes #2318 - by SamB440 (c323cf0)
    • Disable PacketOrderP, fixes #2327 - by SamB440 (ea1f161)
    • New translation ro.yml (#2285)

    Config Romanian translation for grim ac. - by ItzBloxxy (918e657)

    • Disable ExploitB "invalid page characters" check - by ManInMyVan (def2163)
    • Small piston optimization - by AoElite (ba1d1db)
    • Tweak GrimDump output and include some non-default alert settings - by AoElite (5c71531)
    • Hopefully make installation instructions more clear

    also moves it higher on the page - by ManInMyVan (b14628c)

    • Make sure that we use packet-based inventory state after closing the inventory - by cyramek (a46d296)
    • Update CrashC.java (#2350) - by Weigurde (6df484b)
    • Bump PacketEvents version - by Axionize (9b500a2)
    • Migrate workflows to tenki (#2362) - by tenki-cloud[bot] (e1bd2ed)
    • Remove some unnecessary publishing paths - by AoElite (3380d7f)
    • Optimise bounding box calculations - by cyramek (3f67272)
    • Setback changes - by SamB440 (8ddd7f1)
    • Improve bypass template - by ManInMyVan (ba91251)
    • More consistent issue templates - by ManInMyVan (499bf7e)
    • 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.

    • Fix player gamemode reset bug

    When spectating a player in another dimension, you would previously get set to survival mode, this is now fixed. - by GroupXyz (3fc985c)

    • Fixed Reach false positive with Happy Ghast and clients under 1.21.6 (#2352) - by Greened (e386b93)
    • Bump PacketEvents version - by Axionize (2d785fd)
    • Make discord webhook pattern stricter and support different api versions - by AoElite (3bf3226)
    • Update lunar's brand format in all the configs - by AoElite (2d053d0)
    • More setback changes - by SamB440 (4d28f85)
    • Adjust canGlide logic to try to improve compatibility - by AoElite (679e869)
    • Adjust isGlider logic to account for items that can't be depleted - by AoElite (acf273f)
    • Revert "fix incorrect EquipmentSlot mappings in isGlider logic"

    This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)

    • Refactor repo logic to support mavenLocalOverride - by Axionize (965008f)
    • Bump PE - by Axionize (12f6af3)
    • Add initial support for 1.21.11 and update dependencies - by Axionize (97b8758)
    • Fix gliders not working in offhand slot (#2397) - by iLemon (32f607b)
    • Bump github actions-upload-artifact versions - by Axionize (9bd12cc)
    • Make runner configurable to work around Tenki issues (#2398) - by Axionize (f772b74)
    • Fix NPE when Spigot late-bind option is enabled & improve injection logic

    This PR fixes a NullPointerException that occurred when the Spigot "late-bind" option was enabled on servers prior to 1.14.4.

    Changes:

    • Changed injection priority: The plugin now attempts to register the Paper TickEndEvent first. It only falls back to NMS reflection if the Paper API is unavailable.

    • Added a null check for the server connection instance to prevent the NPE during reflection injection.

    • Added specific error logging: If injection fails on legacy servers (< 1.14.4), the plugin now reflectively checks spigot.yml settings to explicitly warn the user if late-bind is the cause.

    • Refactored reflection logic to use ReflectionUtils for better safety and code cleanliness. - by uRyanxD (5f02ccc)

    • Bump PE - by Axionize (92d06e4)

    • Build ci changes - by Axionize (9626712)

    • Cache map values for performance (#2407) - by Rothes (8f0036e)

    • Clean up OptifineFastMath.java a bit - by ManInMyVan (2d8def6)

    • Support CAMERA packet (#2303) - by ManInMyVan (d374c2b)

    • Add PlatformPlayerFactory#getOfflinePlayers() - by Axionize (ce0dad5)

    • Stash work - by Axionize (90193b4)

    • Fix reach regression in not flagging clients from versions 1.15 to 1.20.1 due to rot only regression - by Axionize (60b70d1)

    • Merge branch 'fix/reach-infinite-expanding-hitbox' into 2.0 - by Axionize (4292e93)

    • Use config history.database.port for database connection port. Fixes #2415 - by SamB440 (42b6630)

    • Prevent torn reads and race condition on respawn on Fabric from reconstruction of ServerPlayerEntity - by Axionize (101473b)

    • Resync on netty thread instead of trying to send packets in region thread - by Axionize (80f90e6)

    • Add option to disable resyncing without API with a NoOp resync handler - by Axionize (7c68947)

    • Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic

    • Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).

    • Refactored sequential 'if' statements into an 'else-if' chain to improve branch prediction and allow early exits.

    • Reordered block checks based on frequency (Slabs, Snow, and Vines are now checked first).

    • Merged duplicate logic for multiface blocks. - by Axionize (b79d5fd)

    • Only update profiles if PLAYER_INFO_UPDATE contains ADD_PLAYER action - by Axionize (d0b30de)

    • Patch FabricatedPlace falses - by Axionize (98fd065)

    • Make CrashC verbose more consistent with other checks - by ManInMyVan (6186abc)

    • Improve FabricatedPlace patch - by Axionize (07d2010)

    • Attempt to fix disconnect.timeout cascade issues - by Axionize (639490a)

    • Fix Mushroom and Fungus Hitboxes - by Axionize (14573da)

    • Fix Coral hitboxes - by Axionize (a2074d0)

    • Add forgotten util class file for hitbox fix - by Axionize (8016586)

    • Fix merge errors in hitbox patch - by Axionize (ca64aab)

    • Update .gitignore - by Axionize (be35b9b)

    • Fix rot only accounting for reach/hitbox in 1.15 - 1.20.1 and 1.21.5 - 1.21.8 once and for all - by Axionize (9cb4547)

    • Temporary fix for Folia breaking getTPS() - by Axionize (dbd7510)

    • Faster temporary fix for Folia breaking getTPS() - by Axionize (02f6a3b)

    • Add Back Support for Legacy API (#2409)

    • Add back support for the legacy API temporarily

    • Bump API to release version - by Axionize (95e2774)

    • 1.21.11 support (#2420)
    • fix horse modern/legacy jumping mechanics, camel dash cooldown tracking (#2199)

    • implement UseEffects component

    fixes: https://github.com/GrimAnticheat/Grim/issues/2396

    • initial support for hitbox margin

    • compensableDashableEntities -> dashableEntities

    • implement floating in water

    • implement nautilus movement

    todo: fix dashing, fix step

    • fix 0.03 fluid pushing

    this code was dropped in: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f

    • fix nautilus dashing

    • improve precision while dashing

    • actually fix dashing

    I'm really dumb ngl, vanilla packet sequence:

    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

    • implement all prediction engines for nautilus

    I will refactor this later

    • support new gliding behavior

    • refactor nautilus prediction engines

    • implement parched boundingbox

    • add support for fast lava gameplay attribute in fluid pushing

    • camels have variants now

    • WIP tick-based world borders

    • fix off ground camel dashing

    thanks thisisatest8406

    • add onGround tracking for entities

    • revert tracking entity onGround

    I decided that I don't care enough, camels are bugged as hell, everything desync

    • remove unneeded diff

    • fix pending jumps and camel off-ground dashing

    • remove outdated comment regarding nautilus jumping logic

    • Add support for max_reach AttackRange component


    Co-authored-by: Axionize 154778082+Axionize@users.noreply.github.com - by Cyramek (bf85863)

    • Unify all APIs - by Axionize (c5855fd)
    • Fix support for messing legacy getGrimUser(Player player) method - by Axionize (8001f6c)
    • Bump PE - by Axionize (21f6988)
    • Bump API to no longer shade Player shim - by Axionize (50a25d9)
    • Command API fallback handling - by Axionize (08770f0)
    • Refactor Fabric to make permissions API and cloud optional dependencies - by Axionize (b9fa89c)
    • Fabric 1.21.11 support for fabric-permissions-api-v0 not being included - by Axionize (075cec8)
    • Update supported fabric versions - by Axionize (3659060)
    • Bump PE - by Axionize (a54329a)
    • Fix early init of CommandManager on Bukkit causing startup issues - by Axionize (fefe0d1)
    • Rename Fabric mc1211 -> mc12111 module - by Axionize (9d1682d)
    • Fix fast break false when switching tools via shulker box (#2454) - by Ayou (c043357)
    • Revert this for now, until we find a better way to fix it - by cyramek (b7a719d)
    • Don't let player reuse setback velocity (fixes #2445) (#2450) - by SamB440 (cd86c14)
    • Rename Fabric1211PlatformServer -> Fabric12111PlatformServer - by Axionize (88cfffc)
    • Refactor Resolver Lifecycle - by Axionize (35174fd)
    • Evoker fangs are unhittable - by SamB440 (80afaae)
    • Bump PE: Fixes Packet Ordering and mapping issues
    • Previa packet mapping failing due to incorrect upstream call to getPacketVersion() instead of getClientVersion(), affects previa on all versions
    • Fix Krypton + Via + Grim compat form listener relocation - by Axionize (6c49a01)
    • Add method exposing int block type from CompensatedWorld (#2464)
    • Implement feature

    • Update common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

    • Add @Override annotation

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Cubicake (2b62148)

    • Add /grim testwebhook - by ManInMyVan (327b947)
    • Improve comments in Chinese configuration file (#2490)

    Updated comments in zh.yml for clarity and translation. - by MatrixU5er (b65b7f0)

    • Load after ZNPCsPlus - by ManInMyVan (1d0cbb7)
    • Bump grim-api version - by AoElite (7be8f51)
    • Update Grim API to 1.2.4.0 - by Axionize (4ca65b1)
    • Fix getting hitbox for unstable scaffolding - by Axionize (f0fbc9d)
    • History rewrite marker - by Axionize (7d487a4)
    • Add support for attribute swapping to and from items with attack range components - by Axionize (b281a2d)
    • Update translation - by tjshtqwq (c2acfae)
    • 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)
    • Add Polish configuration file for GrimAC (#2501)

    Co-authored-by: DawixTV 92529087+DawixTV@users.noreply.github.com - by dxw1d (272a889)

    • Revert "load after ZNPCsPlus"

    This reverts commit 1d0cbb7078205b0b265a8ae6047bd304811ed130. - by ManInMyVan (c7983b7)

    • Remove unused imports in Reach.java - by ManInMyVan (d273229)
    • Fix Discord Webhook PAPI Placeholders (#2518)
    • Fix support for Discord markdown parsing of several edge cases

    • Fix PAPI name mangling

    • Cleanup Implementation of new Discord Webhook handling

    • Document exploit choice to not use volatile when technically correct to

    • Address all code review concerns

    • Cleanup unused code

    • Refactor packages for discord related data types - by Axionize (c356f5f)

    • Fix compile issues from package references not being refactored in Discord refactor - by Axionize (53cf3e8)
    • Discord.yml translation fixes - by Axionize (d4611f1)
    • Add support disable-webhook-validation boolean in discord.yml for custom domains with Discord webhooks

    Closes https://github.com/GrimAnticheat/Grim/issues/2520 - by Axionize (879d566)

    • Account for 1.21.2+ clients ignoring teleport packets while in vehicle (#2470)

    fix: https://github.com/GrimAnticheat/Grim/issues/2463 - by Cyramek (8a0d1e2)

    • Bump version to 2.3.74 - by cyramek (546abf0)
    • Add support for viaversion attack range component for 1.21.11+ clients on legacy servers (#2474)

    add support for https://github.com/ViaVersion/ViaVersion/pull/4733 - by Cyramek (7e8b6b6)

    • Fix encoding of Polymer blocks breaking when resyncing with world, optimize allocations Fabric PlatformChunk.getBlockId(x,y,z) - by Axionize (0a1ce1d)
    • Reset food level on respawn (#2528) - by SamB440 (5749463)
    • Fix ghost block mitigation on floating block placement (#2530) - by RareMen (13fb273)
    • Exempt spectators in 1.21.11+ from PacketOrderB (fixes #2493) - by ManInMyVan (29c0757)
    • Slightly change BadPacketsP description - by ManInMyVan (539e822)
    • Rename BadPacketsC to SelfInteract - by ManInMyVan (177c003)
    • Set CheckManager#packetEntityReplication on init - by ManInMyVan (3055cd1)
    • Make TransactionOrder verbose consistent with other checks - by ManInMyVan (68f34f2)
    • Require hand to be MAIN_HAND in PacketOrderB - by ManInMyVan (598aae0)
    • 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)

    • Footer text does not get parsed as markdown - by ManInMyVan (e40ec01)
    • Bump Kotlin Plugin Serialization 2.3.0 - by Axionize (5f9b9dd)
    • Make DefaultResyncHandler a record - by Axionize (740f7f4)
    • Spear stabs are attacks, handle them as such - by ManInMyVan (bf10e23)
    • Add separate logic for publishing release builds in workflow - by AoElite (f0e15b0)
    • Bump PE for initial 26.1 support - by Axionize (f380fcd)
    • Fix PE 26.1 update (deferred fabric folder) - by Axionize (9b06c86)
    • Check if isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)
    • Move ElytraA onStartGliding() to before the client version check in PacketEntityAction - by ManInMyVan (11d572f)
    • Account for INTERACT_ENTITY being split in 26.1 - by ManInMyVan (7d9dc86)
    • Actually check sneaking in MultiInteractA - by ManInMyVan (89eedbe)
    • Quilt is a normal client - by ManInMyVan (77c48f4)
    • Fix glow squid bounding box - by SamB440 (10cb176)
    • Add BadPacketsC to check if the LEAVE_BED packet is valid - by ManInMyVan (d1b2135)
    • Fix soul torch collision data - by SamB440 (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)

    • Bump PE to support Bukkit 26.1 servers - by Axionize (ece9f3c)
    • Minor changes to PacketHidePlayerInfo - by ManInMyVan (b55a12c)
    • RESOURCE_PACK_STATUS is async - by ManInMyVan (e8dc9ae)
    • Downgrade PE to fix promise/future execution breaking in PE's netty listeners - by Axionize (3e07a0e)
    • Bumped Gradle Wrapper to fix build (#2591) - by Tyler (890799d)
    • Fix MYSQL 8 support (#2534)
    • Fix MYSQL 8 support

    • Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)

    • MultiActionsD not checking if the inventory got opened this tick (#2596) - by Bram (1b60cb8)
    • Don't check the same value twice - by ManInMyVan (99dce8c)
    • Fix incorrect entity metadata indexes - by Axionize (c169d9c)
    • Fix teleportAsync detection for old paper and MC versions where method did not exist - by Axionize (7885555)
    • 26.1 support (#2553)

    only bukkit platform for now - by Cyramek (a9b91e7)

    • Bump PE for 26.1.2 support - by Axionize (f36f870)
    • Implement fluid count tracker - by cyramek (f9fdfa7)
    • Always use main hand for attack packets - by cyramek (61e9e69)
    • Don't pass null clientVersion so chunk will use server version for mapping's lookup

    broken after recent packetevents update that overriden #set method in Chunk_v1_18 - by cyramek (8dc657a)

    • 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)

    • Load optional workspace.gradle.kts if present - by Axionize WS1 (6c3ccb4)
    • Migrate internal firings to GrimAPI 1.3 channel API (#2612) - by Axionize (3664f4d)
    • FastBreak false positive on Vault block (#2610) - by Tyler (794e120)
    • Fire GrimPlayerSetbackEvent alongside GrimTeleportEvent - by Axionize WS2 (a86dedf)
    • Bump packetevents to 6953c38 (upstream 2.12.2 merge + obfuscation-safe nbt scan) - by Axionize WS1 (7499d10)
    • Pass fluid count in our custom chunk reader - by cyramek (66b3334)
    • Update DynamicConnecting.java (#2617)

    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)

    • Bump packetevents to 22c9961 (relocateHandlers respects compress/decompress)

    fixes #2552 - by Axionize WS1 (257bffe)

    • Fix issues with DynamicConnecting.java with client versions (#2618)

    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)

    • History rewrite: five backends, session-based, ring-buffer write path + universal config autoupdater (#2622) - by Axionize (578c784)
    • Minor Post code cleanup - by ManInMyVan (053b090)
    • Don't cancel CLOSE_WINDOW in PacketOrderK - by ManInMyVan (fbabbf2)
    • Rename grim.legacy.* @CheckData stable_keys to descriptive names - by Axionize WS1 (c233a60)
    • Escape backslashes when emitting double-quoted scalars (#2623) - by Axionize WS1 (84bd90d)
    • Fix StackOverflow on isChunkLoaded by routing through ChunkSource (#2568) - by Axionize WS2 (c88b494)
    • Kick anyone who sends vv:proxy_details - by ManInMyVan (3021287)
    • Revert "kick anyone who sends vv:proxy_details"

    This reverts commit 3021287391de4aee964abe5bcf6c452f72f68a7b. - by AoElite (73f63c1)

    • Fixed Typo in shulker uncertainty logic (#2630) - by aquip (2508a34)
    • Kick anyone who sends vv:proxy_details - by ManInMyVan (e9c918d)
    • Add support for URL timeout customization and reimplement via proxy kicking - by AoElite (fd9e0f8)
    • Add --name / --match / --grep regex filters to /grim history - by Axionize WS1 (d591f10)
    • Bump grim-api pin to 1.3.2.0 - by Axionize WS1 (2c60aae)
    • Redstone wall torch should use isLit instead of isPowered - by cyramek (21f0c3d)
    • Bump grim-api to 1.3.2.1 - by Axionize WS2 (17d4d2f)
    • Check cameraEntity.isSelf() in isTickingReliablyFor - by ManInMyVan (3e5afef)
    • Simplify shulker opening/closing - by ManInMyVan (fc899a3)
    • Min, not max - by ManInMyVan (83a6d98)
    • Happy ghast scale is also clamped - by ManInMyVan (5254190)
    • Remove unused import - by ManInMyVan (145f71c)
    • Fall back to modrinth for changelog range when push payload missing - by Axionize WS1 (4c866d0)
    • Small cleanup - by ManInMyVan (5a40a06)
    • Remove unused import - by ManInMyVan (215a1e6)
    • Tweak "UrlTimeout" constant for consistency - by AoElite (addabec)
    • Update DiscordManager webhook regex to support canary and make timeout configurable - by AoElite (99e309f)
    • Check rotations in teleports (#2268) - by ManInMyVan (717829a)
    • Make name and stableKey in CheckData not optional - by ManInMyVan (65d1050)
    • Only check isSprinting when rewarding in sprint checks - by ManInMyVan (c549b19)
    • Use violation setback in SprintA - by ManInMyVan (6953235)
    • Bump grim-api to 1.4.0.0 - by Axionize (cdd490b)
    • Apply block effects for swim-hop vector (#2648)
    • apply block effects for swim-hop vector

    • adjust swim hop constants - by Cyramek (73c60d0)

    • VersionUtil uses providers.exec for git (config-cache compat) - by Axionize (62b2268)
    • Anchor N:M intervals at N (#2661) - by Axionize (5fa803e)
    • Fire N:M on boundary crossings, not on every flag at the boundary - by Axionize (36675eb)
    • Per-command incident cursor (nextBoundary + executedOnce) - by Axionize (fb4ad7a)
    • Preserve legacy one-shot command semantics - by Axionize (20d68c1)
    • Bump grim-api to 1.5.0.0 - by Axionize (25d10f4)
    • Use routed backend check catalog - by Axionize (29316a7)
    • Repair legacy history check ids - by Axionize (70223cd)
    • Use MySQL reconnecting API build - by Axionize (ff214a4)
    • Run check-id repair asynchronously - by Axionize (e32d091)
    • Small cleanup - by ManInMyVan (fdaf096)
    • Skip onUserLogin when PacketUser is null - by Axionize (2af658c)
    • Backport V3-side parity adds (against 2.0) (#2678) - by Axionize (9b1aa1a)
    • Bump PE: fix Issue #2670 - by Axionize (6252fe6)
    • Allow not having client-brand.ignored-clients in config - by ManInMyVan (60d3ecf)
    • Mark utility classes as @UtilityClass - by ManInMyVan (fd9e91d)
    • Make WriteLog$Entry a record - by ManInMyVan (d501dfe)
    • Bump PE: fix #2681 - by ManInMyVan (43db51d)
    • Make player.stuckSpeedMultiplier a Vector3d

    also reduce object allocations - by ManInMyVan (8083f42)

    • More object alloc reduction - by ManInMyVan (d939109)
    • Mark ChatD as stable - by ManInMyVan (5869433)
    • More code cleanup - by ManInMyVan (935668a)
    • Mark some listeners as pre-via - by ManInMyVan (ce89791)
    • 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

    • Remove leftover comments from testing

    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)

    • Use lombok getter for CompensatedInventory.startOfTickStack - by ManInMyVan (199b673)
    • Don't box if we don't need to - by ManInMyVan (bebccfa)
    • Make chat checks and BadPacketsM pre-via - by ManInMyVan (21f1534)

    ♻️ Refactoring

    • Refactor plugin message wrappers - by ManInMyVan (5f8692d)
    • Refactor via 1.11->1.10 chat hook - by ManInMyVan (fc47c5b)
    • Refactor BlockBreakSpeed class for improved maintainability - by AoElite (0d22e34)
    • Refactor BlockEffectsResolver to accept movement list - by cyramek (29d28c6)

    🐛 Fixes

    • Fix some warnings - by ManInMyVan (0321e0b)
    • Fix #2294 - by ManInMyVan (832194a)
    • Fix GrimDebug command exception if the sender is exempt or not found - by AoElite (2fa022e)
    • Fix offground precision loss <= 1.20.4

    we're now in 1e-15 average - by cyramek (7461aca)

    • Useless player fetch (#2329) - by Szypkoo (115c329)
    • Fix #2330 - by ManInMyVan (17cf067)
    • World isLoaded throws method not found (#2372) - by Nils Gereke (403fd36)
    • Fix null pointer when checking if bread was a setback - by AoElite (a1b4893)
    • Fix incorrect EquipmentSlot mappings in isGlider logic - by AoElite (d96d683)
    • Exclude Azalea from Sapling hitbox definitions - by Axionize (4a104e2)
    • Bubble Column, Azalea, Bed, and Ceiling Wall Sign hit/collision boxes - by Axionize (c019566)
    • Bump gradle wrapper to fix build - by Axionize (c2afc62)
    • Fix NPE due to incorrect initialization order - by cyramek (9e745fd)
    • Fix elytra packet abuse on 1.8 servers - by ManInMyVan (f95d877)
    • Honor per-check nomodifypacket (#2477) - by runningbird2 (f118b5c)
    • Fix many issues with collisions while riding nautilus/happyghast (#2460)

    thanks LaserSlime and Axionize for help! - by Cyramek (302bed1)

    • Fix noslow with invalid drop item packets - by ManInMyVan (48115eb)
    • Fix #2563 - by ManInMyVan (cd3576b)
    • Fix #1990 - by ManInMyVan (b9da63c)
    • Fix #2579 - by ManInMyVan (13ad8bd)
    • Fix PacketOrderC viabackwards false - by ManInMyVan (fc75e51)
    • Fix bouncy blocks (#2473) - by Cyramek (19c12b7)
    • Fix typo in MultiActionsC - by ManInMyVan (8861589)
    • Fix page length check (#2637) - by Captain-S0L0 (f81e183)
    • Fix shulker & dragon scale attrubute - by ManInMyVan (3d95fea)
    • 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)

    • Fix 1.21.11 spigot support - by ManInMyVan (7d823f5)
    • Fix swim hops while riding an entity that can float on water - by cyramek (ce86075)
    • Fix 1.21.11 trigonometry (#2644)

    new trig lookup table just dropped - by Cyramek (494e9c5)

    • Fix 26.1 spigot support - by ManInMyVan (7ccff01)
    • Fix BadPacketsM falses - by ManInMyVan (3cd17cc)
    • Fix golden dandelion in a flower pot collision - by cyramek (02f1dc3)
    • Fix entity boundingbox replication regression (#2642)
    • fix entity boundingbox replication regression

    • check if tick end event exists - by Cyramek (8a3767b)

    • Fix compensatedCamera with respawn packets - by ManInMyVan (7a7e07f)
    • Fix recent vialegacy update causing falses - by ManInMyVan (c156c00)
    • Fix precision loss while swimming in a flowing fluid (#2668)

    we're in E-15 now on average - by Cyramek (f3ed3b2)

    • Fix 1.8 wither skeleton hitbox - by ManInMyVan (fdd734a)
    • Fix #2677 - by ManInMyVan (34c41db)
    • Fix precision loss in <=1.19.3 - by cyramek (635708a)
    • Fix 1.21.11 clients flagging reach on 1.8 servers - by ManInMyVan (edc3987)

    🚀 Features

    • Support for postgresql (#2368) - by Nils Gereke (c2c044f)
    • Discord forum channel support (#2380) - by Nils Gereke (bf637f5)
    • Add Fabric piston event support (#2619) - by aquip (75cc402)

    🤖 Maintenance & CI

    • Bump shadow - by Axionize (955b725)
    • Increase default building memory allocation - by Axionize (55da384)
    • Bump PE - by Axionize (b6f9f86)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Fix getting hitbox for unstable scaffolding - by Axionize (f0fbc9d)
    • History rewrite marker - by Axionize (7d487a4)
    • Add support for attribute swapping to and from items with attack range components - by Axionize (b281a2d)
    • Update translation - by tjshtqwq (c2acfae)
    • 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)
    • Add Polish configuration file for GrimAC (#2501)

    Co-authored-by: DawixTV 92529087+DawixTV@users.noreply.github.com - by dxw1d (272a889)

    • Revert "load after ZNPCsPlus"

    This reverts commit 1d0cbb7078205b0b265a8ae6047bd304811ed130. - by ManInMyVan (c7983b7)

    • Remove unused imports in Reach.java - by ManInMyVan (d273229)
    • Fix Discord Webhook PAPI Placeholders (#2518)
    • Fix support for Discord markdown parsing of several edge cases

    • Fix PAPI name mangling

    • Cleanup Implementation of new Discord Webhook handling

    • Document exploit choice to not use volatile when technically correct to

    • Address all code review concerns

    • Cleanup unused code

    • Refactor packages for discord related data types - by Axionize (c356f5f)

    • Fix compile issues from package references not being refactored in Discord refactor - by Axionize (53cf3e8)
    • Discord.yml translation fixes - by Axionize (d4611f1)
    • Add support disable-webhook-validation boolean in discord.yml for custom domains with Discord webhooks

    Closes https://github.com/GrimAnticheat/Grim/issues/2520 - by Axionize (879d566)

    • Account for 1.21.2+ clients ignoring teleport packets while in vehicle (#2470)

    fix: https://github.com/GrimAnticheat/Grim/issues/2463 - by Cyramek (8a0d1e2)

    • Bump version to 2.3.74 - by cyramek (546abf0)
    • Add support for viaversion attack range component for 1.21.11+ clients on legacy servers (#2474)

    add support for https://github.com/ViaVersion/ViaVersion/pull/4733 - by Cyramek (7e8b6b6)

    • Fix encoding of Polymer blocks breaking when resyncing with world, optimize allocations Fabric PlatformChunk.getBlockId(x,y,z) - by Axionize (0a1ce1d)
    • Reset food level on respawn (#2528) - by SamB440 (5749463)
    • Fix ghost block mitigation on floating block placement (#2530) - by RareMen (13fb273)
    • Exempt spectators in 1.21.11+ from PacketOrderB (fixes #2493) - by ManInMyVan (29c0757)
    • Slightly change BadPacketsP description - by ManInMyVan (539e822)
    • Rename BadPacketsC to SelfInteract - by ManInMyVan (177c003)
    • Set CheckManager#packetEntityReplication on init - by ManInMyVan (3055cd1)
    • Make TransactionOrder verbose consistent with other checks - by ManInMyVan (68f34f2)
    • Require hand to be MAIN_HAND in PacketOrderB - by ManInMyVan (598aae0)
    • 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)

    • Footer text does not get parsed as markdown - by ManInMyVan (e40ec01)
    • Bump Kotlin Plugin Serialization 2.3.0 - by Axionize (5f9b9dd)
    • Make DefaultResyncHandler a record - by Axionize (740f7f4)
    • Merge branch '2.0' into lightning

    Conflicts:

    common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java

    common/src/main/java/ac/grim/grimac/manager/CheckManager.java

    common/src/main/java/ac/grim/grimac/player/GrimPlayer.java - by Axionize (162a8d1)

    • Fix compilation issues, eliminate allocations and fix distanceSquared() > 36 instead of 6 - by Axionize (5efefe5)
    • Spear stabs are attacks, handle them as such - by ManInMyVan (bf10e23)
    • Add separate logic for publishing release builds in workflow - by AoElite (f0e15b0)
    • Bump PE for initial 26.1 support - by Axionize (f380fcd)
    • Fix PE 26.1 update (deferred fabric folder) - by Axionize (9b06c86)
    • Check if isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)
    • Move ElytraA onStartGliding() to before the client version check in PacketEntityAction - by ManInMyVan (11d572f)
    • Account for INTERACT_ENTITY being split in 26.1 - by ManInMyVan (7d9dc86)
    • Actually check sneaking in MultiInteractA - by ManInMyVan (89eedbe)
    • Quilt is a normal client - by ManInMyVan (77c48f4)
    • Fix glow squid bounding box - by SamB440 (10cb176)
    • Add BadPacketsC to check if the LEAVE_BED packet is valid - by ManInMyVan (d1b2135)
    • Fix soul torch collision data - by SamB440 (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)

    • Bump PE to support Bukkit 26.1 servers - by Axionize (ece9f3c)
    • Minor changes to PacketHidePlayerInfo - by ManInMyVan (b55a12c)
    • RESOURCE_PACK_STATUS is async - by ManInMyVan (e8dc9ae)
    • Downgrade PE to fix promise/future execution breaking in PE's netty listeners - by Axionize (3e07a0e)
    • Bumped Gradle Wrapper to fix build (#2591) - by Tyler (890799d)
    • Fix MYSQL 8 support (#2534)
    • Fix MYSQL 8 support

    • Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)

    • MultiActionsD not checking if the inventory got opened this tick (#2596) - by Bram (1b60cb8)
    • Don't check the same value twice - by ManInMyVan (99dce8c)
    • Fix incorrect entity metadata indexes - by Axionize (c169d9c)
    • Merge remote-tracking branch 'origin/2.0' into lightning

    Conflicts:

    common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java - by Axionize (65815fc)

    🐛 Fixes

    • Fix many issues with collisions while riding nautilus/happyghast (#2460)

    thanks LaserSlime and Axionize for help! - by Cyramek (302bed1)

    • Fix noslow with invalid drop item packets - by ManInMyVan (48115eb)
    • Fix #2563 - by ManInMyVan (cd3576b)
    • Fix #1990 - by ManInMyVan (b9da63c)
    • Fix #2579 - by ManInMyVan (13ad8bd)
    • Fix PacketOrderC viabackwards false - by ManInMyVan (fc75e51)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Fix getting hitbox for unstable scaffolding - by Axionize (f0fbc9d)
    • History rewrite marker - by Axionize (7d487a4)
    • Add support for attribute swapping to and from items with attack range components - by Axionize (b281a2d)
    • Update translation - by tjshtqwq (c2acfae)
    • 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)
    • Add Polish configuration file for GrimAC (#2501)

    Co-authored-by: DawixTV 92529087+DawixTV@users.noreply.github.com - by dxw1d (272a889)

    • Revert "load after ZNPCsPlus"

    This reverts commit 1d0cbb7078205b0b265a8ae6047bd304811ed130. - by ManInMyVan (c7983b7)

    • Remove unused imports in Reach.java - by ManInMyVan (d273229)
    • Fix Discord Webhook PAPI Placeholders (#2518)
    • Fix support for Discord markdown parsing of several edge cases

    • Fix PAPI name mangling

    • Cleanup Implementation of new Discord Webhook handling

    • Document exploit choice to not use volatile when technically correct to

    • Address all code review concerns

    • Cleanup unused code

    • Refactor packages for discord related data types - by Axionize (c356f5f)

    • Fix compile issues from package references not being refactored in Discord refactor - by Axionize (53cf3e8)
    • Discord.yml translation fixes - by Axionize (d4611f1)
    • Add support disable-webhook-validation boolean in discord.yml for custom domains with Discord webhooks

    Closes https://github.com/GrimAnticheat/Grim/issues/2520 - by Axionize (879d566)

    • Account for 1.21.2+ clients ignoring teleport packets while in vehicle (#2470)

    fix: https://github.com/GrimAnticheat/Grim/issues/2463 - by Cyramek (8a0d1e2)

    • Bump version to 2.3.74 - by cyramek (546abf0)
    • Add support for viaversion attack range component for 1.21.11+ clients on legacy servers (#2474)

    add support for https://github.com/ViaVersion/ViaVersion/pull/4733 - by Cyramek (7e8b6b6)

    • Fix encoding of Polymer blocks breaking when resyncing with world, optimize allocations Fabric PlatformChunk.getBlockId(x,y,z) - by Axionize (0a1ce1d)
    • Reset food level on respawn (#2528) - by SamB440 (5749463)
    • Fix ghost block mitigation on floating block placement (#2530) - by RareMen (13fb273)
    • Exempt spectators in 1.21.11+ from PacketOrderB (fixes #2493) - by ManInMyVan (29c0757)
    • Slightly change BadPacketsP description - by ManInMyVan (539e822)
    • Rename BadPacketsC to SelfInteract - by ManInMyVan (177c003)
    • Set CheckManager#packetEntityReplication on init - by ManInMyVan (3055cd1)
    • Make TransactionOrder verbose consistent with other checks - by ManInMyVan (68f34f2)
    • Require hand to be MAIN_HAND in PacketOrderB - by ManInMyVan (598aae0)
    • 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)

    • Footer text does not get parsed as markdown - by ManInMyVan (e40ec01)
    • Bump Kotlin Plugin Serialization 2.3.0 - by Axionize (5f9b9dd)
    • Make DefaultResyncHandler a record - by Axionize (740f7f4)
    • Merge branch '2.0' into lightning

    Conflicts:

    common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java

    common/src/main/java/ac/grim/grimac/manager/CheckManager.java

    common/src/main/java/ac/grim/grimac/player/GrimPlayer.java - by Axionize (162a8d1)

    • Fix compilation issues, eliminate allocations and fix distanceSquared() > 36 instead of 6 - by Axionize (5efefe5)
    • Spear stabs are attacks, handle them as such - by ManInMyVan (bf10e23)
    • Add separate logic for publishing release builds in workflow - by AoElite (f0e15b0)
    • Bump PE for initial 26.1 support - by Axionize (f380fcd)
    • Fix PE 26.1 update (deferred fabric folder) - by Axionize (9b06c86)
    • Check if isPacketInventoryActive was false before allowing revert - by SamB440 (6a46c35)
    • Move ElytraA onStartGliding() to before the client version check in PacketEntityAction - by ManInMyVan (11d572f)
    • Account for INTERACT_ENTITY being split in 26.1 - by ManInMyVan (7d9dc86)
    • Actually check sneaking in MultiInteractA - by ManInMyVan (89eedbe)
    • Quilt is a normal client - by ManInMyVan (77c48f4)
    • Fix glow squid bounding box - by SamB440 (10cb176)
    • Add BadPacketsC to check if the LEAVE_BED packet is valid - by ManInMyVan (d1b2135)
    • Fix soul torch collision data - by SamB440 (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)

    • Bump PE to support Bukkit 26.1 servers - by Axionize (ece9f3c)
    • Minor changes to PacketHidePlayerInfo - by ManInMyVan (b55a12c)
    • RESOURCE_PACK_STATUS is async - by ManInMyVan (e8dc9ae)
    • Downgrade PE to fix promise/future execution breaking in PE's netty listeners - by Axionize (3e07a0e)
    • Bumped Gradle Wrapper to fix build (#2591) - by Tyler (890799d)
    • Fix MYSQL 8 support (#2534)
    • Fix MYSQL 8 support

    • Prevent double index error from sending everytime. - by Milan Ensink (35fe1f0)

    • MultiActionsD not checking if the inventory got opened this tick (#2596) - by Bram (1b60cb8)
    • Don't check the same value twice - by ManInMyVan (99dce8c)
    • Fix incorrect entity metadata indexes - by Axionize (c169d9c)
    • Merge remote-tracking branch 'origin/2.0' into lightning

    Conflicts:

    common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java - by Axionize (65815fc)

    🐛 Fixes

    • Fix many issues with collisions while riding nautilus/happyghast (#2460)

    thanks LaserSlime and Axionize for help! - by Cyramek (302bed1)

    • Fix noslow with invalid drop item packets - by ManInMyVan (48115eb)
    • Fix #2563 - by ManInMyVan (cd3576b)
    • Fix #1990 - by ManInMyVan (b9da63c)
    • Fix #2579 - by ManInMyVan (13ad8bd)
    • Fix PacketOrderC viabackwards false - by ManInMyVan (fc75e51)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Use config history.database.port for database connection port. Fixes #2415 - by SamB440 (42b6630)

    • Prevent torn reads and race condition on respawn on Fabric from reconstruction of ServerPlayerEntity - by Axionize (101473b)

    • Resync on netty thread instead of trying to send packets in region thread - by Axionize (80f90e6)

    • Add option to disable resyncing without API with a NoOp resync handler - by Axionize (7c68947)

    • Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic

    • Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).

    • Refactored sequential 'if' statements into an 'else-if' chain to improve branch prediction and allow early exits.

    • Reordered block checks based on frequency (Slabs, Snow, and Vines are now checked first).

    • Merged duplicate logic for multiface blocks. - by Axionize (b79d5fd)

    • Only update profiles if PLAYER_INFO_UPDATE contains ADD_PLAYER action - by Axionize (d0b30de)

    • Patch FabricatedPlace falses - by Axionize (98fd065)

    • Make CrashC verbose more consistent with other checks - by ManInMyVan (6186abc)

    • Improve FabricatedPlace patch - by Axionize (07d2010)

    • Attempt to fix disconnect.timeout cascade issues - by Axionize (639490a)

    • Fix Mushroom and Fungus Hitboxes - by Axionize (14573da)

    • Fix Coral hitboxes - by Axionize (a2074d0)

    • Add forgotten util class file for hitbox fix - by Axionize (8016586)

    • Fix merge errors in hitbox patch - by Axionize (ca64aab)

    • Update .gitignore - by Axionize (be35b9b)

    • Fix rot only accounting for reach/hitbox in 1.15 - 1.20.1 and 1.21.5 - 1.21.8 once and for all - by Axionize (9cb4547)

    • Temporary fix for Folia breaking getTPS() - by Axionize (dbd7510)

    • Faster temporary fix for Folia breaking getTPS() - by Axionize (02f6a3b)

    • Merge remote-tracking branch 'origin/2.0' into lightning - by Axionize (5c17fba)

    • Add Back Support for Legacy API (#2409)

    • Add back support for the legacy API temporarily

    • Bump API to release version - by Axionize (95e2774)

    • 1.21.11 support (#2420)
    • fix horse modern/legacy jumping mechanics, camel dash cooldown tracking (#2199)

    • implement UseEffects component

    fixes: https://github.com/GrimAnticheat/Grim/issues/2396

    • initial support for hitbox margin

    • compensableDashableEntities -> dashableEntities

    • implement floating in water

    • implement nautilus movement

    todo: fix dashing, fix step

    • fix 0.03 fluid pushing

    this code was dropped in: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f

    • fix nautilus dashing

    • improve precision while dashing

    • actually fix dashing

    I'm really dumb ngl, vanilla packet sequence:

    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

    • implement all prediction engines for nautilus

    I will refactor this later

    • support new gliding behavior

    • refactor nautilus prediction engines

    • implement parched boundingbox

    • add support for fast lava gameplay attribute in fluid pushing

    • camels have variants now

    • WIP tick-based world borders

    • fix off ground camel dashing

    thanks thisisatest8406

    • add onGround tracking for entities

    • revert tracking entity onGround

    I decided that I don't care enough, camels are bugged as hell, everything desync

    • remove unneeded diff

    • fix pending jumps and camel off-ground dashing

    • remove outdated comment regarding nautilus jumping logic

    • Add support for max_reach AttackRange component


    Co-authored-by: Axionize 154778082+Axionize@users.noreply.github.com - by Cyramek (bf85863)

    • Unify all APIs - by Axionize (c5855fd)
    • Fix support for messing legacy getGrimUser(Player player) method - by Axionize (8001f6c)
    • Bump PE - by Axionize (21f6988)
    • Bump API to no longer shade Player shim - by Axionize (50a25d9)
    • Command API fallback handling - by Axionize (08770f0)
    • Refactor Fabric to make permissions API and cloud optional dependencies - by Axionize (b9fa89c)
    • Fabric 1.21.11 support for fabric-permissions-api-v0 not being included - by Axionize (075cec8)
    • Update supported fabric versions - by Axionize (3659060)
    • Bump PE - by Axionize (a54329a)
    • Fix early init of CommandManager on Bukkit causing startup issues - by Axionize (fefe0d1)
    • Rename Fabric mc1211 -> mc12111 module - by Axionize (9d1682d)
    • Fix fast break false when switching tools via shulker box (#2454) - by Ayou (c043357)
    • Revert this for now, until we find a better way to fix it - by cyramek (b7a719d)
    • Don't let player reuse setback velocity (fixes #2445) (#2450) - by SamB440 (cd86c14)
    • Rename Fabric1211PlatformServer -> Fabric12111PlatformServer - by Axionize (88cfffc)
    • Refactor Resolver Lifecycle - by Axionize (35174fd)
    • Evoker fangs are unhittable - by SamB440 (80afaae)
    • Bump PE: Fixes Packet Ordering and mapping issues
    • Previa packet mapping failing due to incorrect upstream call to getPacketVersion() instead of getClientVersion(), affects previa on all versions
    • Fix Krypton + Via + Grim compat form listener relocation - by Axionize (6c49a01)
    • Add method exposing int block type from CompensatedWorld (#2464)
    • Implement feature

    • Update common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

    • Add @Override annotation

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Cubicake (2b62148)

    • Add /grim testwebhook - by ManInMyVan (327b947)
    • Improve comments in Chinese configuration file (#2490)

    Updated comments in zh.yml for clarity and translation. - by MatrixU5er (b65b7f0)

    • Load after ZNPCsPlus - by ManInMyVan (1d0cbb7)
    • Bump grim-api version - by AoElite (7be8f51)
    • Update Grim API to 1.2.4.0 - by Axionize (4ca65b1)
    • Merge branch '2.0' into lightning

    Conflicts:

    .github/workflows/build-and-publish.yml

    common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java

    common/src/main/java/ac/grim/grimac/predictionengine/PointThreeEstimator.java - by Axionize (0a6ac7a)

    ♻️ Refactoring

    • Refactor BlockEffectsResolver to accept movement list - by cyramek (29d28c6)

    🐛 Fixes

    • Fix elytra packet abuse on 1.8 servers - by ManInMyVan (f95d877)
    • Honor per-check nomodifypacket (#2477) - by runningbird2 (f118b5c)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Use config history.database.port for database connection port. Fixes #2415 - by SamB440 (42b6630)

    • Prevent torn reads and race condition on respawn on Fabric from reconstruction of ServerPlayerEntity - by Axionize (101473b)

    • Resync on netty thread instead of trying to send packets in region thread - by Axionize (80f90e6)

    • Add option to disable resyncing without API with a NoOp resync handler - by Axionize (7c68947)

    • Fix Sculk Vein replacement Phase/Simulation falses & Optimize canBeReplaced logic

    • Added replacement logic for SCULK_VEIN (mirrors GLOW_LICHEN).

    • Refactored sequential 'if' statements into an 'else-if' chain to improve branch prediction and allow early exits.

    • Reordered block checks based on frequency (Slabs, Snow, and Vines are now checked first).

    • Merged duplicate logic for multiface blocks. - by Axionize (b79d5fd)

    • Only update profiles if PLAYER_INFO_UPDATE contains ADD_PLAYER action - by Axionize (d0b30de)

    • Patch FabricatedPlace falses - by Axionize (98fd065)

    • Make CrashC verbose more consistent with other checks - by ManInMyVan (6186abc)

    • Improve FabricatedPlace patch - by Axionize (07d2010)

    • Attempt to fix disconnect.timeout cascade issues - by Axionize (639490a)

    • Fix Mushroom and Fungus Hitboxes - by Axionize (14573da)

    • Fix Coral hitboxes - by Axionize (a2074d0)

    • Add forgotten util class file for hitbox fix - by Axionize (8016586)

    • Fix merge errors in hitbox patch - by Axionize (ca64aab)

    • Update .gitignore - by Axionize (be35b9b)

    • Fix rot only accounting for reach/hitbox in 1.15 - 1.20.1 and 1.21.5 - 1.21.8 once and for all - by Axionize (9cb4547)

    • Temporary fix for Folia breaking getTPS() - by Axionize (dbd7510)

    • Faster temporary fix for Folia breaking getTPS() - by Axionize (02f6a3b)

    • Merge remote-tracking branch 'origin/2.0' into lightning - by Axionize (5c17fba)

    • Add Back Support for Legacy API (#2409)

    • Add back support for the legacy API temporarily

    • Bump API to release version - by Axionize (95e2774)

    • 1.21.11 support (#2420)
    • fix horse modern/legacy jumping mechanics, camel dash cooldown tracking (#2199)

    • implement UseEffects component

    fixes: https://github.com/GrimAnticheat/Grim/issues/2396

    • initial support for hitbox margin

    • compensableDashableEntities -> dashableEntities

    • implement floating in water

    • implement nautilus movement

    todo: fix dashing, fix step

    • fix 0.03 fluid pushing

    this code was dropped in: https://github.com/GrimAnticheat/Grim/commit/1a6a8c57583ef12556241383829eb5f7dcc3595f

    • fix nautilus dashing

    • improve precision while dashing

    • actually fix dashing

    I'm really dumb ngl, vanilla packet sequence:

    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

    • implement all prediction engines for nautilus

    I will refactor this later

    • support new gliding behavior

    • refactor nautilus prediction engines

    • implement parched boundingbox

    • add support for fast lava gameplay attribute in fluid pushing

    • camels have variants now

    • WIP tick-based world borders

    • fix off ground camel dashing

    thanks thisisatest8406

    • add onGround tracking for entities

    • revert tracking entity onGround

    I decided that I don't care enough, camels are bugged as hell, everything desync

    • remove unneeded diff

    • fix pending jumps and camel off-ground dashing

    • remove outdated comment regarding nautilus jumping logic

    • Add support for max_reach AttackRange component


    Co-authored-by: Axionize 154778082+Axionize@users.noreply.github.com - by Cyramek (bf85863)

    • Unify all APIs - by Axionize (c5855fd)
    • Fix support for messing legacy getGrimUser(Player player) method - by Axionize (8001f6c)
    • Bump PE - by Axionize (21f6988)
    • Bump API to no longer shade Player shim - by Axionize (50a25d9)
    • Command API fallback handling - by Axionize (08770f0)
    • Refactor Fabric to make permissions API and cloud optional dependencies - by Axionize (b9fa89c)
    • Fabric 1.21.11 support for fabric-permissions-api-v0 not being included - by Axionize (075cec8)
    • Update supported fabric versions - by Axionize (3659060)
    • Bump PE - by Axionize (a54329a)
    • Fix early init of CommandManager on Bukkit causing startup issues - by Axionize (fefe0d1)
    • Rename Fabric mc1211 -> mc12111 module - by Axionize (9d1682d)
    • Fix fast break false when switching tools via shulker box (#2454) - by Ayou (c043357)
    • Revert this for now, until we find a better way to fix it - by cyramek (b7a719d)
    • Don't let player reuse setback velocity (fixes #2445) (#2450) - by SamB440 (cd86c14)
    • Rename Fabric1211PlatformServer -> Fabric12111PlatformServer - by Axionize (88cfffc)
    • Refactor Resolver Lifecycle - by Axionize (35174fd)
    • Evoker fangs are unhittable - by SamB440 (80afaae)
    • Bump PE: Fixes Packet Ordering and mapping issues
    • Previa packet mapping failing due to incorrect upstream call to getPacketVersion() instead of getClientVersion(), affects previa on all versions
    • Fix Krypton + Via + Grim compat form listener relocation - by Axionize (6c49a01)
    • Add method exposing int block type from CompensatedWorld (#2464)
    • Implement feature

    • Update common/src/main/java/ac/grim/grimac/utils/latency/CompensatedWorld.java

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com

    • Add @Override annotation

    Co-authored-by: ManInMyVan 113963219+ManInMyVan@users.noreply.github.com - by Cubicake (2b62148)

    • Add /grim testwebhook - by ManInMyVan (327b947)
    • Improve comments in Chinese configuration file (#2490)

    Updated comments in zh.yml for clarity and translation. - by MatrixU5er (b65b7f0)

    • Load after ZNPCsPlus - by ManInMyVan (1d0cbb7)
    • Bump grim-api version - by AoElite (7be8f51)
    • Update Grim API to 1.2.4.0 - by Axionize (4ca65b1)
    • Merge branch '2.0' into lightning

    Conflicts:

    .github/workflows/build-and-publish.yml

    common/src/main/java/ac/grim/grimac/checks/impl/combat/Reach.java

    common/src/main/java/ac/grim/grimac/predictionengine/PointThreeEstimator.java - by Axionize (0a6ac7a)

    ♻️ Refactoring

    • Refactor BlockEffectsResolver to accept movement list - by cyramek (29d28c6)

    🐛 Fixes

    • Fix elytra packet abuse on 1.8 servers - by ManInMyVan (f95d877)
    • Honor per-check nomodifypacket (#2477) - by runningbird2 (f118b5c)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Adjust canGlide logic to try to improve compatibility - by AoElite (679e869)
    • Adjust isGlider logic to account for items that can't be depleted - by AoElite (acf273f)
    • Revert "fix incorrect EquipmentSlot mappings in isGlider logic"

    This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)

    • Refactor repo logic to support mavenLocalOverride - by Axionize (965008f)
    • Bump PE - by Axionize (12f6af3)
    • Add initial support for 1.21.11 and update dependencies - by Axionize (97b8758)
    • Fix gliders not working in offhand slot (#2397) - by iLemon (32f607b)
    • Bump github actions-upload-artifact versions - by Axionize (9bd12cc)
    • Make runner configurable to work around Tenki issues (#2398) - by Axionize (f772b74)
    • Fix NPE when Spigot late-bind option is enabled & improve injection logic

    This PR fixes a NullPointerException that occurred when the Spigot "late-bind" option was enabled on servers prior to 1.14.4.

    Changes:

    • Changed injection priority: The plugin now attempts to register the Paper TickEndEvent first. It only falls back to NMS reflection if the Paper API is unavailable.
    • Added a null check for the server connection instance to prevent the NPE during reflection injection.
    • Added specific error logging: If injection fails on legacy servers (< 1.14.4), the plugin now reflectively checks spigot.yml settings to explicitly warn the user if late-bind is the cause.
    • Refactored reflection logic to use ReflectionUtils for better safety and code cleanliness. - by uRyanxD (5f02ccc)
    • Bump PE - by Axionize (92d06e4)
    • Build ci changes - by Axionize (9626712)
    • Cache map values for performance (#2407) - by Rothes (8f0036e)
    • Merge remote-tracking branch 'origin/2.0' into lightning

    Conflicts:

    .github/workflows/build-and-publish.yml - by Axionize (8379457)

    • Clean up OptifineFastMath.java a bit - by ManInMyVan (2d8def6)
    • Support CAMERA packet (#2303) - by ManInMyVan (d374c2b)
    • Add PlatformPlayerFactory#getOfflinePlayers() - by Axionize (ce0dad5)
    • Stash work - by Axionize (90193b4)
    • Fix reach regression in not flagging clients from versions 1.15 to 1.20.1 due to rot only regression - by Axionize (60b70d1)
    • Merge branch 'fix/reach-infinite-expanding-hitbox' into 2.0 - by Axionize (4292e93)
    • Merge branch '2.0' into lightning - by Axionize (daa3bfe)

    🐛 Fixes

    • Fix incorrect EquipmentSlot mappings in isGlider logic - by AoElite (d96d683)
    • Exclude Azalea from Sapling hitbox definitions - by Axionize (4a104e2)
    • Bubble Column, Azalea, Bed, and Ceiling Wall Sign hit/collision boxes - by Axionize (c019566)
    • Bump gradle wrapper to fix build - by Axionize (c2afc62)
    • Fix NPE due to incorrect initialization order - by cyramek (9e745fd)

    🤖 Maintenance & CI

    • Bump shadow - by Axionize (955b725)
    • Increase default building memory allocation - by Axionize (55da384)
    • Bump PE - by Axionize (b6f9f86)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Adjust canGlide logic to try to improve compatibility - by AoElite (679e869)
    • Adjust isGlider logic to account for items that can't be depleted - by AoElite (acf273f)
    • Revert "fix incorrect EquipmentSlot mappings in isGlider logic"

    This reverts commit d96d683b14150d6e0f486a63cf1a74c417c6a84b. - by AoElite (0153ce3)

    • Refactor repo logic to support mavenLocalOverride - by Axionize (965008f)
    • Bump PE - by Axionize (12f6af3)
    • Add initial support for 1.21.11 and update dependencies - by Axionize (97b8758)
    • Fix gliders not working in offhand slot (#2397) - by iLemon (32f607b)
    • Bump github actions-upload-artifact versions - by Axionize (9bd12cc)
    • Make runner configurable to work around Tenki issues (#2398) - by Axionize (f772b74)
    • Fix NPE when Spigot late-bind option is enabled & improve injection logic

    This PR fixes a NullPointerException that occurred when the Spigot "late-bind" option was enabled on servers prior to 1.14.4.

    Changes:

    • Changed injection priority: The plugin now attempts to register the Paper TickEndEvent first. It only falls back to NMS reflection if the Paper API is unavailable.
    • Added a null check for the server connection instance to prevent the NPE during reflection injection.
    • Added specific error logging: If injection fails on legacy servers (< 1.14.4), the plugin now reflectively checks spigot.yml settings to explicitly warn the user if late-bind is the cause.
    • Refactored reflection logic to use ReflectionUtils for better safety and code cleanliness. - by uRyanxD (5f02ccc)
    • Bump PE - by Axionize (92d06e4)
    • Build ci changes - by Axionize (9626712)
    • Cache map values for performance (#2407) - by Rothes (8f0036e)
    • Merge remote-tracking branch 'origin/2.0' into lightning

    Conflicts:

    .github/workflows/build-and-publish.yml - by Axionize (8379457)

    • Clean up OptifineFastMath.java a bit - by ManInMyVan (2d8def6)
    • Support CAMERA packet (#2303) - by ManInMyVan (d374c2b)
    • Add PlatformPlayerFactory#getOfflinePlayers() - by Axionize (ce0dad5)
    • Stash work - by Axionize (90193b4)
    • Fix reach regression in not flagging clients from versions 1.15 to 1.20.1 due to rot only regression - by Axionize (60b70d1)
    • Merge branch 'fix/reach-infinite-expanding-hitbox' into 2.0 - by Axionize (4292e93)
    • Merge branch '2.0' into lightning - by Axionize (daa3bfe)

    🐛 Fixes

    • Fix incorrect EquipmentSlot mappings in isGlider logic - by AoElite (d96d683)
    • Exclude Azalea from Sapling hitbox definitions - by Axionize (4a104e2)
    • Bubble Column, Azalea, Bed, and Ceiling Wall Sign hit/collision boxes - by Axionize (c019566)
    • Bump gradle wrapper to fix build - by Axionize (c2afc62)
    • Fix NPE due to incorrect initialization order - by cyramek (9e745fd)

    🤖 Maintenance & CI

    • Bump shadow - by Axionize (955b725)
    • Increase default building memory allocation - by Axionize (55da384)
    • Bump PE - by Axionize (b6f9f86)
  • Changes in this Build (since previous push)

    Miscellaneous

    • Update upstream
    • 1.21.10 support
  • Changes in this Build (since previous push)

    Miscellaneous

    • Update upstream
    • 1.21.10 support
    • Update upstream
    • Update upstream
    • Fix typo causing Piston false (71bd30a10)
    • Fix typo causing Piston false (71bd30a10)
    • Update upstream: numerous bug fixes
    • New optimized
      • SUPPORT FOR OLD GRIM HISTORY FORMAT HAS BEEN DROPPED NOW THAT IT IS UPSTREAMED. YOUR OLD DATA WILL NOT BE MIGRATED AND SHOWN BUT THE COMMAND WILL STILL WORK.
    • Update upstream: numerous bug fixes
    • New optimized
      • SUPPORT FOR OLD GRIM HISTORY FORMAT HAS BEEN DROPPED NOW THAT IT IS UPSTREAMED. YOUR OLD DATA WILL NOT BE MIGRATED AND SHOWN BUT THE COMMAND WILL STILL WORK.
    • Fix numerous 1.21.2+ sneaking & vehicle issues
    • Fix numerous 1.21.2+ sneaking & vehicle issues
    • Happy Ghast support
    • Fix 1.13 Vine hitbox
    • Fix issue with server sending player inventory slot updates whilst in an unsupported inventory
    • Happy Ghast support
    • Fix 1.13 Vine hitbox
    • Fix issue with server sending player inventory slot updates whilst in an unsupported inventory
1
...

Сведения

Лицензия:
Опубликован:1 год назад
Обновлён:2 недели назад
ID проекта:
Главная