QuestIntelligence icon

QuestIntelligence -----

All-in-one plugin which completely overhauls villagers, adding races, AI-questing and a lot more.




[​IMG]

In this update, a new race has been added – goblins! Additionally, I've paid more attention to the bugs that you are reporting. Thank you for helping to make the plugin better.

Bug Fixes
  • Fixed a bug with the incorrect random range when choosing a voice for the human race.
  • Minor fixes related to debugging and error logging.
  • Attempted to fix an unclear inventory bug. Now, if a villager's inventory is processed incorrectly, a new one will be created.
  • Minor improvements to config.yml.
  • Now the NPC interaction menu opens on the first click.
  • Code cleanup. Now illager banners cannot be worn on the head, as the friendly illager feature was removed two patches ago!
  • Damage sound is no longer played if the player skips dialogue.
  • Improved the logic of modified creature scaling. The scale of small creatures is modified genuinely, while the scale of large creatures (e.g., orcs) is changed only through packets. This is done so that creatures above scale 1.0 can pass through doorways.
  • Fixed the prompt rule hack. Now, villagers of certain personality types can again swear, bypassing the neural network's censorship.
Additions
  • Added a check for the presence of the RealisticVillagers plugin. If this plugin is on the server, QuestIntelligence will turn off, as these plugins are incompatible.
  • New race: goblins.
  • New value in config.yml: core-settings.swearing. Not everyone may like swearing villagers (the plugin has an "easter egg" due to which villagers of the DRUNKARD and ANGRY types can swear in their phrases), so I added the ability to disable this feature. Perhaps you are a moralist, or host a server for your children, so I decided that such a feature must have a disable option.
----------, Feb 19, 2025

[​IMG]

QuestIntelligence goes into beta!

In this patch: bug fixes, trade rebalancing and completely new mechanics! Delete old config files.

  1. Humanoids (or simply NPCs) have been added. Villager models are replaced with player models. Now villagers have skins, and also races. Currently, they do not have modified behavior and behave like ordinary villagers, but in the future, I plan to teach them to fight, etc. You might have seen a similar mechanic in the RealisticVillagers plugin. Initially, my goal was to create a compatibility patch with this plugin, but due to the architecture of RealisticVillagers, this turned out to be impossible. After that, I wanted to create a modification of this plugin specifically for QuestIntelligence. Studying the code of RealisticVillagers, I discovered that I really didn't like it, and getting quite angry, I decided to write my own implementation of this mechanic. From scratch.
  2. Four races: dwarves, orcs, elves and humans. The races.yml file contains all settings related to this mechanic. Races have unique attributes, voice, skins, starting items, base reputation, and more.
  3. The skins.yml file has been added. It contains all the skins that will be used by the plugin. Some skins may look odd, but I will fix this in the future. If you have a desire to help the project, then you can send good skins and I will add them to the plugin. More information can be found on our Discord server.
  4. Significant code improvements. Refactoring, architecture rework, removal of dubious mechanics (for example, friendly illagers).
  5. Humanoid voices can now be configured in races.yml. Yes, each race has its own voice. For example, orcs have low and raspy voices.
  6. Basic villager voices (ambient, damage taken, and death) have been replaced with custom ones from races.yml.
  7. Improved trading formula. Now, during trading, the second slot will be used!
  8. In addition, each race has been given its own currency. Now, instead of emeralds as a universal currency, each race uses something of its own. For example, dwarves use diamonds (yes, they are very wealthy).
  9. Trade rebalance. The balance of trade is far from perfect, but it feels a little more logical now.
----------, Feb 16, 2025


So, I decided to show what I'm working on right now. I've added races to the game and replaced villager models with player models (they now have skins), and the first race added is the dwarves. Why? Because they're cool! At first I wanted to write a compatibility patch for RealisticVillagers. But it turned out to be impossible because of the way this plugin works. Then I thought I could make a modification of RealisticVillagers specifically for my plugin. I started to study the code and found out that I don't like it very much. So I decided to write my own implementation of fake-player-villager thing. From scratch. You can see the result in the video. This is not an update, I'm just keeping you in touch. It's time to say goodbye to the nosy villagers.
----------, Feb 4, 2025

Bug fixes:

  • Fixed the display of the reward name in villager dialogue. Previously, the reward was described in uppercase. Now it's not.
  • Fixed the logic of settlement creation where the plugin would find villagers without a settlement and create a new one, even though they were within an existing settlement. Villagers who find themselves within the territory of existing settlements (or nearby) are automatically added to it and head towards the center.
  • Added a limit for newcomers in settlements.
  • Added a limit for illager party sizes.
Changes:

  • Changed the version support policy. Now the plugin only works on one Minecraft version — the latest one. Currently, this is 1.21.4. I want to focus on adding and improving content, rather than fixing bugs that arise due to differences between versions (believe me, there are many such bugs, as the plugin already actively uses NMS, and there will be even more in the future). So if you want to use my plugin — please update your server. However, the plugin has an open source code – you can port it to the version you need yourself.
  • Improved the algorithm for generating villager personal dates. Now the villager's personality type is taken into account, resulting in their names sometimes being "meaningful".
  • Added a mechanism for replenishing settlements. If a settlement has enough free beds, new villagers will sometimes arrive in it.
  • I've decided to drop some mechanics: some temporarily, others most likely permanently. Like tutorial or control panel of the villages. Some features will come back closer to (or in) beta stage.
  • Added a message to announce entering/leaving a village.

Once again, I have REFUSED to support previous game versions in favor of working on content, not on compatibility patches and bug fixes that arise due to the fact that NMS in different versions can have significant code differences. Such decisions require time for analysis and testing, and given that I plan to use even more NMS in the future — this is the better solution. For me. I develop the plugin alone and I don't get paid for it. And it's not about the money – I do this for fun, and believe me, compatibility patches for other NMS versions bring me absolutely no pleasure as a developer, not even a little bit.
----------, Jan 15, 2025

Ominous Update
Hey! Another update is on the way. In this update, I've greatly improved the name generation prompts, added more features to the configuration, and most importantly, completely reworked the player-and-illager interactions, which makes having a bad reputation actually meaningful. Illagers won't attack players with bad reputation, but will talk to them (treating them friendly), and even protect them from monsters. In addition, such players can now wear ominous banners as a helmet. Illagers will consider such players as their leaders and follow them.


Bug fixes
  • Fixed a bug where Markdown was used in quest titles.
  • Fixed the ominous banner description when generating a quest related to obtaining it. Now villagers don't just talk about a white banner, but an ominous one.
Changes
  • Significant improvements to the name generation prompts for villagers and settlements. Now, instead of strange names, the AI will generate interesting and beautiful names, avoiding repetitions. This is achieved because the plugin now saves all previously used names and informs the AI, prohibiting their reuse.
  • The naming style setting has been moved from prompts.yml to config.yml. The default naming style is now Fantasy, but you can actually use anything.
  • Added profession quests for nitwit villagers. These poor guys have been without quests for a long time; now they ask the player to bring them various junk.
  • Improved the quest generation prompt: information about the quantity of the quest item is added to the context. Now villagers mention the required quantity of the requested item (before, they always described it in the singular).
  • Iron golems will now attack players with a very bad reputation. The golem will choose the nearest player with bad reputation, and if the player runs away far enough, the golem will stop chasing them.
  • Illagers will no longer attack players with a very bad reputation, mistaking them for their own.
  • Added a new type of dialogue: illagers. A player with a very bad reputation can interact with pillagers, receiving phrases in response. Unlike personal phrases for each villager, pillager phrases are generated each time the server starts – they are common to all illagers and are randomly selected from a common pool. There are also phrases for when such a player attacks an illager, thereby betraying them. Since illagers aren't the nicest bunch, their replies can be... more colorful.
  • Now, when illagers spawn, they get ominous names.
  • Illagers protect players with a bad reputation from monsters. For example, if a zombie (or even a creeper!) aggroes onto the player, the illager will attack the attacking monster.
  • Players with a bad reputation can put ominous banners on their heads. Other illagers will follow such a player, considering them the squad leader. The player can even lead them into a village! Illagers will attack the same targets as the player, protecting them from monsters. Illagers talk to such players with special phrases intended for the leader.
----------, Jan 9, 2025

Dialogues Update
Bug Fixes:
  • Text displays now render correctly; villagers and other objects are no longer visible through them.
Changes:
  • Added a new type of dialogue for children. When a player interacts with a child, the child will respond with a phrase (from a list) that depends on the player's fame.
  • Added a new type of dialogue for villagers who have profession but no quests for the player.
  • Killing villagers' children is now penalized twice as harshly (configurable), significantly reducing fame and respect.
  • The action menu no longer opens when interacting with children villager.
  • Dialogues with children now display correctly.
  • The plugin's prefix has been updated to a more minimalist style.
  • Improved styling of messages in language.yml for better appearance (probably).
  • Further enhanced dialogue presentation — important and emotional words are now highlighted, improving text perception even more.
  • Added options to configure the size, color, and transparency of dialogue windows in config.yml.
  • Villagers now eat at staggered intervals instead of all at once.
  • Significantly improved visibility of the immersive dialogue window.
  • New personality type: CHILDLIKE.

upload_2025-1-7_19-21-44.png
upload_2025-1-7_19-21-57.png
----------, Jan 7, 2025

Reputation Update

Bug Fixes

  • Villager Spawn Fix: Villagers now properly load into their settlements after server startup.
  • No More Random Unique Items: AI-generated unique items will no longer appear out of nowhere for a completely no reason.
  • Villager Info GUI: Hunger levels and professions are now displayed correctly in the villager information interface.
  • Language File Loading: The language file now loads immediately when the plugin initializes, ensuring there are no NPE.
  • Improved Reload Command: The /q reload command now correctly reloads the language file.
Changes

  • Reputation System Added: Reputation now affects prices, relationships with villagers, and some game mechanics (some of which are yet to be implemented). Reputation is divided into two types: Respect and Fame.
    • Fame is a more global type of reputation. If the player performs good deeds, completes quests, trades with villagers, or kills monsters and Illagers, villagers will lower their prices and greet the player more warmly. On the other hand, if the player kills villagers or players (especially those with high Fame, particularly in villages), villagers will dislike (or even hate) the player, raising prices or outright refusing to trade. Discounts from high Fame also apply to villager services.
    • Respect is a local reputation, unique to each villager. Respect influences player-villager relationships just like Fame but on a local level for each village. A player may have a great reputation in one village but be completely unknown in another.
  • Improved Dialogues: Villagers now converse with the player based on their Fame.
    • If the player is famous, they will be greeted as a hero, with warm and detailed quest explanations.
    • If the player is neutral, villagers will treat them neutrally, as they would any ordinary traveler.
    • If the player is infamous, villagers will speak to them disrespectfully, making it clear they are unwelcome in the area. Now that's immersion, huh?
  • Quest Completion Dialogues: The phrases villagers use when the player completes a quest now also depend on the player's reputation.

  • New Interaction Responses: If the player’s reputation is REALLY low, villagers will outright refuse to interact or trade with them. Politely put, they’ll send the player packing. Heh.

  • New Command: /q fame set <player> <amount> allows modifying any player's Fame value.

  • Updated config.yml: The formula for calculating final prices with reputation modifiers can now be easily adjusted, giving you more control over balance.

  • Improved Text Display in Dialog Windows: Important words are now highlighted in configurable colors, making the AI-generated verbosity much more readable! Names and objectives are now immediately noticeable. Additionally, text color in dialog windows is finally customizable.
And, just usual.. Old configs.. yeah, delete them. xD
upload_2025-1-6_7-5-36.png
upload_2025-1-6_7-14-29.png
upload_2025-1-6_7-14-59.png
----------, Jan 6, 2025

1. Fixed generative translation NPE.
2. Added support for 1.21.4.
3. Added new personality type.
4. Fixed a rare bug related to quest updating.
5. Opened sources.
----------, Dec 22, 2024

Settlements Update
  1. Settlements have been added. Settlements are created automatically, without player involvement: QuestIntelligence constantly searches for clusters of villagers (for example, naturally generated villages or player bases) and establishes a settlement. Names for settlements are generated using AI. These names are then used when generating quests, unique items, and other things.
  2. A settlement management panel has been added. If you click on the bell while inside a settlement, the management menu will open. In it, you can find various buttons (some of them don’t do anything yet, this is content for future updates). In this menu, you can find basic information about the villagers in the village (even take a look at them in list form), the number of beds, food, and more. Functionality will be gradually expanded.
  3. Commands related to settlements have been added: /q settlement list, /q settlement teleport. I hope it’s unnecessary to explain what they do?
  4. QuestIntelligence now uses the new Gemini model.
  5. Improved parsing of generated dialogues (now ellipses and pauses between them are always displayed correctly).
  6. Holiday events have been added.
Merry Christmas and Happy New Year!
2024-12-22_02.06.57.png
----------, Dec 21, 2024

I decided that a brief description of the plugin would be much better and clearer than a wall of text with a bunch of technical terms. I also remembered an old video I once recorded for my friends. Hopefully, this will make the plugin look a bit more attractive.
----------, Dec 14, 2024

[​IMG]

I'm currently working on an update adding settlements. Settlements are extremely simple in their design. They are just a lot of villagers that are detected by the plugin. If the plugin detects enough villagers in one place, it will treat it as a settlement. A settlement has its own territory, residents and, of course, a name. The name is generated by the AI and is used in the generation of quests and unique items. This makes the plugin even more immersive, because the villagers know where they live. When working on this feature, I am inspired by games like RimWorld, Dwarf Fortress and Terraria, as well as the old Millénaire mod (oldies remember). Each of these games has the ability to develop a settlement (or colony, if you prefer), and I felt that Minecraft was sorely lacking something like that. Of course, we already have villages in our game, but they are static and the same, didn't you want something more? I plan to take the best mechanics from these games and add them to my plugin: managing the settlement, creating demands from villagers (for example, villagers will be saddened by the fact that they don't have a bed, or they have nothing to eat), and if the village is thriving — new villagers will come to it. I'm already actively working on these features and on the screenshot you can notice that the villager mentions “ Smoldering Mire” — the settlement they live in. Names for settlements, by the way, are generated depending on the biomes in which they are located.
----------, Dec 13, 2024

Accessibility Update
  1. "allowed-potion-types" for booze quest is configurable now.
  2. Added modes to display villagers' dialogs in chat as if they were messages from players.
  3. Added the command “/q dialogue format <IMMERSIVE/CHAT/BOTH>”. This command allows each player to choose the message display method they prefer.
  4. A new key related to messages from villagers to players has been added to translate.yml.
  5. A new key has been added to config.yml related to the default way of displaying dialogs. (IMMERSIVE of course)
  6. Fixed several bugs related to NullPointerException after using “/q reload” command. It is still not recommended to use this command.
  7. The plugin structure has been changed to multimodular (jeez, I had to mess around with gradle long enough). Now the plugin works on the following versions: 1.20.6, 1.21.1, 1.21.3. Bugs are possible, so please report them to Discord. Support for other versions and backports are on the way.
upload_2024-12-6_12-59-49.png
----------, Dec 6, 2024

another bug fixes and new personality type
----------, Dec 2, 2024

bugfixes, insignificant config.yml rebalance and "close" button in the interaction menu

p. s. delete old language.yml and config.yml (i'll code auto-updating configs in the future)
----------, Nov 30, 2024

Resource Information
Author:
----------
Total Downloads: 525
First Release: Nov 30, 2024
Last Update: Feb 19, 2025
Category: ---------------
All-Time Rating:
4 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings