This release adds FancyNPCs support and a cow-milking objective, makes saving quest data a lot safer, brings every plugin integration up to its latest version, and fixes a long list of gameplay bugs.
## ✨ New features
- **FancyNPCs support:** [FancyNPCs](https://modrinth.com/plugin/fancynpcs) is now supported, alongside Citizens and armor stands.
- **New `MilkCow` objective.** Counts cows milked (detected by right-clicking a cow with an empty bucket), mirroring the Shear Sheep objective with an optional cancel flag.
## 🛡️ Reliability & data safety
- **No more lost quest progress on a failed save.** Player data is now saved inside a single database transaction, so a mid-save failure (full disk, lock timeout, dropped connection) rolls back cleanly instead of deleting data it cannot re-write.
- **Thread-safety fixes** around the online-player registry, a player's completed/failed/pending quest lists, quest tags (setting a tag to nothing now removes it), and conversation chat history - preventing rare crashes and data corruption.
- **Visual effects on the main thread.** Armor-stand quest-giver particles and the quest/objective completion title + sound now always run on the main thread, where Paper requires them.
## 🐛 Bug Fixes
- **Non-OP players can use `/notquests` again.** Its `notquests.use` permission (default on) was never registered on Paper, so non-operators got "Unknown command". The admin commands (`/nqa`, `/qa`) still require operator / `notquests.admin`.
- **Tab-completing a mob/entity argument** (for `KillMobs`, `SpawnMob`, …) no longer throws an error and shows suggestions again.
- **Killing an EcoMob now counts** towards a matching `KillMobs` objective (the kill was never detected before).
- **"Reach job level" objectives now track your real Jobs level**, including admin changes like `/jobs level add`, and complete once you reach the target level.
- **Attaching a quest to an armor stand works again** - the "add" item did nothing before. Right-click the armor stand with it.
- **Quest previews from armor stand / FancyNPCs quest givers no longer error out**, and the NPC quest-list GUI shows its proper title instead of "Language string not found".
## 🔌 Integration updates
Every supported plugin integration is now on its latest version (old → new):
- **Citizens** 2.0.30 → 2.0.42 (escort-NPC following moved to the new Citizens API)
- **PlaceholderAPI** 2.11.5 → 2.12.2
- **MythicMobs** 5.3.0 → 5.12.1
- **EliteMobs** 9.1.9 → 10.4.0
- **WorldEdit** 7.3.0 → 7.4.3
- **LuckPerms** 5.4 → 5.5
- **Towny** 0.98.4.4 → 0.103.0.0
- **Jobs Reborn** 4.17.2 → 5.2.6.5
- **Floodgate** 2.2.2 → 2.2.5
- **eco** 6.38.3 → 7.6.3
- **EcoBosses** 8.78.0 → **EcoMobs** 11.7.0 (the developer renamed EcoBosses to EcoMobs; existing eco-mob spawn actions keep working)
- **Vault** (1.7.1) and **Slimefun** (RC-37) were already current.
Nothing changes in how you use these - the plugin installed on your server is still what runs.
## 🧩 Dependency upgrades
- **Adventure** 4.18.0 → 4.26.1 (kept on the 4.x line to match Paper 26)
- **commons-io** 2.11.0 → 2.22.0
- **PacketEvents** 2.12.0 → 2.12.2
- **geantyref** 1.3.13 → 1.3.16
- **Configurate** 4.1.2 → 4.2.0
- **Lombok** 1.18.44 → 1.18.46
- **SQLite** 3.53.1.0 → 3.53.2.0
- **Paper dev bundle** build 64 → 69
- **Shadow** 9.4.1 → 9.4.2
- **Gradle** 9.0.0 → 9.5.1
## 🗑️ Removed
- **UltimateJobs** - no longer maintained; its integration and "reach job level" objective were removed. Jobs Reborn still covers job objectives.
- Leftover **ZNPCs** and **BetonQuest** references that were no longer used.
## 🛠️ Under the hood
- **More reliable builds.** Every plugin integration is bundled with the project as a local file instead of being downloaded from a third-party repository at build time, so a relocated/offline repo can no longer break a build.
## ✅ Compatibility
Built for **Paper 26.1.2** and **Java 25**.
Optional dependencies
EcoMobs
Any compatible version
eco
Any compatible version
EliteMobs
Any compatible version
Towny
Any compatible version
LuckPerms
Any compatible version
MythicMobs
Any compatible version
WorldEdit
Any compatible version
PlaceholderAPI
Any compatible version
Floodgate
Any compatible version
FancyNpcs
Any compatible version
Developer information
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle.
maven { name = "Modrinth"; url = "https://api.modrinth.com/maven" }