DytchsHoppers
A clean, fully customizable filter hopper. It works exactly like a vanilla hopper — but with a built-in GUI item filter (whitelist / blacklist), trusted managers, an optional floating hologram, and a configurable transfer speed. Dupe-proof by design, grief-proof against creepers and pistons, and every menu, message, and colour is editable.
Support: Message "dytch" on discord for free lifetime support!
Features
Compatibility
Installation
Commands
How the filter works
Each hopper has three filter modes:
Managing a hopper
Ownership & access
Adding a manager
Open Managers from the Management menu (owner/admin only), click Add Manager, type the player's name into the box, and click the result to confirm. It uses an anvil input box, so it works even for muted players. The player must have joined the server before. Click a manager's head to remove them.
Holograms (optional)
With FancyHolograms installed, each hopper can display a floating label showing its filter mode, item count, status, and owner. Toggle it per hopper from the Management menu, and set the default state, height, and text lines in config.yml. Without FancyHolograms the feature is simply skipped — no errors, no setup required.
Configuration
Everything lives in two files, config.yml and messages.yml:
Customization Placeholders
These work in the relevant item names/lore in config.yml (and in messages.yml where noted):
Permissions
Command Reference
A clean, fully customizable filter hopper. It works exactly like a vanilla hopper — but with a built-in GUI item filter (whitelist / blacklist), trusted managers, an optional floating hologram, and a configurable transfer speed. Dupe-proof by design, grief-proof against creepers and pistons, and every menu, message, and colour is editable.
Support: Message "dytch" on discord for free lifetime support!
Features
- Built-in item filter. Every hopper has its own whitelist or blacklist, edited in a clean GUI. Make a hopper that only ever collects diamonds, or one that grabs everything except cobblestone — your choice, per hopper.
- Smart intake. The filter controls what a hopper takes IN — items it pulls from the container above, items it picks up off the ground on top of it, and items another hopper or dropper tries to push into it. Rejected items are simply left where they are.
- Chainable sorting. When a hopper pushes into another custom hopper, it respects that hopper's filter too — so you can line them up to auto-sort an entire storage wall.
- Dupe-proof by design. The filter menu uses display-only "ghost" icons, so your real items never enter a menu, and a single transfer engine moves every item on the main thread. There is no window for duplication.
- Configurable transfer speed. Two values control throughput — make hoppers faster than vanilla, or move items in bigger batches. Perfect as a donor perk or a server-wide upgrade.
- Trusted managers. The owner can add other players to a hopper so friends or staff can open and edit it, without handing over the ability to break it.
- Ownership protection. Only the owner, trusted managers, and admins can open a hopper; only the owner and admins can break it. Nobody can crack open someone else's storage.
- Grief-proof. Custom hoppers can't be blown up by creepers or TNT, and can't be pushed or pulled by pistons.
- Optional holograms. With FancyHolograms installed, a floating label above each hopper shows its filter mode, item count, status, and owner. Toggle it per hopper, or turn the whole feature off. No FancyHolograms? It simply hides itself, no errors.
- On/off + redstone aware. Toggle any hopper on or off from its menu, and it locks when powered by redstone, exactly like vanilla.
- Persistent. Hopper data is saved per chunk and survives restarts. Place/break/filter changes save instantly.
- Fully customizable GUI and messages. Every item, slot, icon, name, lore line, and message is editable. Hide any button by disabling it. Three menus (Management, Filter, Managers) are completely yours to restyle.
- Triple color support. Legacy codes (&a), RGB hex (&#RRGGBB and <#hex>), and MiniMessage-style <gradient:..>, <rainbow>, and <bold> all work, and can be mixed in the same line — everywhere text is shown.
Compatibility
- Server: Paper / Purpur 1.21+ — and Folia
- Java: 21+
- Optional: FancyHolograms (for the floating holograms; on Folia it needs a Folia-compatible FancyHolograms build)
- Dependencies: none required
Installation
- Drop DytchsHoppers.jar into your /plugins folder and start the server once to generate the config files.
- (Optional) Install FancyHolograms if you want the floating holograms.
- Customize config.yml and messages.yml to match your server's style if you'd like.
- Run /dytchshoppers reload (or restart) to apply changes.
- Run /dytchshoppers give <player> [amount] to hand out a hopper.
- Place it, RIGHT-CLICK to use it, and SHIFT + RIGHT-CLICK (with an empty hand) to manage it.
Commands
- /dytchshoppers give <player> [amount] — give custom hopper(s) to an online player (amount 1–64, defaults to 1)
- /dytchshoppers reload — reload config.yml and messages.yml
How the filter works
Each hopper has three filter modes:
- Disabled — collects everything, just like a vanilla hopper.
- Whitelist — only collects the items you've added.
- Blacklist — collects everything except the items you've added.
Managing a hopper
- Right-Click a placed hopper to open its normal 5 storage slots.
- Shift + Right-Click with an empty hand to open the Management menu.
Ownership & access
- Owner (whoever placed the hopper) — full control: open, edit the filter, manage managers, and break/reclaim it.
- Trusted managers — can open the hopper and edit its filter, hologram, and on/off state, but cannot break it or change the manager list.
- Admins (dytchshoppers.admin) — bypass ownership entirely: open, manage, or break any custom hopper.
Adding a manager
Open Managers from the Management menu (owner/admin only), click Add Manager, type the player's name into the box, and click the result to confirm. It uses an anvil input box, so it works even for muted players. The player must have joined the server before. Click a manager's head to remove them.
Holograms (optional)
With FancyHolograms installed, each hopper can display a floating label showing its filter mode, item count, status, and owner. Toggle it per hopper from the Management menu, and set the default state, height, and text lines in config.yml. Without FancyHolograms the feature is simply skipped — no errors, no setup required.
Configuration
Everything lives in two files, config.yml and messages.yml:
- settings — transfer-interval-ticks (transfer speed; vanilla is 8, lower is faster), items-per-transfer (items moved per cycle), default-filter-mode (DISABLED / WHITELIST / BLACKLIST), save-interval-seconds, and engine-tick-interval (leave at 1).
- hopper-item — the item players receive: material (must stay HOPPER), name, the 5-slot container title, lore, and glow.
- hologram — enabled, default-on, y-offset, and the text lines.
- input — the text and hint shown in the add-manager box.
- gui — three menus (management, filter, managers). Every button's enabled, slot, material, name, and lore is editable; disable any button to hide it. (The On/Off toggle, Hologram toggle, and Filter Mode icons are auto-coloured by state, so their material is ignored — name and lore still apply.)
Customization Placeholders
These work in the relevant item names/lore in config.yml (and in messages.yml where noted):
- Info item: %owner% %managers% %mode% %filter_count% %state% %name%
- Filter button / Filter Mode: %mode% %filter_count%
- Managers button: %managers%
- Hologram button: %status%
- On/Off toggle: %state%
- Filter menu pages: %page% %pages%
- Filtered (ghost) item: %item% %id%
- Manager head: %player%
- Hologram lines: %mode% %filter_count% %status% %owner%
- Messages: %player% %amount% %item% %status% %label% (depending on the message)
Permissions
| Node | Default | Purpose |
|---|---|---|
| dytchshoppers.admin | op | Use /dytchshoppers (give, reload) and bypass hopper ownership — open, manage, or break ANY custom hopper. This is the only permission node. There is no per-use or per-place permission: any player holding a hopper item can place and operate their own. |
Command Reference
| Command | Aliases | Purpose | Permission |
|---|---|---|---|
| /dytchshoppers give <player> [amount] | /dhoppers, /dh | Give 1–64 custom hoppers (default 1) to an online player; overflow drops at their feet | dytchshoppers.admin |
| /dytchshoppers reload | /dhoppers, /dh | Reload config.yml and messages.yml | dytchshoppers.admin |
