Content generated with AI — it may contain mistakes.

Reference

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.

FileDocumented in
config.ymlThis page.
triggers.ymlRewards, below.
rarities.ymlKits.
progression.yml, perks.yml, missions.ymlProgression.
events.yml, seasons.ymlEvents and seasons.
balance.ymlKit balance.
database.ymlExyliaLib's database.

Language

languagestringpor defecto default

default 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 false

Explains 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

KeyDefaultWhat it does
auto-join.enabledfalseSends 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

KeyDefaultWhat it does
roll.anti-repeat3A 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-size3Kits offered at once in Draft arenas.
roll.draft-timeout10sHow long a draft waits for a pick before taking the first kit.
roll.draft.displayMENUMENU opens a menu with the kits, CHAT sends clickable buttons.

Deaths: death

KeyDefaultWhat it does
death.dropsCONSUMABLESWhat 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-lifetime10sHow long dropped items stay on the floor.
death.void-margin2Blocks below the arena's lowest box that still count as inside; lower is a fall out.

Assists: assists

KeyDefaultWhat it does
assists.minimum-percent25.0Share of the damage a victim took, from 0 to 100, that earns an assist.
assists.window15sOnly damage dealt this recently counts, for assists and for the kill itself.

Streaks: streaks

KeyDefaultWhat it does
streaks.milestones[5, 10, 15, 20, 25, 30, 50]Streaks announced to the arena.
streaks.end-minimum5Ending a streak at least this long runs on-streak-end for the killer.

Kit evolution: evolution

KeyDefaultWhat it does
evolution.stepsthree steps, at 3, 5 and 10The 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

KeyDefaultWhat it does
anti-abuse.same-addresstrueNo rewards or stats for a kill when killer and victim share an address or account.
anti-abuse.repeat-limit3No 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-window10mThe window of repeat-limit.
anti-abuse.fresh-spawn3sNo rewards or stats for killing a player who spawned less than this long ago.
anti-abuse.afk60sNo rewards or stats for killing a player who has not moved for this long. 0s turns it off.

Nemesis: nemesis

KeyDefaultWhat it does
nemesis.min-kills2Kills on a player that make the killer their nemesis. The most kills wins, the most recent a tie.
nemesis.tracked5Rivals 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: 9

Arenas: arenas

KeyDefaultWhat it does
arenas.spawn-protection3sSpawn protection a new arena starts with.
arenas.placed-blocks30sBlocks a player places in an arena disappear after this long. 0s keeps them until the next reset.

Stats: stats

KeyDefaultWhat it does
stats.save-interval30sHow often online players' stats are written to the database.
stats.leaderboard-refresh60sHow often the leaderboards are read again.
stats.leaderboard-size10Entries 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.

TriggerRuns for
on-killThe killer.
on-deathThe victim.
on-assistEach assisting player.
on-streak-<n>The killer reaching that streak, such as on-streak-5.
on-streak-endWhoever 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-joinThe first time the network sees the player.
on-arena-join, on-arena-leaveJoining and leaving an arena.
on-level-up, on-level-<n>Every level-up, or reaching that level (%level%).
on-prestigeA prestige (%prestige%).
on-mastery-<n>Reaching that mastery level with a kit (%kit%, %level%).
on-mission-completeEvery mission completed (%mission%, %pool%).
on-revengeKilling your nemesis.
on-nemesis-newThe 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:

TypeNeeds
COMMANDcommand, run by the console: give %player% diamond 1.
MESSAGEmessage: %prefix% {success}+10 coins.
ECONOMYamount, and currency (blank is the server's default).
EXPERIENCEamount, in experience points.
ITEMitem, and optionally min-amount and max-amount for a random amount.
POTIONeffect: 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 the prefix value, {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-titles and progression.ascended-suffix are how prestige, mastery titles and Ascended kits are written.
  • labels are the words injected into menus and messages (enabled, disabled, the roll modes, all kits), so one palette change restyles every screen.

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