Configuration overview
One folder, one file per feature. Toggle anything in settings.yml; tune the deep behaviour in its own YAML. The whole tree is meant to be readable, not magic.
Folder layout
text
plugins/StarChat/
├─ settings.yml ← global toggles + license
├─ language.yml ← every user-facing string
├─ formatting/
│ ├─ formats.yml ← rank → format mapping (LuckPerms aware)
│ └─ format-components.yml ← actual chat layout (prefix, hover, click)
├─ filter/
│ ├─ chat-filter.yml ← thresholds + escalation
│ ├─ filter-rules.yml ← bad-word lists, categories, point values
│ └─ filter-whitelist.yml ← allowed words inside otherwise-blocked patterns
├─ announcer/
│ └─ announcements.yml ← rotating broadcasts
├─ chat-color.yml ← /chatcolor GUI definitions
├─ chat-log.yml ← log file flush + retention
├─ death-messages.yml ← per-cause death message templates
├─ join-leave.yml ← join, quit, first-join, MOTD
├─ minigames.yml ← trivia / math / unscramble / type-race
├─ placeholders.yml ← server-wide phrase replacements
├─ renders-gui.yml ← /chatcolor GUI item layout
├─ staffchat.yml ← /staffchat channels and formats
└─ logs/ ← rotating chat log files (when enabled)The hierarchy that matters
settings.ymlis the on/off switch panel. It decides which features even load — disabling a feature here means its YAML isn't parsed and its listeners aren't registered.
settings.yml (excerpt)
Features:
staffchat:
enabled: true
mentions:
enabled: true
chat-filter:
enabled: true
minigames:
enabled: false
announcements:
enabled: true
chat-color:
enabled: true
chat-log:
enabled: false
death-messages:
enabled: true
join-leave:
enabled: trueReload behaviour
/starchat reload picks up changes to every YAML except the license key. Adding or removing modules requires a full restart so the listener registration is clean.
text
✔ Reloads instantly formats.yml, format-components.yml,
chat-filter.yml, announcements.yml,
minigames.yml, death-messages.yml,
join-leave.yml, placeholders.yml
✔ Reloads instantly chat-color.yml, staffchat.yml
✘ Requires restart license-key (settings.yml)
✘ Requires restart any feature toggle in settings.ymlComments are content
Every shipped YAML is heavily commented — what each key does, what its valid range is, an inline example for non-obvious patterns. You can edit these files in any text editor, but for syntax-coloured help we recommend VS Code with the YAML extension.
Where to go next
- Chat formats — the deepest feature, start here.
- Filter rules — tune the default escalation.
- Commands & permissions — every command, every node.
- Nebula AI— paste your config and ask "what does this do?".