
Villager Retaliation!
It's about time the villagers retaliated.
Оцените первым
2.0K
47
Список изменений
Added
- Added persistent villager profiles with Social Attributes (Knowledge, Guts, Proficiency, Kindness, and Charm), skill data, profession-aware generation, profile/skill sync payloads, client caches, and Profile/Skills pages in the interaction screen.
- Added profile and skill debug commands under
/villagerretaliation profile ...and/villagerretaliation skill .... - Added temporary villager moods and Social Attribute dialogue filters for normal dialogue lines:
mood,moods,min_mood_intensity,requires_high_*, and exactmin_*/max_*score ranges. - Added data-driven quests with
quest_actiondialogue options, start/remind/turn-in/abandon actions, quest progress tracking, target/proof checks, rewards, notifications, active/expiration rules, and quest-triggered tracker or forced-dialogue actions. - Added 21 built-in beta.12 quest content across Dangerous Commissions, Lost Civilization, Old Roads, Village Defense, and Village Supply questlines, with authored dialogue trees, quest-specific loot tables, offer gates, proof items, and balanced reputation/XP rewards.
- Added quest item requirements and turn-in hand-ins, so quests can require extra delivered items in addition to target proof.
- Added Quest Journal and Quest Tracker keybinds, smooth-scrolling quest UI, tracker HUD controls, quest debug tools, target dimensions, hint text, and shader outlines/highlights for quest items.
- Added data-driven dialogue trees for branching villager scenes, including display metadata, narrative metadata, leave options, generic villager actions, shared quest actions, tracker flashes, and forced-dialogue handoffs.
- Added individual trade-slot refresh requests for skill-generated villager trades. Random refreshes mature on the next Minecraft day and can open data-driven ready follow-up/interjection dialogue before the trade menu opens.
- Added high-reputation Special Orders for directly requesting targetable skill-trade definitions, including wait times, cooldowns, extra costs, up to three active requests per villager/player, status dialogue, and ready-order fulfillment.
- Added beta.12 dialogue authoring features:
conditionsblocks on normal dialogue lines and options, linepriority, linecategory, andtext_keymessage indirection. - Added path-aware folderized dialogue loading under
dialogue/<locale>/..., including typedoptions,lines,messages,openings,closings, andpacifyfolders, optionaltypein option files, profession defaults from paths, and namespaced custom profession paths. - Added
/villagerretaliation dialogue explainand/villagerretaliation datapack diagnosticsfor in-game dialogue and datapack debugging. - Added beta.12 Datapack Generator support for the new target, folderized dialogue import/export, versioned wiki snapshots, and the downloadable dialogue folder template.
- Added a player-facing static wiki under
tools/player-wikiwith generated quest walkthroughs, rewards, gifts, reputation, skill trades, watched-container guidance, advancements, search, and command/keybind references. - Added persistent per-villager/per-player last-seen memory with absence-aware opening dialogue placeholders:
{days_since_seen},{day_or_days}, and{days_since_seen_phrase}. - Added persisted village event and village encounter memories so dialogue can react to recent hostile events and prior village visits without rescanning every interaction.
- Added recruitment left-behind follow-up dialogue and biome filters through
recruitment_memory_biome/recruitment_memory_biomes. - Added data-driven watched-container resources and a generated-container allowlist for pack-controllable village chest confrontation behavior.
- A total of ~11.9 Quadrillion Villager DNA combinations!
- Do not talk to Edmundo if you are named LoudLitten
Changed
- Switched the project to the NeoForge-only layout and moved the interaction UI stack onto ToucanLib-backed screens, scrolling, camera behavior, shader chrome, animated dialogue text, and profession-colored panels.
- Built-in dialogue resources now use the beta.12 folderized layout under
dialogue/<locale>/global,groups, andprofessions/<profession>instead of the previous large bundle-style authoring shape. - Built-in normal dialogue lines and family/relationship options now use
conditionswhere practical while keeping the beta.11 helper fields as compatibility inputs. - Normal dialogue selection now applies explicit
prioritytiers before weighted random selection. Existing packs keep the defaultpriority: 0. - The Datapack Generator version selector is now a target selector only. The beta.12 target no longer attempts beta.11-to-beta.12 conversion.
- First-conversation and first-village opening lines now respect persisted seen-memory after world leave/join cycles.
- The default diamond-sword proximity forced-dialogue witness radius was reduced from 8 blocks to 4 blocks.
Fixed
- Fixed Special Order active-request limits so the fourth request shows the limit dialogue immediately and the cap is hard-clamped to three.
- Fixed multiple ready random refreshes so all accepted ready refreshes can fulfill in one pass instead of leaving completed requests behind.
- Fixed vanilla villager trade-preview hand behavior causing nearby players holding trade costs to replace, duplicate, or drop held villager items.
- Fixed inconsistent natural hostile detection paths between villagers and wandering traders by making both use the same shared hostile-mob classification rules.
- Deferred first-load social graph profile warmup across staggered villager ticks, reducing join-time TPS spikes when teleporting into villages that were first loaded after installing the mod.
- Reduced repeated smith-villager repair path recalculations around damaged iron golems, especially when the golem is nearby but not immediately reachable.
- Throttled natural-hostile targeting eligibility checks so stand-ground and nearby-weapon lookups no longer run every tick for every villager.
- Throttled shared dialogue scans, story-discovery scans, and village-event check-ins with lazy memory/status caching so routine conversations no longer repeatedly rescan the same nearby world state.
- Skipped passive combat cleanup work for villagers that have no active armorer, ranged, temporary-weapon, or borrowed-weapon state.
- Reduced the default follower lost distance from 64 blocks to 32 blocks.
- Reduced idle villager tick overhead by staggering persisted-anger restore probes, passive combat-survival checks, and no-op trade-pool checks.
Removed
- Attempted to remove Edmundo
- Removed the Datapack Generator's beta.11-to-beta.12 Convert workflow. Beta.12 is a manual retargeting boundary, not a marker-only migration.
- Removed quest compatibility aliases and advancement-style
criteria/requirementsinference from the quest loader. - Removed Edmundo
- Removed beta.11-only quest/action compatibility shapes from the beta.12 quest surface. The maintained action fields are
type,quest,action,amount,memory_event,loot_table,notification,text,forced_dialogue, andflash_tracker; documented shorthand such asxp,rep,notify, and inline unique action fields still load where the shared action parser lists them. - Removed top-level dialogue metadata aliases from maintained beta.12 dialogue and dialogue-tree authoring.
- No beta.12 runtime JSON fields, triggers, or placeholders are removed solely because of the folderized dialogue layout.
- Edmundo came back
- Removed Edmundo (i think)
Migration Notes For Pack Authors
- Keep existing beta.11 datapacks on
villagerretaliation.pack_version: "1.0.0-beta.11"until you have manually reviewed dialogue, forced dialogue, notifications, quests, and skill trades against the beta.12 wiki. - Do not migrate by only changing
villagerretaliation.pack_versionto1.0.0-beta.12. The marker selects the editor/runtime target; it does not reorganize dialogue files, audit ids, update compatibility fields, or validate new beta.12 behavior. - Prefer new beta.12 dialogue packs under
data/villagerretaliation/dialogue/<locale>/global,groups, orprofessions/<profession>, using typed folders such asoptions,lines,messages,openings,closings, andpacify. - Treat
options,lines,messages,openings,closings, andpacifyas reserved section folder names belowdialogue/<locale>/. - Split old monolithic dialogue files by ownership and purpose. Keep bundle files only when several related entries are easier to maintain together.
- Review intentional overrides carefully: Minecraft resource replacement still happens by exact resource path before Villager Retaliation merges entries, so copying an old built-in monolith can replace more beta.12 content than intended.
- Use
conditionsfor new memory, family, relationship, recruitment, quest, and event-gated dialogue. The older flat helper fields still load in beta.12 but are planned for beta.13 deprecation. - Convert quests to the canonical beta.12 schema before testing:
criteria/requirements, singularprofession, array-formskills,loot,memory, andonceare no longer accepted by the quest loader. - Convert quest and dialogue-tree actions to canonical beta.12 fields before testing: use
type: "quest"plusaction: "start" | "remind" | "turn_in" | "abandon",amountfor numeric rewards,memory_event,loot_table, andforced_dialogue. - Put dialogue narrative metadata under
metadatainstead of top-leveltopic,tags,questline,quest,stage, ornotes. - Use
prioritywhen one matched line should reliably win, and useweightonly to tune random odds inside the same priority tier. - Use
text_keywhen translators should replace message text without copying the full line filters. - For skill-trade packs, use
request.targetable: trueplus request metadata only for trades that should appear as Special Orders. The queued order stores the trade definition id, so later cost/result/config changes affect future fulfillment. - For trade-refresh dialogue overrides, review the
trade_refresh.*message keys and forced-dialogue entries in the beta.12 wiki instead of copying beta.11 dialogue files forward. - See Pack Format Changes, Dialogue JSON, Forced Dialogue JSON, Skill Trades, and Quests for the full pack-facing migration surface.
Файлы
villager_retaliation-neoforge-1.21.1-1.0.0-beta.12.jar(2.91 MiB)
ОсновнойМетаданные
Канал релиза
Beta
Номер версии
1.0.0-beta.12
Загрузчики
NeoForge
Версии игры
1.21.1
Загрузок
171
Дата публикации
01.06.2026
