Content generated with AI — it may contain mistakes.

Configuring

The menu

One screen: the tabs, the grid, the favourites, and every template menus/effects.yml declares.

/hiteffect opens one window of 54 slots. Nothing in it touches a weapon — an effect gets onto a weapon through its token, which is the thing a server sells.

It refuses to open in weapon mode

With behaviour.mode: weapon nothing on this screen would ever be read, so the menu answers menu-disabled instead of opening a window that changes nothing.

The two lists

SectionSlotsWhat it holds
categories9,18,27,36The tabs down the left, paged with the buttons at slots 0 and 45.
grid11-16,20-25,29-34,38-43The open category's effects, paged at slots 47 and 52.

The fixed buttons: YOUR EFFECT at slot 4 (click to take the effect off), EFFECT CRATE at 8, PARTICLE VISIBILITY at 48, RANDOM EFFECT at 49, CLOSE at 50.

The favourites tab

The first tab is always the player's own shortlist — it is not a category in effects.yml, because it holds different effects for every player. It is named and drawn by menu.favourites-name and menu.favourites-icon in config.yml.

RuleDetail
Starring is freeOwning an effect is not required to star it. A star that vanished the day a rank lapsed would lose them the list they built.
Their order, not yoursStarred effects stay in the order they were starred. Nothing is re-sorted.
Locked rows still showOn this tab a locked effect is drawn even on a server that hides locked effects everywhere else.
Emptying itShift click the tab while it is open, or /hiteffect favourites clear.

An empty shortlist draws empty_template so the tab reads as empty rather than as a screen that failed to load.

The random choice

The button at slot 49 is not an effect: it says "surprise me". A player carrying it plays a different effect on every hit, drawn afresh out of the ones they own — nothing is remembered between hits, so it is a surprise every time rather than a shuffled order. Its line is menu.random-on while it is the choice being carried and menu.random-off while it is not.

The crate

The button at slot 8 opens menus/crate.yml: one key in, one effect out, weighted by rarity. It draws how many keys the player holds and how much of the catalogue they have unboxed. See The crate.

What a click does

ClickOn a grid row
LeftWears the effect — or takes it off, when it is already the one worn.
RightPreviews it: the player is lifted to an empty patch of sky, the effect plays for them alone, and they are put back where they were. Locked rows can be previewed too.
ShiftStars it, or unstars it.

Ordering and locked rows

Effects the player may use are drawn first, then the locked ones — so what they can use is never behind a page of rows they cannot. With behaviour.hide-without-permission: true the locked ones are dropped from the grid entirely, except on the favourites tab.

Templates

Each list picks a template per row. item_template is the plain state and must stay first.

SectionTemplateUsed when
categoriesitem_templateAnother tab is open.
open_templateThis is the tab being looked at.
favourites_templateThe shortlist tab, while another tab is open.
favourites_open_templateThe shortlist tab while it is open — the only one carrying the "empty the list" action.
griditem_templateAn effect the player owns.
selected_templateThe effect currently worn.
locked_templateAn effect they do not own.
empty_templateDrawn on the favourites tab when nothing is starred.

Placeholders

These are the menu's own tokens, filled in while the screen is drawn. They are not PlaceholderAPI placeholders and only work inside this file.

PlaceholderWhereWhat it draws
%category_id%categoriesThe tab's id — favourites on the shortlist tab.
%category_name%categoriesThe tab's display name.
%category_material%categoriesThe material its icon is drawn with.
%category_total%categoriesHow many effects the tab holds.
%category_owned%categoriesHow many of those the player owns.
%category_status%categoriesmenu.tab-open or menu.tab-closed, depending on whether this is the tab being looked at.
%effect_id%gridThe effect's id.
%effect_name%gridIts display name, with its colours.
%effect_material%gridThe material it is drawn with.
%effect_description%gridIts description from effects.yml.
%effect_weapons%gridWhat it may be bound to, in words.
%effect_favourite%gridmenu.favourite-on or menu.favourite-off, depending on whether it is starred.
%effect_tier%gridThe rarity's name, in the rarity's colour.
%effect_tier_id%gridThe rarity's id.
%effect_tier_color%gridThat colour on its own.
%current_effect%AnywhereThe effect the player is wearing, menu.random-name on random, or menu.empty.
%random_status%Anywheremenu.random-on or menu.random-off.
%favourites_count%AnywhereHow many effects they have starred.
%keys%AnywhereCrate keys they hold.
%unlocked_count%AnywhereHow many effects they have won from the crate.
%catalogue_count%AnywhereHow many effects the server declares.
%particle_visibility%AnywhereThe player's current visibility mode, named as particles.name-* says.
%visibility_all%AnywhereThe name of the "everyone" mode, for a button that offers it.
%visibility_none%AnywhereThe name of the "nobody" mode.
%visibility_self_only%AnywhereThe name of the "only me" mode.
%visibility_others_only%AnywhereThe name of the "only others" mode.

Actions

ActionWhat it does
hiteffect:openOpens the screen.
hiteffect:category <id>Switches tab. favourites is a valid id.
hiteffect:choose <id>Wears an effect, or takes it off when it is already worn.
hiteffect:clearTakes the effect off.
hiteffect:favourite <id>Stars or unstars.
hiteffect:favourites_clearEmpties the shortlist.
hiteffect:preview <id>Previews an effect and reopens the menu afterwards.
hiteffect:visibilitySteps the viewer's visibility on by one.
hiteffect:randomTurns the random choice on.
hiteffect:crateOpens the crate.
hiteffect:crate_open <amount>Spends that many keys and opens that many reels.

Wording

The few strings one template draws for every row live in config.yml, because no file can spell them out row by row:

config.yml
menu:
  empty: "{muted}Nothing"
  tab-open: "{success}✔ You are here"
  tab-closed: "{warning}➥ Click to open"
  weapons-any: "Any weapon"
  favourites-name: "Favourites"
  favourites-icon: "AMETHYST_SHARD"
  favourite-on: "{highlight}★ In your favourites"
  favourite-off: "{muted}☆ Not in your favourites"
  random-name: "{highlight}Random"
  random-on: "{success}✔ Every hit is a surprise"
  random-off: "{warning}➥ Click to surprise yourself"
The window follows the choice

Every way a player's row can change — their own click, a command, an admin, or a rank that ran out under them — redraws whatever windows they have open. Nothing has to be closed and reopened.

Something missing on this page? Tell us on Discord