Getting Started
##1. Installation
To get started with SulfurLab, install the plugin on your Minecraft server:
- Requirements: a Spigot or Paper server running Minecraft 26.2+ on Java 25. CraftBukkit is not supported.
- No dependencies — SulfurLab works on its own. Sulfur Cubes are a vanilla entity, so nothing else is needed.
Drop the .jar into your server's plugins folder and restart. SulfurLab generates config.yml and messages.yml inside plugins/SulfurLab/, and saves your cubes to sulfurs.json.
Every command lives under /sulfurlab (alias /slab). All of them tab-complete — cube names, the @all selector, flags, block IDs and even value hints, so you rarely have to type a full argument.
##2. Spawn Your First Cube
/sulfurlab new [name] [-b/-f/-a value] [-i block]A cube spawns at your feet. The name is optional — run /sulfurlab new with no name and SulfurLab auto-generates one (sulfur_1, sulfur_2, …). You can also pass physics flags up front:
- -b — bounciness
- -f — friction
- -a — air drag
- -i — the displayed block id
Example: /sulfurlab new bouncy -b 1 -i minecraft:slime_block spawns a cube named bouncy that bounces at the maximum and shows a slime block. A note-block chime and geyser particles play on creation (toggleable in config.yml).
##3. Tune the Physics
Each cube has three physics properties you can change live:
| Property | Default | Min | Max |
|---|---|---|---|
| bounciness | 1.0 |
0.0 |
1.0 |
| friction | 1.0 |
0.0 |
10.0 |
| airdrag | 0.2 |
0.0 |
100.0 |
/sulfurlab set <name> <property> <value>
/sulfurlab unset <name> <property>set changes a property (values outside the range above are rejected — no silent clamping); unset returns it to its default. Example: /sulfurlab set bouncy friction 0.1 makes it slide further, and /sulfurlab unset bouncy friction puts it back to 1.0.
Change the block it shows with:
/sulfurlab block <name> <id>Example: /sulfurlab block bouncy minecraft:gold_block.
##4. Find & Manage Cubes
- List everything —
/sulfurlab listprints every cube with its status, location, physics and block. Click an entry to teleport to it. - Inspect one —
/sulfurlab info <name>shows a single cube's full details. - Travel —
/sulfurlab tp <name>brings you to a cube (falling back to its last known spot if the chunk isn't loaded), and/sulfurlab tphere <name>brings the cube to you. - Spotlight —
/sulfurlab glow <name> [seconds]makes a cube glow (default 30s;0turns it off). - Rename —
/sulfurlab rename <name> <new>. - Remove —
/sulfurlab kill <name>, or/sulfurlab kill @allto clear them all.
Cubes are persisted in sulfurs.json and re-bind to their entity on load. A cube shown as not loaded simply lives in an unloaded chunk — its data is safe and it comes back when the chunk loads.
##5. Reload
/sulfurlab reloadRe-reads config.yml and messages.yml and reloads the cube registry without a restart.
##6. More Resources
- Plugin
- Configuration Files
- API
You're ready to start building cubes with SulfurLab.