Compatibility
Minecraft: Java Edition
Platforms
Tags
Creators
Details
NexusCrates
Overview
NexusCrates is a premium crates plugin built for modern Paper networks that want a polished, plug-and-play loot experience without hours of setup. It ships with a full roulette-style opening animation, a dual key system (physical items and virtual balances), preview GUIs, and six pre-built crate tiers you can use as-is or rewrite to fit your server economy.
It is a good fit for survival, SMP, skyblock, prison and factions servers that sell keys in a webstore or hand them out as vote / playtime rewards. Rewards can give items or run console commands, so crates can grant currency, ranks, permissions, kits and cosmetics through your other plugins.
Features
- CSGO-style roulette animation — every crate opens with a scrolling
ROULETTEreward reel. - Six pre-built crate tiers — Common, Rare, Legendary, Cosmetic, Pet and Furniture, each with its own key, block material, lore and reward pool.
- Weighted reward rolling — per-reward
weightvalues control drop rarity; rarities are labelled in the item lore. - Command rewards — any reward can run console commands (
eco give,lp user ... setprefix,effect give, etc.) in addition to or instead of giving an item. - Physical & virtual keys — hand out key items players carry in their inventory, or grant virtual key balances with
/crate key. - Preview GUI — players inspect the full reward table before spending a key with
/crate preview. - Server-wide broadcasts — flag rare/legendary rewards with
broadcast: trueto announce big wins; toggle globally withsettings.enable-broadcasts. - In-world crate blocks — bind any block to a crate with
/crate setand right-click to open. - Soft integrations — PlaceholderAPI and Vault are used when present, never required.
- Live reload —
/crate reloadre-reads the configuration with no restart.
Commands
| Command | Description | Permission |
|---|---|---|
/crate (aliases: /crates, /c) |
Open the crates menu | crates.use |
/crate help |
Show the command help list | crates.use |
/crate preview <crate> |
Preview a crate's full reward table | crates.use |
/crate key <player> <crate> <amount> |
Give crate keys to a player | crates.admin |
/crate give <player> <crate> <amount> |
Give physical crate items to a player | crates.admin |
/crate set <crate> |
Bind the block you are looking at to a crate | crates.admin |
/crate remove |
Unbind the crate block you are looking at | crates.admin |
/crate reload |
Reload configuration files | crates.admin |
Permissions
| Node | Default | Description |
|---|---|---|
crates.use |
true |
Open and preview crates |
crates.admin |
op |
Full administrative access to crate creation, keys and management |
Configuration
config.yml (excerpt):
settings:
menu-title: "<dark_gray>ToprakSMP Crates</dark_gray>"
enable-broadcasts: true
crates:
common:
display-name: "<gray><bold>Common Crate</bold></gray>"
tier: "COMMON"
block-material: "CHEST"
key-name: "<gray><bold>Common Crate Key</bold></gray>"
key-lore:
- "<dark_gray>Tier: <gray>Common</dark_gray>"
- "<yellow>Right-click a Common Crate to unlock!</yellow>"
open-cost: 1
animation: "ROULETTE"
rewards:
diamond:
display-name: "<aqua><bold>Diamond x3</bold></aqua>"
material: "DIAMOND"
amount: 3
weight: 15.0
rarity: "Rare"
lore:
- "<aqua>Precious sparkling gems.</aqua>"
broadcast: false
cash_starter:
display-name: "<green><bold>$1,000 In-Game Cash</bold></green>"
material: "EMERALD"
amount: 1
weight: 5.0
rarity: "Rare"
commands:
- "eco give %player% 1000"
broadcast: false
Included tiers out of the box: common, rare, legendary, cosmetic, pet, furniture. Every reward supports material, amount, weight, rarity, lore, optional commands, and a broadcast flag. All text fields accept MiniMessage formatting.
Compatibility
- Server software: Paper 1.21.11 (api-version
1.21) - Java: 21
- Soft dependencies: PlaceholderAPI, Vault (optional — used only if installed)
Support
- GitHub: https://github.com/toprakeker/NexusCrates
- Discord: provided with your purchase for setup help and bug reports
- Issues and feature requests are handled through the GitHub issue tracker.

