-
Notifications
You must be signed in to change notification settings - Fork 3
Creating Starry Dimensions (Starry Skies 3.x)
You are able to create new dimensions using Starry Skies worldgen. For this we will have to:
- create a System Generator
- create 1+ Generation Groups
- create new Spheres
- create the Dimension
A system generator specifies how and which Spheres generate. It also defines the generation of the dimension floor.
Directory: data/<your_pack>/starry_skies/system_generator/
{
"spheres_per_system": 2000, // int; a system is a 50x50 collection of chunks (configurable)
"min_distance_between_spheres": 10, // int
"floor_height": 3, // int
"floor_state": { // block state; if `floor_height>0`, this block will generate up to the floor height - minus the bottommost block which will be `bottom_state`
"Name": "minecraft:water"
},
"bottom_state": { // block state; if `floor_height>0`, this block will generate as the very bottom of the dimension
"Name": "minecraft:bedrock"
},
"fixed_spheres": [
// a list of spheres that should generate by default
// these spheres will always be present at this coordinates
// keep in mind spheres generate in systems of 50x50 chunks and cannot generate across those boundaries
// hence we do not generate a sphere at x:0 z:0, which would be exactly at a border, making the sphere generate incomplete
{
"system_x": 0,
"system_y": 0,
"x": 16,
"y": 70,
"z": 16,
"sphere_id": "starry_skies:spawn/overworld"
}
]
}
A Generation Group is a set of spheres that share the same 'priority' to generate, so to speak. Each time a system (a 50x50 chunk collection of spheres) is generated, each sphere generation attempt will look at the weighted list of Generation Groups in the dimension and then looks 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.
Directory: data/<your_pack>/starry_skies/generation_group/
{
"system_generator": "starry_skies:overworld", // id of a System Generator
"weight": 10 // float
}
See Adding Spheres Your spheres should have a generation entry specifying one of your previously created Generation Groups.
Directory: data/<your_pack>/starry_skies/configured_sphere/
{
"type": "starry_skies:shell",
"config": {
[...]
"generation": {
"group": "starry_skies:overworld/wood", // the id of one of your generation groups
"weight": 1.5 // float; how common your sphere should be. Higher values are picked more frequently
}
}
}
Last but not least your dimension file! Works exactly as creating any other dimension, just using starry_skies:starry_skies
as the chunk generator.
Directory: data/<your_pack>/dimension
(vanilla)
{
"type": "starry_skies:end",
"generator": {
"type": "starry_skies:starry_skies",
"system_generator": "starry_skies:end", // id of your System Generator
"biome_source": { // defines which biomes are used in the dimension
"type": "minecraft:fixed",
"biome": "starry_skies:end"
}
}
}
General
Starry Skies 3.x
- Adding Spheres
- Adding Spheres (Advanced)
- Adding Configured Decorators
- Adjusting Generation Probabilities
- Creating Starry Dimensions
- Making Spheres Locatable
- Advancement Criteria
Starry Skies 2.x