Skip to content

/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 entry
  • 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 list is 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.

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 ModInitializerConduitCommand deliberately doesn’t try to own that surface.

  • register() is called by the engine’s ModInitializer. 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.