We need to construct attributes with their key if possible to avoid stacking. Uses reflection :( to do this.
Also adds a bit of error checking to health scale syncing
Paper plugins don't get run through bytecode fixups by Spigot's Commodore. Spigot changed InventoryView to an interface recently, which causes this to be thrown.
All UUIDs are now read and written as actual UUID objects, which was before causing errors due to a mixed use of UUID objects and string representations.
* Upgrade the Fabric version and rewrite the code.
* Migrate the completed code of version 1.19.2.
* fabric: some events.
* Updated open source license to Apache 2.0.
* Add Plan analyzer support.
* Fix build.
* `UnsupportedOperationException`
* More fabric implementation work, update to v3's structure
* Suppress compiler warnings
* Add commands, adjust registration order
* Inventory and ender chest data/serializers
* Update license headers
* Fixup shaded library relocations
* Fix build
* Potion effects & location serializers
* Catch `Files.createDirectory(path);` in `#getDataFolder`
* Update fabric.mod.json metadata, correct icon
* Events for Fabric (#218)
* Added apache commons pool2 dependency
A NoClassDefFoundError would get thrown without this dependency. Relocation appears to not work very well either, so it has been excluded for now
* Added in Item Pickup and Drop events and mixins
* Update husksync.mixins.json
* Switch drop item event to using Network Handler mixin
* Implemented even more events
- Interact block (place too)
- Interact Entity
- Use Item
- Block Break
- Player damage
- Inventory Click (handles drops)
- Player Commands
* Re-implement the dropItem mixin
* Set dropItem mixin as cancellable
* deps: Include all bukkit runtime deps
* fix/fabric: Supply AudienceProvider to `ConsoleUser` constructor
* docs: credit Fabric porters :)
* fix: Item deserialization now working
* refactor: Remove inventory debug log
* docs: Update `fabric.mod.json`
* refactor: update with upstream changes
* fix: dangling JD comment
* fix: config file reference fixes
* refactor: optimize imports, fix relocation
* refactor: move tag references to common
* refactor: use lombok for data / serializer methods
* fix: bad annotating
* refactor: adjust callback formatting
* fabric: bump deps, refactor to match main branch
* fabric: more serializer type work
* feat: register more fabric data serializers
also fixes a compile issue on bukkit, and refactors the JSON serializer to be in the common module
* feat: implement remaining Fabric serializers
* feat: add on-the-fly DFU for Fabric
Now auto-upgrades item data to support version bumps. Also improved the schema a lil' bit.
* feat: add missing mixins
* feat: implement toKeep/toDrop option on Fabric
* feat: apply stats on sync
* build: append fabric MC version to file name
* feat: add HuskSync API support for Fabric
Also updates the docs
* refactor: fixup a deprecation in the wrong spot
* refactor: optimize fabric item serializing in-line with Bukkit
* feat: implement viewer GUIs on Fabric
* docs: Fabric is in Alpha for now
---------
Co-authored-by: hanbings <hanbings@hanbings.io>
Co-authored-by: Stampede <carterblowers01@gmail.com>