Skip to content

A simple back-end moderation tool for the server Monumenta utilizing Paper and CommandAPI.

License

Notifications You must be signed in to change notification settings

aaronkwan/plugin-mmquest

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

plugin-mmquest

A simple back-end moderation tool for the server Monumenta utilizing Paper and CommandAPI.

about

  • Goal: I created this plugin as a way to introduce myself to the world of Java programming. The Minecraft server Monumenta has been one of my favorite pieces of content, and what better way to get started than to build something for a cause that I'm passionate about?

  • Challenges: Most of my time was spent with setup: debugging the editor, server, and dependencies. I first tried writing with the visual studio code java extention pack, but there were a number of issues. With the help of some CommandAPI and Monumenta-plugin developers (and ChatGBT :o), I was able to install the required dependencies & shading. After much trial and error, I was finally able to start writing code!

features

  • Note: This is still a prototype with only 4 "quests", however it is easily scalable to encompass the entire content.

Quest scores in Monumenta are scoreboard objectives assigned to keep track of a player's progress in a custom content. Quests usually have a custom name (*eg: "A Crown of Topaz"*). In addition, their progress is tracked by a numerical value inside a scoreboard (*eg: a Quest01 score of 10*). When (us) moderators attempt to troubleshoot a player's Quest progress, one of the first things we do is check their Quest scoreboard value.

The only problem is that (unless you have photographic memory), it is impossible to know which scoreboard corresponds to which Quest, nor which scoreboard value corresponds to what progress. Finding this information involves logging into the moderator wiki and authenticating through discord (safety measure), often wasting precious minutes.

What if there was a way to do all of this in-game?

  • Usage: /mmquest

/mmquest (or /mmq) allows you to view or set the progress of a Quest for a specific player.

  1. You can directly set the progress of a quest: image

  2. Or, you can simply view the progress of a quest: image

  3. image

  4. You can hover and click on any Required Quests to also view their progress: image

  5. Hovering over any [number] value lists a short description of that value: image

  6. Click the [number] value to set the player's score to that value.

  7. The number associated with their score is highlighted: image

  8. Several different quest completion values are supported. For example, "Bandit Troubles" has both a good and a bad ending, which both show a green Complete near the top: image

  9. And: image

  10. Values that are placeholder or have no usage are not shown: image

  11. If there is no scoreboard objective, there will be a message: image

  12. Finally, support for errors: image image

wiki.js-parser companion

This plugin obtains Quest data from a config JSON file. It is intended to be used in conjunction with its companion, the wiki.js-parser, which automatically generates JSON files from the Monumenta Quest Wiki.

About

A simple back-end moderation tool for the server Monumenta utilizing Paper and CommandAPI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages