Content generated with AI — it may contain mistakes.

Reference

Configuration

config.yml key by key, tiers.yml and the animation files, the messages file and its languages, and the menu files.

Everything is generated in plugins/ExyliaCrates/ on first start, with comments. Edit the files there, never the copies in the jar, and run /cratesadmin reload. config.yml, tiers.yml and the animation files can also be edited in game from Settings on the crate list (see Crates) or in the browser with /exylialib editor ExyliaCrates.

The crates themselves are not in any file. Crates, keys, blocks, balances and the history live in the database and are edited from the menus.

FileWhat it holds
config.ymlWhat every crate on this server shares. Below.
tiers.ymlThe rarities. See Rewards and rarities.
animations/<id>.ymlOne per animation. See Animations.
database.ymlExyliaLib's database connection.
lang/<language>/messages.ymlEvery line the plugin sends, and the labels its screens fill in.
lang/<language>/menus/user/*.ymlThe three player screens.
lang/<language>/menus/admin/*.ymlThe ten staff screens.

config.yml

settings:
  wand-material: BLAZE_ROD
  default-key-material: TRIPWIRE_HOOK
  max-multi-open: 10
  history-retention-days: 30
  broadcast-enabled: true
  watch-radius: 24.0
  click-speed-up: 4.0
hologram:
  enabled: true
  offset-y: 1.6
idle:
  interval-seconds: 8
  radius: 24.0
  height: 1.3
  scale: 0.6
  glow: ''
  effects: []
keys:
  received:
    title:
      text: '{primary}&l+%amount% KEYS'
      subtitle: '{letters}%crate%'
      fade-in: 0.1
      stay: 1.6
      fade-out: 0.5
      time-style: auto
    sound:
      name: ENTITY_EXPERIENCE_ORB_PICKUP
      volume: 0.9
      pitch: 1.4
      category: MASTER
    particle:
      name: END_ROD
      count: 12
      spread: 0.4
      speed: 0.02

settings

KeyDefaultMeaning
wand-materialBLAZE_RODMaterial of the wand that places and removes crate blocks. An unknown one falls back to BLAZE_ROD.
default-key-materialTRIPWIRE_HOOKWhat a key item is made of until the key is given an icon of its own.
max-multi-open10Most openings one sneak + click, shift-click or /crates open <crate> true pays for. Also how many times a free crate opens that way. A player's highest exyliacrates.multiopen.<n> replaces it for them.
history-retention-days30Days an opening stays in the history. 0 keeps them forever. Old rows are deleted a minute after start and every six hours.
broadcast-enabledtrueAnnounce to the server when somebody wins a reward whose rarity broadcasts.
watch-radius24.0Blocks away a shared opening can be watched from. Players inside see it from where they stand, and walk in and out of it.
click-speed-up4.0How many times quicker an opening plays once its opener clicks. 1 turns it off.

hologram

KeyDefaultMeaning
enabledtrueShow a hologram over every crate block. Its lines are hologram-lines in messages.yml.
offset-y1.6Height above the block. Each crate can move its own hologram from there in Presence.

Both are read when a crate block is drawn: at startup and when the crate is edited. A reload alone does not redraw holograms already standing.

idle

What every crate block does while nobody is opening it.

KeyDefaultMeaning
interval-seconds8Seconds per pass of the idle loop: how long one turn of the floating icon takes, and how often effects play. 0 turns the loop off, icon included.
radius24.0Blocks a player has to be within for the icon to be drawn for them.
height1.3Height above the block the icon turns at, before the crate's own offset.
scale0.6Size of the icon, 1 being a dropped item's size.
glow''Outline of the icon: a palette token such as {primary} or a hex colour, or empty for none.
effects[]Effect lines played at every crate once per pass, in ExyliaLib's sequence notation.

keys

KeyMeaning
receivedThe effect played to a player whenever keys reach them: given, granted through the API, or announced on join after being added while they were away. %amount% is how many and %crate% the crates the key opens. Any of title, action-bar, boss-bar, sound and particle; leave a part out to skip it. See Effects.

Messages and languages

lang/<language>/messages.yml holds every line the plugin sends. The plugin ships en, es, fr, pt, ru and tr, and follows the language set in ExyliaLib's config.yml; config.yml here has no language key of its own. A key missing from a translated file falls back to English.

A line may start with [sound:NAME|volume|pitch], which plays a sound and never reaches the screen. %prefix% is replaced by the prefix line. Colours use palette tokens, so recolouring the server never means editing this file.

Beyond the chat lines, the file holds:

KeyWhat it is
hologram-linesThe hologram over every crate, top to bottom.
default-key-nameThe name a new key is given.
key-loreThe lore of every key item.
wand-name, wand-loreThe crate wand.
reveal-self, reveal-other, reveal-countThe label over a revealed prize: for the winner, for everybody else, and the count under a bulk prize.
pick-title, pick-subtitlePick a Card's title while the player chooses.
speed-up-hintOver the hotbar when an animated opening starts. Empty for none.
announcements-name, announcements-descriptionThe Crate wins channel on the Announcements screen of /settings.
promptsWhat the crate and key editors ask, and the labels of their forms.
screensLabels the screens fill in: each animation's name and description by id, the picker's states, the preview notice, the rarity of a reward without one, Locked, the reward editor's rarity line, the two audiences, and the cost screen's words.
pity-none, pity-next, pity-left, pity-everyHow the guarantee is written on the screens.

Placeholders each line takes are listed on Placeholders.

FolderWhat is thereUpdates
lang/<language>/menus/user/crates.yml (the crate list of /crates), preview.yml (a crate's contents) and history.yml (the history, both kinds).Yours to edit. An update only adds files that are missing; when a release has to change a layout it raises the file's menu-version, replaces it, and keeps yours beside it as <name>.yml.v<old version>.
lang/<language>/menus/admin/crate_list, crate_setup and its sections crate_setup_general, _cost, _rewards, _opening, _presence, crate_setup_animations, key_list, key_setup. The crate list carries the Settings button (exyliacrates:settings).Rewritten from the jar on every start; edits there are lost.

Each file lists the values it is filled with in the comment at its top. Every button runs an action in the exyliacrates namespace: exyliacrates:crate_open <crate> [all], exyliacrates:crate_preview <crate>, exyliacrates:crate_history [crate], and the staff ones the admin files use. A menu file that cannot be read is reported in the console and not registered, rather than registered empty.

A reload recompiles the menus. They are also recompiled on /exylialib reload, so a palette change reaches them.

Something missing on this page? Tell us on Discord