COWMODSКаталог модов

VaultCrates

A feature-rich, fully animated crate plugin for Paper 1.21.x with IA, Vault, PlaceholderAPI and Citizens support

Автор: itsLarss_3701обновлён 24 окт. 2026 г.
ЭкономикаМини-игрыОбщение

Описание

VaultCrates

A feature-rich, fully animated crate plugin for Paper 26.x

No NMS · No legacy libraries · No external hologram plugin required

Paper Java Modrinth License


✨ Features

  • 12 unique animations — particles, sounds and visual effects for every style
  • Physical & Virtual Keys — NBT-tagged items with anti-dupe UUID tracking; virtual keys stored per player in the database
  • Pity system — configurable guaranteed drop after N opens per rarity
  • Reward limits — global and per-player caps per reward
  • Virtual key shop — players buy keys with in-game money via /vc shop (requires Vault or VaultUnlocked)
  • Pouches — right-clickable reward bags with configurable random number ranges
  • Holograms — floating Text Display entities, no external plugin needed; persist across restarts
  • Placement ID system — every placed crate gets a unique ID; remove it with /vc remove <id>
  • Furniture crates — use ItemsAdder furniture as a crate, including multi-entity furniture (display + hitbox)
  • In-game GUI editor — edit crates and keys without touching a YAML file
  • Reward preview — paginated GUI with normalised drop percentages; toggleable per crate
  • Best Prizes — guaranteed bonus reward rolled from a separate pool
  • Bundled items — give multiple bonus items alongside the main reward
  • Selectable rewards — players pick their prize from N random options
  • Milestones — bonus rewards after X total crate opens
  • Reward footer — auto-appended lore lines showing reward type and rarity
  • NPC support — Citizens, FancyNpcs, ZNPCsPlus, ZNPCs, or any entity via /vc linknpc
  • Multi-language — English, German, French, Spanish built in; add any language with a messages_<code>.yml file
  • Multi-database — JSON (default), SQLite or MySQL with automatic table creation
  • Developer API — custom events, programmatic crate opening, key management

📋 Requirements

ServerPaper (or forks) 26.1.x, 26.2 or 26.3
Java25+

Which jar do I need?

Your serverDownload
1.21.xVaultCrates-1.0.1.jar
26.1 – 26.1.xVaultCrates-1.1.0-26.1.x.jar
26.2.xVaultCrates-1.1.1-26.2.jar
26.3.xVaultCrates-1.1.2-26.3.jar

Each jar refuses to load on a Minecraft version older than the one it was built for. For Minecraft 1.21.x, use VaultCrates 1.0.1.

Optional soft-dependencies

PluginTested API versionPurpose
Vault / VaultUnlocked + economy pluginVaultUnlocked 2.20Key shop, economy-priced crates
PlaceholderAPI2.12.3Placeholders in messages & holograms
ItemsAdder4.0.18Custom items, crate blocks & furniture, :icon: font images
Oraxen1.220Custom block & item models
Nexo1.29Custom block & item models
ExecutableItemsSCore 5.25Custom items as rewards
MMOItems6.10Custom items as rewards
Citizens2.0.44NPC-to-crate linking
FancyNpcs2.11NPC-to-crate linking
ZNPCsPlus2.0NPC-to-crate linking
ZNPCslegacyNPC-to-crate linking

All soft-dependencies are loaded via reflection — VaultCrates runs without any of them installed.


🚀 Installation

  1. Pick the jar for your Minecraft version (see table above) and drop it into plugins/
  2. Start or restart the server — example configs are generated automatically
  3. Get a placeable crate: /vc getcrate ExampleRound
  4. Place it anywhere — the hologram appears and the placement is saved automatically
  5. Give yourself a key: /vc key give <name> ExampleRound 1
  6. Right-click the crate to open it

💬 Commands

All commands use /vc (aliases: /vaultcrates, /crate).

Crate management

CommandPermissionDescription
/vc getcrate <crate>vaultcrates.adminGet the placeable crate item
/vc create <name>vaultcrates.adminCreate a new crate config in-game
/vc listvaultcrates.adminList all loaded crates
/vc errorsvaultcrates.adminShow config load errors
/vc reloadvaultcrates.adminReload all configs and holograms
/vc editor <crate>vaultcrates.adminOpen the in-game GUI editor
/vc keyeditor <crate>vaultcrates.adminOpen the in-game key editor

Placement management

CommandPermissionDescription
/vc placementsvaultcrates.adminList all placed instances with IDs and coordinates
/vc remove <id>vaultcrates.adminRemove a placed crate by its ID

Tip: The placement ID is shown in chat when you place a crate. Block crates: Shift + left-click breaks and removes the block (requires vaultcrates.admin). Furniture crates: Shift + left-click only shows the ID — remove them with /vc remove <id>, so nobody deletes a crate by accident.

Physical keys (items)

CommandPermissionDescription
/vc give <player> <crate> [amount]vaultcrates.giveGive a physical key
/vc sgive <player> <crate> [amount]vaultcrates.giveGive silently
/vc giveall <crate> [amount]vaultcrates.giveGive to all online players

Virtual keys

CommandPermissionDescription
/vc key give <player> <crate> [amount]vaultcrates.keyAdd virtual keys
/vc key sgive <player> <crate> [amount]vaultcrates.keyAdd silently
/vc key giveall <crate> [amount]vaultcrates.keyGive to all online
/vc key set <player> <crate> <amount>vaultcrates.keySet key balance
/vc key balance <player> <crate>vaultcrates.keyCheck key balance
/vc key withdraw <player> <crate> [amount]vaultcrates.keyRemove virtual keys
/vc shopvaultcrates.shopOpen the virtual key shop

Pouches

CommandPermissionDescription
/vc pouch give <player> <pouch> [amount]vaultcrates.pouchGive a pouch
/vc pouch sgive <player> <pouch> [amount]vaultcrates.pouchGive silently
/vc pouch giveall <pouch> [amount]vaultcrates.pouchGive to all online
/vc pouch listvaultcrates.pouchList all loaded pouches

NPC linking

CommandPermissionDescription
/vc linknpc <crate>vaultcrates.linknpcLink the nearest entity or Citizens NPC (stand within 3 blocks)
/vc linknpc <crate> fancynpcs <name>vaultcrates.linknpcLink a FancyNpcs NPC by its name
/vc linknpc <crate> znpcsplus <id>vaultcrates.linknpcLink a ZNPCsPlus NPC by its id
/vc linknpc <crate> znpcs <name>vaultcrates.linknpcLink a ZNPCs NPC by its name

FancyNpcs and ZNPCsPlus NPCs are packet-based and have no real entity, so they are linked by name/id. Opening a crate through an NPC requires a key, just like the crate itself.


🔑 Permissions

PermissionDefaultDescription
vaultcrates.*opAll permissions
vaultcrates.adminopPlace/break crates, reload, editor, getcrate, placements, remove
vaultcrates.opentrueOpen crates
vaultcrates.giveopGive physical keys
vaultcrates.keyopManage virtual keys
vaultcrates.shoptrueOpen the virtual key shop
vaultcrates.linknpcopLink entities/NPCs to crates
vaultcrates.pouchopGive pouches
vaultcrates.bypassopBypass cooldowns and blocked commands

⚙️ Configuration

config.yml — key settings

# Language: en (default) | de | fr | es | or any custom locale code
Language: en

Storage:
  Type: JSON          # JSON (default) | SQLITE | MYSQL
  KeyUuidExpiryDays: 365

Settings:
  Cant_Open_Creative: false
  Must_Hold_Key_In_Hand: false
  Cant_Drop_Key: false
  Crate_Radius: 3     # Min. distance between two crates, 0 = off

Keys:
  Virtual_Keys_Enabled: true
  Physical_Keys_Enabled: true

Shop:
  Enabled: true
  VirtualKeys: true   # true = virtual keys; false = physical key items

Win_Message: "&8[&6VaultCrates&8] &7You won {reward_name} &8[{rarity}&8] &7from &e{crate_name}&7!"

RewardFooter:         # Extra lore lines appended to every reward item
  Enabled: false
  Fallback: "Reward"
  Lines:
    - ""
    - "&8Reward Type » &7{reward_type}"
    - "&8Rarity » &7{rarity_name}"

Crate config (crates/MyCrate.yml)

Animation: ROUND          # See animations list
Material: ENDER_CHEST
IAModel: "namespace:my_crate"   # Optional — ItemsAdder block or furniture
Size: 1                   # Rewards given per open
PreviewEnabled: true
ShowChanceInPreview: true
ShiftInstantlyOpen: false

HologramLines:
  - "&6&lMy Crate"
  - "&7Right-click to open"

KeyCrate:
  Require: true
  KeysRequired: 1
  Material: TRIPWIRE_HOOK
  Name: "&6&lMy Crate Key"
  MatchNBT: true

FinalMessage: []          # Broadcast to all players on open (leave empty to disable)

Prizes:
  diamond:
    Name: "&b&lDiamond"
    Rarity: epic           # common | rare | epic | legendary | jackpot | mega_jackpot | custom
    Chance: 10.0           # Relative weight — does not need to sum to 100
    Material: DIAMOND
    Amount: 1
    Glow: true             # Visual glint only — the item can still be enchanted normally
    GiveItem: true
    Type: "Item"           # Optional — shown in RewardFooter as {reward_type}
    Enchantments:
      sharpness: 5
      "myplugin:soulbound": 1   # Enchantments from enchant plugins via namespaced id
    Commands: []
    EnchantCommands: []    # Run after the item is given (for enchant plugins without registry enchants)
    MessagesToPlayer: []
    BroadcastMessages: []
    GlobalLimit: 0         # 0 = unlimited
    PlayerLimit: 0

BestPrizes:
  legendary_item:
    Name: "&6&lLegendary Sword"
    Chance: 100.0
    Material: NETHERITE_SWORD
    GiveItem: true

Available rarities

IDDisplayGlow colour
commonCommonGray
rareRareGreen
epicEpicPurple
legendaryLegendaryGold
jackpotJackpotRed
mega_jackpot✦ Mega Jackpot ✦Dark red

Custom rarities can be added in config.yml under Rarities: with optional pity thresholds, glow colours and broadcast messages.

Pouch config (pouches/MyPouch.yml)

Name: "MoneyPouch"
DisplayName: "&6&lMoney Pouch"
Material: SUNFLOWER
Glow: true
Commands:
  - "eco give {player_name} {random_number}"
MinNumber: 500
MaxNumber: 5000

🌐 Multi-language

Four languages are bundled out of the box:

CodeLanguage
enEnglish (default)
deGerman / Deutsch
frFrench / Français
esSpanish / Español

Using a custom or regional language:

  1. Create messages_pt_br.yml (or any messages_<code>.yml) in the plugin folder
  2. Set Language: pt_br in config.yml
  3. Run /vc reload

Fallback chain: messages_en_us.yml → messages_en.yml → messages.yml


🗄️ Storage backends

TypeNotes
JSONDefault. Zero setup. All data in data/.
SQLITEFile-based SQL. Bundled driver — no extra jar needed.
MYSQLFull MySQL / MariaDB support. Tables created automatically.

Data stored: virtual keys, pity counters, reward limits, milestone progress, used key UUIDs.


🎬 Animations

NameStyle
ROUNDSlot machine — items cycle, slow down and lock on the winner
ROUND2Mystery boxes — BARRIER boxes orbit; lightning reveals prizes
QUICKSlot machine — same as ROUND but faster (~3 s)
COSMICOrbital — double counter-rotating rings with bobbing centre item
DISPLAYSingle item cycles through prizes and lands on the winner
PYRAMIDThree-tiered pyramid of rotating items
CONTRABANDItems float upward and vanish one by one
INSTANTNo animation — particle burst, reward given immediately
AIR_STRIKEItems fall from height with lightning strikes
BREAKOUTItems burst outward and arc back
METEOR_SHOWERItems rain down with flame trails
YIN_YANGTwo rings converge in a yin-yang pattern

🎨 Custom item support

# In a reward:
Material:     "namespace:item_id"   # ItemsAdder item
OraxenModel:  "item_id"
NexoModel:    "item_id"
EIModel:      "my_item_id"          # ExecutableItems
MMOItem:      "TYPE:item_id"        # e.g. SWORD:my_sword

# On a crate or key:
IAModel:      "namespace:item_id"
OraxenModel:  "item_id"
NexoModel:    "item_id"

ItemsAdder font images (:icon_name:) work in every text field: names, lore, holograms and messages.


📊 PlaceholderAPI

PlaceholderReturns
%vaultcrates_keys_<CrateName>%Virtual key count for that crate
%vaultcrates_opens_<CrateName>%Total opens by the player
%vaultcrates_pity_<CrateName>_<rarityId>%Current pity counter
%vaultcrates_milestone_<CrateName>_<milestoneId>%claimed / ready / needs N more opens
%vaultcrates_is_animating%true / false
%vaultcrates_active_animations%Active animation count server-wide

🔧 Developer API

VaultCratesAPI api = VaultCratesAPI.get();

// Virtual keys
int keys = api.getVirtualKeys(player.getUniqueId(), "MyCrate");
api.addVirtualKeys(player.getUniqueId(), "MyCrate", 5);
api.removeVirtualKeys(player.getUniqueId(), "MyCrate", 1);

// Physical keys
api.givePhysicalKey(player, crate, 3);

// Open programmatically
api.openCrate(player, api.getCrate("MyCrate"), crateLocation);

// Events
@EventHandler
public void onCrateOpened(CrateOpenedEvent e) {
    List<Reward> rewards = e.getRewards();
    Reward best = e.getBestReward();
}

📄 License

VaultCrates is free software licensed under the GNU General Public License v3.0. You may use, modify and redistribute it under the terms of the GPL-3.0 — modified versions must stay open source under the same license. See LICENSE for the full text.


Made with ❤️ by itslarss

Последние версии

Все версии →
release

VaultCrates 1.1.2-26.3

1.1.2-26.3
24 окт. 2026 г.20Minecraft: 26.3paper, purpur
Скачать
Что нового
## VaultCrates 1.1.2 — Minecraft 26.3 **For Paper 26.3.x · Java 25 required** Running 26.1.x or 26.2? Use `1.1.0-26.1.x` or `1.1.1-26.2` instead. On 1.21.x, stay on `1.0.1`. ### ⚠️ Before you update - **Java 25** is now required (Paper 26.x needs it too). - This jar only loads on Minecraft **26.3 or newer**. - Your configs are kept — missing keys are filled in automatically. ### ✨ New - Support for **Minecraft 26.3** (built against Paper API 26.3) - **ItemsAdder 4.x furniture**: Display/Interaction entities and multi-part furniture (display + hitbox) are detected — clicking any part of a furniture crate opens it - **FancyNpcs 2.x and ZNPCsPlus 2.x** NPCs can be linked: `/vc linknpc <crate> fancynpcs <name>` / `znpcsplus <id>` - **Citizens** NPCs are linked by their NPC id, so the link survives respawns - **VaultUnlocked** is supported for the key shop and economy crates - **Enchantments** in rewards accept namespaced ids from enchant plugins, e.g. `"myplugin:soulbound": 1` - The update checker only offers builds for your server's Minecraft version ### 🐛 Fixes - **NPC crates opened without a key** — every NPC link now runs the same key, permission and economy checks as the crate itself - `/vc linknpc` links did nothing when clicked; Citizens NPCs could not be linked at all - Furniture crates broke when clicked (ItemsAdder picked them up); IA can no longer break or interact with a placed crate - Shift + left-click on a furniture crate no longer deletes it silently — it shows the ID; remove with `/vc remove <id>` - `Glow: true` added a hidden Infinity enchant — `/enchant` and anvils failed with *"cannot support that enchant"*. Glow is now a pure visual glint - `Glow: false` now also hides the glint ItemsAdder items carry by default - ItemsAdder `:icon:` font images were not replaced on ItemsAdder 4.x - MMOItems and ExecutableItems rewards did not load on current versions of those plugins - The key shop stayed disabled when the economy plugin started after VaultCrates - Startup error (`NullPointerException`) when ItemsAdder rewards were loaded - Purple/italic lore in the selectable-rewards GUI, shop GUI and reward footer - "Another crate is too close" with no crate nearby (stale placements are ignored) - `/vc reload` with a YAML error in `config.yml` reset the config to defaults — it now keeps the last valid config and prints the error ### 🔧 Checked against plugin APIs ItemsAdder 4.0.18 · Nexo 1.29 · Oraxen 1.220 · MMOItems 6.10 · ExecutableItems (SCore 5.25) · Citizens 2.0.44 · FancyNpcs 2.11 · ZNPCsPlus 2.0 · PlaceholderAPI 2.12.3 · VaultUnlocked 2.20
release

VaultCrates 1.1.1-26.2

1.1.1-26.2
24 окт. 2026 г.6Minecraft: 26.2paper, purpur
Скачать
Что нового
## VaultCrates 1.1.1 — Minecraft 26.2 **For Paper 26.2.x · Java 25 required** Running 26.1.x or 26.3? Use `1.1.0-26.1.x` or `1.1.2-26.3` instead. On 1.21.x, stay on `1.0.1`. ### ⚠️ Before you update - **Java 25** is now required (Paper 26.x needs it too). - This jar only loads on Minecraft **26.2 or newer**. - Your configs are kept — missing keys are filled in automatically. ### ✨ New - Support for **Minecraft 26.2** (built against Paper API 26.2) - **ItemsAdder 4.x furniture**: Display/Interaction entities and multi-part furniture (display + hitbox) are detected — clicking any part of a furniture crate opens it - **FancyNpcs 2.x and ZNPCsPlus 2.x** NPCs can be linked: `/vc linknpc <crate> fancynpcs <name>` / `znpcsplus <id>` - **Citizens** NPCs are linked by their NPC id, so the link survives respawns - **VaultUnlocked** is supported for the key shop and economy crates - **Enchantments** in rewards accept namespaced ids from enchant plugins, e.g. `"myplugin:soulbound": 1` - The update checker only offers builds for your server's Minecraft version ### 🐛 Fixes - **NPC crates opened without a key** — every NPC link now runs the same key, permission and economy checks as the crate itself - `/vc linknpc` links did nothing when clicked; Citizens NPCs could not be linked at all - Furniture crates broke when clicked (ItemsAdder picked them up); IA can no longer break or interact with a placed crate - Shift + left-click on a furniture crate no longer deletes it silently — it shows the ID; remove with `/vc remove <id>` - `Glow: true` added a hidden Infinity enchant — `/enchant` and anvils failed with *"cannot support that enchant"*. Glow is now a pure visual glint - `Glow: false` now also hides the glint ItemsAdder items carry by default - ItemsAdder `:icon:` font images were not replaced on ItemsAdder 4.x - MMOItems and ExecutableItems rewards did not load on current versions of those plugins - The key shop stayed disabled when the economy plugin started after VaultCrates - Startup error (`NullPointerException`) when ItemsAdder rewards were loaded - Purple/italic lore in the selectable-rewards GUI, shop GUI and reward footer - "Another crate is too close" with no crate nearby (stale placements are ignored) - `/vc reload` with a YAML error in `config.yml` reset the config to defaults — it now keeps the last valid config and prints the error ### 🔧 Checked against plugin APIs ItemsAdder 4.0.18 · Nexo 1.29 · Oraxen 1.220 · MMOItems 6.10 · ExecutableItems (SCore 5.25) · Citizens 2.0.44 · FancyNpcs 2.11 · ZNPCsPlus 2.0 · PlaceholderAPI 2.12.3 · VaultUnlocked 2.20
release

VaultCrates 1.1.0-26.1.x

1.1.0-26.1.x
24 окт. 2026 г.6Minecraft: 26.1, 26.1.1, 26.1.2paper, purpur
Скачать
Что нового
## VaultCrates 1.1.0 — Minecraft 26.1.x **For Paper 26.1 – 26.1.x · Java 25 required** Running 26.2 or 26.3? Use `1.1.1-26.2` or `1.1.2-26.3` instead. On 1.21.x, stay on `1.0.1`. ### ⚠️ Before you update - **Java 25** is now required (Paper 26.x needs it too). - This jar only loads on Minecraft **26.1 or newer**. - Your configs are kept — missing keys are filled in automatically. ### ✨ New - Support for **Minecraft 26.1.x** (built against Paper API 26.1.2) - **ItemsAdder 4.x furniture**: Display/Interaction entities and multi-part furniture (display + hitbox) are detected — clicking any part of a furniture crate opens it - **FancyNpcs 2.x and ZNPCsPlus 2.x** NPCs can be linked: `/vc linknpc <crate> fancynpcs <name>` / `znpcsplus <id>` - **Citizens** NPCs are linked by their NPC id, so the link survives respawns - **VaultUnlocked** is supported for the key shop and economy crates - **Enchantments** in rewards accept namespaced ids from enchant plugins, e.g. `"myplugin:soulbound": 1` - The update checker only offers builds for your server's Minecraft version ### 🐛 Fixes - **NPC crates opened without a key** — every NPC link now runs the same key, permission and economy checks as the crate itself - `/vc linknpc` links did nothing when clicked; Citizens NPCs could not be linked at all - Furniture crates broke when clicked (ItemsAdder picked them up); IA can no longer break or interact with a placed crate - Shift + left-click on a furniture crate no longer deletes it silently — it shows the ID; remove with `/vc remove <id>` - `Glow: true` added a hidden Infinity enchant — `/enchant` and anvils failed with *"cannot support that enchant"*. Glow is now a pure visual glint - `Glow: false` now also hides the glint ItemsAdder items carry by default - ItemsAdder `:icon:` font images were not replaced on ItemsAdder 4.x - MMOItems and ExecutableItems rewards did not load on current versions of those plugins - The key shop stayed disabled when the economy plugin started after VaultCrates - Startup error (`NullPointerException`) when ItemsAdder rewards were loaded - Purple/italic lore in the selectable-rewards GUI, shop GUI and reward footer - "Another crate is too close" with no crate nearby (stale placements are ignored) - `/vc reload` with a YAML error in `config.yml` reset the config to defaults — it now keeps the last valid config and prints the error ### 🔧 Checked against plugin APIs ItemsAdder 4.0.18 · Nexo 1.29 · Oraxen 1.220 · MMOItems 6.10 · ExecutableItems (SCore 5.25) · Citizens 2.0.44 · FancyNpcs 2.11 · ZNPCsPlus 2.0 · PlaceholderAPI 2.12.3 · VaultUnlocked 2.20
release

VaultCrates 1.0.1

1.0.1
27 апр. 2026 г.338Minecraft: 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 1.21.10, 1.21.11paper, purpur
Скачать
Что нового
## 1.0.0 — Initial Release - 12 unique crate animations - Physical & virtual key system with anti-dupe UUID tracking - Pity system and per-reward limits - Virtual key shop (requires Vault) - Pouches with configurable random rewards - Placement ID system — each placed crate gets a unique ID - In-game GUI editor and key editor - Reward preview GUI with normalised drop percentages - Best Prizes pool, bundled items, selectable rewards, milestones - NPC support: Citizens, ZNPCs, ZNPCsPlus, FancyNpcs - Multi-language: English, German, French, Spanish (+ custom locale support) - Storage backends: JSON (default), SQLite, MySQL - Full developer API with custom events - Config versioning — missing keys auto-filled on update