NotQuests is a flexible, Minecraft 1.18-1.17 Quest plugin, featuring a complete GUI for player interactions, open & trusted source code and flexibility
=> Getting started guide
Requirements to run NotQuests:
- Paper/Spigot 1.17.1 or 1.18. The Paper version of NotQuests has a LOT more features, so get paper here: https://papermc.io/downloads
- Java 17
Integrations / optional plugins:
- Citizens (Needed for NPC stuff to work You can also use Armor Stands without Citizens, though)
- MySQL Database (strongly recommended)
- MythicMobs (you can use MythicMobs in KillMobs objectives)
- EliteMobs (to use the KillEliteMobs objective)
- Slimefun (to use the SlimefunResearch objective)
- LuckPerms (to use the Permission Reward)
- UltimateClans (to use the UltimateClansClanLevel Requirement)
Disclaimer: I will only update the plugin when I have time — and I've been quite busy lately, so updates may be irregular (especially feature updates).
If you're a developer and can add features you might need yourself, I heartily recommend NotQuests to you! This plugin is fully open source :)
Support (not guaranteed while I'm busy with school): or (preferred)
I created NotQuests for my own server, mc.notnot.pro because I was unhappy with what the previous Quests plugin we used had to offer. While I initially planned to keep it private, it's now public, hoping that others could contribute to the plugin and help maintain it.
I didn't notice any performance issues at all so far.
You can find more information or contribute to the project here: .
A MySQL database connection is recommended and can be specified in the general.yml. Otherwise, SQLite will automatically be used.
- Conversation system (Beta)
- Great API
- MythicMobs integration
- EliteMobs integration
- Bind Quests 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 or SQLite, 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)
- UltimateClansClanLevel (requires UltimateClans)
- Run command
- Interact (Right- or left-click block (or both))
- Multiple Quest Accept Requirements:
- Other Quest
- Quest Points
- World Time
- Multiple Quest Completion Rewards:
- Quest Points
- 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
- 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.
I pretty much made an entire mini-game (3rd Life — separate world, after 3 deaths you are OUT) with this plugin, so it's pretty flexible.
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:
- Complete GUI for Admin Commands
- Quest Timer Trigger
- "Interactions" Plugin Integration (works with Triggers already)
- Placeholder RequirementsMy full to-do list can be found on my discord.
I'm not a professional coder and made this just for fun. You are welcome to join for support. I won't promise you good support, though — especially while I'm busy with school.
Feel free to contribute any features you want on GitHub: