Content generated with AI — it may contain mistakes.

Getting started

Installation

The jars, the four files it writes, and the table it creates.

Installing

Drop in the jars

ExyliaKillEffect.jar and packetevents into plugins/. ExyliaLib is a soft depend — the loader installs it on the first start if it is not there.

Start the server

It writes config.yml, effects.yml, menus/effects.yml and database.yml, and creates its table.

Grant the permissions

Nothing is usable until players can open the menu and own at least one effect. See Permissions.

Files

FileContents
config.ymlBehaviour, the token and remover items, the weapon lines, menu wording, feedback, visibility and every message.
effects.ymlThe five categories and the 110 effects. Hand-written, not schema-managed: your comments and your layout survive a reload.
menus/effects.ymlThe main screen: tabs, grid, templates and buttons.
menus/crate.ymlThe crate's first screen: how many to open at once.
menus/crate_open.ymlThe reels falling, one column per crate.
database.ymlWhere selections are stored. H2 by default.
effects.yml is yours

config.yml is written from a schema, so an unknown key is dropped and comments are regenerated. effects.yml is not: it is a catalogue a server owner curates, and it is read exactly as written.

The table

killeffect_players, one row per player:

ColumnWhat it holds
uuidThe player.
nameTheir last known name.
killEffectThe effect they chose, random for the random choice, or empty.
particleVisibilityALL, NONE, SELF_ONLY or OTHERS_ONLY.
favouritesThe effects they starred, comma-separated, in their own order.
unlockedThe effects they won out of the crate, comma-separated.
crate_keysHow many crate keys they hold.
created_at / updated_atWhen the row was made and last written.

Ids are stored lowercase and read back without regard to case, so a row written by an older version — which stored them in upper case — still resolves.

A starred id the catalogue no longer declares is kept in the column and dropped where it is drawn, so a typo in a reload does not empty anybody's shortlist.

Updating

Replace the jar and restart. /killeffectsadmin reload re-reads config.yml, effects.yml and the menu without touching the rest of the server — it deliberately does not reload the library, which is what /exylialib reload is for.

Something missing on this page? Tell us on Discord