Skip to content
This repository was archived by the owner on Apr 30, 2026. It is now read-only.

BIG UPDATE. - #51

Open
Snewmy wants to merge 7 commits into
Ordwen:masterfrom
Snewmy:Daily&Weekly
Open

BIG UPDATE.#51
Snewmy wants to merge 7 commits into
Ordwen:masterfrom
Snewmy:Daily&Weekly

Conversation

@Snewmy

@Snewmy Snewmy commented May 20, 2024

Copy link
Copy Markdown

Minor Changes:

  • Command system no longer uses plugin.yml, and now has values from the config.yml to easily change the command name and aliases, by extending BukkitCommand and using a lil reflection. (Deleted tab completer classes, and changed PlayerMessages into just a utility class instead of an abstract class.

  • Inventory/GUI handling system changed from the ol' checking inventory name, to using InventoryHolder.

  • Converted quest save/load system to use quest id's instead of index, due to the fact that any quests that fail to load will ruin the index system, making player's quests reset everytime they login and log-out. Quest IDs being the number in each quest file.

  • Added paperweight & runPaper gradle plugins for easy testing.

  • Added lombok for easy getters and setters. A lot of other classes can be converted to using lombok but I mostly left the others alone and just used it on any class that I had to add.

** MAJOR CHANGES **
Quests can now run multiple systems at once, so you can have one on one quest mode and temporality mode, and one on the other. By default I named these for having "weekly" quests running at the same time as daily quests, however all of the names and everything are easily changed.

  • All basic data that was previously stored is now stored inside an object called "QuestSystem", which is simply loaded onEnable(). From there, every method that would previously load quests, or get the mode, quests, literally anything, now will have a QuestSystem object in the parameter, to get the respective systems data. How this is done is simply by doing a forEach() lambda.

  • By Default, the second system is turned off (can be adjusted in config), and the plugin will function completely normally.

Snewmy and others added 7 commits May 8, 2024 12:14
Minor Changes:
- Command system no longer uses plugin.yml, and now has values from the config.yml to easily change the command name and aliases, by extending BukkitCommand and using a lil reflection. (Deleted tab completer classes, and changed PlayerMessages into just a utility class instead of an abstract class.

- Inventory/GUI handling system changed from the ol' checking inventory name, to using InventoryHolder.

- Converted quest save/load system to use quest id's instead of index, due to the fact that any quests that fail to load will ruin the index system, making player's quests reset everytime they login and log-out. Quest IDs being the number in each quest file.

- Added paperweight & runPaper gradle plugins for easy testing.

- Added lombok for easy getters and setters. A lot of other classes can be converted to using lombok but I mostly left the others alone and just used it on any class that I had to add.

** MAJOR CHANGES **
Quests can now run multiple systems at once, so you can have one on one quest mode and temporality mode, and one on the other. By default I named these for having "weekly" quests running at the same time as daily quests, however all of the names and everything are easily changed.

- All basic data that was previously stored is now stored inside an object called "QuestSystem", which is simply loaded onEnable(). From there, every method that would previously load quests, or get the mode, quests, literally anything, now will have a QuestSystem object in the parameter, to get the respective systems data. How this is done is simply by doing a forEach() lambda.

- By Default, the second system is turned off (can be adjusted in config), and the plugin will function completely normally.
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
2 Security Hotspots
E Reliability Rating on New Code (required ≥ A)

See analysis details on SonarCloud

Catch issues before they fail your Quality Gate with our IDE extension SonarLint

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant