This free update contains many bugfixes, improvements and changes, but not all features are available to the player; in order to access them, you need to buy the premium version of the plugin on Polymart.
Changes
Added a common phrase pool. Previously, villagers only spoke to the player after their personal data was generated by artificial intelligence. Now, if a villager lacks a persona, phrases will be drawn from the common pool. This addresses a gap in immersion—villagers will always react to the player’s actions.
Complete overhaul of quest generation. The previous mechanism was decent but limited quest types due to its design. Delivery quests (regardless of their nature) quickly become repetitive.
Quests now require acceptance before they can be completed. To accept a quest, the player must listen to the villager’s story. At the end of the dialogue, a new quest acceptance menu will appear.
Upon accepting a quest, two things happen: a chat message appears, and a boss bar tracks quest progress.
Dropped support for Geyser. Experience has shown that Geyser support heavily restricts developers and limits creative problem-solving. It may return in the future, but for now, I’ve decided to abandon this feature.
Improved dialogue windows. Commas now trigger slight pauses, making text easier to read.
Quest progress can now be tracked! A boss bar displaying progress ensures players won’t forget they’re working on a quest.
Quest rewards are now limited to currency tied to the villager’s race who issued the quest.
Items required to complete a quest are now highlighted (visible only to the quest holder, implemented via packets).
Significant work done on the “quest relevance mechanism.” If a quest becomes impossible to complete (e.g., another player completed it or the quest-giving villager died), the plugin automatically detects this and removes the quest. Quests can now be failed permanently.
The cost (and thus the difficulty of obtaining) quest items now depends on the villager’s level. Low-level villagers won’t assign complex quests.
Villager level progression after completing quests is now twice as slow, making progression feel more rewarding.
Minor improvements to the family of quests tied to villager profession development: better generation prompts, trade prices, and item pools.
Added the /quest command (/q as a shortcut) with subcommands: list, remove, track, item, and stats.
The /quest stats command collects specific statistics: total quests generated, quests completed/failed, and experience earned. More stats may be added in the future, but this is what I came up with for now.
New quest type: hunting. These special quests involve, as the name suggests, hunting living creatures. Villagers offer quests to gather resources from creatures, and only items dropped from killed creatures can be used to complete them. These items are stored in a new database (a data.db file is now in the plugin folder), and the AI generates unique descriptions for these items each time a new quest is created.
Added a special command for creating “hunting” quests: /quest item add <entity_type> <score> <quantity> <drop_chance>. Hold the item you want to add to the quest item pool while running the command, and NPCs will offer quests to find it. This unique implementation allows admins to add custom items from plugins like ItemsAdder, Oraxen, etc. If the item lacks a custom name, the default name is used, but the lore is always overwritten. Custom-textured heads are also supported!
The /quest item add command supports mobs from MythicMobs, with automatic detection of the plugin.
Added new skins for dwarves, elves, and humans (6 total).
Fixed a bug where monster spawn reasons weren’t checked. Now, killing monsters spawned from spawners won’t grant reputation (nor will they drop quest items).
For monster-hunting quests, 127 dynamic quest items were prepared. Each has a unique name, drop chance, cost, and required quantity. Additionally, random descriptions are generated for these items during quest creation.
Added new settings to config.yml and language.yml.
New saved file type: data.db. Pre-generated dynamic quest items are stored in this file.
Improved the algorithm for generating quest names.