Below you will find a detailed structure of a voucher, with all the available options and what values they require. Please see to the Resources section to learn more about each type of value.
vouchers.yml
vouchers:voucherId:item:## REQUIRED VALUES## The name of a material https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/Material.htmlmaterial:String# default: PAPER## OPTIONAL VALUES#lore:List of String# default: emptyname:String# default: emptydamage:Short# default: 0glow:Boolean# default: falsecustomModelData:Integer# default: 0 | 1.14.4+texture:TextureString# default: nonecolor:ColorString# default: none | Available only for leather armorenchantments:List of EnchantmentString# default: emptyflags:List of ItemFlag# default: emptyunbreakable:Boolean# default: falsebanner:patterns:List of BannerPatternString# default: emptyactions:List of Action# default: empty## A list of actions that are executed when multiple vouchers are used.# Leave this empty to execute 'actions' n times (n = vouchers redeemed)#bulkActions:List of Action# default: empty## Starting with v2.0.0, all settings are optional#settings:## Messages sent when the voucher is received and redeemed#messages:## {amount} - how many vouchers were received#receive:Message# default: none## {amount} - how many vouchers were redeemed#redeem:Message# default: none## Sounds played when the voucher is received or redeemed#sounds:receive:SoundObject# default: noneredeem:SoundObject# default: none## Make the voucher usable only by the player who received it#bindToReceiver:enabled:Boolean# default: false## {player} - the name of the player who can redeem the voucher#message:Message# default: nonesound:SoundObject# default: none## Whether multiple vouchers can be redeem at one time#bulkOpen:enabled:Boolean# default: falselimit:Integer# default: MAX## Whether the player has to confirm the redeem through a GUI#confirmation:enabled:Boolean# default: false## Put the voucher on a cooldown after each usage#cooldown:enabled:Boolean# default: falsecooldown:TimeString# default: none## {left} - the time left#message:Message# default: nonesound:SoundObject# default: none## Limit how many times a voucher can be used by a player or global#limit:enabled:Boolean# default: falsetype:LimitType# default: NONElimit:Long# default: message:Message# default: nonesound:SoundObject# default: none## Allow or disallow players to use this voucher based on their permissions#permissions:## Players with one of thes permissions can't use this voucher#blacklist:list:List of Option# default: emptymessage:Message# default: nonesound:SoundObject# default: none## Only players with one of these permissions can use this voucher#whitelist:list:List of Option# default: emptymessage:Message# default: nonesound:SoundObject# default: none## REQUIRE WORLDGUARD 6.X.X or 7.X.X https://dev.bukkit.org/projects/worldguard# Allow or disallow players to use this voucher based on the region they# are standing on#regions:## Players that are in any of these regions can't use this voucher#blacklist:list:List of Option# default: emptymessage:Message# default: nonesound:SoundObject# default: none## Only players that are in any of these regions can use this voucher#whitelist:list:List of Option# default: emptymessage:Message# default: nonesound:SoundObject# default: none## Allow or disallow players to use this voucher based on their world#worlds:## Players that are in any of these worlds can't use this voucher#blacklist:list:List of Option# default: emptymessage:Message# default: nonesound:SoundObject# default: none## Only players that are in any of these worlds can use this voucher#whitelist:list:List of Option# default: emptymessage:Message# default: nonesound:SoundObject# default: none
Enchantment: String, the name of an Enchantment (e.g. MENDING), for 1.13+ could also use the namespace:key format (e.g. minecraft:sharpness)
<level>: Integer, the level of the enchantment
Example:
# A diamond sword with mending and sharpness 3item:material:DIAMOND_SWORDenchantments: - MENDING;1# The name spigot uses for sharpness - DAMAGE_ALL;3# Alternative for the previous option available for 1.13+ servers - minecraft:sharpness;3
LimitType
Values: GLOBAL, PERSONAL, NONE (default, if disabled)
Message
Format: Type;<message> or <message> and CHAT will be the default Type
Type: ACTION_BAR, CHAT, TITLE
<message>: String, the actual message that will be sent, use [n] for TITLE to separate the title from subtitle
Examples:
settings:messages:# Simple chat messageredeem:You have received a voucherredeem:CHAT;You have received a voucher# Action bar messageredeem:ACTION_BAR;You have received a voucher# Title message# 'You have received' will be the title and 'a voucher' the subtitleredeem:TITLE;You have received[n]a voucher
Option
Format: regex:<expression> for RegEx or just a normal String
Examples: Allow the voucher to be used at spawn or on a "player world", same thing applies for regions.
# Allow the voucher to be used at spawn or on a "player world"# same format and logic applies for regions.worlds:whitelist:list:# When using normal Strings, you can also use %args% but your# String must be 1:1 with the world name (e.g. 'Spawn' is not# the same as 'spawn') - spawn# This will match all worlds that start with 'player_world-' - regex:player_world-.+
BannerPatternString
Format: PatternType;DyeColor
PatternType: String, the name of a PatternType (e.g. CREEPER)
DyeColor: String, the name of a DyeColor (e.g. RED)
Example
# A banner with a black gradient and red borderitem:WHITE_BANNERbanner:patterns: - GRADIENT;BLACK - BORDER;RED
sound: String, the name of a sound ('namespace:path' or just 'path' for vanilla sounds from the 'minecraft' namespace), example: minecraft:block.note_block.pling or simply block.note_block.pling
source: String, the name of a sound Source, example: MASTER
volume: Float, the volume of the sound, example: 0.25
pitch: Float, the pitch of the sound, example: 1.50
Example:
sounds:redeem:sound:'minecraft:block.note_block.pling'volume:0.75pitch:1.0# Which is also the default value
TextureString
Format: Type;<value> or <value> and BASE64 will be the default Type
Type: BASE64, HDB, PLAYER
<value>:
BASE64: String, texture value (e.g. BASE64;eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGNlYjE3MDhkNTQwNGVmMzI2MTAzZTdiNjA1NTljOTE3OGYzZGNlNzI5MDA3YWM5YTBiNDk4YmRlYmU0NjEwNyJ9fX0=)
HDB: Integer, the id of a head from HeadDatabase (e.g. HDB;21899)
PLAYER: String, the name of a player (e.g. PLAYER;MHF_Chest)