Configuration
Every key of config.yml, the rewards of triggers.yml, where the other files are documented, and messages and menus.
plugins/ExyliaRandomKitsCore/config.yml holds everything tunable that is not a message, a rarity or a
reward. Arenas and kits are made in game with /rkadmin. Times are written 30s, 5m or 1h30m. Apply a
hand edit with /rkadmin reload, or edit it in the web editor,
which applies on its own.
| File | Documented in |
|---|---|
config.yml | This page. |
triggers.yml | Rewards, below. |
rarities.yml | Kits. |
progression.yml, perks.yml, missions.yml | Progression. |
events.yml, seasons.yml | Events and seasons. |
balance.yml | Kit balance. |
database.yml | ExyliaLib's database. |
Language
languagestringpor defecto defaultdefault follows the language set in ExyliaLib's config.yml; a code such as en or es sets this plugin
alone. en, es, fr, pt, ru and tr ship, each a folder under lang/ you can edit.
debugbooleanpor defecto falseExplains in the console what the plugin is doing, refused kills included.
Network group
network-groupstringpor defecto Servers of a network that share kits, arenas, stats and leaderboards write the same group here and point at one database, with Redis so edits reach the others at once. Blank keeps the plain tables. Lower case letters, digits and underscores, at most 24. See Network and ExyliaDuels.
Auto-join: auto-join
| Key | Default | What it does |
|---|---|---|
auto-join.enabled | false | Sends every player who joins the server into an arena: for servers that only run RandomKits. |
auto-join.arena | "" | The arena id. Blank picks any ready arena. |
Rolls: roll
| Key | Default | What it does |
|---|---|---|
roll.anti-repeat | 3 | A player never gets one of their last N kits again while other kits can be rolled. |
roll.pity | {epic: 10, legendary: 40} | Bad luck protection: after this many rolls in a row below a rarity, the next roll is at least that rarity. 0 turns a rule off. |
roll.draft-size | 3 | Kits offered at once in Draft arenas. |
roll.draft-timeout | 10s | How long a draft waits for a pick before taking the first kit. |
roll.draft.display | MENU | MENU opens a menu with the kits, CHAT sends clickable buttons. |
Deaths: death
| Key | Default | What it does |
|---|---|---|
death.drops | CONSUMABLES | What a death leaves on the floor: NONE, CONSUMABLES (the roles below) or ALL. |
death.consumable-roles | [FOOD, POTIONS, PEARLS, ARROWS, BLOCKS] | Roles that count as consumables. |
death.drop-lifetime | 10s | How long dropped items stay on the floor. |
death.void-margin | 2 | Blocks below the arena's lowest box that still count as inside; lower is a fall out. |
Assists: assists
| Key | Default | What it does |
|---|---|---|
assists.minimum-percent | 25.0 | Share of the damage a victim took, from 0 to 100, that earns an assist. |
assists.window | 15s | Only damage dealt this recently counts, for assists and for the kill itself. |
Streaks: streaks
| Key | Default | What it does |
|---|---|---|
streaks.milestones | [5, 10, 15, 20, 25, 30, 50] | Streaks announced to the arena. |
streaks.end-minimum | 5 | Ending a streak at least this long runs on-streak-end for the killer. |
Kit evolution: evolution
| Key | Default | What it does |
|---|---|---|
evolution.steps | three steps, at 3, 5 and 10 | The steps every kit follows. |
evolution.kits | {} | Kits that follow their own steps instead, by kit id, each with its own steps. |
A step: streak, enchant-bonus (levels added to every enchantment on the gear worn and held), items
(item as an ExyliaLib item source, amount, role), effects (NAME|LEVEL|SECONDS, until the next death)
and feedback (ExyliaLib sequence lines). See Playing.
evolution:
steps:
- streak: 5
enchant-bonus: 1
items: []
effects: []
feedback:
- '[SOUND] BLOCK_ANVIL_USE;0.7;1.4'
- '[TITLE] ;{highlight}&lKIT EVOLVED {letters_black}» {info}+1 enchant;0.1;1.5;0.4'Anti-abuse: anti-abuse
| Key | Default | What it does |
|---|---|---|
anti-abuse.same-address | true | No rewards or stats for a kill when killer and victim share an address or account. |
anti-abuse.repeat-limit | 3 | No rewards or stats once one killer killed the same victim more than this many times within the window. 0 turns it off. |
anti-abuse.repeat-window | 10m | The window of repeat-limit. |
anti-abuse.fresh-spawn | 3s | No rewards or stats for killing a player who spawned less than this long ago. |
anti-abuse.afk | 60s | No rewards or stats for killing a player who has not moved for this long. 0s turns it off. |
Nemesis: nemesis
| Key | Default | What it does |
|---|---|---|
nemesis.min-kills | 2 | Kills on a player that make the killer their nemesis. The most kills wins, the most recent a tie. |
nemesis.tracked | 5 | Rivals each player keeps track of; past that the one with the fewest kills is forgotten. |
Default layout: layout
Where each kit role lands when a player has not saved a layout. Slots 0-8 are the hotbar, 9-35 the inventory. Roles not listed fill the first free slot.
layout:
WEAPON: 0
BOW: 1
PEARLS: 2
POTIONS: 3
FOOD: 7
BLOCKS: 8
ARROWS: 9Arenas: arenas
| Key | Default | What it does |
|---|---|---|
arenas.spawn-protection | 3s | Spawn protection a new arena starts with. |
arenas.placed-blocks | 30s | Blocks a player places in an arena disappear after this long. 0s keeps them until the next reset. |
Stats: stats
| Key | Default | What it does |
|---|---|---|
stats.save-interval | 30s | How often online players' stats are written to the database. |
stats.leaderboard-refresh | 60s | How often the leaderboards are read again. |
stats.leaderboard-size | 10 | Entries kept per leaderboard. |
Balancing and Duels
balancing sends players between the servers of a group, and duels is the Random kit in ExyliaDuels.
Both are documented in Network and ExyliaDuels.
Commands in an arena: allowed-commands
allowed-commandslistpor defecto [rk, randomkits, msg, tell, w, whisper, m, r, reply]The only commands a player can use while in an arena, without the slash. Everything else is refused.
Aliases with a plugin prefix (essentials:msg) are matched too. Changing it from the web editor is held for
confirm.
Rewards: triggers.yml
The plugin pays nothing by itself: everything it pays is a named list of ExyliaLib rewards in
triggers.yml, run when something happens in an arena, through ExyliaLib's booster pipeline.
| Trigger | Runs for |
|---|---|
on-kill | The killer. |
on-death | The victim. |
on-assist | Each assisting player. |
on-streak-<n> | The killer reaching that streak, such as on-streak-5. |
on-streak-end | Whoever ended a streak of at least streaks.end-minimum. |
on-roll-<rarity> | Rolling a kit of that rarity, such as on-roll-legendary. |
on-first-join | The first time the network sees the player. |
on-arena-join, on-arena-leave | Joining and leaving an arena. |
on-level-up, on-level-<n> | Every level-up, or reaching that level (%level%). |
on-prestige | A prestige (%prestige%). |
on-mastery-<n> | Reaching that mastery level with a kit (%kit%, %level%). |
on-mission-complete | Every mission completed (%mission%, %pool%). |
on-revenge | Killing your nemesis. |
on-nemesis-new | The victim, when %killer% becomes their new nemesis. |
on-event-start-<id>, on-event-win-<id> | See Events. |
By default a kill pays 10, an assist 3 and ending a streak 25, in the server's default currency.
A reward has a type and what the type needs:
| Type | Needs |
|---|---|
COMMAND | command, run by the console: give %player% diamond 1. |
MESSAGE | message: %prefix% {success}+10 coins. |
ECONOMY | amount, and currency (blank is the server's default). |
EXPERIENCE | amount, in experience points. |
ITEM | item, and optionally min-amount and max-amount for a random amount. |
POTION | effect: SPEED|2|10. |
Optional on any of them: chance (0-100), permission, condition ('%player_level% >= 10').
Placeholders: %player%, %killer%, %victim%, %streak%, %kit%, %rarity%, %arena%.
arenas holds per-arena lists, by arena id, that replace the global list of the same trigger there:
triggers:
on-kill:
- type: ECONOMY
amount: '10'
arenas:
ranked:
triggers:
on-kill:
- type: ECONOMY
amount: '25'
- type: MESSAGE
message: '%prefix% {success}+25 {letters}for a ranked kill'The rewards upgrade and prestige raise what these pay (not in arenas with upgrades off), and so do
MULTIPLIER events. Changing a COMMAND reward from the web editor is held for confirm.
Messages
lang/<language>/messages.yml holds every chat line, title, boss bar and label, grouped as arena, roll,
fight, streak, stats, top, layout, progression, reroll, perks, missions, events,
seasons, nemesis, balance, network, duels, admin, prompts, imports and labels. Colours use
palette tokens such as {primary}, so recolouring the server never means editing this file.
%prefix%is replaced by theprefixvalue,{primary}&lRANDOMKITS {letters_black}•<reset>. An empty message is not sent.- A message may open with an effect tag, which never reaches the screen:
[sound:NAME|volume|pitch]plays a sound,[center]centres the line. progression.prestige-display,progression.mastery-titlesandprogression.ascended-suffixare how prestige, mastery titles and Ascended kits are written.labelsare the words injected into menus and messages (enabled, disabled, the roll modes, all kits), so one palette change restyles every screen.
Menus
The player screens under lang/<language>/menus/user/ are yours to restyle: an update only adds what is
missing. The admin screens under menus/admin/ are regenerated from the jar on every start. See
ExyliaLib's menus for the format.
Something missing on this page? Tell us on Discord