UI Customization
KaLogin login, registration, password change, and welcome terms screens can be edited with YAML files.
File location#
plugins/KaLogin/ui/
| File | Use |
|---|---|
login.yml |
Login screen |
register.yml |
Registration screen |
change-password.yml |
Password change screen |
welcome.yml |
Welcome and terms screen |
These files are generated on first startup. After editing them, run /kl reload.
Body content#
Each UI file has a Body section. You can add text and item displays.
Text#
Body:
welcome:
type: 'message'
text: '<gradient:gold:yellow>Welcome back!<reset>'
width: 300
| Property | Description |
|---|---|
type |
Use message |
text |
Text shown to the player |
width |
Optional text width |
Item#
Body:
icon:
type: 'item'
material: 'apple'
name: '&aServer Icon'
lore:
- '&7Welcome to the server'
description: '&7Follow the prompts to continue'
description_width: 300
item_model: ''
custom_model_data: 1001
| Property | Description |
|---|---|
type |
Use item |
material |
Item ID, such as apple or diamond |
name |
Item display name |
lore |
Item lore |
description |
Extra text below the item, as text or list |
description_width |
Optional description width |
item_model |
Custom item model, format namespace:path |
custom_model_data |
Legacy CustomModelData number |
Text format#
Legacy color codes are supported:
text: '&aWelcome back, &fplease enter your password'
MiniMessage is also supported:
text: '<green>Welcome back</green>'
Clickable text#
You can add clickable links or commands inside text:
text: '&7Click <text=&b[Website];hover=&7Open website;url=https://example.com> to view rules'
text: '&7Click <text=&a[Bind Email];hover=&7Open email binding;command=/bindemail>'
| Parameter | Description |
|---|---|
text |
Visible text |
hover |
Hover text |
url |
Open a URL |
command |
Run a command |
Use either url or command in most cases.
Input appearance#
Inputs are not configured in UI files. They are configured in config.yml under inputs.
inputs:
login:
login_password:
width: 200
height: 17
labelVisible: true
initial: ''
See Configuration.