This release brings NotQuests up to the latest Paper version, refreshes all translations, and fixes a handful of annoying command bugs.
🧩 Dependency upgrades
- Updated to Minecraft / Paper 26.1.2.
- Newer InvUI 2.1.0 (the GUI library) and HikariCP 7.0.2 (database pooling).
🐛 Bug Fixes
- Tab-completing a boolean condition (like
Climbing,Flying, orActiveQuests) under/qa conditions addno longer crashes. /qa conditions addno longer rejects valid input with "Invalid syntax", so you can actually create those conditions now./nq abortworks again instead of throwing an error, including when you have no active quests./nq abort,/nq progress,/qa failQuest, and/qa completeQuestno longer get blocked by a bogus "accepting/previewing is disabled" message when the quest preview GUI is turned on.
🌍 Translations
- All 31 languages are back in sync with English. Outdated and renamed entries were cleaned up, and missing lines were filled in, while existing translations were left untouched.
🛠️ Refactors
- Reworked, nicer demo conversation. (
/qa conversations create namehere --demo)
This is a backport for paper 1.21.11
Breaking Changes
- Paper 1.21.1 is now supported
- Java 21 is now required (previously Java 17)
- Removed integrations: BetonQuest, zNPCs, and ProjectKorra have been temporarily removed to keep notquests simple and easier to maintain. If you relied on BetonQuest conditions/events, zNPCs NPC linking, or ProjectKorra objectives, these are no longer available.
New Features
Custom YAML-based GUIs
- The entire GUI system has been rewritten with a new YAML-driven GUI framework
- GUIs are now fully configurable via YAML files in the
plugins/NotQuests/guis/folder - Supports tabbed interfaces, paged item lists, and action buttons
- Default GUIs included: main menu with tabs (active quests / take quests), quest preview, NPC quest selection, category browsing, and quest abort confirmation
- Custom skull textures, dynamic placeholders (
%QUESTNAME%,%CATEGORYNAME%,%PLAYER%, etc.), and per-item lore/display name from the language file - Powered by InvUI
Breaking Changes
- Paper 26.1.1 is now supported. Older versions are no longer supported
- Java 25 is now required (previously Java 17)
- Removed integrations: BetonQuest, zNPCs, and ProjectKorra have been temporarily removed to keep notquests simple and easier to maintain. If you relied on BetonQuest conditions/events, zNPCs NPC linking, or ProjectKorra objectives, these are no longer available.
New Features
Custom YAML-based GUIs
- The entire GUI system has been rewritten with a new YAML-driven GUI framework
- GUIs are now fully configurable via YAML files in the
plugins/NotQuests/guis/folder - Supports tabbed interfaces, paged item lists, and action buttons
- Default GUIs included: main menu with tabs (active quests / take quests), quest preview, NPC quest selection, category browsing, and quest abort confirmation
- Custom skull textures, dynamic placeholders (
%QUESTNAME%,%CATEGORYNAME%,%PLAYER%, etc.), and per-item lore/display name from the language file - Powered by InvUI 2.0
- [+] Support paper 1.21.1
- [!] Remove unused dependencies. This reduces the size of notquests from 6.5 MB to 3.4 MB
- [!] Fix creation and saving of quest profiles not working (/nq profiles)
- [^] Upgrade various dependencies of notquests: betonquest, citizens, elitemobs, projectkorra, uclans, znpcs, floodgate, placeholderapi, crunch, hikaricp
- [@] Update various translations
- [+] Support paper 1.20.6
- [!] Disable UltimateClans support, as their maven repository for v5 has been deleted
- [+] Support mythicmobs factions in killmobs objective (mmfaction:yourfactionname)
- [!] Attempt to fix db issues
- [!] fixed sqlite locking issues by limiting its max. connection pool size to 1.
- [+] Update to Paper 1.20
- [+] Update Citizens API so it supports the latest version
- [+] Support Minecraft 1.19.4 (Thanks to @BakaAless )
- [+] Drop Spigot support completely. This reduces the jar size!
- [+] Add AND and OR to boolean conditions (Thanks to @BakaAless )
- [^] return warning when using /qa editor command
- [!] Prevent unnecessary quest saves during plugin load. This should increase the load speed of NotQuests, especially if you have many Quests
- [!] fix OtherQuest objective task description not displaying the displayname of the other Quest
- [!] fix typo in Quest chat preview
- [!] fix conversation focus distance check erroring when player is in different worlds
- [!] fix QuestOnCooldown variable not working
- [@] Update a bunch of translations
-
[+] New objective: Enchant
-
[+] For conversations: Add random line possibility (Thanks to @BakaAless ). Instead of just "text:", you can now specify "texts:" as a string list inside of conversations. Showcase: https://github.com/AlessioGr/NotQuests/pull/189
-
[^] Update all kinds of dependencies
-
[^] Stop a moving Citizens NPC when in a conversation (Thanks to @BakaAless ). Showcase: https://github.com/AlessioGr/NotQuests/pull/188
-
[^] Allow minimessage format on quest-giver-npc-indicator-above-name (Thanks to @TheZexquex )
-
[^] Ability to check objective unlock conditions for:
- every time an action is run for a player (default: on)
- every X seconds (default: off)
This also fixes some faulty logic with repeating tasks. Stuff like condition objectives were checked too quickly/often if multiple players are online
-
[!] Fix quest giver hologram armorstand not getting destroyed when despawning npc (Thanks to @TheZexquex )
-
[!] Fix armor being visible in armor slots after completing DeliverItems objective (Thanks to @TheZexquex )
- [!] Finally fix lang tags being invisible inside custom gradient tags if they are not wrapped in a solid color. This removes the hard-coded blue color for translated material names and thus allows for more customization.
- [+] Better conversations: Conversation Focus! Thanks @BakaAless for adding this feature
- [!] Fix errors when a condition is executed from an async thread
- [^] updated BQ integration interceptor to work with the latest version
- [+] Now you can finally customize the category GUI items (default is chest) using /qa categories edit categoryname guiItem ...
- maxAccepts => limits.accept, limits.complete, limits.fail. maxAccepts did not make sense, as it counted the completions and not the accepts
- New variables: QuestReachedMaxCompletions and QuestReachedMaxFails
- /qa edit questname acceptCooldown complete ...
- For PlayerStatisticVariable: Only allow untyped statistics. The others are filtered out, as they need additional arguments
- NPC holo stuff safety check incase PacketManager is null
- Update packet version check to 1.19.3
- [+] Added "Statistic" variable, which lets you access 85 Minecraft statistics and use them as conditions, objectives, actions etc. You can find all statistics you can use here: https://jd.papermc.io/paper/1.19/org/bukkit/Statistic.html
- [^] Various bug fixes & stability improvements

