Item Limiter
PluginMIT

Item Limiter

This plugin limits how many of each specified vanilla item a player can hold across all inventory interactions, including pickup, chests, crafting, and hoppers.

26
Downloads
1
Followers
4 weeks ago
Updated
📦
1
Versions

📖About Item Limiter

ItemLimiter Plugin

Overview
This plugin enforces per-item inventory limits for players on a Paper server. It ensures players cannot exceed defined maximum amounts for specific vanilla materials, regardless of how items are obtained or moved. The system actively checks and controls item flow in real time rather than only correcting after the fact.


Core Features

  • Enforces limits per vanilla Material (e.g., DIAMOND, TNT, ENDER_PEARL)
  • Applies limits across all major item acquisition and transfer methods
  • Prevents players from exceeding configured item caps

Supported Interactions
The plugin monitors and limits items in the following scenarios:

  1. Ground Pickup
  • Prevents players from picking up items beyond their allowed limit
  • Excess remains on the ground
  1. Chest / Inventory GUIs
  • Blocks or reduces item transfers from chests, barrels, shulkers, etc.
  • Excess remains in the container
  1. Shift-Click / Number Keys / Dragging
  • Handles all inventory movement methods inside GUIs
  • Ensures limits are enforced regardless of transfer method
  1. Crafting Output
  • Reduces crafted output if it would exceed the player’s limit
  • Prevents crafting entirely if no space is available
  1. Hopper Transfers
  • Limits items being inserted into player inventories via hoppers
  1. Login Safety Check
  • Scans and corrects inventory on player join to enforce limits

Limit Behavior

  • Partial Allow Mode:
    If a player would exceed the limit, only the allowed amount is transferred.
    The remainder is left in the original source (ground, chest, or crafting output).

Limit: 16 diamonds
Player has: 14 diamonds
Incoming: 8 diamonds
Result: Player receives 2 diamonds, remaining 6 stay in source


Permissions

  • itemlimiter.bypass
    Allows admins to ignore all item limits

Configuration (config.yml)
EXAMPLE:

limits:
DIAMOND: 16
ENDER_PEARL: 8
TNT: 32


Implementation Notes

  • Uses Paper event system (InventoryClickEvent, EntityPickupItemEvent, InventoryDragEvent, etc.)
  • Designed for vanilla materials only
  • Continuously enforces limits across multiple interaction paths
  • Prevents most duplication via consistent inventory validation across events