Tags
Creators
Details
5.0.0
Compatibility
Changes
v5.0.0 is a complete rewrite of ChunkSpawnerLimiter, focused on performance.
Requirements
- Java 21+
- Minecraft 1.8.8 → 1.21.10
Core Rewrite & Architecture
- Complete internal rewrite of CSL
- Major performance improvements across all systems
- Automatic Minecraft version detection for proper CraftBukkit/NMS handling
- Automatic world size detection — no manual configuration required
- Cached world lists in config (O(n) → O(1) access)
- Significant performance improvements in
PluginConfig
Configuration Changes
-
New unified configuration system
config.ymlandblocks.ymlmerged- Removed obsolete options and added new ones
- Stronger, more sensible defaults
Default config:
https://github.com/sarhatabaot/ChunkSpawnerLimiter/blob/5.0.0/src/main/resources/config.yml
-
Optional entity group overrides via config
-
Improved world enable/disable logic (exclude vs excluded handling fixed)
-
Configurable periodic chunk inspection (default: every 60 seconds)
Entity Handling & Enforcement
- New
modesystem replacingkill-instead-of-remove
Available Modes
-
enforce(default, recommended) – prevent spawn + remove excess -
enforce-kill– prevent spawn + kill excess -
prevent– prevent spawn if limit is reached (CreatureSpawnEvent) -
kill– kill excess entities -
remove– remove excess entities -
Automatic player killing when limits are exceeded (configurable)
-
Spawn eggs are returned to players if consumed while a limit is already reached
-
Improved entity/block removal logic
-
Player notification system for chunk limit violations
Testing & Quality Assurance
- Major test suite expansion
- Separate test suites for:
- Legacy versions (1.8–1.12)
- Modern versions (1.17+)
- Unit tests
- Improved concurrent testing stability
- Fixed race conditions and resource leaks
- Resolved missing dependencies and classpath issues
Technical Improvements
- Complete NMS Block Scanner rewrite
- Improved version compatibility and reliability
- Enhanced debug logging for NMS initialization
- Major performance fix for chunk unload handling
Bug Fixes
- Fixed CraftBukkit package detection (
v1_20_R1, etc.) - Fixed world filtering logic (
isWorldDisabled) - Fixed bad performance on chunk unload
- Fixed concurrent test race conditions
- Fixed test compilation and dependency issues
Build & Dependencies
- Added Adventure API, bStats, and correct API versions for tests
- Streamlined Gradle build configuration
- Improved shadow JAR relocation for better library compatibility
Upcoming (Post-5.0.0)
- Optional third-party region support (non-chunk based), low priority (5.1.0)
- Advanced per-entity preservation logic
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:FYNIkXwH:ATo9rLDT"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:FYNIkXwH:ATo9rLDT"
}

