Skip to content

HuskSync 3.0 - New Data Format, API; Improved UX

Compare
Choose a tag to compare
@WiIIiam278 WiIIiam278 released this 21 Sep 19:34
· 374 commits to master since this release

HuskSync 3.0 is a major release introducing a new, much more versatile data format to enable developers. It supports Minecraft 1.16.5—1.20.2 (released today).

  • Introduced data format v4 — a much more modular format which improves the capability of the HuskSync API
  • Added better support for modded items and plugins which inject ItemStacks with custom NBT tags directly, in addition to the existing support for items with Persistent Data Container (PDC) data
    • It is my intent that plugins such as MMOItems, MythicMobs and ItemsAdder will have their data correctly synced starting with this release.
  • HuskSync will now synchronise Custom Persistent Data Tags applied to players (#155)
  • Banners on locked maps will now be synchronised, and locked map syncing should be more stable in general.
  • The approximate file size of a data snapshot, in KiB, is now displayed on the Data Snapshot List menu and Overview menu.
  • Added a new config option to allow for the customisation of a minimum time for creating additional data snapshots (default: 4h), to make the set of backups available on-hand to administrators more useful.
    • The intent here is that HuskSync should keep the last snapshot from the last X number of play sessions, to allow for more convenient rollbacks if the worst happens
  • Fixed an issue where HuskSync would not save data correctly on server shutdown (#159)
  • Fixed various compatibility issues with other plugins utilising CompletableFuture's shared thread pool (HuskSync will now execute asynchronous operations via platform-implementing APIs, such as Bukkit's task system)
    • Preliminary work has been undertaken to support Folia, which I am to support soon, though wish to test thoroughly first (and may need to adjust synchronous operations to be player-location specific).
  • Updated the Italian (it-it) locales, courtesy of @iVillager (#163)
  • API: HuskSync has an all-new API (v3), hence the major version bump. This necessitates breaking API changes and means plugin developers will have to convert their add-ons to APIv3.
    • Developers can now provide their own extensions of Data and implementations of Serializer to provide custom data
    • The new Custom Data API is already seeing use to allow the synchronisation of data from mods such as Pixelmon!
    • Much more versatile access to getting, setting and editing Data Snapshots and the data they contain

To update, drag+drop the .jar file into your /plugins/ folder and regenerate your config.yml and messages-xx-xx.yml files. Data will automatically be converted from v2.0's format. Thanks to @alexdev03 for their help testing and preparing this release.

📋 HuskSync is a premium plugin; binaries are not distributed on GitHub. Please purchase the resource from Spigot, Polymart or Craftaro.