2.1.7
Compatibility
Changes
SentientMobs 2.1.7
Language System & Trade Improvements
- Added a fully configurable language system
- Added support for custom villager names through language files
- Language files are now automatically generated inside the
lang/folder - Default language file:
EN_lang.yml - Added
/sm createlang <language>command to quickly generate new language templates - Added
/sm setlang <language>command to instantly switch active language and save it to config - Villager names are now fully configurable from language files instead of being hardcoded
- Fixed reversed Labor Trade pricing logic
- Villagers now correctly trade multiple seeds for 1 Emerald instead of charging dozens of Emeralds for a single seed
How the Language System Works
The new language system allows server owners to fully customize plugin messages and villager names without editing the plugin itself.
Language File Structure
All language files are stored inside:
plugins/SentientMobs/lang/
Each language uses the format:
<LANGUAGE>_lang.yml
Examples:
EN_lang.yml
ID_lang.yml
JP_lang.yml
The plugin automatically creates EN_lang.yml on first startup as the default language template.
⚙️ Active Language
The active language is controlled from config.yml.
Example:
language: EN
Changing the language instantly changes:
- Plugin messages
- Villager names
- AI-related text outputs
- Future localized content
Villager Names
Villager names are now fully configurable directly from the language file.
Example:
villager:
names:
male:
- Eldrick
- Yusuf
female:
- Minerva
- Fatimah
neutral:
- Alex
New villagers will automatically use names from the currently active language file.
Commands
Create a new language template:
/sm createlang ID
This automatically generates:
ID_lang.yml
Switch active language instantly:
/sm setlang ID
The selected language is automatically saved to the configuration.
Villager Stamina Overhaul
-
Completely redesigned Villager-exclusive stamina system
-
Added structured stamina states:
ENERGETICNORMALTIREDEXHAUSTED
Villagers now lose stamina while:
- Working
- Running from danger
- Walking around the village
Villagers recover stamina by:
- Sleeping
- Eating
- Resting near village bells
Additional Improvements
- Dynamic movement speed adjustments based on stamina state
- Sweat particles when exhausted
- Sleep/rest particles while recovering
- Villager AI behaviors are now deeply integrated with the new stamina manager
- Added extensive stamina configuration options in
config.yml - More immersive and realistic village simulation
Technical Changes
- Added dedicated
VillagerStaminaManager - Refactored multiple villager AI behaviors to use the new stamina architecture
- Improved internal language management system
- Updated plugin version to
2.1.7 - Updated config version to
2.1.7 - Successfully compiled and verified with Maven build
Notes
This update heavily modernizes villager behavior systems and introduces full language customization support, making villages feel significantly more alive, configurable, and immersive.
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:XUkrRobk"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:8no5Rtgr:XUkrRobk"
}

