Download: https://modrinth.com/plugin/notquests/versions
NotQuests is a flexible, Minecraft 1.17-1.21 Quest plugin, featuring a complete GUI for player interactions, open & trusted source code and flexibility.
I created NotQuests for my own server, mc.notnot.pro and planned to keep it private. However, I don't have enough time to maintain it myself, so I just made it public.
You can find the releases here: https://github.com/AlessioGr/NotQuests/releases. A MySQL database connection is recommended and can be specified in the general.yml. Otherwise, SQLite will be used.
Do not commit your translations on GitHub. Instead, use translate.notquests.com. Translations are always welcome :) Check https://translate.notquests.com/notquests#readme before translating.
Git clone this project and build it with these Gradle commands: clean build
The output file should be in the folder plugin/build/libs/plugin-version.jar
The images are all OLD and need to be updated:
Quest Giver NPC:
What happens when you right click it:
Quest Accepting GUI:
Quest User GUI:
Preview Quests GUI:
Admin Commands (for quest creation):
Admin Commands - Quest Editing:
- Proxy support (like Velocity, Waterfall & BungeeCord)
- Conversation system (Beta)
- Great API
- MythicMobs integration
- EliteMobs integration
- Quests can be bound to Citizens NPCs
- Quests can also be bound to Armor Stands ⇒ 10000x better performance because Citizens is a laggy plugin. Especially if your armor stands are optimized in your paper configuration.
- Complete GUI for the user interface
- Player data is saved in MySQL, quest configuration data in a configuration file
- Quest Points
- Smart Command Tab Completions for all User and Admin commands
- Smart translation system
- Re-usable Actions for Triggers
- Multiple Quest Objectives:
- Break Blocks
- Place Blocks
- Collect Items
- Consume Items
- Craft Items
- Deliver Items to NPC
- Escort NPC
- Kill Mobs
- Breed Mobs
- Complete Other Quest
- Talk to NPC
- Command Triggers (to finish the objective)
- KillEliteMobs (if you're using EliteMobs)
- ReachLocation (WorldEdit required for objective creation)
- SlimefunResearch (requires Slimefun)
- Run Command
- Interact (right- or left-click block (or both))
- Jump
- Multiple Quest Accept Requirements:
- Money
- Other Quest
- Permission
- Quest Points
- World Time
- Multiple Quest Completion Rewards:
- Command
- Quest Points
- Item
- Money
- Permission (Requires LuckPerms)
- Multiple Triggers: (Triggers run console commands (= Actions) when activated. Triggers are set per-quest)
- Begin Quest or Objective
- Complete Quest or Objective
- Death
- Disconnect
- Fail Quest
- NPC dies (good for Escort NPC Quests)
- Enter World
- Leave World
- There's a lot more, I'll add that later. Triggers are extremely flexible by the way. Each trigger has an option to trigger only for certain objectives if they are active, quests, or worlds.
Requirements to run this:
- Paper 1.17.1 - 1.21.1
- Java 17
Optional:
- Citizens (Needed for Citizens NPC stuff to work. You can also use Armor Stands without Citizens, though)
- Vault
- MySQL Database (strongly recommended)
- PlaceholderAPI
Player Placeholders:
%notquests_player_has_completed_quest_QUESTNAME% %notquests_player_has_current_active_quest_QUESTNAME% %notquests_player_is_objective_unlocked_and_active_OBJECTIVEID_from_active_quest_QUESTNAME% %notquests_player_is_objective_unlocked_OBJECTIVEID_from_active_quest_QUESTNAME% %notquests_player_is_objective_completed_OBJECTIVEID_from_active_quest_QUESTNAME% %notquests_player_questpoints% %notquests_player_active_quests_list_horizontal% %notquests_player_active_quests_list_vertical% %notquests_player_expression_EXPRESSION% %notquests_player_rounded_expression_EXPRESSION%
- Complete GUI for Admin Commands
- Quest Timer Trigger
- "Interactions" Plugin Integration (works with Triggers already)
- Placeholder Requirements
These future plans might me inaccurate. You can find my full to-do list on my discord.
I'm not a professional programmer and made this just for fun. You won't find many comments either - I will add them gradually.