Description
Gallery
Changelog
Versions
ChunkSpawnerLimiter
Limits entities & blocks in chunks.
Features
- Limit any entity per chunk.
- Limit any block per chunk. (Disabled by default, enable in blocks.yml)
- Notify players when a limit has been reached via in-game messages or titles.
- Configurable messages & titles
- Check limits with any spawn reason: Mob spawn from portal? No problem. A player built an iron golem, sure!
- Preserve unique entities (named, special meta data)
- Exclude worlds from being checked by CSL.
- Pre-made mob groups: Want to limit all animals? Just use the "ANIMAL" group. (Custom groups coming soon)
- Modded blocks & entities coming soon.
Commands & Permissions
- /cslreload or /csl reload - Reloads the config.
- Permission: csl.reload
- /cslinfo or /csl info - Shows the current spawn reasons & entity limits.
- Permission: csl.info
- /cslsettings or /csl settings - Shows the current settings & messages.
- Permission: csl.settings
📹 Featured Videos
Here are some community-made tutorials and showcases:
Spanish Showcase:
Video by BeanHosting Oficial
Thank you Cyprias for making the original version of this plugin.
All Versions
+ Add Version
[5.1.0] ChunkSpawnerLimiter 5.1.0 - Bug fixes & Testing
by sarhatabaot on Oct 15, 2026
Download
## 🏕 Features
## 🛠 Bug Fixes
## 👒 Dependencies
## Validation
- Add real Paper integration and stress tests through WatchWolf.
- Add nightly prereleases and automatic shaded-jar attachment for stable releases.
- Rebuild loaded chunk state when configuration reloads; honor enablement and inspection settings.
## 🛠 Bug Fixes
- Correct entity removal accounting, player protection, deferred prevention, portal handling, and transform tracking.
- Validate and normalize configuration names and limits.
- Bound chunk inspections and entity tracking; replace unsafe scanners with snapshot-based scanning.
## 👒 Dependencies
- Move the build and CI to Java 21 and update Gradle and build dependencies.
## Validation
- The release range adds unit, legacy, and WatchWolf coverage.
- Real Paper reload cleanup still needs confirmation after the test’s chunk-loading fix.
[5.0.1] ChunkSpawnerLimiter 5.0.1
by sarhatabaot on Oct 15, 2026
Download
- Fixed [GH-104](https://github.com/sarhatabaot/ChunkSpawnerLimiter/issues/104) - Console spam when using spawn eggs.
[5.0.0] ChunkSpawnerLimiter 5.0.0
by sarhatabaot on Oct 15, 2026
Download
v5.0.0 is a complete rewrite of ChunkSpawnerLimiter, focused on performance.
## Requirements
## Core Rewrite & Architecture
## Configuration Changes
https://github.com/sarhatabaot/ChunkSpawnerLimiter/blob/5.0.0/src/main/resources/config.yml
## Entity Handling & Enforcement
### Available Modes
## Testing & Quality Assurance
## Technical Improvements
## Bug Fixes
## Build & Dependencies
## Upcoming (Post-5.0.0)
## 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
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 excessenforce-kill– prevent spawn + kill excessprevent– prevent spawn if limit is reached (CreatureSpawnEvent)kill– kill excess entitiesremove– 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
[5.0.0-RC5] ChunkSpawnerLimiter 5.0.0-RC5
by sarhatabaot on Oct 15, 2026
Download
- Fixed bad performance on chunk unload.
- Eggs should be returned to players on consumption if limit was reached.
- Cached world list in config (O(n) per access → O(1) per access)
[5.0.0-RC4] ChunkSpawnerLimiter 5.0.0-RC4
by sarhatabaot on Oct 15, 2026
Download
## TLDR:
Improved performance in regards to the blocks & entities features. Please report any issues on the discord, as I'm still testing performance issues.
# Changelog: v5.0.0-RC3 to v5.0.0-RC4
## 🧪 **Testing & Quality Assurance**
## 🔧 **Technical Improvements**
## 🐛 **Bug Fixes**
## 📦 **Dependencies & Build**
## 🎯 **Configuration & Features**
Improved performance in regards to the blocks & entities features. Please report any issues on the discord, as I'm still testing performance issues.
# Changelog: v5.0.0-RC3 to v5.0.0-RC4
## 🧪 **Testing & Quality Assurance**
- Comprehensive test suite expansion** - Added extensive unit and integration tests across multiple Minecraft versions
- Multi-version test support** - Implemented separate test suites for legacy (1.8-1.12), modern (1.17+), and unit tests
- Test framework improvements** - Enhanced concurrent testing, fixed race conditions, and improved resource management
## 🔧 **Technical Improvements**
- NMS Block Scanner overhaul** - Complete rewrite of the block scanning system with better version compatibility
- Version detection system** - Added automatic Minecraft version detection for proper CraftBukkit package handling
- Debug logging enhancement** - Added detailed logging for troubleshooting NMS initialization issues
## 🐛 **Bug Fixes**
- CraftBukkit package detection** - Fixed ModernNmsScanner to properly detect versioned CraftBukkit packages (v1_20_R1, etc.)
- World filtering logic** - Corrected
isWorldDisabled()method to properly handle "excluded" vs "exclude" mode checking - Test compilation issues** - Resolved missing dependencies and classpath problems across all test suites
- Concurrent test race conditions** - Fixed thread safety issues in test execution
## 📦 **Dependencies & Build**
- Test dependencies** - Added adventure API, bStats, and proper API versions for all test configurations
- Gradle configuration** - Streamlined build process with proper test suite organization
- Library relocation** - Improved shadow jar configuration for library compatibility
## 🎯 **Configuration & Features**
- Notification system** - Added player notification features for chunk limit violations
- Inspection frequency** - Configurable periodic chunk inspection (default: every 60 seconds)
- World filtering** - Enhanced world enable/disable functionality
- Removal modes** - Improved entity/block removal logic and player kill options
[5.0.0-RC1] ChunkSpawnerLimiter 5.0.0-RC1
by sarhatabaot on Oct 15, 2026
Download
5.0.0 is a complete re-write of CSL.
- Java 21+ Required
- New config (Merged config.yml + blocks.yml)
- Removed some options & added new ones
- More powerful defaults. See it here: https://github.com/sarhatabaot/ChunkSpawnerLimiter/blob/5.0.0/src/main/resources/config.yml
- 1.8.8 -> 1.21.10 Support
- Automatic world size detection, no need to set in config.
- Overriding entity groups in config (optional).
- Better performance (finally)
- Automatically kill players if a limit has been reached.
- Replaced kill-instead-of-remove with a new "mode" setting:
- Options: enforce (default - recommended), enforce-kill, prevent, kill, remove
prevent -> don't spawn the mob if the limit is reached (using CreatureSpawnEvent)
enforce -> prevent+remove
enforce-kill -> prevent+kill
#### Upcoming Features
- Possible third party region support instead of chunks (later, low priority, 5.1.0)
- Advanced per entity preservation
https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v5.0.0-RC1
[4.4.4] ChunkSpawnerLimiter 4.4.4
by sarhatabaot on Oct 15, 2026
Download
- Fixed an NPE [GH-#89](https://github.com/sarhatabaot/ChunkSpawnerLimiter/issues/89).
- Code cleanup & optimizations.
[4.4.2] ChunkSpawnerLimiter 4.4.2
by sarhatabaot on Oct 15, 2026
Download
- Fixes an issue where an illegal state is triggered.
[https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.4.2](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.4.2)
[4.4.1] ChunkSpawnerLimiter 4.4.1
by sarhatabaot on Oct 15, 2026
Download
## What's Changed
- Better Task cancelling by @PanSzelescik in https://github.com/sarhatabaot/ChunkSpawnerLimiter/pull/84
[4.4.0] ChunkSpawnerLimiter 4.4.0
by sarhatabaot on Oct 15, 2026
Download
## Entities Feature
## Blocks Feature
### Config & More debug
- Moved entity limit calculations to an async task to prevent server lag during chunk inspections.
## Blocks Feature
- Faster Checks – High-limit blocks (like stone/dirt) now use a cache system for instant checks.
- Accurate Limits – Low-limit blocks (like spawners) still scan chunks to ensure precision.
- Reduced Lag – Cache automatically clears when chunks unload or blocks break.
### Config & More debug
- Config option – Adjust
cache.min-limit-for-cache: 50 in blocks.yml to balance speed/accuracy. - More debug logs.
[4.4.0-beta] ChunkSpawnerLimiter 4.4.0-beta
by sarhatabaot on Oct 15, 2026
Download
## Entities Feature
## Blocks Feature
### Config & More debug
- Moved entity limit calculations to an async task to prevent server lag during chunk inspections.
## Blocks Feature
- Faster Checks – High-limit blocks (like stone/dirt) now use a cache system for instant checks.
- Accurate Limits – Low-limit blocks (like spawners) still scan chunks to ensure precision.
- Reduced Lag – Cache automatically clears when chunks unload or blocks break.
### Config & More debug
- Config option – Adjust
cache.min-limit-for-cache: 50 in blocks.yml to balance speed/accuracy. - More debug logs.
[4.3.12] ChunkSpawnerLimiter 4.3.12
by sarhatabaot on Oct 15, 2026
Download
# Changes, Fixes
- Probably fixes [#74](https://github.com/sarhatabaot/ChunkSpawnerLimiter/issues/74)
- Some performance improvements
- If there is a problem with the material name in blocks.yml it'll log it in the console.
- General code cleanup and refactors.
- Changed blocks.yml worlds path, it's now:
yml
worlds:
world_nether:
min-y: 0
max-y: 128
``
[4.3.11] ChunkSpawnerLimiter 4.3.11
by sarhatabaot on Oct 15, 2026
Download
- Added 1.21.4 Support
See full changelog at: [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.11](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.11)
[4.3.10] ChunkSpawnerLimiter 4.3.10
by sarhatabaot on Oct 15, 2026
Download
- Update NBT-API to support 1.21.3
- Minor optimizations & documentation additions.
Full changelog at [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.10](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.10)
[4.3.9.1] ChunkSpawnerLimiter 4.3.9.1
by sarhatabaot on Oct 15, 2026
Download
Fixed console error.
[4.3.9] ChunkSpawnerLimiter 4.3.9
by sarhatabaot on Oct 15, 2026
Download
## Changes
Added 3 new config settings:
``
Added 3 new config settings:
``
yaml
watch-entity-spawns: true
# Only relevant if kill-instead-of-remove is used (unless paper's tick setting is set to false)
# Drops the items from the armor stands, i.e. helmet, etc
drop-items-from-armor-stands: false
log-armor-stand-tick-warning: true
`
Fixed a bug that caused the watch-vehicle-create-event` setting to not function correctly.
[4.3.8] ChunkSpawnerLimiter 4.3.8
by sarhatabaot on Oct 15, 2026
Download
## Changed Feature:
The excluded worlds config entry has been removed. Instead we now have a "worlds" section.
``
This allows worlds to either be excluded from the checks, or to be limited to just the set worlds.
## Bug Fixes
Full changelog: [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.8](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.8)
The excluded worlds config entry has been removed. Instead we now have a "worlds" section.
``
yaml
worlds:
mode: "excluded"
worlds: []
``This allows worlds to either be excluded from the checks, or to be limited to just the set worlds.
## Bug Fixes
- Potentially fixed a memory leak with Entity & Chunk objects.
Full changelog: [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.8](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.8)
[4.3.7] ChunkSpawnerLimiter 4.3.7
by sarhatabaot on Oct 15, 2026
Download
## New features & Bug Fixes

Full changelog at: [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.7](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.7)
- Feature/kill instead of remove by @sarhatabaot in https://github.com/sarhatabaot/ChunkSpawnerLimiter/pull/35. To enable this add:
yaml
kill-instead-of-remove: true
``- Bug fix for block limiter.
- Search feature for entity types:

Full changelog at: [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.7](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.7)
[4.3.5] ChunkSpawnerLimiter 4.3.5
by sarhatabaot on Oct 15, 2026
Download
- Added an option to disable metrics. (Metrics are enabled by default)
- Added a generic help command.
[https://github.com/sarhatabaot/ChunkSpawnerLimiter/compare/v4.3.3...v4.3.5](https://github.com/sarhatabaot/ChunkSpawnerLimiter/compare/v4.3.3...v4.3.5)
[4.3.3] ChunkSpawnerLimiter 4.3.3
by sarhatabaot on Oct 15, 2026
Download
