QuestJobs is a Minecraft Spigot/Bukkit plugin that allows users to create in-game quests and tasks that the players have to perform, and reward them for it. For example, you can create a quest where the player has to walk around and hunt for 10 zombies, and then he will receive 25 diamonds or maybe 150 experience points.
The plugin interacts with other Minecraft plugins to allow for more varied quests and rewards.
This is a project I have started around 2013-2014 when I was just 16 years old, and then reworked a bit again in 2016 when I started studying game engineering.
- Quest creation through an external GUI tool
- Multiple tasks and rewards per quest
- Titles and Subtitles for important events
- In-game inventory UI for quest log
- Accept quests through signs
- Manage all quests with the /quest command
- Support for multiple reward types
- Support for multiple task types
- Killing mobs
- Collecting items
- Mining blocks
- Travelling to different worlds
- Talking to Cititzens NPCs
- Items
- Experience points
- Money for economy plugins
- Permissions
- Slimefun custom items
For Rewards and Tasks where the amount variable doesn't make sense, like the permissions reward or the npc talk to task, you can put any number in the amount field. * Slimefun rewards*
**The name of the item is in the form of AAA_BBB_CCC (caps insensitive). For example, to give a steel jetpack to a player, the reward would be: "Steel_Jetpack"**โ
- Clear Complete - Allows clearing and abandoning complete quests. *Repeatable quests are not considered complete.
- questjobs.create - Allows creating quest signs for users to accept quests.
Quest Jobs is a remake of a plugin I have started making a few years back for Bukkit called QuestBoard. Unfortunately, due to lack of time and the experience in programming, I never got to finish the plugin. Now that I am studying game engineering, QuestBoard comes back as QuestJobs!
**The user interface for the plugin is nice and easy to use! The server ops or anyone with the 'questjobs.create' permission needs to place a sign. Then, somewhere in the first line add the character # followed by the ID of the quest that he would like the sign to represent.**โ
For example:
As long as the first line contains the # character and the ID of the quest, you can put any other words anywhere on the sign. Also, as you can see, you can have multiple signs representing the same quest. That means you can place signs for the same quest in different locations in the world.
The user can see their quest log with all their accepted quests by typing: /quest or /quest show This will open an inventory with books, each per accepted quest. The book contains the description of the quest and the current progress.
You can also abandon all quests or abandon a specific quest. All of this is described in the help command of the plugin, accessible via **/quest help
- quest - Shows the quest log with all the active quests
- quest show - Same as above.
- quest show complete - Shows the quest log with all the active and complete quests.
- quest abandon [ID/Name] - Abandons a quest with the ID or name provided. Does not allow abandoning complete quests if the config is set to false.
- quest clear - Clears the quest log. Does not clear complete quests if the config is set to false.
- quest help - shows a help message with all the commands.
By double clicking on the plugin's jar file, a GUI will open, and there you can edit or create new quests for the plugin!
Some in-game images of the current version of the plugin:
User Experience:
On-join quest progress announcement:
The quest log:
A test quest:
On quest completion:
Economy quest rewards:
Quest progress tracking: