Skip to main content
Every player-facing string in PerPlayerKit — from the join MOTD to the per-action broadcast that fires when someone loads a kit — uses MiniMessage formatting. MiniMessage replaces legacy § color codes with readable XML-style tags, giving you precise control over colors, gradients, and text decorations without any external tools. Edit config.yml to change the wording, colors, and which audience sees each message.

MiniMessage Quick Reference

MiniMessage tags wrap the text they affect and close with a matching slash tag. You can nest and combine them freely.
TagEffectExample
<red></red>Named color<red>Warning!</red>
<aqua>, <green>, <gray>, <gold>, <white>Named colors<gold>Gold text</gold>
<color:#RRGGBB>Exact RGB color<color:#FF6B35>Custom orange</color:#FF6B35>
<b>Bold<b>Important</b>
<i>Italic<i>Hint</i>
<u>Underline<u>/kit</u>
<st>Strikethrough<st>Removed</st>
<reset>Clear all formatting<reset>Plain text
Combined example:
<gray>%player% <aqua><b>loaded</b></aqua> a kit</gray>
For the complete MiniMessage specification, visit the PaperMC Adventure documentation.

Message of the Day (MOTD)

The MOTD displays a multi-line welcome message to players after they join. The delay field controls how many seconds the plugin waits before sending it, which prevents the message from being buried under server join noise.
config.yml
motd:
  enabled: true
  delay: 5
  message:
    - ""
    - "<gray>   <st>                </st> <aqua><b>Per Player Kits</b></aqua><gray> <st>                </st>"
    - ""
    - "         <white>Type <aqua>/kit<white>, <aqua>/k <white>or <aqua>/pk<white> to get started!"
    - ""
FieldTypeDescription
enabledbooleanSet to false to completely disable the MOTD.
delayintegerSeconds after joining before the message is delivered. 5 gives the player time to finish loading into the world.
messagelistEach list entry is one chat line. Use "" for blank spacer lines. All MiniMessage tags are supported.

Scheduled Broadcast

The scheduled broadcast periodically sends a message to all online players. Use it to remind players about kit commands, announce events, or display server rules.
config.yml
scheduled-broadcast:
  enabled: true
  period: 90
  messages:
    - "Example message"
FieldTypeDescription
enabledbooleanSet to false to stop all scheduled broadcasts.
periodintegerInterval in seconds between broadcasts.
messageslistOne or more message strings in MiniMessage format. All entries broadcast simultaneously each cycle.

Per-Action Messages

PerPlayerKit broadcasts a configurable message to the server each time a player performs a kit-related action. Every action has its own block so you can enable, word, and permission-gate each one independently.
config.yml
messages:
  disable-kit-messages: false
  player-repaired:
    enabled: true
    message: "<gray>%player% repaired their gear</gray>"
    permission: "perplayerkit.kitnotify"
  player-healed:
    enabled: true
    message: "<gray>%player% healed themselves</gray>"
    permission: "perplayerkit.kitnotify"
  player-opened-kit-room:
    enabled: true
    message: "<gray>%player% opened the Kit Room</gray>"
    permission: "perplayerkit.kitnotify"
  player-loaded-private-kit:
    enabled: true
    message: "<gray>%player% loaded a kit</gray>"
    permission: "perplayerkit.kitnotify"
  player-loaded-public-kit:
    enabled: true
    message: "<gray>%player% loaded a public kit</gray>"
    permission: "perplayerkit.kitnotify"
  player-loaded-enderchest:
    enabled: true
    message: "<gray>%player% loaded an ender chest.</gray>"
    permission: "perplayerkit.kitnotify"
  player-copied-kit:
    enabled: true
    message: "<gray>%player% copied a kit</gray>"
    permission: "perplayerkit.kitnotify"
  player-copied-ec:
    enabled: true
    message: "<gray>%player% copied an ender chest</gray>"
    permission: "perplayerkit.kitnotify"
  player-regeared:
    enabled: true
    message: "<gray>%player% regeared</gray>"
    permission: "perplayerkit.kitnotify"

Fields

disable-kit-messages
boolean
default:"false"
Global off switch. Set to true to silence every action broadcast regardless of individual enabled values, the broadcast-kit-messages feature flag, or player permissions. Use this when you want zero chat noise from the plugin without editing each message block.
[action].enabled
boolean
default:"true"
Controls whether this specific message type is broadcast. Set to false to suppress only this action while leaving all others active.
[action].message
string
The broadcast text in MiniMessage format. The %player% placeholder is replaced with the acting player’s name at runtime. If use-display-name is enabled in your server config, the player’s display name is used instead.
[action].permission
string
default:"perplayerkit.kitnotify"
Only players who hold this permission will see the broadcast. The default node perplayerkit.kitnotify is granted to all players by default, so every online player sees messages unless you explicitly deny the node or change it to a restricted permission.

Available Action Keys

KeyFires when…
player-repairedA player uses the repair command or GUI button.
player-healedA player uses the heal command.
player-opened-kit-roomA player opens the Kit Room GUI.
player-loaded-private-kitA player loads one of their own personal kits.
player-loaded-public-kitA player loads a public/shared kit.
player-loaded-enderchestA player loads their saved enderchest.
player-copied-kitA player copies another player’s kit.
player-copied-ecA player copies another player’s enderchest.
player-regearedA player uses /regear or /rg.

Sounds

PerPlayerKit plays sounds to give players tactile feedback for GUI interactions and command results. All sound values must be valid Bukkit Sound enum names.
config.yml
sounds:
  enabled: true
  success: ENTITY_PLAYER_LEVELUP
  failure: ENTITY_ITEM_BREAK
  click: UI_BUTTON_CLICK
  open_gui: UI_BUTTON_CLICK
  close_gui: UI_BUTTON_CLICK
FieldDefaultDescription
enabledtrueSet to false to disable all plugin sounds globally.
successENTITY_PLAYER_LEVELUPPlays on successful actions such as saving or loading a kit.
failureENTITY_ITEM_BREAKPlays when an action fails, such as trying to use a command in a disabled world.
clickUI_BUTTON_CLICKPlays when a player clicks a button inside a GUI.
open_guiUI_BUTTON_CLICKPlays when a GUI screen opens.
close_guiUI_BUTTON_CLICKPlays when a GUI screen closes.