Migration guide
Coming from another chat plugin? Most of your config translates verbatim. The main work is mapping ranks to format keys; everything else is a copy-paste with light syntax cleanup.
From DeluxeChat
DeluxeChat's formats are a flat list of strings per group. To translate:
- Stop the server, back up your YAML.
- Drop StarChat in alongside DeluxeChat (don't remove yet).
- Open StarChat's
formatting/formats.yml. - For every group key in DeluxeChat's
formats.yml, create a matching entry pointing to a new format component. - Move the format string into
formatting/format-components.ymlas themessagefield. - Restart, verify formats, then remove DeluxeChat.
Translation example
DeluxeChat formats.yml
formats:
vip:
priority: 5
format: '&7[%luckperms_prefix% &7] %player_name% &8» &f%message%'StarChat formats.yml
formats:
vip:
group: vip
weight: 5
chat-format: vip_formatStarChat format-components.yml
components:
vip_format:
'1':
message: '&7[%luckperms_prefix% &7] %player_name% &8» '
'2':
message: '&f{message}'From VentureChat
VentureChat's strength is per-channel routing. StarChat approaches this differently — public chat is one channel; staff chat is its own subsystem. If you used VentureChat's general/help/local channel split:
- Local — not directly supported. Use a Discord channel or the prefix-based StaffChat.
- Help — replicate with
/staffchat helper. - General— that's just default chat.
From EssentialsChat
Essentials uses a single format: string in config.yml. Drop it as default_format unchanged — Essentials syntax is a subset of StarChat's.
yaml
# Essentials config.yml
chat:
format: '<{DISPLAYNAME}> {MESSAGE}'
# StarChat format-components.yml
default_format:
'1':
message: '<%player_displayname%> '
'2':
message: '{message}'Migration checklist
- Backup the old plugin's YAML.
- Install StarChat, paste license, leave default formats.
- Verify default chat works.
- Translate one rank at a time, reload, test in-game.
- When all ranks pass, remove the old plugin.
- Final restart, verify cleanly.