Tags
Creators
Details
Licensed ARR
Published 4 months ago
Updated last month
All versions
1.0.0-beta.10
Beta
Villager Retaliation! 1.0.0-beta.104 months ago 144
Compatibility
Minecraft: Java Edition
1.21.1
Platform
NeoForge
Supported environments
Client and server
Required content
Changes
Added
- Villager family/social graph system for persistent family, ancestry, adoption, and relationship data
- Villager gender assignment, gendered preset name pools, and stored villager identity data
- Family-aware dialogue filters and placeholders, including parent, sibling, spouse, child, grandparent, descendant, cousin, extended family, and deceased family references
- Relationship-aware dialogue filters and placeholders for crushes, dating partners, fiances, spouses, separated partners, and widowed partners
- Debug-only villager breeding stick and maturity emerald items
- Biological birth, adoption, same-gender adoption mode, orphan adoption, and instant maturity debug flows
/villagerretaliation setNearestRelationship <crush|dating|engaged|married|separated>debug command- Maximum recruited follower distance config and behavior
- Recruited villagers can now board the player’s vehicle while following
- Configurable villager interaction chat positioning
combat.player_killednotification trigger for villager or wandering trader player killsalert.player_attacked_villagernotification trigger for immediate player-hit villager reactions- Alert placeholders for
{attacker},{player},{villager},{villager_name},{villager_kind}, and{profession} - Datapack-driven player item reactions for dialogue, dialogue options, and notifications
ambient.player_itemworld-text trigger for nearby held/equipped/inventory item reactions- Player item filters:
player_items,player_item_tags,player_item_slots - Player item slots:
main_hand,off_hand,hands,armor,hotbar,inventory,equipment,any - Player item placeholders:
{player_item},{held_item},{player_item_id},{held_item_id},{player_item_slot},{held_item_slot} - Gift preference
response_keysupport for custom item-specific gift response messages
Improved
- Dialogue can now react to known family and relationship context across many new filters
- Villager display names, custom names, genders, and preset names are resolved more reliably for dialogue/social systems
- Preset villager names now support separate male and female name pools while keeping legacy
namesfallback support - Recruitment following is safer with configurable max distance and vehicle synchronization
- Villager interaction chat can be anchored/configured instead of always using the old layout
- Gift response selection can use specific datapack-defined message keys per gift rule
- Pack documentation now recommends unique dialogue and notification filenames instead of overriding built-in
global.jsonby accident - Dialogue, notification, gift, pack development, and villager-name wiki docs expanded with newer datapack fields and examples
Performance And Reliability
- Added server-aware caches and cache clearing for structure/story lookup resources
- Limited structure search work per lookup and skipped structure logic entirely when structures are disabled
- Added village membership resolve caching with TTL, size limits, and cache pruning
- Added nearest weapon search caching and validation for villager weapon pickup logic
- Added weather-event deduplication to avoid repeated village event spam
- Added staggered villager scan checks for cleric support, creeper avoidance, hostile targeting, weapon searches, and combat survival scans
- Added creeper threat caching for villager rule checks
- Added gift candidate caching and gift-knowledge existence checks
- Added dialogue context snapshots to avoid repeated social/family/event data collection
- Added warmup/clear hooks for newer social, village, weapon, notification, and resource caches
Fixed
- Villager structure/story systems now avoid unnecessary or unsafe lookups in worlds with structures disabled
- Followers now stop following when they exceed the configured max follow distance
- Followers dismount cleanly when follow state is cleared
- Alert world text now preserves generic
alert.villager_damagedfallback behavior while allowing player-specific attack responses - Pack docs now warn that using built-in
global.jsonpaths can unintentionally hide default dialogue/options/notifications
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:2ArcBjmC:Enhxhty1"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:2ArcBjmC:Enhxhty1"
}



