Skip to content

Lobby + staging config

Two records, both bundled into Game:

  • LobbyConfig — the pad-and-lobby description (HubZone backing). Max players, pad block/item, hologram title + type + tagline, accent colour.
  • StagingConfig — overrides for the default staging-box dimensions (platform half-width, ceiling height). Defaults read from ConduitConfig.
  • You’re declaring a Game and need to customise the pad or staging box.
  • You’re inheriting engine defaults but tweaking one or two fields with with* methods.
  • You want a 16×16 pre-game arena instead of the default 8×8.
package me.zlex.conduit.game;
public record LobbyConfig(
int maxPlayers,
@Nullable ItemLike pad,
String lobbyTitle,
@Nullable String lobbyType,
List<String> lobbyTagline,
int padAccentArgb) {
public static LobbyConfig defaults(String title);
public LobbyConfig withMaxPlayers(int n);
public LobbyConfig withPad(@Nullable ItemLike p);
public LobbyConfig withType(@Nullable String t);
public LobbyConfig withTagline(List<String> ts);
public LobbyConfig withAccent(int argb);
}
public record StagingConfig(int platformHalf, int ceilingHeight) {
public static StagingConfig defaults(); // pulls from ConduitConfig
}
import me.zlex.conduit.game.Game;
import me.zlex.conduit.game.LobbyConfig;
import me.zlex.conduit.game.StagingConfig;
import net.minecraft.world.item.Items;
import java.util.List;
public final class MyConfig {
public static Game myGame() {
return Game.builder("my-game", "My Game")
.lobby(LobbyConfig.defaults("MY GAME")
.withMaxPlayers(6)
.withPad(Items.STONE)
.withType("Co-op")
.withTagline(List.of(
"Reach the goal together.",
"Don't fall."))
.withAccent(0xFFAA88FF))
.staging(new StagingConfig(/* half */ 16, /* height */ 8))
.build();
}
}
  • LobbyConfig.defaults(title) ships with 8 max players, paper pad, no type, no tagline, white accent — replace what you care about with with*.
  • StagingConfig.defaults() reads ConduitConfig.defaultStagingHalf() and defaultStagingHeight() so server ops can tune the engine-wide default without touching mod code.
  • padAccentArgb doubles as the colour of the pad’s particle ring and the status-line text.