All versions
2.3.1
Release
Dialogue system redesign4 months ago 48
Compatibility
Minecraft: Java Edition
26.2
26.1.x
1.21.x
1.20.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
SentientMobs Changelog v2.3.1
New Features
Configurable Villager Dialogue
- Villager dialogue is now fully configurable.
- Added a new
villager.dialogueconfiguration section. - Dialogue and greeting phrases can now be customized.
- Supports configurable:
- Dialogue and greeting lists
- Chat chance
- Greeting chance
- Maximum phrases per conversation
- Pair cooldown
- Greeting cooldown
- Automatically falls back to the language file if no custom phrases are provided.
Standalone Villager Dialogue AI
- Refactored the villager dialogue system into its own independent AI module.
- Added
VillagerDialogueAIto handle:- Dialogue loading
- Greeting loading
- Phrase randomization without immediate repetition
- Anti-spam cooldowns
- Built-in fallback phrases
Speech Bubble System
- Added floating speech bubbles above villagers.
- Speech bubbles follow moving entities.
- One active bubble per entity.
- Nearby bubbles automatically stack to prevent overlapping.
- Bubble duration is configurable.
Two-Way Conversations
- Added
/talk <message>command. - Villagers can now respond to players using simple keyword-based AI (English & Indonesian).
- While talking, villagers:
- Stop walking.
- Look at the player.
- Ignore ambient conversations and greetings.
- Added configurable:
- Talk range
- Conversation timeout
🐞 Bug Fixes
Fixed Village Leaders Being Re-Elected Repeatedly
- Fixed council data not being shared correctly between double chests.
- Council data is now synchronized across both sides of Community Chest double chests.
- Initial council creation and leadership transfers now work correctly with double chests.
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:8no5Rtgr:hVb7aeXm"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:8no5Rtgr:hVb7aeXm"
}

