GUI Editor
Last updated Jul 6, 2026
GUI Editor
Staff can create and edit traits in-game without editing YAML by hand. The editor writes directly to traits.yml with backup protection.
Requirements
All of the following must be true:
- SoapsCommon suite GUI enabled:
gui:
enabled: true
- SoapsTraits GUI enabled:
settings:
gui-enabled: true
- Permission
soapstraits.user.gui(default: op)
Opening the editor
/sts gui
If the GUI is disabled, the player sees a "GUI disabled" message.
Editor flow
Trait list
- Shows all loaded traits, sorted alphabetically, paginated.
- Click a trait to open the trait editor.
- Create (emerald) starts a new trait with a generated unique name.
Trait editor
From here you can:
- Rename the trait (validated: 3-32 chars,
a-z,0-9,_,-) - Set or clear the MMOCore
classbinding - Open the stats editor to add or change base stats
- Open the effects list to add, edit, or remove effects
- Save, discard, or delete the trait
Saving updates traits.yml immediately and reapplies traits for online players. A backup copy is written to traits.yml.bak before each save.
Effect editor
Per effect you can configure:
- Trigger - pick from all nine trigger types
- Cooldown - in ticks
- Conditions - add, edit, or remove condition entries
- Actions - add, edit, or remove action entries
The GUI exposes the same condition and action types documented in Conditions and Actions.
Chat input
Some fields prompt for text in chat (rename, numeric values, messages). Type your value in chat or cancel through the GUI controls. Chat input is cancelled automatically on quit.
Undo and redo
The editor keeps undo/redo stacks while you have a session open. Closing the GUI or quitting clears your session state.
Click debounce
settings:
gui-click-debounce-ms: 150
Prevents accidental double-clicks from firing duplicate edits.
Permissions
| Permission | Default | Access |
|---|---|---|
soapstraits.user.gui |
op | Open and use the editor |
Players without this permission cannot open /sts gui even if they have other soapstraits.user.* nodes.
When to use YAML instead
- Bulk edits across many traits
- Copy-paste from external sources
- Version control and review in Git
You can mix both workflows: edit in GUI, then fine-tune in YAML and /sts reload.