- 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
Changes from https://github.com/GrimAnticheat/Grim/pull/2079 remain unmerged. New movement, entity, and attribute fixes have not been accounted for. This merely allows Grim to boot on 1.21.6/1.21.7-rc2 servers and 1.21.6/1.21.7-rc2 players to join.
* 1.21.5 partial changes
* leftover
* cleanup
* check if player is in vehicle
* 1;1 input transformation
* forgot to push that
* notes
* i hate mutability
* not the case
* this is the right way
* note
* java style
* initial block collisions support
* incorrect fix for powder snow issues (1.21.4)
* support 1.18.2+ horizontal collision detection
* Seperated/Abstracted:
- Thread Management
- GrimEntity/PlatformPlayer + PlatformInventory
- PlatformWorld, PlatformChunk, Location
- Removed many bukkit dependencies
- Migrated Bukkit Events to own code section
- Disabled BStats temporarily
* Refactor Part 2:
- Replace Vectors
- Replace ChatColor.translateColorCodes()
* Stash code
* Almost there; just events and bukkit extensions left
* Fix plugin compilation and exeution of commands
* Refactor Part 3:
Checkpoint
Need to implement:
- Fix PlaceHolderAPI and ManInMyVan's MessageUtil logic error
- Add BStats back
- Add platform independent Permissions
- Make TickEndEvent handling platform independent
Need to Test:
- ProxyAlertMessenger
- Commands
* Platform Independence Achieved!
* Multi-module project init setup
* Complete multi-module project setup
* Fabric Support MVP
- Registering permissions likely incomplete
- Building jar incomplete; only works in Debug mode
- Exempting on reload not done
- Plugin Channels not implemented
* Platform loading fixes
* Refactor resyncPosition() internally; may move to platformPlayer in future
* Beta Fabric Support Complete + General Bug Fixes:
- Generate autocompletions for permissions
- Make OP, and enable-on-join permissions false by default even for ops
- Fixed usage of isWorldLoaded() in pre-migration codebase from breaking 1.8 support
- Numerous command loader bugs fixed
- A lot more
* Fix Fabric execution and shutdown; Initial Fabric build script
* Finish Fabric buildscript; now builds runnable jar
* Fix Actions workflow
* Build against new Grim API instead of locally
* Temporarily build against my fork to fix PacketEvent's broken Fabric support
* Fix scheduler hierachy issue
* Moderate refactoring and codebase cleanup
Fixed GitHub actions
Note that Fabric platform is missing:
- Pistons
- Providing an instance of GrimExternalAPI for other plugins/mods to get
- and more
* PE datatype refactor; Fix Folia support
* Fix endTick on Folia
* Refactor Fabric to support 1.21.4, 1.21.1, and (soon) 1.16.1
* Add 1.20.1 support (once PE is fixed)
* Actuallly commit 1.20.4 support
* Fix Legacy (< 1.16.5) Big DripLeaf CollisionBox modeling
* Fix project build issues and fix 1.20.1 support
* Configure builds to use shared lib versions files; push for rebuild with updated PE; (Working 1.20.1)
* Code cleanup
* Minor code cleanup
* Bump Fabric loom version; trigger rebuild on updated PE fork with Fabric fixes
* Fix 1.8 support using non-existent inventory method
* Fix running fabric in IDE and dev mode
Credit: @Bawnorton
* Hopefully Fix inventory errors
* Cleanup Fabric buildscript
* Fix rare preconditions error with checking for null platformPlayer
* Fix Build error from rebasing https://github.com/GrimAnticheat/Grim/commit/aab710dd8b55bc6fbe88f0f4c79aa214527a20dd
* Code cleanup to address code review concerns
* Fix build issues with relocation on bukkit; force rebuild for fabric registry fix with PE
* Fix library relocation typo
* Bump snakeyaml version for Fabric support
* Build against slim configuralize for fabric support
* Fix Geyser-Fabric compatability
* Initable refactor; support multiple types of initables as one object; shutdown fabric bstats
* Fix updating native ServerPlayerEntity reference; Refactor @NonNull annotations
* Translation parity (and more/better) with pre-platform-independence port
* Make Grim rely on JiJed and loaded PE API; Transition PacketPlayerDigging to be cross-platform from upstream
* Add support for Spigot 1.17 - 1.18.2 itemUsageReset()
- Also decrease allocated via gradle.properties
- Forces rebuild with new PE which will fix Geyser detection
* Only include fabricAPI modules we use, reuse dependency code for multiple projects
* New API refactor with getEventBus()
* Minor Build optimization
* Bump RAM allocation to Gradle in root gradle.properties
* Fix build issues with downloading Conditional Mixin library for PE Fabric
* Partially fix lack of suggestions in cloud commands when incorrect command/typo is typed (only works when required arguments missing in a command on modern brigadier servers due to cloud bug, will fix later)
- Also force rebuild with new PE
* Fix build errors from rebasing
* Add explicit dependency for parent mod on packetevents
* Refactor to use new API with better EventBus and consolidate event-bus related code to be non-platform specific
* Fix error with teleporting between dimensions
* Update Loom; Buildscript consolidation and improvements
* Initial 1.21.5 Support
* Significantly reduce Fabric jar size
* Fix 1.21.5 Support breaking with new Chunk format
* Improve performance of underlying Collection used for exemptUsers
* Update API; Add support for overriding player.resyncPosition(x, y, z, sequence)
* Minor Annotation Style changes
* Execute piston updates from Bukkit Event in player netty channel.
- This fixes a rare race condition with pistons. https://github.com/GrimAnticheat/Grim/issues/2031
- Reduces load on main thread (we check for isChunkLoaded() and do processing in netty channel helper now)
* Fix 1.21.5 support and entity metadata
- Fixed 1.21.5 Pig Variant entity metadata handling
- Read Strider isShaking value from entity metadata
- (Hopefully) Fix 1.8 horse saddle modeling
* Fix working with cooldown groups
* Fix 1.21.5 Inventory compatability issues
* Improve performance of internal sendAlert command invocations
* Fix PlaceholderAPI replacements
* Address code review styling concerns. Fix errors from rebasing on 2.0.
* Fully replace underlying native inventory and player objects when reset on death.
- Fixes fastbreak issues after dying with keepInventory off
* Fix rebase on top of more 1.21.5 and other movement fixes.
* Implement new versioning scheme: https://github.com/GrimAnticheat/Grim/wiki/Versions-and-Versioning
* Rewrite Fabric multi-version support
- handles 1.16.1 - 1.21.5 (currently only 1.19.3+ works due to Cloud command library limitations)
- Java 21 -> Java 17 requirement for Fabric on older versions that didn't require Java 21
* Startup time optimization
* Fix Fabric Inventory from multi-version refactor
* Fix update checker by fixing version parsing for new version schema
* Complete translations
* Improve Reach and Hitboxes config
* Fix Entity Modeling
- Save data for what mobs can be hit for future hit-un-hittable-entity-check
- Fix bounding boxes and modeling sizes for some entities (firework rocket, falling block, guardians, armor stands)
- Fix modeling of numerous types of baby mobs
* Add support for Fastbreak on blocks that don't exist in client version
* Fix error when kicking player on Fabric 1.20.2+
* Fix Fabric PlatformEntity and PlatformInventory loader issue
* Fix executing commands in Fabric 1.20.3+
* Build 1.17 module against 1.17.1; Fix loader naming inconsistencies
* Fix logic error with FabricAsyncScheduler's runAtFixedRate()
* use our own webhook system
* Fix build issues with compileOnly exports and RotationData/BadPacketsB imports
* Fix issue with running some commands on 1.21.2+
* update GrimAPI used in build script
* Fix building with new API
---------
Co-authored-by: cyramek <xcyramek@gmail.com>
Co-authored-by: ManInMyVan <113963219+ManInMyVan@users.noreply.github.com>