This version of SubServers.Client has the same features as the Bukkit version, minus the chest interface.
This feature may be added in the future once the documentation surrounding chest interfaces becomes more thorough.
SubServers.Bungee & SubServers.Host now use the more standardised build signature system when deciding on if it should update SubServers.Client. This means it can also differentiate two snapshot builds of the same version from eachother.
Spigot 1.13 has a compatabilty layer for old bukkit names, this will allow you to take advantage of that.
1.12: `bukkit:grass` -> `minecraft:grass`
1.13: `bukkit:grass` -> `minecraft:grass_block`
1.13: `grass` -> `minecraft:grass`
All builds of commonly updated SubServers apps are now auto-signed with a unique Snapshot ID simalar to the ones Mojang uses. This will replace the beta version number for unreleased builds.
This commit removes the org.JSON library where alternatives are already provided (Bungee & Bukkit provide Gson). This change was made to improve compatability with BungeeCord plugins and reduce file sizes.
This means big changes to the SubData API, which heavily relied on org.JSON. Now we submit our data through YAMLSection to be converted and sent over the network.
The last three commits were changes to the way Vanilla-Patch.jar is downloaded. For compatability reasons, the old system will remain in place for now.
This commit changes the way SubServers.Host launches itself and loads it's plugins. Overall loading plugins this way is more efficient, faster, and can cause less problems than before.
Plugins will still use the package.xml & @SubPlugin annotation system to be loaded.
Also, there are some changes to the logger that better support async logging.
This is how SubServers will implement the Validator API that I suggested. I had to make some assumptions though (like how I don't expect BungeeCord's api to have a setTabValidator() method).
EventPriority is a fixed enum, where EventOrder is a short value (with predefined settings for ease of use) allowing for more fine tuning on when your events should be run