All Products / Minecraft / Plugins / DeluxePouches | Animated Rewards

v2.4.2: 2.4.2 | Rainbow burst fixed, and menus that page past 27 pouches

22 August 2026

DeluxePouches v2.4.2
Two bug reports, both fixed. A particle effect that drew nothing, and a pouches menu that stopped at 27 pouches however many you had.

šŸ’„ The Rainbow Burst Effect Works

Coloured particles were being spawned in a way modern servers no longer accept, so the rainbow burst drew nothing at all while filling your console. It works now.

The same fix covers every particle you can set in a config. Block particles, item particles and dust transitions all need extra data, and any of them would have failed the same way. A particle that cannot be built is now skipped quietly instead of throwing several times a second.

The burst itself is also drawn properly for the first time. It was only ever placing two particles and the ring never turned. It draws the full ring and rotates it now, so particle-count does what it says.
šŸ“– The Pouches Menu Pages Properly

With a lot of pouches configured, the menu showed one page, no arrows, and only the first 27 pouches. Everything past that was invisible on every page.

Both are fixed. 183 pouches now come out as 7 pages, with arrows that work and a page counter that updates as you click.

Pouches also keep the order you wrote them in, in the menu and in /dp list. They used to shuffle, differently on each restart.
🧾 /dp list Is Paged

Printing every pouch in one go overflowed the chat window, which looks exactly like the plugin only loaded some of them. It shows 12 at a time now, with a header saying which page you are on and how many pouches exist in total.

Code
/dp list
/dp list 4

🧹 Quieter Startup

The per-pouch loading lines are behind settings.debug-mode now. A server with a few hundred pouches was pushing everything else out of the startup log. The total still prints.

YAML
settings:
  debug-mode: true   # turn this on if you want the per pouch lines back

ā¬†ļø Upgrading

Stop the server, drop the new jar in, and start it again. Nothing to migrate, no config edits, and config.yml, lang.yml and pouches.yml all keep their current versions.

If you use the RAINBOW_BURST effect, have a look at it in game. It draws properly for the first time.
🧪 Compatibility

Minecraft 1.21 and newer on Paper, including 26.x and later, on Java 21.
Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v2.4.1: 2.4.1 | Works on Minecraft 26.x

21 August 2026

DeluxePouches v2.4.1
Minecraft has left the 1.x versioning line. This release makes DeluxePouches ready for it, and nothing else.

šŸ’„ The Plugin Starts On 26.x

If your server is on 26.x, 2.4.0 does not start at all. This build fixes that. It is a straight drop-in replacement, with no config edits and nothing to migrate.

If you are on 1.21 and everything already works, there is nothing here you need.
šŸŽØ Colours and Holograms On New Versions

Getting it to start was only half the job. Left there, you would have had a plugin that runs on 26.x and then quietly behaves as though it were on 1.8:
WhatWould have happened on 26.xNow
Hex colours like &#FF5555Rounded down to the nearest of the 16 old chat coloursFull hex
Gradients in messages and hologramsFlattened to their first colourFull gradient
Pouches opened from the off handThe off hand check was skippedHandled
Hologram item displayTook the 1.8 code pathTakes the modern path
27.x and beyond will work without another update. This was fixed as a versioning change rather than a patch for one release.
ā¬†ļø Upgrading

Stop the server, drop the new jar in, and start it again. That is the whole upgrade.

No config changes. config.yml, lang.yml and pouches.yml are all untouched and keep their current versions.

Were you stuck on 2.3.0 because 2.4.0 would not start? This jar gives you everything in 2.4.0 as well, so read that update alongside this one.
🧪 Compatibility

Minecraft 1.21 and newer on Paper, including the 26.x line, on Java 21. There is no upper limit any more.
Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v2.4.0: 2.4.0 | Titles that name what the player just won

21 August 2026

DeluxePouches v2.4.0
Reward titles can now say what a player actually won, and {prefix} works everywhere it should.

šŸ·ļø The Rewards Title Says What You Won

The reward-received title said "Rewards", then "From your Medium Money Pouch pouch", which the player already knew. It never said the thing they actually wanted to see.

Give a reward a display line and the plugin can name it back:

YAML
rewards:
  0:
    chance: 100
    display: "&6$1,000"
    commands:
      - "eco give %deluxepouches_player% 1000"
  1:
    chance: 50
    display:
      - "&b1x Elytra"
      - "&f64x Firework Rocket"
    commands:
      - "give %deluxepouches_player% minecraft:elytra 1"
      - "give %deluxepouches_player% minecraft:firework_rocket 64"

Two new placeholders carry it:
PlaceholderBecomes
%deluxepouches_reward_list%What the player just won, named and joined together
%deluxepouches_reward_count%How many things they won
YAML
titles:
  reward-received:
    title: "&6&l✦ Rewards ✦"
    subtitle: "&7You won &f%deluxepouches_reward_list%"

action-bars:
  reward-received: "&aAdded to your account&7: &f%deluxepouches_reward_list%"

Both ship as the new defaults, and every reward in the shipped pouches.yml now carries a display, so a fresh install shows the feature working rather than describing it.
šŸ“ Where The List Works

The roll has to have happened before the plugin knows what to name, so the list works in:

  • The reward-received title and subtitle in lang.yml
  • The reward-received action bar
  • A pouch's opening-message and opening-messages
  • Hologram lines, global and per pouch

It does not work in the pouch-opening title or action bar, because those fire when the animation starts, before anything has been decided. Put it there and you get the fallback text.
šŸŖ„ Without a Display Line

A reward with no display falls back to naming its items, using the item's display name when it has one and the material otherwise, with the stack size in front: 3x Diamond, 1x Netherite Ingot.

Commands and actions cannot be named this way. eco give %deluxepouches_player% 1000 is text handed to another plugin, so DeluxePouches has no way to know money came out of it. A reward built only from commands or actions needs a display to appear in the list at all.

When a whole roll turns up nothing nameable, the list reads as your fallback rather than going blank:

YAML
settings:
  reward-display:
    separator: "&7, "
    fallback: "&fyour rewards"

šŸ”§ {prefix} No Longer Prints As Raw Text

{prefix} was only swapped for your real prefix in some of the places the plugin colours text, so certain lines printed the token itself. In practice that meant the /dp reload reply and pouch opening messages.

Every path now goes through the swap, so the same line gives the same result wherever it is sent from.

A side effect worth knowing: {prefix} works in a pouch opening-message and in hologram lines now, not only in lang.yml.
ā¬†ļø Upgrading

Stop the server, drop the new jar in, and start it again. config.yml and lang.yml update themselves.

Nothing you wrote is touched. pouches.yml is left exactly as it is and the new display key is optional, so an untouched setup keeps working the moment you drop the jar in. Lines you edited yourself in the other two files are kept.

  • Look at the new reward-received title in lang.yml. If you had customised it, your version is kept, so add %deluxepouches_reward_list% to it yourself
  • Add a display line to the rewards you want named, starting with the ones that pay out through commands

🧪 Compatibility

Minecraft 1.21 and newer on Paper, Java 21.
Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v2.3.0: 2.3.0 | Every setting in the config now actually works

19 August 2026

DeluxePouches v2.3.0
Every setting the plugin shipped but never read now does what the file says it does.

šŸ“ Read This First

A chunk of config.yml and lang.yml used to be decoration. Changing those keys did nothing, so plenty of servers are carrying values that were never tested against real behaviour. Now that they are read, look over your config.yml once after upgrading.

The two that bite hardest are pouch cooldown, which is enforced from this release on, and the animations: block, which now sets how long each animation runs.
ā±ļø Cooldowns Are Real Now

Pouch cooldown was loaded, printed in the menu lore as "Cooldown: 1.0s", and then never checked. Players were shown a limit that did not exist, and the cooldown-active and cooldown-complete messages never sent.

YAML
pouches:
  starter:
    cooldown: 20 # ticks, 20 = 1 second, 0 turns it off

  • Counted per player and per pouch, so a cooldown on the starter pouch does not block the legendary one
  • Opening a whole stack with shift-click counts as one opening, checked and started once for the stack
  • deluxepouches.bypass.cooldown skips it

Pouches with no cooldown: line fall back to 20 ticks, which is one second between openings. If you want no cooldown at all, set cooldown: 0 on the pouch.
šŸŽžļø The Animations Block Does Something

Each animation reads duration in seconds and speed in ticks between updates.

YAML
animations:
  spiral:
    duration: 3
    speed: 1
  none:
    delay: 7 # ticks before the rewards land, NONE has nothing to draw

The animation lasts the full duration whatever the speed is, it just takes fewer and larger steps, so speed is a performance knob rather than a length one. Values above 10 are capped.

The numbers shipped in 2.3.0 match how each animation behaved in 2.2.0, so a fresh install looks the same. An existing config.yml still carries the old example numbers, which were never read and do not match. To keep 2.2.0 timings, use default: 3, spiral: 3, pulse: 3, floating_orbs: 5, portal_rift: 3, envoy: 2, all with speed: 1.
šŸŽ Reward Actions

actions: on a reward was parsed into an object nobody read. It runs now.
TagWhat it does
[message] &aTextMessage the opener
[broadcastmessage] &aTextMessage everyone online
[title] Main;Sub;1;3;1Title and subtitle, then fade in, stay and fade out in seconds
[actionbar] &aTextAction bar above the hotbar
[sound] ENTITY_PLAYER_LEVELUPPlay a sound to the opener
[command] warp crateRun as the player
[consolecommand] eco give %player% 500Run from console
[vaultadd] 5000Pay through Vault, needs Vault and an economy plugin
YAML
rewards:
  3:
    chance: 10
    actions:
      - "[vaultadd] 50000"
      - "[title] &6&lJACKPOT;&e$50,000;1;3;1"
      - "[sound] ENTITY_PLAYER_LEVELUP"

{player}, %player%, {amount} and %amount% work in all of them, PlaceholderAPI placeholders too when that plugin is installed, and <center></center> centres a line. The older [console], [player], [broadcast] and bare command forms still work.

[vaultadd] is the first thing in the plugin that uses the Vault hook. Until now Vault was detected, reported in /dp version, and never called once.
šŸ’¬ Messages, Titles and Action Bars

  • lang.yml has titles: and action-bars: blocks, sent on pouch-opening and reward-received. An empty string turns one off
  • prefix in config.yml works through a {prefix} token. The shipped messages use it in place of the old &6&l[!] markers, so setting prefix: "" strips the branding everywhere at once
  • settings.message-delay throttles the broadcast opening message per player, so opening a stack no longer floods chat. The opener always sees their own messages
  • help-* and list-* drive /dp help and /dp list, and %deluxepouches_version% works in the help lines

🧰 A Configurable Menu, and Two New Commands

YAML
settings:
  pouches-menu:
    size: 45 # multiple of 9, from 9 to 54
    fill-empty-slots: true
    empty-slot-item: GRAY_STAINED_GLASS_PANE
    show-preview: true
    show-info: true

Navigation, the close button and the page indicator follow the configured height instead of assuming five rows.

Two new commands, behind permission nodes that had been declared since 2.0.0 with nothing behind them:

  • /dp create <id> saves the item in your hand as a new pouch, then reloads
  • /dp edit <id> <setting> <value> changes animation, effect, cooldown, reward-amount or permission

✨ Effects and Holograms

  • effects.sound.open is the fallback opening sound for pouches with no opening-sound, and effects.sound.reward plays once the rewards land. The shipped values moved to modern names, BLOCK_CHEST_OPEN and ENTITY_PLAYER_LEVELUP. The old CHEST_OPEN and LEVEL_UP had not resolved on any server since 1.21.3
  • effects.particle.type and count set the particle every effect draws with, unless its own section names another. effects.guardian_beam.particle_type and range are read
  • hologram.enabled is a master switch, hologram.spacing replaces a hardcoded value, hologram.visibility.range hides the hologram past that many blocks, and hologram.animation.particle-trail, particle-type and particle-count drive the trail

🧹 Removed

  • The placeholders: block in config.yml and the placeholder-* keys in lang.yml. They were a reference list sitting in settings files pretending to be settings. The same list is comments in config.yml now, with %deluxepouches_time% added
  • The top level gui: block, whose useful keys moved into settings.pouches-menu
  • A duplicate explosion effect class that was unreachable and that no config key ever promised

šŸ› Also Fixed

  • [title] actions with no subtitle no longer throw
  • Effect colours no longer accumulate across openings
  • Reloading lang.yml properly drops keys you deleted

ā¬†ļø Upgrading

Stop the server, drop the new jar in, and start it again. Both config files update themselves on first start.

  • Check the animations: block against the 2.2.0 timings above if you never touched it
  • Decide the cooldown you want on each pouch, or set 0 to keep 2.2.0 behaviour
  • If you had custom text in lang.yml, add {prefix} where you want the prefix to appear
  • If you used the old top level gui: block, move your values into settings.pouches-menu

🧪 Compatibility

Minecraft 1.21 and newer on Paper, Java 21.
Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

v2.2.0: 2.2.0 | WorldGuard blacklist works, ArrowStats added, wiki is live

02 August 2026

DeluxePouches v2.2.0
A small release: WorldGuard region blacklist actually works now, ArrowStats metrics added, and the plugin has proper documentation for the first time.

šŸ“š The Wiki Is Live

DeluxePouches now has a proper wiki: greenarrowlol.github.io/DeluxePouches-2.0. Nineteen pages covering installation, pouches, rewards, animations, effects, holograms, the menu, custom items, every config file, permissions, commands, placeholders, the developer API, an FAQ, and support.

It was written against the actual source, so a few things are documented properly for the first time. Worth a skim even if you've been using the plugin a while:

  • chance on a reward is a weight, not a percentage. Values don't have to add up to 100, and a reward with chance: 100 next to others is not guaranteed
  • reward-amount draws that many times, and each draw is independent, so the same reward can come up twice in one opening
  • Pouch cooldown is shown in the menu but is not enforced
  • The pouch menu shows every pouch's reward list and chances to anyone who can open it. Keep deluxepouches.gui.open to staff if you'd rather players not read the odds
  • Several keys in the shipped configs aren't read by the plugin. The Configuration page lists them, so you're not left tuning a setting that does nothing

šŸ› WorldGuard Region Blacklist Works Now

The WorldGuard region blacklist could never work in earlier versions. Two things were wrong at once: the plugin read the settings from settings.worldguard, but config.yml shipped them at the top level as worldguard, so the toggle was always off and the region list always empty. On top of that, entries have to be written world;region and the shipped examples were bare region names, which are skipped. Both are fixed now.

If you never used the region blacklist, there's nothing to do. If you had filled in the old top-level worldguard block, see the upgrade note below.
šŸ“Š ArrowStats Metrics

The plugin now reports anonymous usage data to ArrowStats alongside bStats: server and player counts, versions, and a few counters like how many pouches are configured and which integrations are present. No player names, no config contents.

Opt out for every ArrowStats plugin on the server at once by setting enabled: false in plugins/ArrowStats/config.yml.
šŸ“ Upgrade Notes

Drop the new jar in and restart. Your pouches.yml and lang.yml are untouched. config.yml updates itself and keeps your values.

One thing to redo by hand: if you had filled in the old top-level worldguard block, it's removed on startup (nothing ever read it). Set your regions again under settings.worldguard in world;region form:

YAML
settings:
  worldguard:
    enabled: true
    blacklisted-regions:
      - "world;spawn"
      - "world;pvp"

šŸ“¦ Install

Replace the old jar in plugins/ with DeluxePouches-2.2.0.jar and restart. Requirements are unchanged: Minecraft 1.21 or newer on Paper, Java 21.
Need help or found a bug? Join the Discord.
Read the documentation | Join the Discord

Enjoying the plugin? A ⭐ review goes a long way!

DeluxePouches | Animated Rewards

v2.4.2 5.0 (8)
zArrowTan

zArrowTan

Turn simple reward pouches into cinematic reveal moments with animations, particles, and effects.

$12.60

Instant download · Updates included · Lifetime licence
$1.40 cheaper than on BuiltByBit $14.00 there, $12.60 here every day.

Digital product, delivered instantly, no refunds · Terms

1
Views
0
Purchases
5.0 / 5
Avg Rating
Sep 15, 2026
Release Date
Aug 22, 2026
Last Update Date
plugin
spigot plugin
deluxepouches
animated rewards
minecraft

Share and earn

Earn on every sale you send here

10%

378 pts / sale

© zArrowTan Resources 2026
Forked and customised by zArrowTan · Powered by Light Store