Configuration
Every key of config.yml and discord.yml: language, modules, the clock, notices, streak freezes, AFK zones, votes and the vote party, referrals, the redeem lockout, the price currency, and the messages and menus.
config.yml holds the plugin's settings. What a reward, an AFK zone, a code or a piñata is lives in the
database and is edited in game; what votes and referrals pay is in votes.yml
and referrals.yml. Apply a change with /rewardsadmin reload, except
where a key says it needs a restart.
Keys marked as minutes, hours or days take a bare number in that unit, or a duration such as 30m, 2h
or 14d. Sounds are written NAME|volume|pitch.
Language
| Key | Default | What it does |
|---|---|---|
language | default | default follows the language set in ExyliaLib's config.yml; a code such as en, es, fr, pt, ru or tr sets this plugin alone. Each is a folder under lang/ you can edit. A key a language is missing falls back to English. |
Modules: modules
Which modules load. Needs a restart.
| Key | Default | What it does |
|---|---|---|
modules.rewards | true | Claimable rewards, login calendars and /redeem codes. |
modules.afk-zones | true | AFK zones. |
modules.votes | true | Votes, vote streaks and the vote party. |
modules.referrals | true | Referrals. |
The clock: clock
The one calendar every daily, weekly and monthly reward, every streak, every login calendar and every vote day follows.
| Key | Default | What it does |
|---|---|---|
clock.timezone | '' | The timezone the reset hour is read in, such as Europe/Madrid. Empty, or an unknown zone, uses the server's. |
clock.reset-hour | 0 | The hour of the day, 0–23, days start at. |
clock.weekly-reset-day | MONDAY | The day weekly rewards reset on, MONDAY to SUNDAY. |
Notices: notifications
| Key | Default | What it does |
|---|---|---|
notifications.ready-on-join | true | Tells a player on join how many rewards are ready. |
notifications.toasts | true | Says "N rewards ready" with an advancement toast instead of chat lines. |
notifications.toast-cooldown-minutes | 30 | Minutes between two toasts to one player. Joining always shows one. |
notifications.toast-icon | NETHER_STAR | The toast's icon. |
Players turn these notices off for themselves in ExyliaLib's /settings.
Streak freezes: streak-freezes
| Key | Default | What it does |
|---|---|---|
streak-freezes.price | 0.0 | What one freeze costs with /rewards freeze buy, in currency. 0 means not for sale. |
streak-freezes.max | 5 | The most one player may hold; buying stops there. 0 for no limit. |
AFK zones: afk-zones
| Key | Default | What it does |
|---|---|---|
afk-zones.enter-sound | BLOCK_BEACON_ACTIVATE|1.0|1.2 | Played on entering a zone. |
afk-zones.reward-sound | ENTITY_PLAYER_LEVELUP|1.0|1.0 | Played on every payout. |
The zones themselves are created in game with /afkzonesadmin.
Votes: votes
| Key | Default | What it does |
|---|---|---|
votes.reminder-minutes | 30 | Minutes between reminders to players who have not voted today. 0 never. Needs a restart. |
votes.remind-on-join | true | Reminds a player who has not voted today as they join. |
votes.remember-votes-days | 14 | Days a vote is remembered after it arrived, so a copy Votifier forwards late is not paid again. Keep it longer than any server may stay down. |
votes.pending-vote-days | 30 | Days a vote waits for a player who never joins before it is dropped. 0 keeps them for ever. |
The vote party: votes.party
Also edited in game with /voteadmin, which writes these keys back.
| Key | Default | What it does |
|---|---|---|
votes.party.target | 50 | Votes the whole network needs for a party. 0 turns the party off. |
votes.party.bossbar-seconds | 8 | How long the progress bar stays after a vote, with bar-mode: AFTER_VOTE. |
votes.party.bar-mode | AFTER_VOTE | AFTER_VOTE shows the bar for a moment after each vote; ALWAYS keeps it on screen for everybody while there is a target. |
votes.party.milestones | [10, 5, 1] | Votes left at which every server tells its players how close the party is. |
votes.party.mode | REWARDS | REWARDS pays everybody online, PINATA sends a piñata to one server, BOTH does the two. Without a piñata or a spawn point, it pays. |
votes.party.countdown.seconds | 10 | How long the countdown between the target and the party lasts. 0 starts the party at once. |
votes.party.countdown.tick-sound | BLOCK_NOTE_BLOCK_HAT|1.0|1.2 | Played every second once the melody is over. Empty for none. |
votes.party.countdown.end-sound | ENTITY_FIREWORK_ROCKET_LARGE_BLAST|1.0|1.0 | Played as the countdown ends. |
votes.party.countdown.melody | a short bell fanfare | Played as the countdown starts, as ExyliaLib sequence lines ([DELAY] 0.2, [SOUND] NAME;volume;pitch). See Sequences. |
Referrals: referrals
| Key | Default | What it does |
|---|---|---|
referrals.join-window-hours | 72 | Hours after their first join anywhere on the network during which a player can still name who invited them. |
referrals.qualify-minutes | 60 | Minutes the new player has to play, idle time not counted, before both are rewarded. |
referrals.block-same-address | true | Refuses a referral between two accounts that used the same address within the last 30 days, on any server, or are online from it now. |
Redeem codes: redeem
| Key | Default | What it does |
|---|---|---|
redeem.max-failed-attempts | 5 | Wrong codes in a row before the lockout. 0 never locks. |
redeem.lockout-minutes | 10 | How long the lockout lasts, on every server of the network. |
Prices: currency
| Key | Default | What it does |
|---|---|---|
currency | '' | The currency the plugin's own prices are charged in: streak freezes and missed calendar days. Any currency ID from ExyliaLib's economy.yml; empty is the default currency. |
Money inside reward lists names its own currency per entry; see Rewards in ExyliaLib.
discord.yml
Announcements to a Discord channel through a webhook. Off until switched on. Create the webhook in Discord (channel settings, Integrations, Webhooks) and paste its URL.
| Key | Default | What it does |
|---|---|---|
enabled | false | Whether anything is sent. |
webhook | '' | The webhook URL, https://discord.com/api/webhooks/.... A URL Discord refuses turns the announcements off, said once in the console. |
streak-from | 30 | A streak is announced on this day… |
streak-every | 30 | …and every this many days after it. 0 announces only streak-from. |
vote-party | A vote party started. %target% is the votes it took, %mode% what it does. | |
streak | A streak milestone of a reward or of votes. %player%, %reward%, %streak%, and %player_head% for the image. | |
calendar-complete | Every day of a login calendar claimed. %player%, %reward%. | |
code-redeemed | A redeem code's last use taken. %code%, %uses%. |
Each message is an ExyliaLib webhook template with its own enabled switch, title, description, colour,
fields and buttons; see Discord webhooks.
Messages and menus
Every line a player reads is in lang/<language>/messages.yml: the rewards lines at the top, then
labels (the words menus and placeholders put into lines), prompts (what the editors ask), and a section
per module, afk-zones, votes, referrals and codes. The AFK zone titles and boss bar, the vote party
and piñata boss bars, and the vote reminder are there too. Colours are palette tokens, so recolouring the
server never means editing them. A message may open with [sound:NAME|volume|pitch], which plays a sound
and never reaches the screen, and a line may open with [center]. %prefix% is replaced by the prefix
value; an empty message is not sent.
The player screens in lang/<language>/menus/user/ are yours to restyle: an update only adds what is
missing. The editors in menus/admin/ are regenerated from the jar on every start. Every count and
countdown on a screen updates on its own while it is open.
Something missing on this page? Tell us on Discord