Skip to main content

Overview

HopperLimiter is a lightweight, performance-focused plugin that enforces a maximum number of hoppers (and hopper minecarts) per chunk. Excessive hoppers are one of the most common causes of server lag โ€” HopperLimiter gives server owners a simple, configurable cap without needing to ban hoppers entirely.

Why Use HopperLimiter?โ€‹

Each hopper checks for items every game tick. Even a few hundred hoppers in a small area can measurably raise your server's TPS cost. HopperLimiter stops the problem at the source by preventing placement beyond a defined threshold and periodically validating existing chunks.

Key Featuresโ€‹

  • Per-Chunk Limits โ€” Independent caps for block hoppers and hopper minecarts
  • Three Counting Modes โ€” Combined, Separate, or Weighted to fit any server design
  • Automatic Overflow Handling โ€” Break or silently remove excess hoppers above the cap
  • Periodic Validation โ€” Background scan removes any hoppers that bypassed placement checks
  • Permission Bypass โ€” Trusted players/staff can exceed the limit
  • Player Notifications โ€” Friendly messages when a placement is blocked
  • No Per-Tick Overhead โ€” Event-driven; background validation runs on a configurable interval
  • Folia Compatible โ€” Safe for multi-threaded region servers

Supported Versionsโ€‹

ComponentRequirement
MinecraftPaper/Spigot 1.20+
JavaJava 17+
API Version1.20
FoliaSupported

Dependenciesโ€‹

None โ€” HopperLimiter is standalone with zero required dependencies.

Quick Exampleโ€‹

# config.yml โ€” allow 50 combined hoppers per chunk
counting-mode: COMBINED
combined-limit: 50
overflow-action: BREAK

Players placing a 51st hopper will be blocked and notified immediately.

How It Worksโ€‹

  1. Placement Prevention โ€” BlockPlaceEvent is intercepted; if the chunk is already at its cap, placement is cancelled
  2. Periodic Validation โ€” Every validation-interval seconds the plugin scans loaded chunks and removes any excess
  3. Overflow Action โ€” When excess hoppers are found, they are either broken (drops items) or silently removed, based on config
  4. Bypass โ€” Players with hopperlimiter.bypass can always place freely

What's Next?โ€‹