Commit Graph

50 Commits (48f70378986596b9b69caac5c34918b895c04bd9)

Author SHA1 Message Date
Preva1l 67dddf0cfa
feat: Add support for MongoDB data storage (#250)
* 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>
9 months ago
William 318aacd432
refactor: minor tidy up 9 months ago
William278 a5d3015c6e feat: allow customizable save / update causes 10 months ago
William278 f6773f4e68 build: bump to 3.3.2 10 months ago
William c2ae9bd20a
build: bump to 3.3.1 10 months ago
William278 685431a40d api: add cross-platform API support 10 months ago
William278 24453d0e1a build: Require Java 17, Minecraft 1.17.1 10 months ago
William278 6641e11fd9 fix: high latency redis environments firing data updates twice 10 months ago
William 29805bfe04
docs: bump to 3.2.1 11 months ago
William 02ed9687ee
deps: Bump runtime dependencies 11 months ago
William 08889a1739
docs: Bump to 3.2 (Redis key protocol changes) 11 months ago
William278 664c8c3352 Bump to 3.1.3 12 months ago
William 8fad075357
Bump to 3.1.2 12 months ago
William 729230a646
ci: Update deps, tidy workflow files 12 months ago
William 0f35331441
Bump runtime dependencies 1 year ago
William e096e58c45
Bump to 3.1.1, bump jedis to 5.0.1 1 year ago
William cae17f6e68
Introduce new lockstep syncing system, modularize sync modes (#178)
* Start work on modular sync systems

* Add experimental lockstep sync system, close #69

* Refactor RedisMessageType enum

* Fixup lockstep syncing

* Bump to 3.1

* Update docs with details about the new Sync Modes

* Sync mode config key is `mode` instead of `type`

* Add server to data snapshot overview

* API: Add API for setting data syncers

* Fixup weird statistic matching logic
1 year ago
William c406f40898
Bump to 3.0.2 1 year ago
William 7034a97d3a
Fix wrong timestamp/UUID being used for legacy conversion (#167)
* Maintain legacy snapshot IDs when updating

* Also maintain timestamps during conversion

* Actually implement timestamp fix in LegacyConverter
1 year ago
William 105f65c93a
v3.0: New modular, more compatible data format, new API, better UX (#160)
* Start work on v3

* More work on task scheduling

* Add comment to notification display slot

* Synchronise branches

* Use new HuskHomes-style task system

* Bump to 2.3

* Remove HuskSyncInitializationException.java

* Optimise database for MariaDB

* Update libraries, move some around

* Tweak command registration

* Remove dummyhusksync

* Fixup core synchronisation logic to use new task system

* Implement new event dispatch subsystem

* Remove last remaining future calls

* Remove `Event#fire()`

* Refactor startup process

* New command subsystem, more initialization improvements, locale fixes

* Update docs, tweak command perms

* Reduce task number during data setting

* add todo

* Start work on data format / serialization refactor

* More work on Bukkit impl

* More serialization work

* Fixes to serialization, data preview system

* Start legacy conversion skeleton

* Handle setting empty inventories

* Start on-the-fly legacy conversion work

* Add advancement conversion

* Rewrite advancement get / apply logic

* Start work on locked map persistence

* More map persistence work

* More work on map serialization

* Move around persistence logic

* Add testing suite

* Fix item synchronisation

* Finalize more reliable locked map persistence

* Remove deprecated method call

* remove sync feature enum

* Fix held item slot syncing

* Make data types modular and API-extensible

* Remove some excessive debugging, minor refactor

* Fixup date formatting, improve menu UIs

* Finish up legacy data converting

* Null safety in item stack serializaiton

* Fix relocation of nbtapi, update dumping docs

* Add v1/MPDB Migrators back in

* Fix pinning/unpinning data not working

* Consumer instead of Function for editing data

* Show file size in DataSnapshotOverview

* Fix getIdentifier always returning empty

* Re-add items and inventory GUI commands

* Improve config file, fixup data restoration

* Add min time between backups (more useful backups!)

* More work on backups

* Fixup backup rotation frequency

* Remove stdout debug print in `#getEventPriority`

* Improve sync complete locale logic, fix synchronization spelling

* Remove `static` on exception

* Use dedicated thread for Redis, properly unsubscribe

* Refactor `player` package -> `user`

* `PlayerDataHolder` -> `UserDataHolder`

* Make `StatisticsMap` public, but `@ApiStatus.Internal`

* Suppress unused warnings on `Data`

* Add option to disable Plan hook

* Decompress legacy data before converting

* Decompress bytes in fromBytes

* Check permission node before serving TAB suggestions

* Actually convert legacy item stack data

* Fix syntax errors

* Minor method refactor in items command

* Fixup case-sensitive parsing in HuskSync command

* Start API work

* More work on API, fix potion effects

* Fix cross-server, config formatting for auto-pinned issue

* Fix confusion with UserData command, update docs images

* Update commands docs

* More docs updating

* Fix sync feature enabled/disabled checking logic

* Fix `#isCustom()`

* Enable persistent_data syncing by default

* docs: update Sync-Features config snippet

* docs: correct typo in Sync Features

* More API work

* bukkit: slightly optimized schedulers

* More API work, various refactorings

* docs: Start new API docs

* bump dependencies

* Add some basic unit tests

* docs: Correct typos

* More docs work, annotate DB methods as `@Blocking`

* Encapsulate `RedisMessage`, minor optimisations

* api: Simplify `#getCurrentData`

* api: Simplify `editCurrentData`, using `ThrowingConsumers` for better error handling

* docs: More Data Snapshot API documenting

* docs: add TOC to Data Snapshot API page

* bukkit: Make data types extend BukkitData

* Move where custom data is stored, finish up Custom Data API docs

* Optimise imports

* Fix `data_manager_advancements_preview_remaining` locale

* Fix advancement and playtime previews

* Fix potion effect deserialization

* Make snapshot_backup_frequency default to 4, more error handling/logging

* docs: Add ToC to Custom Data API

* docs: Minor legacy API tweaks

* Remove some unneeded catch logic

* Suppress a few warnings

* Fix Effect constructor being supplied in wrong order
1 year ago
William 62095364ce
2.2.8: Explicitly specify MariaDB Driver class name 1 year ago
William 304df9984c
[ci skip] Bump to 2.2.7 1 year ago
William 12e882fe22
v2.2.6: Crafting inventory safety, Maria v11 support (#153)
* Clear player inventory crafting slots on sync

* Bundle Maria driver for v11 support
1 year ago
William 0fae3484a1
Add workflow files, test reporting, maven publishing, docs, bump version 2 years ago
William278 e7e7995e4e Bump dependencies 2 years ago
William278 cde500a123 Bump to 2.2.4 2 years ago
William278 f15790030f Update dependencies 2 years ago
William 3425c97245
Bump to v2.2.3 2 years ago
William e98bac844a Hotfix bump to 2.2.2 - fix unchecked cast on trident lock check 2 years ago
William ad885a9a15 Bump library versions, fix test dependencies 2 years ago
William 33588c2345 Bump to v2.2.1 2 years ago
William cf7912a89e Bump to 2.2 2 years ago
William d5569ad3ed Fix event priorities in config, bump to 2.1.3 2 years ago
William df247b41f4 Bump to v2.1.2 2 years ago
William c05f165278 Bump to v2.1.1 2 years ago
William 3d232f97fb Shade adventure instead of bundling at runtime 2 years ago
William 0754837820 Start work on data list pagination via PagineDown, update locales 2 years ago
William 049cd8ecca Migrate plugin to MineDown/Kyori-adventure 2 years ago
William278 ff1ace8342 Update version format 2 years ago
William 258356e45d Bundle boosted-yaml, adjust shading and build scripts 2 years ago
William dafbcad10e Fix PersistentDataContainer synchronisation, bump to v2.0.2 2 years ago
William 4663842946 Prepare v2.0.1 release 2 years ago
William 9d6da91a5e Bump up to 2.1 2 years ago
William 38c261871a Basic bukkit implementation 2 years ago
William 9471e0cbff Start 2.0 rewrite
Use redis key caching, remove need for proxy plugin
Make platform independent to allow porting to other platforms
2 years ago
William a76aecdd23 Refactor package to net.william278; update dependencies & stop shading internal modules 3 years ago
William ae439595ea Async data serialization and add synchronization_timeout_retry_delay config option 3 years ago
Harvels X 1a45100907
Add Gradle parallel execution of tasks; 3 years ago
Harvels X 545c0896f0
Add: static project properties; 3 years ago
William 6742131d96 Initial commit 3 years ago