blocks_mined
Requirements
A voucher’s requirements: list holds checks that all must pass before the code is
redeemable. When a redeem fails, Claimo prints the whole checklist — met lines and unmet
lines — so the player knows exactly what’s left to do.
requirements: - type: playtime seconds: 3600 - type: account_age days: 7Built-in types
Section titled “Built-in types”playtime
messages_sent
account_age
permission
rank
custom
blocks_mined
Section titled “blocks_mined”Player has broken at least amount blocks — tracked by Claimo, persisting across
restarts.
| Parameter | Required | Meaning |
|---|---|---|
amount |
✅ | Minimum blocks broken. |
whitelist |
optional | Only these material types are counted. |
blacklist |
optional | These material types are never counted. |
- type: blocks_mined amount: 100 # Only diamond ore counts toward this one. whitelist: - DIAMOND_ORE - DEEPSLATE_DIAMOND_ORE # blacklist: # - STONEMaterial names are Bukkit constants (e.g. DIAMOND_ORE).
playtime
Section titled “playtime”Player’s total time on the server is at least seconds (the vanilla play-time statistic).
- type: playtime seconds: 3600 # one hourmessages_sent
Section titled “messages_sent”Player has sent at least amount qualifying chat messages.
| Parameter | Default | Meaning |
|---|---|---|
amount |
— | Minimum qualifying messages. |
min-length |
10 |
A message must be at least this many characters. |
delay-seconds |
20 |
At least this long must pass since the last counted message. |
- type: messages_sent amount: 25 min-length: 10 delay-seconds: 20account_age
Section titled “account_age”Player’s account first joined the server at least days days ago — gates rewards away
from brand-new accounts and alts.
- type: account_age days: 7permission
Section titled “permission”Player must hold at least one of permissions and none of denied-permissions.
- type: permission permissions: [claimo.vip, claimo.mvp] # must have at least one denied-permissions: [claimo.redeemed] # must have none- Omit
permissionsfor no positive requirement. - Use
denied-permissionsto lock a code away from players who already hold a node. - Both accept a YAML list or a comma-separated string; the singular
permission/denied-permissionkeys also work.
Same shape as permission, but for permission groups resolved via Vault.
- type: rank denied-ranks: [admin, owner] # staff can't redeem this onecustom
Section titled “custom”Resolves a placeholder via PlaceholderAPI and compares it to value. Lets you gate
on anything PAPI exposes — economy, level, stats — without a dedicated requirement.
| Parameter | Meaning |
|---|---|
placeholder |
A PlaceholderAPI string to resolve for the player. |
operator |
One of == != contains regex >= <= > <. |
value |
The value to compare against. |
- type: custom placeholder: "%vault_eco_balance%" operator: ">=" value: "1000"The redeem checklist
Section titled “The redeem checklist”When a redeem fails, the whole requirement checklist is printed. Met lines use the
requirement-met message, unmet lines use requirement-unmet, each wrapping the
requirement’s own <description>. Customise those in
messages.yml.
Adding your own
Section titled “Adding your own”None of these fit? Requirement types are a public API — register your own (e.g. a social-media follow check) from an addon. See Custom requirements.