Universes 4.0-dev4

Development changelogs and builds
User avatar
WhispTheFox
Site Admin
Posts: 12
Joined: Thu Jul 02, 2020 12:53 pm
Contact:

Universes 4.0-dev4

Post by WhispTheFox »

I spent about 10 hours today working on the plugin. At this pointed, Universes is at what I would consider an Alpha. If you were to put this build in your server and load it up, you would be able to use the conersion command to move your data to the new storage system, and per world inventories would be fully functional. However, changes made to the world settings via commands or GUIs are not reflected in the database, so any changed settings would not remain after a reload or restart. Also, the database table setup is still a bit tentative while I work on the rest of the plugin. If things change, you could end up with some issues when updating. Also, I have only tested with the MySQL remote database option, and done nothing with the local SQLite database default option. So it is likely if you install this and load it up, you will see a lot of SQL errors in console and a lot of things won't work properly. It will be at least a few more days before I have a viable release candidate build. There will be a video along with the release to cover some of the important changes the 4.0 update will bring. Now, as usual, here's the changelog:

- moved inventory saving to PlayerChangeWorld
- created inventoryManagement() method in PlayerChangeWorld
- moved inventory management code to inventoryManagement()
- added stat management method
- duplicated UniversePlayer inventory manangement methods for ender chest management
- added enderChestManagement() in PlayerChangeWorld
- added check for player name change to update in database
- changed playerdata table to take json for the stats
- added stats JsonObject to UniversePlayer to store stats
- added buildStats(), loadStats(), saveStats(), and storeStats() methods to UniversePlayer
- added parseStats() and storeStats() methods to Serializer
- added query on join to check if player exists in table, inserts them if not
- removed PlayerTeleportEvent handler
- added statManagement() in PlayerChangeWorld
- fixed deserialize() in Serializer to account for ender chests
- fixed errors preventing loading of ender chest inventories and stats
- ender chest inventories per world functional
- stats per world functional
- added world settings variables and functions to Universe
- added ConvertCommand for converting worlds to new storage system
- world loading system rewritten for new storage system
- removed enderchest management functions from PlayerChangeWorld and UniversePlayer in favor of a single set of
functions to handle both
- reimplemented check for if per-world-inventories/stats is enabled
- removed SaveInventoryTask and SaveInventoryThread; they are not needed
- moved world loading code to WorldLoader
- moved command registrar, event handler registrar, and world loading trigger to UniverseLoader
- reorganized Universes main class
- implemented checks for if inventory grouping is on
- functional implementation of per-world-inventory-grouping
- implemented checks for per-world-stats
- functional implementation of per-world-stats
- per world inventories feature fully implemented and tested
- added inventory conversion code to ConvertCommand
- added player stats conversion code to ConvertCommand
- fixed error in SQL where there was no connection validation before attempting a reconnect to database
- ConvertCommand fully implemented
- fixed bug where spawn flags were ignored on restart and reload
- replaced long looped if conditionals with simple instanceof checks when removing entities on allowMonsters and
allowAnimals toggle

download url: downloads/Universes%204.0-dev4.jar