The file paths previously pointed to the user home directory. This commit adjusts the paths to consistently use a mount point directory instead. The change affects the 'QuestsConfig', 'Config', 'MessagesConfig', and 'DatabaseConfig' classes.
This commit fixes a bug where the quest reroll feature could be used repeatedly without restrictions. Now, appropriate responses will be given in cases where the quest is still loading or if the daily quest has already been completed. This ensures that the player cannot misuse the reroll functionality.
Quest saving logic was abstracted into a saveQuest method in the Quest class to avoid redundancy. This change was reflected in OtherQuest, MineQuest, BreedMobsQuest, KillMobsQuest and CollectDropsQuest classes. Additionally, the Galaxy-API version was updated in the build.gradle.kts file.
Reformatted several classes for optimization purposes. This includes removing unnecessary try-catch blocks, redundant initializers and imports, and condensing confirmation checks. Additionally, updated the `Database` class's `createUserPointsTable` and `createQuestLogTable` methods to use try-with-resources to ensure proper resource management.
All code sections that were commented out are now completely removed, resulting in a cleaner and more efficient codebase. In addition, the method 'unloadUser' in the Quest class, which previously only included a comment suggesting it should be run as an async operation, is now forced to run in an asynchronous manner, potentially improving performance.
The changes made in these classes are intended to improve error handling and visibility. Instead of simply printing the StackTrace, the Logger.throwing method is now used to send error messages to the logger in a more controlled manner. This should facilitate better error tracking and resolution. The affected classes include database, configuration, and quest implementation classes.
A new 'reroll' command has been added for players to get a new quest. This feature is now reflected in the help messages. Furthermore, messages have been introduced to inform the player about successful reroll, or if the rerolling option is on cooldown.