# Cave decorators

## Generate decorations in caves

With ItemsAdder you can generate decorations in the world caves to make your server more professional and original.

For example you can make new mushrooms, new little plants, rocks and decorations

![](https://2228257718-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Faipc4QQKwVS0w1Q604ya%2Fuploads%2Fgit-blob-0dd1ac0a08014dd07511f30bd4a2fabf6603081d%2Fimage%20\(81\).png?alt=media)

## Creating a Cave Populator

### Creating the configuration

For example let's create a group of small rocks which will spawn around the world.

```yaml
info:
  namespace: myitems
cave_decorators:
  small_rocks:
    block: small_rocks
    bottom_blocks:
    - DIRT
    - GRASS_BLOCK
    - STONE
    - COBBLESTONE
    - MOSSY_COBBLESTONE
    biomes:
    - PLAINS
    - SUNFLOWER_PLAINS
    - RIVER
    - MOUNTAINS
    - MOUNTAIN_EDGE
    - BIRCH_FOREST
    - BIRCH_FOREST_HILLS
    - TALL_BIRCH_FOREST
    - TALL_BIRCH_HILLS
    worlds:
      - world
    chance: 100
    max_height: 255 
    min_height: 0
    amount: 4
    position: SURFACE
```

As you can see I set some properties:

`block` is the ItemsAdder block to spawn as decoration.

`bottom_blocks` property is used to decide the block types on which the decoration can spawn.

`biomes` property is used to decide the valid biomes in which the decoration can spawn.

`worlds` property decides the worlds in which the decoration can spawn.

`chance` is the change of a decoration to spawn in each chunk of the world.

`max_height` is the max world height where the decoration can spawn.

`min_height` is the min world height where the decoration can spawn.

`amount` is the amount of blocks to spawn in the decorations group, for example you can set 5 to make a group of 5 decorations spawn one attached to the other.

`position` is a property used to specify if the block must be on the cave `SURFACE` or `CEILING`.

## Creating the block

Now you just have to create the block following the tutorial. You can use `REAL_NOTE`, `REAL_WIRE` `REAL_TRANSPARENT` and `REAL` blocks, depends on your needs.

{% content-ref url="block" %}
[block](https://itemsadder.devs.beer/japanese/plugin-usage/adding-content/block)
{% endcontent-ref %}
