All Mods Resource Packs Data Packs Shaders Modpacks Plugins
ChunkSpawnerLimiter

ChunkSpawnerLimiter

by sarhatabaot • Downloads: 0 • Followers: 0
Description
Gallery
Changelog
Versions

wiki

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:

ChunkSpawnerLimiter (CONTROLS Entities and Blocks by CHUNK)

Video by BeanHosting Oficial

Thank you Cyprias for making the original version of this plugin.

Metrics for CSL

All Versions

+ Add Version
Name Game version Platforms Published Downloads Actions
26.3 26.2 26.1.x +14
Bukkit Paper Purpur Spigot
15h ago 1
26.1.x 1.21.x 1.20.x +12
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +11
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +6
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.21.x 1.20.x 1.19.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.20.x 1.19.x 1.18.x +5
Bukkit Paper Purpur Spigot
15h ago 1
1.20.x 1.19.x 1.18.x +5
Bukkit Paper Purpur Spigot
15h ago 1
## 🏕 Features
  • 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
[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
  • 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.yml and blocks.yml merged
  • 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 mode system replacing kill-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

  • 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)

## 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**
  • 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 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
kill -> "kill-instead-of-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
[4.4.0] ChunkSpawnerLimiter 4.4.0 by sarhatabaot on Oct 15, 2026
Download
## Entities Feature
  • 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.
## Entities Feature
  • 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.
# Changes, Fixes
``yml
worlds:
world_nether:
min-y: 0
max-y: 128
``

  • 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)
Fixed console error.
[4.3.9] ChunkSpawnerLimiter 4.3.9 by sarhatabaot on Oct 15, 2026
Download
## Changes
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.

``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
``yaml
kill-instead-of-remove: true
``
  • Bug fix for block limiter.
  • Search feature for entity types:

![javaw_HtQlOCJSdj](https://github.com/user-attachments/assets/129be63d-095a-488e-8639-f505aa6b35cf)

Full changelog at: [https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.7](https://github.com/sarhatabaot/ChunkSpawnerLimiter/releases/tag/v4.3.7)
ChunkSpawnerLimiter Icon
Download ChunkSpawnerLimiter
Select game version
Select platform