v2.4.2: 2.4.2 | Rainbow burst fixed, and menus that page past 27 pouches
22 August 2026
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.
/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.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.
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
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:
| What | Would have happened on 26.x | Now |
Hex colours like &#FF5555 | Rounded down to the nearest of the 16 old chat colours | Full hex |
| Gradients in messages and holograms | Flattened to their first colour | Full gradient |
| Pouches opened from the off hand | The off hand check was skipped | Handled |
| Hologram item display | Took the 1.8 code path | Takes the modern path |
ā¬ļø 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.
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
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: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:
| Placeholder | Becomes |
%deluxepouches_reward_list% | What the player just won, named and joined together |
%deluxepouches_reward_count% | How many things they won |
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-receivedtitle and subtitle inlang.yml - The
reward-receivedaction bar - A pouch's
opening-messageandopening-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:
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-receivedtitle inlang.yml. If you had customised it, your version is kept, so add%deluxepouches_reward_list%to it yourself - Add a
displayline 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.
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
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.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.cooldownskips 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.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.| Tag | What it does |
[message] &aText | Message the opener |
[broadcastmessage] &aText | Message everyone online |
[title] Main;Sub;1;3;1 | Title and subtitle, then fade in, stay and fade out in seconds |
[actionbar] &aText | Action bar above the hotbar |
[sound] ENTITY_PLAYER_LEVELUP | Play a sound to the opener |
[command] warp crate | Run as the player |
[consolecommand] eco give %player% 500 | Run from console |
[vaultadd] 5000 | Pay through Vault, needs Vault and an economy plugin |
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.ymlhastitles:andaction-bars:blocks, sent onpouch-openingandreward-received. An empty string turns one offprefixinconfig.ymlworks through a{prefix}token. The shipped messages use it in place of the old&6&l[!]markers, so settingprefix: ""strips the branding everywhere at oncesettings.message-delaythrottles the broadcast opening message per player, so opening a stack no longer floods chat. The opener always sees their own messageshelp-*andlist-*drive/dp helpand/dp list, and%deluxepouches_version%works in the help lines
š§° A Configurable Menu, and Two New Commands
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>changesanimation,effect,cooldown,reward-amountorpermission
⨠Effects and Holograms
effects.sound.openis the fallback opening sound for pouches with noopening-sound, andeffects.sound.rewardplays once the rewards land. The shipped values moved to modern names,BLOCK_CHEST_OPENandENTITY_PLAYER_LEVELUP. The oldCHEST_OPENandLEVEL_UPhad not resolved on any server since 1.21.3effects.particle.typeandcountset the particle every effect draws with, unless its own section names another.effects.guardian_beam.particle_typeandrangeare readhologram.enabledis a master switch,hologram.spacingreplaces a hardcoded value,hologram.visibility.rangehides the hologram past that many blocks, andhologram.animation.particle-trail,particle-typeandparticle-countdrive the trail
š§¹ Removed
- The
placeholders:block inconfig.ymland theplaceholder-*keys inlang.yml. They were a reference list sitting in settings files pretending to be settings. The same list is comments inconfig.ymlnow, with%deluxepouches_time%added - The top level
gui:block, whose useful keys moved intosettings.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.ymlproperly 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
cooldownyou want on each pouch, or set0to 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 intosettings.pouches-menu
š§Ŗ Compatibility
Minecraft 1.21 and newer on Paper, Java 21.
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
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:
chanceon a reward is a weight, not a percentage. Values don't have to add up to 100, and a reward withchance: 100next to others is not guaranteedreward-amountdraws that many times, and each draw is independent, so the same reward can come up twice in one opening- Pouch
cooldownis 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.opento 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: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.Read the documentation | Join the Discord
Enjoying the plugin? A ā review goes a long way!
DeluxePouches | Animated Rewards
zArrowTan
Turn simple reward pouches into cinematic reveal moments with animations, particles, and effects.
$12.60
Digital product, delivered instantly, no refunds · Terms
No versions available
Share and earn
How referrals work
- Your link is remembered for 30 days.
- 10% of each sale, paid to you as points.
- Yours to spend 30 days later.
- Ask your buyer to turn a VPN off, or the sale will not count.
Read the full rules
Earn on every sale you send here
10%
378 pts / sale