scrow-monorepo/buildserver/configurator/README.md
2026-08-10 00:31:28 +02:00

986 B

configurator

helper for generating json configs interactively. Plugins that hook into this plugin can register configuration nodes like "lobby.spawnpoint" with type Location. server operators can then go ingame and do /cfg key lobby.spawnpoint to set a spawn location and then /cfg export ig

TODO

  • lists
  • exporting
  • proper namespaces
  • split into api and impl
  • more types(region pickers especially; also itemstacks)
  • type variants like location without yaw/pitch

design

in json we have primitives(like "hi", 1, false"), structures(like {"foo":"bar}) and lists(like []). everything consists of primitives eventually so we can go from

{
  "arenas": [
    {
      "name": "skyfall",
      "minPlayers": 3,
      "maxPlayers": 8
    }
  ]
}

to

arenas.0.name = Primitive("skyfall")
arenas.0.minPlayers = Primitive(3)
arenas.0.maxPlayers = Primitive(8)

We can define a complex type as "type has a string field called name" and it will just use