A tiny Paper plugin that lets you ban specific items from being placed into bundles, via command.
| Command | Permission | Description |
|---|---|---|
/bundleban add <item> |
bundleban.admin |
Ban an item (Bukkit Material name) from bundles |
/bundleban remove <item> |
bundleban.admin |
Un-ban an item |
/bundleban list |
bundleban.admin |
List currently banned items |
Alias: /bban. Op'd players have bundleban.admin by default.
Example:
/bundleban add totem_of_undying
/bundleban add elytra
/bundleban list
Banned items are stored in plugins/BundleBan/config.yml under
banned-items, so they persist across restarts. The deny message shown to
players is also configurable there (supports & color codes and %item%).
Bundles don't have their own Bukkit API event for "item inserted." Vanilla
performs the insert as a special case inside InventoryClickEvent (and its
number-key-swap variant), based on whichever item is on the cursor vs. the
clicked slot. The plugin's listener (BundleListener) inspects those two
items on every click: if exactly one of them is a bundle and the other is on
the banned list, it cancels the event and messages the player. This covers
the two directions people actually use to fill a bundle:
- Holding the bundle on your cursor and clicking a banned item in a slot.
- Holding a banned item on your cursor and clicking a bundle in a slot.
- Pressing a 1-9 hotbar key to swap a banned hotbar item onto a hovered bundle.
It intentionally leaves shift-clicks and drag events alone, since vanilla doesn't use those to fill bundle contents — they just move whole stacks around inventories.
You need a JDK (21 recommended) and Maven, with network access to Paper's
repository (https://repo.papermc.io/repository/maven-public/) so it can
fetch paper-api. This sandbox's network allowlist doesn't include that
repo, so I wasn't able to compile/test this here — build it locally:
mvn clean packageThe compiled jar will be at target/bundleban.jar. Drop it into your
server's plugins/ folder and restart (or use a plugin manager that
supports hot-loading).
Before building, open pom.xml and bump the paper-api version to match
whatever Paper build your server actually runs (it's currently pinned to
1.21.4-R0.1-SNAPSHOT).
MIT — see LICENSE.