
VillageAI
Intelligent village defense system. Villages centered on bells automatically detect nearby villagers. Friendly players gain reputation by trading. Hostile players lose reputation by attacking villagers. When hostile players are nearby reputation drops belo
1.0.2
Compatibility
Changes
VillageAI - Version 1.0.0 Update Changelog
Core Improvements
-
Full Configuration Support : Added config.yml to allow real-time adjustment of all system parameters without touching the code.
-
Dynamic Command System : Implemented /villageai reload (aliases: /vai , /village ) to refresh configuration instantly.
-
Improved Performance : Optimized the tick task to run every 2 seconds (configurable), reducing CPU overhead. New Features
-
Morale Buff System : High-reputation players (50+) now grant nearby Villagers Speed I and Regeneration I status effects.
-
Visual Alert Particles :
- ALERT state : Displays HAPPY_VILLAGER (green stars) particles around the Village Bell.
- DEFENDING state : Displays ANGRY_VILLAGER (storm clouds) particles around the Village Bell.
-
Tab Completion : Added full support for command suggestions to improve user experience. Balance & Gameplay
-
Configurable Defense : You can now set the maximum number of Golems and the delay between the Alert and Defense stages.
-
Flexible Reputation : Interaction rewards and damage penalties are now fully adjustable via config.
-
Auto-Door Closing : The radius for automatic door closing during threats is now configurable. Technical Fixes
-
Fixed an issue where the plugin used hardcoded constants for logic sprawl.
-
Resolved a compilation error related to Particle naming conventions in Paper 1.21.1.
-
Refactored the main plugin class to support a Singleton pattern for easier configuration access.
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:QkbM4VXn:sRQGeG8g"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:QkbM4VXn:sRQGeG8g"
}
