Skip to content

Adding Decorators (Starry Skies 3.x)

DaFuqs edited this page Jan 11, 2025 · 1 revision

Sphere decorators work very much like vanillas worldgen decorators: They get called after a sphere has been generated to add some detail to it. Decorators can be plants that get placed on top of spheres, water or lava ponds that get created, chests with loot getting placed and much more. If you are accustomed to vanilla decorators, you will feel right at home.

Using a variety of presets, you can create your own configured decorators and add them to spheres. Starry comes with a nice range of decorators.

Let's take a look at one of the finished ones, namely starry_skies:ferns:

{
  "type": "starry_skies:single_block",
  "config": {
    "block": {
      "Name": "minecraft:fern"
    },
    "chance": 0.1
  }
}

Much like sphere definitions, these decorator files consist of a type and config. The type defines how stuff should be placed on a sphere, while config gives this decorator the required information, in this case what block should be placed (ferns) and how often (in 10 % of possible places).

Decorators

Decorators define what blocks should be placed on a sphere and how. If you are a modder integrating into Starry you can also create completely new ones.

Here are the ones you will most often be tinkering with:

starry_skies:single_block

Places single blocks on top of the sphere

  • block (BlockState): block getting placed
  • chance (float): chance from 0.0 - 1.0 for the block to get placed on each valid position

starry_skies:double_block

Places blocks that have a top and bottom state (like tall plants) on top of the sphere

  • block (BlockState): block getting placed`
  • chance (float): chance from 0.0 - 1.0 for the block to get placed on each valid position

starry_skies:stacked_block

Places a tower consisting of a block on top of the sphere, like a stack of cactus

  • block (BlockState): block getting placed
  • chance (float): chance from 0.0 - 1.0 for the block to get placed on each valid position
  • min_height (int): the min height of the stack
  • max_height (int): the max height of the stack

starry_skies:ground_block

Replaces some of the top blocks of the sphere

  • block (BlockState): block getting placed
  • chance (float): chance from 0.0 - 1.0 for the block to get placed on each valid position

starry_skies:hanging_block

Places single blocks on the bottom of the sphere

  • block (BlockState): block getting placed
  • chance (float): chance from 0.0 - 1.0 for the block to get placed on each valid position

starry_skies:hanging_cave_block

Places single blocks on the inside top of the sphere's inside cave. Used for sphere types that have air in them, like dungeon or cave.

  • block (BlockState): block getting placed
  • chance (float): chance from 0.0 - 1.0 for the block to get placed on each valid position

starry_skies:x_spot

Places a loot chest in the middle of the sphere and places 1-3 "X" shapes on sides of the sphere, consisting out of the marking block.

  • loot_table (Loot Table ID): the loot table used for the center chest
  • marking_block (BlockState): The block used for the X markings

starry_skies:center_pond

Replaces a few blocks at the top of the sphere with air and creates an even pool that is filled with a fluid and given chance to create a treasure chest within

  • beach_block (BlockState): the block used around the pool as "shoreline"
  • fluid_block (BlockState): the fluid used for the pool
  • loot_table (Loot Table ID): the loot table used for the chest in the pond
  • loot_table_chance (float): chance from 0.0 - 1.0 for the pond to have a loot chest