Skip to content

Space Config

MrAlxart edited this page Sep 2, 2026 · 5 revisions

The space system configuration file is located at config/exolith/systems.json. It allows you to customize existing star systems, adjust stellar colors, change loot tables, modify hazards, and add custom planets.

Important: The config is created after joining the world. If the config is missing, use the /exolith config reload command.

System & Star Parameters

  • id (Integer): Unique numeric identifier of the star system (0 = Home System, 1 = Helios, etc.).
  • x, y (Float): Coordinates of the star on the 2D Telescope Map.
  • isBinary (Boolean): Set to true if the system features binary revolving stars (e.g. System 5).
  • sunRadius (Integer): Visual radius/size of the central star in the telescope GUI.
  • sunColor (String): Hexadecimal color code ("RRGGBB" format).
  • starThreats (Array of Strings): Environmental hazards applied to probes entering the star's atmospheric:
    • "HEAT": Requires Thermal Shield.
    • "RADIATION": Requires Radiation Shield.
    • "PRESSURE": Requires Reinforsed Hull.
    • "NO_SUNLIGHT": Disables solar panels (WIP).
  • asteroidBelts (Array of Integer): Asteroids in orbit (Just a visual). Values ​​like the values ​​of orbitRadiusX.
  [
   {
      "id": "5_a",
      "translationKey": "space.exolith.planet.22",
      "type": "ICE",
      "orbitRadiusX": 430.0  <--
   }
  ],
  "asteroidBelts": [
      430.0, <--
      244.0
  ]

Star Loot

Defines resources extracted directly from the Star using a probe equipped with a Gas Scoop (tool: "SCOOP").

{
  "item": "exolith:spectral_dust",
  "tool": "SCOOP",
  "min": 2,
  "max": 4
}
  • item (String): Registry ID of the item (e.g. exolith:spectral_dust or minecraft:magma_block).
  • tool (String): Required tool module ("SCOOP" for stars or "DRILL" for planets).
  • min, max (Integer): Minimum and maximum drop count per successful mission.

Planet Parameters

Each entry in the planets array defines a celestial body orbiting the star:

{
          "id": "30",
          "translationKey": "space.exolith.planet.30.a",
          "type": "TOXIC",
          "orbitRadiusX": 215,
          "orbitRadiusY": 75,
          "orbitSpeed": 0.0004,
          "size": 46,
          "threats": [
            "RADIATION"
          ],
          "loot": [
            {
              "item": "exolith:raw_anti_gravel",
              "tool": "SURFACE",
              "min": 2,
              "max": 9
            }
          ],
          "moons": [
            {
              "distance": 46.0,
              "speed": 0.025,
              "angle": 45.0,
              "size": 3,
              "color": "D8D8D8"
            }
          ]
        }
  • id (String): Unique sub-ID of the planet within the system.
  • translationKey (String): Localization key defined in lang/en_us.json for the planet's display name.
  • type (String): Planetary visual archetype ("TERRAN", "DESERT", "MOLTEN", "ICE", "GAS_GIANT", "TOXIC").
  • orbitRadiusX / orbitRadiusY (Integer): Semi-major and semi-minor axes of the elliptical orbit on the telescope screen.
  • orbitSpeed (Float): Orbital speed factor (determines real-time movement along the orbit).
  • size (Integer): Visual diameter/size of the planet sprite on the celestial map (in pixels).
  • threats (Array of Strings): Environmental hazards applied to probes entering the planet's atmospheric:
    • "HEAT": Requires Thermal Shield.
    • "RADIATION": Requires Radiation Shield.
    • "PRESSURE": Requires Reinforsed Hull.
    • "NO_SUNLIGHT": Disables solar panels (WIP).

Planet Loot

Defines resources extracted directly from the Planet. If the probe does not have the "DRILL" tool, it will bring back less loot.

  {
    "item": "minecraft:raw_iron",
    "tool": "SURFACE",
    "min": 4,
    "max": 8
  }
  • item (String): Registry ID of the item (e.g. exolith:spectral_dust).
  • `tool (String): Required extraction module:
    • "SURFACE": Loose surface debris (collected with or without a Mining Drill module).
    • "DRILL": Deep-core ore vein (requires Mining Drill).
    • "SCOOP": Atmospheric plasma (requires Plasma Scoop).
  • min, max (Integer): Minimum and maximum drop count per successful mission.

Moons

Planets can have multiple orbiting natural moons rendered on the telescope map:

  • distance (Float): Orbital distance from the center of the parent planet.
  • speed (Float): Rotation speed around the parent planet.
  • angle (Float): Initial angular starting position in degrees (0.0 to 360.0).
  • size (Integer): Pixel diameter of the moon dot.
  • color (String): Hexadecimal color code ("RRGGBB" format).

Here is an example of a star system from the config:

 {
      "id": 4,
      "x": -3500.0,
      "y": -1200.0,
      "isBinary": false,
      "sunRadius": 22,
      "sunColor": "D91AFF",
      "starThreats": [
        "HEAT",
        "RADIATION"
      ],
      "starLoot": [
        {
          "item": "exolith:spectral_dust",
          "tool": "SCOOP",
          "min": 2,
          "max": 4
        },
        {
          "item": "minecraft:magma_block",
          "tool": "SCOOP",
          "min": 3,
          "max": 5
        }
      ],
      "planets": [
        {
          "id": "20",
          "translationKey": "space.exolith.planet.20.a",
          "type": "TOXIC",
          "orbitRadiusX": 215.0,
          "orbitRadiusY": 75.25,
          "orbitSpeed": 0.0003,
          "size": 46,
          "threats": [
            "RADIATION"
          ],
          "loot": [
            {
              "item": "exolith:raw_anti_gravel",
              "tool": "SURFACE",
              "min": 2,
              "max": 9
            },
            {
              "item": "minecraft:ender_pearl",
              "tool": "SURFACE",
              "min": 3,
              "max": 6
            }
          ],
          "moons": [
            {
              "distance": 46.0,
              "speed": 0.025,
              "angle": 45.0,
              "size": 3,
              "color": "D8D8D8"
            }
          ]
        }
      ],
      "asteroidBelts": [
         340.0
      ]
    }

Clone this wiki locally