1.0.1
Compatibility
Changes
📝 Changelog: Version 1.0.1 Main Focus: Server stability, performance optimization for large-scale settlements, and the introduction of the "Living World" village persistence system.
✨ New Features Village Persistence (Persistent Activity after Disconnect): Villages in Millénaire now continue to build, expand, and function even after a player disconnects from the server. The mod tracks the last active village visited by the player and maintains its activity state. Utilizes an NBT-based persistence layer to ensure consistency between sessions and server restarts. Building Scan Throttling (Anti-Lag): Added a throttling mechanism for building inventory scans. Prevents CPU spikes caused by multiple simultaneous scan calls in the same tick (e.g., when many NPCs or entities request building data at once). Ensures smooth TPS even in massive settlements with hundreds of structures. Advanced AI Throttling: Enhanced distance-based optimization: NPCs further than 100 blocks from the player have their goal schedulers disabled. Significantly reduces CPU overhead in sprawling maps where only a fraction of inhabitants are visible. 🛠 Fixes & Improvements Minecraft 1.21.1 Migration: Updated all Minecraft API calls from the deprecated .getWorld() to the modern .level() method. Full compatibility with NeoForge 1.21.1. Name Conflict Resolution: Fixed a critical compilation error where the mod's internal MillVillager class conflicted with the Millénaire core library. Math & Logic Accuracy: Corrected distance calculations in GoalSchedulerMixin using standard BlockPos methods to ensure accurate optimization boundaries. Fixed various minor bugs related to NPC navigation and pathfinding. Compatibility: Added explicit support for NeoForge 21.1.235. ⚙️ Technical Details Minecraft Version: 1.21.1 Target Mod: Millénaire (9.0.0-beta.1) Platform: NeoForge / Forge Mod ID: milloptimize This project is a fork and successor of MillMix_Jubi.
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:RLKPSS52:TLxTGGmp"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:RLKPSS52:TLxTGGmp"
}

