config.yml
##Introduction
The config.yml file holds SulfurLab's global settings: the create effects (sound and particles) and the Modrinth update checker.
Cubes themselves are not stored here — they live in a separate sulfurs.json file managed by the in-game commands. See Cube storage below.
##Breakdown of the config.yml file
# SulfurLab configuration.
#
# Sulfur Cubes are persisted in sulfurs.json (generated in this folder at
# runtime). Edit cubes in-game with /sulfurlab rather than by hand.
# Audio/visual feedback played when a cube is created.
effects:
sounds: true
particles: true
# Modrinth update checker (runs once on startup, async).
update-checker:
enabled: true
notify-ops: true##Explanation
###effects
Feedback played at the cube's location when it's created with /sulfurlab new.
- sounds — when
true, plays a note-block "pling" chime on creation. - particles — when
true, spawns a burst of geyser particles on creation.
Set either to false to silence that part of the effect.
###update-checker
- enabled — when
true, SulfurLab checks Modrinth on startup (once, asynchronously) for a newer version. - notify-ops — when
true, OPs are told an update is available as they join.
Run /sulfurlab reload after editing to apply your changes without restarting the server.
##Cube storage (sulfurs.json)
Cubes are persisted in plugins/SulfurLab/sulfurs.json. You normally manage them through commands (/sulfurlab new, set, block, …), but here's the structure for reference:
{
"bouncy": {
"bounciness": 1.0,
"friction": 0.1,
"airDrag": 0.2,
"blockId": "minecraft:slime_block",
"world": "world",
"x": 128.5,
"y": 70.0,
"z": -42.5,
"uuid": "f7c8b3a0-1234-4abc-9def-0123456789ab"
}
}- The top-level key (
bouncy) is the cube name — used in commands and tab-completion. - bounciness / friction / airDrag — the cube's physics. Edited with
/sulfurlab set/unset. - blockId — the block the cube displays. Edited with
/sulfurlab block. - world / x / y / z — the cube's last known location, used by
/sulfurlab tpwhen the entity isn't loaded. - uuid — the entity SulfurLab re-binds to on load.
Edit sulfurs.json only while the server is stopped — runtime changes are written by the commands and a manual edit could be overwritten. Prefer the in-game commands.