HomeJavaModsKolen's Chunk Limiter
Kolen's Chunk Limiter
ModsJava

Kolen's Chunk Limiter

The ultimate, lightweight, and high-performance block/entity placement limiter for modern Minecraft servers.

⬇ Download on Modrinth

️ChunkLimiter ️

The ultimate, lightweight, and high-performance block/entity placement limiter for modern Minecraft servers.

About ChunkLimiter Are redstone contraptions, mob farms, armor stands, or shulker-filled chunks tanking your server’s TPS? ChunkLimiter is a state-of-the-art solution designed to track, control, and limit how many performance-heavy blocks and entities players can place inside a single chunk.

Unlike older, unoptimized plugins, ChunkLimiter is built from the ground up for modern servers running Paper, Purpur, or Folia (Minecraft 1.20+ through 26.1+). It utilizes a non-blocking asynchronous architecture with a dedicated worker thread queue to guarantee zero impact on server ticks (TPS), even under heavy load.

✨ Features

Multiple Limit Modes:
    Per Player (per-player): Every player gets their own independent allocation per chunk (e.g., maximum 5 hoppers per player, per chunk).
    Per Chunk Total (per-chunk-total): Players share a collective limit in a chunk (e.g., maximum 20 spawners total in a chunk, regardless of who placed them).
Smart Block Tracking: Fine-grained limits for any block type (e.g., HOPPER, SPAWNER, BEACON, OBSERVER).
Automatic Grouping: Specify SHULKER_BOX in the configuration, and ChunkLimiter automatically expands it to cover all 16 colored variants!
️Entity Placement Tracking: Track and limit entity-based placements such as Item Frames, Glow Item Frames, Armor Stands, and Paintings.
️ Permission-Based Tiers: Reward VIPs or staff by granting higher limits via permission nodes (e.g., chunklimiter.tier.vip).
Dual Storage Backends:
    SQLite: Simple, zero-setup local file storage (data.db).
    MySQL: High-speed, HikariCP-pooled database backend for multi-server setups.
⚡ TPS-Friendly Async Architecture:
    All database tasks (chunk load, chunk unload, flush, bypass/override modifications) are managed sequentially on a single-threaded background executor.
    No locks, no lag, and no race conditions.
Adventure API Integration: Crisp, modern feedback messages utilizing clean MiniMessage/Legacy formatting in chat, action bars, or titles.

️ Commands & Permissions Manage everything on the fly with command tab-completion!

Command Description Permission /chunklimiter bypass <true/false> Grants/revokes placement limits bypass for a player. chunklimiter.admin /chunklimiter limit Sets a per-player limit override. chunklimiter.admin /chunklimiter reset [current_chunk] Resets a player's placement counters. chunklimiter.admin /chunklimiter info Views the current chunk's counters and limits. chunklimiter.admin /chunklimiter reload Reloads the configuration and restarts services. chunklimiter.admin ​ ⚙️ Configuration Customize limits, messaging style, and storage settings inside a clean config.yml:

Code (Text):

storage: type: "sqlite" # "sqlite" or "mysql" mysql: host: "localhost" port: 3306 database: "chunklimiter" username: "root" password: "" flush-interval-seconds: 60 limits: mode: "per-chunk-total" # Options: "per-player", "per-chunk-total" decrement-on-break: true override-scope: "global"

Tracked block limits

tracked-blocks: HOPPER: 10 SPAWNER: 5 BEACON: 2 SHULKER_BOX: 8 # Automatically expands to all colored variants

Tracked entity limits

track-entities: true tracked-entities: ARMOR_STAND: 10 ITEM_FRAME: 15 GLOW_ITEM_FRAME: 15

Grant higher limits to specific permission nodes

permission-tiers: chunklimiter.tier.vip: HOPPER: 15 SPAWNER: 8 chunklimiter.tier.mvp: HOPPER: 20 SPAWNER: 12 messages: feedback-type: "actionbar" # Options: "actionbar", "chat", "title", "none" progress: "Chunk limit: {count}/{limit} blocks placed ({remaining} remaining)" denied: "You've reached the placement limit ({limit}) for tracked blocks in this chunk!" Why ChunkLimiter? Many block limiters suffer from database race conditions where rapidly loading and unloading chunks leads to players' block counters resetting back to zero, allowing them to place unlimited blocks.

ChunkLimiter completely resolves this by serializing database operations sequentially on a background thread. Plus, it dynamically scans and loads all pre-existing chunks upon enabling, ensuring your spawn chunks and already-loaded areas are always accurately accounted for from the second the server starts.

Support & Community Need help configuring ChunkLimiter or want to report a bug? Join our official support channel:

Join my Discord Community Discord Invite

FastStats: Servers & Players

Verified by MCModsHub

These come from our own check of the pack file, not from the source page.

Explore more