DUXPLIMA Documentation

Guide

How uxmJoinItems works, how to set it up and what each file holds.

uxmJoinItems hands players the items a lobby hotbar needs, such as a server selector or a cosmetics opener, when they join, join for the first time, respawn or change world. Each item can be locked in place, limited to WorldGuard regions, held back while another plugin says the player is busy, and runs actions on a left or right click.

Install

Put uxmJoinItems-<version>.jar in plugins/ and start the server. The first start writes config.conf, commands.conf, theme.conf, three items under items/ (selector, cosmetics, lobby), one file per event under events/, and the message files into plugins/uxmJoinItems/. /uxmjoinitems reload reads them again.

Items

Each items/<id>.conf is one item; the file name is its id (lower-case letters, digits, - and _).

KeyMeaning
materialThe only required key. An unknown name becomes STONE and says so once in the console.
slot0 to 8 the hotbar, 9 to 35 the inventory, 36 to 39 armour, 40 the off hand.
name, loreMiniMessage. A single space as the name shows nothing; @key reads a line from messages/.
custom-model-data, glow, unbreakableThe look. -1 keeps the ordinary model.
triggersWhich events hand it out: join, first-join, respawn, world-change. Empty: only /uxmjoinitems give.
cooldownHow long before a click works again. Left out, items.default-cooldown. "0s" for none.
restrictions.lockedThe item cannot be moved, dragged, swapped, dropped or placed, and is kept out of death drops.
skip-whenPlaceholderAPI texts that hold the item back while any of them answers something.
regionsWorldGuard regions it is given in, matched without case. Empty: everywhere.
left-click, right-clickActions a click runs.

An item is not given when its slot is already taken. A skip-when answer of nothing, 0, -, false or no means "not busy", and a placeholder no plugin fills is passed over.

Click actions use the shared action lines ([message], [title], [sound], [console], [player] and the rest) plus two of this plugin's own: [server] <name> sends the player through the proxy, and [menu] <command> closes the open screen and runs the command. Holding the button down runs the actions once per cooldown.

Events

Each events/<event>.conf holds enabled, delay and actions for one event. A switched off event hands out nothing. The actions run after the items are placed; first-join runs beside join, not instead of it.

Configuration

KeyDefaultMeaning
items.default-cooldown"500ms"The cooldown of an item whose file names none.
network.proxy-channel"BungeeCord"The channel [server] writes on. BungeeCord, Waterfall and Velocity all read it.

Commands

CommandPermissionWhat it does
/uxmjoinitemsAdminister the join items.
/uxmjoinitems give <player> <item>uxmjoinitems.admin.giveGive one join item to a player.
/uxmjoinitems giveall <player>uxmjoinitems.admin.giveallGive a player every join item they may hold.
/uxmjoinitems clear <player>uxmjoinitems.admin.clearTake every join item off a player.
/uxmjoinitems reloaduxmjoinitems.admin.reloadRead the configuration and the content again.
/uxmjoinitems versionuxmjoinitems.admin.versionRead the version this server runs.
/uxmjoinitems doctoruxmjoinitems.admin.doctorSay how this plugin is, in one line per thing that can be wrong.
/uxmjoinitems languxmjoinitems.languageSay what language this player reads, and what else this server has. Players only.
/uxmjoinitems lang set <language>uxmjoinitems.languageRead this plugin in one language, whatever the client is set to. Players only.
/uxmjoinitems lang resetuxmjoinitems.languageFollow the client again, as a player who never chose anything does. Players only.
/uxmjoinitems lang set-player <player> <language>uxmjoinitems.admin.languageSet the language another player reads.
/uxmjoinitems lang reset-player <player>uxmjoinitems.admin.languageClear the language another player chose.

All nodes and their defaults are in reference.md.

Examples

A selector only at spawn. Set regions = ["spawn"] in items/selector.conf.

Hide the hotbar during a parkour run. Set skip-when = ["%uxmparkour_arena%"]: while the placeholder names an arena, the item is not handed out.

Send players to another server. right-click = ["[server] survival"].