Voxel Shop beta is live. Expect occasional bugs. Learn more
Voucher / code redemption plugin for PaperMC 1.21.1 - 26.2. Players redeem codes with requirements
**New:**
- Item vouchers: an optional `item` section turns a code into a physical item (custom name, lore, custom model data, `item_model` on 1.21.2+, or a Nexo / ItemsAdder / CraftEngine item) redeemed by right-click; hand it out with `/code give <players> <voucher> [amount]` (selectors like `@a` supported), outdated items refresh themselves automatically
- `/code giveoffline <player> <voucher> [amount]` queues voucher items for offline players and delivers them on their next join (multiple queued wins stack)
- Per-player `cooldown` (e.g. a daily code) and `starts` activation windows; inactive codes are hidden from the GUI and tab-completion
- `price`: charge players through Vault when they redeem a code, with a confirmation step first (a dialog on 1.21.7+, redeem-again-within-10s on older servers)
- `effects`: celebrate a redeem with fireworks and particle shapes (burst, circle, sphere, helix)
- `random`: run one random command from `cmd` instead of all of them, with optional `chance` weights
- Requirement groups `any` / `all` / `not` with free nesting, e.g. (VIP or Premium) and 2h playtime
- `/code generate <voucher> <amount>` clones a code into hidden one-time copies and exports them to a text file
- Campaigns: generated codes belong to a campaign you can inspect (`/code campaign info`), void (`disable`), export or delete in one command
- Redeem history stored in the database: `/code history <code|player>` and `/code stats <code>` (uses, unique players, revenue, last redeem)
- `/code info <voucher>` prints a code's full configuration and its use count
- Update checker: Claimo periodically checks GitHub for new releases and notifies the console and admins with the `claimo.update` permission on join
- Admin action log (`logs/admin.log`): give, generate, purge, campaign and creator actions; the redeem log now includes the price paid
- The in-game creator gained price, item and effects pages, and editing no longer drops hand-written keys like `cooldown` or `starts`
- Expanded addon API: `redeemWithResult` with a `RedeemResult` outcome, usage/cooldown readers, voucher item helpers, programmatic voucher create/delete/generate, custom reward actions (`action:<name>` cmd lines) and `Voucher.flattenedRequirements()`
**Fix:**
- Uses are now reserved atomically in the storage backend, so two servers sharing a database can no longer double-redeem the last use of a global pool
- Admin-only subcommands no longer appear in tab-completion for players without `claimo.admin`
- `/code purge` also clears the deleted codes' cooldowns for online players
- The `custom` requirement no longer errors without PlaceholderAPI, and both `placeholder` and `value` resolve placeholders (plus a new `<value_parsed>` message placeholder)
New:
claimo placeholders are now also available as MiniMessage tags (e.g. <claimo_remaining:'welcome'>), next to the existing PlaceholderAPI %claimo_...% ones.duration syntax in time requirements - playtime and account_age now accept friendly durations like 1h 30m, 7d or 2w (old numeric keys still work).redeem-command - each voucher can define its own command (e.g. /testget) that redeems the code directly, just like /code <name>.true-value, false-value) in config.Fix: