vote-rewards
The rewards paid on every vote, all nine reward types, the vote broadcast and the offline queue.
vote-rewards.yml is the reward list that runs every time a vote
is counted, whichever site it came from. It is separate from
milestones (thresholds) and monthly rewards (end of month payout),
but all three use the reward syntax described on this page.
Quick example
broadcast: true
rewards:
- type: message
target: self
value: "<#5EEEA0>Thanks for voting, <#A8D8F0>%player%<#5EEEA0>!"
- type: command
value: "give %player% diamond 1"
- type: money
value: 250
- type: exp
value: 50
mode: pointsEvery entry runs, top to bottom, on every vote. There is no "pick
one" unless you use chance or random.
The amount key is value, for money and exp alike. An
entry written with amount: is read as 0 and pays nothing. The same
goes for chance: it is a fraction from 0 to 1 under the key
chance, not a percent.
Placeholders
These work in the value of command and message rewards. They
are not replaced in an item's name or lore.
| Token | Replaced with |
|---|---|
%player% | The voter's name |
%uuid% | The voter's UUID |
%world% | The world the voter is in |
%service% | The vote site name as sent by the site |
%address% | The address the vote came from |
%votes% | The voter's total votes, including this one |
%streak% | The voter's current streak, including this vote |
PlaceholderAPI tokens are not resolved in rewards. If you need one inside a command, run the command through a plugin that parses them.
Reward types
Sends a MiniMessage line. target: self (the default) sends it to
the voter, target: broadcast sends it to the whole server.
- type: message
target: self
value: "<#5EEEA0>Thanks for voting on <white>%service%<#5EEEA0>!"Runs a command from console. Write it without the leading slash.
- type: command
value: "give %player% diamond 1"
- type: command
value: "lp user %player% parent add voter"Needs Vault and an economy plugin. Without them the reward is skipped and a line is written to console.
- type: money
value: 250mode: points (the default) gives raw experience points,
mode: levels gives whole levels.
- type: exp
value: 50
mode: pointsGives an item. If the inventory is full, the rest drops at the player's feet.
- type: item
material: DIAMOND_SWORD
amount: 1
name: "<#FFD93D>Voter Blade"
lore:
- "<#A8D8F0>Earned by voting"
enchantments:
sharpness: 3
unbreaking: 2
custom-model-data: 1001| Key | Default | Notes |
|---|---|---|
material | Required. Bukkit material name. | |
amount | 1 | Stack size. |
name | MiniMessage display name. | |
lore | List of MiniMessage lines. | |
enchantments | Map of enchantment to level. Use vanilla ids such as sharpness, levels above the vanilla cap are allowed. | |
custom-model-data | Number for resource pack models. |
Reward items are built with every item flag hidden, so the tooltip
does not list the enchantments or attribute lines. The enchantments
still work. Put what matters in the lore.
Wraps one other reward and runs it only some of the time. chance
is a fraction: 0.05 is 5 percent, 1.0 is always.
- type: chance
chance: 0.05
reward:
type: command
value: "give %player% diamond_block 1"Picks count different entries from a weighted pool. Higher
weight means more likely. Weights do not need to add up to 100.
- type: random
count: 1
pool:
- weight: 50
reward: { type: money, value: 100 }
- weight: 25
reward: { type: exp, value: 20, mode: points }
- weight: 5
reward: { type: command, value: "give %player% gold_ingot 4" }With these weights, about 62 percent of votes pay money, 31 percent
pay experience and 6 percent give gold. count: 2 would pick two
different entries per vote, never the same one twice.
Applies a potion effect. Use the vanilla effect id, such as speed,
haste or night_vision.
- type: potion
effect: speed
duration: 600 # ticks, 20 per second, so 600 is 30 seconds
amplifier: 1 # 0 is level I, 1 is level II
ambient: false
particles: trueduration defaults to 600, amplifier to 0, ambient to false and
particles to true.
Launches one firework at the voter.
- type: firework
power: 1
shape: BALL_LARGE
trail: true
flicker: false
colors: [AQUA, YELLOW]
fade: [WHITE]| Key | Default | Notes |
|---|---|---|
power | 1 | Flight height, 0 to 3 is sensible. |
shape | ball | BALL, BALL_LARGE, STAR, BURST or CREEPER. |
trail | true | |
flicker | false | |
colors | white | List of colour names, see below. Hex codes are not accepted. |
fade | none | Same names as colors. |
Colour names: WHITE, SILVER, GRAY, BLACK, RED, MAROON,
YELLOW, OLIVE, LIME, GREEN, AQUA, TEAL, BLUE, NAVY,
FUCHSIA, PURPLE, ORANGE. A name that is not on this list is
ignored.
An entry with an unknown type, or one missing a required key, is
skipped when the file loads, in most cases with a warning in console.
The rest of the list still runs.
Broadcast
The top-level broadcast key controls whether the public
vote.broadcast line from messages.yml is sent when a vote is
counted. It does not affect message rewards.
| Value | Behaviour |
|---|---|
true (default) | Every real-time vote broadcasts vote.broadcast to the whole server. |
false | The public line is never sent. Personal reward messages still are. |
Replayed offline votes have their own switch, broadcast-on-claim,
below.
Offline queue
When a vote arrives for a player who is not online, VotePlus can store it and pay it when they next log in.
offline-queue:
enabled: true
notify-on-join: true
broadcast-on-claim: false| Key | Default | Notes |
|---|---|---|
enabled | true | true queues votes for offline players. false counts the vote straight away but pays that player nothing. |
notify-on-join | true | Tells the player on join how many votes were claimed for them (offline.auto-claimed in messages.yml) or are waiting (offline.pending). |
broadcast-on-claim | false | Whether vote.broadcast is also sent for each replayed vote. |
Whether queued votes are paid on join or wait for /vote claim is
decided by general.auto-claim-offline in
config.yml.
A replayed vote runs through the same reward list as a live one and counts for the day it was cast, so a player who voted every day while away keeps their streak. It only adds to today's, this week's and this month's counters if it was cast in that period.
broadcast-on-claim is false by default because a player who has
been away for a week replays seven votes at once. With the public
line on, that is seven "just voted" messages in chat in the same
second. The voter still gets their own reward messages either way.