Skip to content

Adjusting Generation Probabilities (Starry Skies 3.x)

DaFuqs edited this page Jan 10, 2025 · 1 revision

About Starry Worldgen

General Terms

  • System Generator: specifies how and which Spheres generate
  • Generation Group: A Generation Group is a set of spheres that share the same 'priority' to generate.

How Sphere generation works

Sphere generation in Starry Skies is split into two steps. Each time a system (a 16x16 chunk collection of spheres) is generated, each sphere generation attempt will:

  1. look at the weighted list of Generation Groups in the dimension
  2. and then look at the weighted list of Spheres in that Generation Group

That makes sure that even if there are 1000 entries in a Generation Group called ores and only 2 entries in a Generation Group called wood, you can still be sure wood and ore spheres generate in the ratio of your choice.

Adjusting Generation Probabilities

Depending on what you want to do you can either

  • tweak the weight of a single Sphere (makes only that type of sphere rarer / more frequent)
  • tweak the weight of a generation group (makes all spheres in that group rarer / more frequent)

Tweaking Generation Groups

Using a data pack, override the weight value of a pre-existing generation group.

Directory: data/<your_pack>/starry_skies/generation_groups/

{
  "system_generator": "starry_skies:overworld", // id of a System Generator
  "weight": 10 // float
}

Tweaking a single Sphere

Using a data pack, override the weight value in the generation bit of that sphere.

Directory: data/<your_pack>/starry_skies/configured_sphere/

{
  [...]
  "config": {
    [...]
    "generation": {
      "group": "starry_skies:overworld/wood",
      "weight": 1.5 // float; how common your sphere should be. Higher values are picked more frequently
    }
  }
}