* Better maps syncing (#2)
* Do not create new views for maps from current world
* Fix maps in shulkers not converting
* Add bundle support for map conversion
* Rework map sync
* Fix empty statements in database
* Fix missing imports
* Rename connectMapIds -> bindMapIds
* Use data adapter to save maps
* Split Mongo readMapData
* Split MySQL readMapData
* Split Postgres readMapData
* Update database schemas
Use server names instead of world UUIDs
* Update Database class
* Update MongoDbDatabase class
* Update MySqlDatabase class
* Update PostgresDatabase class
* Update BukkitMapPersister class
Use server names instead of world UUIDs
* Remove unused code
* Add my nickname to contributors :)
* Start implementing Redis map caching
* Continue implementing Redis map caching
* Bind map ids on Redis before writing to DB
* Finish implementing Redis map data caching
* refactor: decouple new map logic Redis caching from DB
* test: enable debug logging in test suite
* docs: update docs with new username method
* feat: adjust a method name
---------
Co-authored-by: Sóla Lusøt <60041069+solaluset@users.noreply.github.com>
This is a better default - as a number of attributes are primarily synced through other means (potions, items), or were applied from a context-sensitive action that does not warrant syncing across server contexts (sprinting, flying)
* 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>
* refactor: add serialization identifier dependencies for applying data
* fix: correct issues with deterministic sync order
* refactor: adjust base data type dependencies
* refactor: cleanup imports/trim whitespace
* docs: Document Identifier dependencies
* feat: fix issues with health scaling
* feat: add support for ProtocolLib packet-level state cancelling
* refactor: move commands to event listener, document ProtocolLib support
* docs: make Setup less claustrophobic
* fix: remove `@Getter` on `PlayerPacketAdapter`
* build: add missing license headers
* fix: inaccessible method on Paper
* test: add ProtocolLib to network spin test
* fix: whoops I targeted the wrong packets
* fix: bad command disabled check logic
* fix: final protocollib adjustments
* Started impl for mongo
* added docs
* refactor of the mongo code, made mongodb artifacts download at run time, tested and working
* complete all change requests
* remove mongo and bson from relocations as they arnt needed
* changed the config
* updated docs
* not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null
* added postgres support (closes https://github.com/WiIIiam278/HuskSync/issues/212)
* add support for mongodb atlas, added atlas and postrgres to docs, update the config example in docs, also updates mongodb driver bc apparently i was special and very very out of data
* Rework how mongo connections are handled, **breaks config for mongo only**, allows for MongoDB Atlas, normal MongoDb AND MongoDB replica sets via the parameters in advanced mongo settings, added try and catch on all mongo operations so that it actually throws instead of a cutsie little warning
* small doc change
* whoops forgot to instantiate MongoCollectionHelper, and added missing step from docs for atlas users
* why thats a tad embarrassing (grammar mistake)
* add cluster id to `/husksync status`, shows "MongoDB Atlas" in status if using mongodb atlas
---------
Co-authored-by: William <will27528@gmail.com>
* Started impl for mongo
* added docs
* refactor of the mongo code, made mongodb artifacts download at run time, tested and working
* complete all change requests
* remove mongo and bson from relocations as they arnt needed
* changed the config
* updated docs
* not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null not null
---------
Co-authored-by: William <will27528@gmail.com>