PerfDonutCrates
Donut-style crate system: placeable crate chests, virtual keys, reward picker + confirm GUI, split holograms, and fully YAML-driven rewards. Paper and Folia 1.21 - 26.x
Support
Report bugs and get support here: https://discord.gg/VvM6k2eBDa
Features
• Folia support – Region-safe scheduling on Folia and Paper 1.21.x
• Five default crates – Common, Prime, Gold, Crimson, and Amethyst included; add or edit crates via YAML
• Virtual keys – Database-backed key balances per player and crate; no physical key items required
• Placeable crate blocks – Give crate items, place chests, auto-bind on placement with holograms
• Reward picker GUI – Right-click a bound crate to open the reward menu; keys are checked only when confirming a reward
• Confirm GUI – Customizable confirm/cancel screen before spending a key and receiving the reward
• Flexible rewards – Items, enchantments, armor trims, server commands, give-icon preview-only mode, and optional broadcast messages
• Split holograms – Separate above/below holograms (crate name + /store above, live key count below) via FancyHolograms or DecentHolograms
• Hologram display settings – Billboard, alignment, background RGBA, line spacing, scale, and view range in config
• Block protection – Bound crate blocks cannot be broken until /crate unbind
• Per-crate permissions – perfdonutcrates.open.(crate) and perfdonutcrates.preview.(crate) for fine-grained access
• Opening log & stats – Track player and crate opening counts with admin stats commands
• Per-crate cooldowns – Optional cooldown-seconds per crate YAML
• Redis key sync – Optional cross-server virtual key sync over Redis
• Configurable filler backgrounds – Toggle GUI filler panes per crate and in confirm-gui.yml with enabled: true/false
• Sounds & particles – Configurable sounds for no-key, confirm accept/deny, and reward particles
• Database – SQLite by default; optional MySQL for keys, bound blocks, and opening logs
Placeholders
%perfdonutcrates_keys_total% – Total virtual keys across all crates
%perfdonutcrates_keys_(crate)% – Virtual key count for a crate (e.g. common, amethyst)
%perfdonutcrates_keys_(crate)_formatted% – Key count with “Key” / “Keys” suffix
%perfdonutcrates_crate_display_(crate)% – Display name of a crate
%perfdonutcrates_openings_total% – Total crate openings for the player
%perfdonutcrates_openings_(crate)% – Openings for a specific crate
Commands
/crate help – Show command help (perfdonutcrates.use)
/crate list – List all loaded crates (perfdonutcrates.use)
/crate preview (crate) – Open a crate reward picker without binding (perfdonutcrates.preview / perfdonutcrates.preview.(crate))
/crate keys – Show your virtual keys (perfdonutcrates.use)
/crate keys (player) – Show another player’s keys (perfdonutcrates.keys.view.others)
/crate keys add (player) (crate) [amount] – Add virtual keys (perfdonutcrates.keys.manage)
/crate keys remove (player) (crate) [amount] – Remove virtual keys (perfdonutcrates.keys.manage)
/crate keys set (player) (crate) (amount) – Set virtual keys (perfdonutcrates.keys.manage)
/crate setkey (player) (crate) (amount) – Alias for keys set (perfdonutcrates.keys.manage)
/crate give (player) (crate) (virtual|item) [amount] – Give keys or a placeable crate item (perfdonutcrates.give)
/crate giveall (crate) (virtual|item) [amount] – Give keys or crate items to all online players (perfdonutcrates.give)
/crate stats – Show your opening stats (perfdonutcrates.stats)
/crate stats (player) – Show a player’s opening stats (perfdonutcrates.stats)
/crate stats crate (crate) – Show total openings for a crate (perfdonutcrates.stats)
/crate reload – Reload configs and respawn holograms (perfdonutcrates.reload / perfdonutcrates.admin)
/crate setblock (crate) – Bind the looked-at block to a crate (perfdonutcrates.admin)
/crate bind (crate) – Alias for setblock (perfdonutcrates.admin)
/crate unbind – Remove crate binding from the looked-at block (perfdonutcrates.admin)
/crate cleanupholograms – Remove orphan crate holograms (perfdonutcrates.admin)
/perfdonutcrates reload – Reload plugin configs (perfdonutcrates.admin)
/perfdonutcrates help – Show admin usage (perfdonutcrates.admin)
/perfdonutcrates stats (player) – Show player opening stats summary (perfdonutcrates.admin)
Database
• SQLite (default)
• MySQL (configurable)
