/conduit command
ConduitCommand registers the engine’s command tree. Players who don’t have an engine-aware client (no in-world UI) can still drive the core flows via chat. Game-specific subcommands stay in the game’s own mod — this tree owns only the cross-cutting engine ones.
/conduit list — show every registered game/conduit hub — teleport caller to the hub/conduit join <game-id> — convenience for walk-in entryWhen to use it
Section titled “When to use it”- You’re running a server with mixed engine-mod and vanilla clients and want a chat fallback.
- You’re scripting against the server (an admin tool, a discord bridge) and want a stable command surface.
- You’re debugging —
/conduit listis the quickest way to see what registered.
package me.zlex.conduit.game;
public final class ConduitCommand { public static void register(); // called by the engine ModInitializer}The join subcommand auto-suggests every id from GameRegistry, so as soon as a mod registers a new game, the suggestions list updates.
Example
Section titled “Example”Typical session:
> /conduit list[conduit] 3 game(s): sprint-race — Sprint Race arena-duel — Arena Duel party-tag — Party Tag
> /conduit join sprint-race(teleports caller to the sprint-race hub pad)
> /conduit hub(teleports caller to the hub spawn point)To add your own game-specific commands, register them in your own mod’s ModInitializer — ConduitCommand deliberately doesn’t try to own that surface.
register()is called by the engine’sModInitializer. Don’t call it from your mod.- The vanilla-client fallback is the whole point — don’t gate the command behind a permission unless you also want to lock out vanilla clients.
- Game-specific subcommands (
/conduit mygame start) are explicitly out of scope. Use your own command tree (/mygame start) instead.