This improves data fetching speed in cases where a user logs out during sync application; when they log back in, the server will petition the server they are checked out on to check them out.
We also now unlock users after saving sync on a server to accommodate this, and track user disconnection status to avoid inconsistencies with what platforms return for `isOnline`
* 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>
* feat: convert Fabric to use essential-multi-version
* fix: populate compatibility.yml with mc version
* feat: start WIP work on doing the same for bukkit
* refactor: use preprocessor plugin to multi-version bukkit
* docs: update README to mention multi-version stuff
* build: also include javadocs for Bukkit
* build: update CI workflows
also slightly simplifies buildscript
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)