Skip to content

Configured Feature Types

Apollo edited this page Nov 22, 2024 · 4 revisions

New Features

Expanded Vanilla Features


composite

The composite feature type allows stacking multiple placed feature in one location.

{
  "type": "lithostitched:composite",
  "config": {
    "features": [
      "example:cherry_tree",
      "example:pink_petals"
    ],
    "placement_type": "cancel_on_failure"
  }
}
  • features: A list of placed features or a tag of placed features to place in order.
  • placement_type: The placement type to use. Defaults to never_cancel. Available options:
    • never_cancel: All features will attempt to place.
    • cancel_on_failure: If a feature fails to place, subsequent features will not be placed.
    • cancel_on_success: If a feature succeeds to place, subsequent features will not be placed.

select

The select feature type chooses a feature to place from a list based on block predicates.

{
  "type": "lithostitched:select",
  "config": {
    "features": [
      {
        "predicate": {
          "type": "minecraft:matching_blocks",
          "blocks": "minecraft:sand"
        },
        "feature": "example:dead_tree"
      },
      {
        "predicate": {
          "type": "minecraft:matching_blocks",
          "blocks": "minecraft:grass_block"
        },
        "feature": "example:tree"
      }
    ]
  }
}
  • features: A list of block predicates and their corresponding placed features. Each object has two fields:
    • predicate: A block predicate to test for.
    • feature: The placed feature to place if the block predicate passes.

structure_template

The structure_template feature type allows you to place a structure .nbt file in the world.

{
  "type": "lithostitched:structure_template",
  "config": {
    "template": "example:shrine",
    "processors": "minecraft:empty",
    "rotation": "clockwise_90",
    "liquid_settings": "ignore_waterlogging", <- 1.21 only
    "start_jigsaw_name": "minecraft:anchor"
  }
}
  • template: The structure template nbt to place.
  • processors: The processors to apply to the structure template. Either a reference to a processor list file or an inlined object.
  • rotation: The rotation for the template to be placed relative to its rotation when saved. Either none, clockwise_90, 180, or counterclockwise_90. If left empty, a random rotation will be applied.
  • liquid_settings: The liquid settings for the template. Either ignore_waterlogging or apply_waterlogging. Defaults to apply_waterlogging.
  • start_jigsaw_name: If set, the jigsaw block in the structure with this name will be where the template is placed relative to.

dungeon

The dungeon feature type is a more configurable version of the minecraft:monster_room feature type.

{
  "type": "lithostitched:dungeon",
  "config": {
    "min_openings": 0,
    "max_openings": 8,
    "radius": {
      "type": "minecraft:uniform",
      "min_inclusive": 2,
      "max_inclusive": 4
    },
    "max_chests": 3,
    "spawner_entity": [
      {
        "data": "minecraft:creeper",
        "weight": 3
      },
      {
        "data": "minecraft:cave_spider",
        "weight": 1
      }
    ],
    "floor_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:mossy_cobblestone"
      }
    },
    "wall_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:cobblestone"
      }
    },
    "dungeon_invalid_blocks": "#minecraft:features_cannot_replace",
    "loot_table": "minecraft:chests/abandoned_mineshaft"
  }
}
  • min_openings: The minimum number of openings in the walls of the dungeon. Defaults to 1.
  • max_openings: The maximum number of openings in the walls of the dungeon. Defaults to 5.
  • radius: The radius of the interior on each axis. Defaults to a uniform int provider between 2 and 3.
  • max_chests: The maximum number of chest placements. Defaults to 2.
  • spawner_entity: A weighted list of entities that can be in the spawner. Defaults to the vanilla spawner mob chances (50% zombie, 25% skeleton, 25% spider)
  • floor_provider: The block state provider for the floor of the dungeon. Defaults to the vanilla dungeon floor (75% mossy cobblestone, 25% cobblestone)
  • wall_provider: The block state provider for the walls of the dungeon. Defaults to just cobblestone.
  • dungeon_invalid_blocks: The block tag for the blocks that the dungeon cannot override. Defaults to #minecraft:features_cannot_replace.
  • loot_table: The loot table for the chests to use. Defaults to minecraft:chests/simple_dungeon.

large_dripstone

The large_dripstone feature type is a more configurable version of the minecraft:large_dripstone feature type.

{
  "type": "lithostitched:large_dripstone",
  "config": {
    "state_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:packed_ice"
      }
    },
    "replaceable_blocks": "#minecraft:dripstone_replaceable_blocks",
    "floor_to_ceiling_search_range": 30,
    ...
  }
}
  • state_provider: The block state provider to use.
  • replaceable_blocks: The blocks that can be replaced by the blocks in the state_provider.

All other fields are identical to vanilla's. See details here.


ore

The ore feature type is a more flexible version of the minecraft:ore feature type.

{
  "type": "lithostitched:ore",
  "config": {
    "size": 100,
    "targets": [
      {
        "predicate": {
          "type": "minecraft:matching_blocks",
          "blocks": "minecraft:granite"
        },
        "state_provider": {
          "type": "minecraft:simple_state_provider",
          "state": {
            "Name": "example:granite_copper_ore"
          }
        }
      }
    ]
  }
}
  • size: The size of the ore blob. Doesn't directly translate into number of blocks placed. Integer between 1 and 128.
  • targets: A list of predicates and their corresponding state providers.
    • predicate: The block predicate to check against. Using predicates, you can do thinks like only placing an ore if it is exposed to air and vice versa.
    • state_provider: The block state provider to use if the predicate passes.

vines

The vines feature type is an expanded version of the minecraft:vines feature type.

{
  "type": "lithostitched:vines",
  "config": {
    "state": [
      {
        "data": "minecraft:vine",
        "weight": 1
      },
      {
        "data": "example:flowering_vine",
        "weight": 1
      }
    ],
    "can_place_on": "#minecraft:logs",
    "max_length": {
      "type": "minecraft:uniform",
      "min_inclusive": 2,
      "max_inclusive": 3
    }
  }
}
  • state: Either a single block or a weighted list of blocks to use. All blocks here MUST be vine blocks! Defaults to the vanilla vine block.
  • can_place_on: A block, list of blocks, or block tag for the blocks the vines can start growing from. If empty, any blocks are allowed.
  • max_length: An int provider for the length the vines will grow. Defaults to a constant of one.

weighted_selector

The weighted_selector feature type is a more convenient version of the random_selector feature type.

{
  "type": "lithostitched:weighted_selector",
  "config": {
    "features": [
      {
        "data": "minecraft:birch_bees_0002",
        "weight": 2
      },
      {
        "data": "minecraft:fancy_oak_bees_0002",
        "weight": 1
      },
      {
        "data": "minecraft:oak_bees_0002",
        "weight": 7
      }
    ]
  }
}
  • features: A weighted list of placed features.

well

The well feature type is a more configurable version of the minecraft:desert_well feature type.

{
  "type": "lithostitched:well",
  "config": {
    "standard_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:red_sandstone"
      }
    },
    "slab_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:red_sandstone_slab"
      }
    },
    "fluid_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:water"
      }
    },
    "ground_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:gravel"
      }
    },
    "suspicious_provider": {
      "type": "minecraft:simple_state_provider",
      "state": {
        "Name": "minecraft:suspicious_gravel"
      }
    },
    "suspicious_block_placements": 1,
    "suspicious_loot_table": "minecraft:archaeology/trail_ruins_rare"
  }
}
  • standard_provider: The block state provider for most of the well. Defaults to just sandstone.
  • slab_provider: The block state provider for slabs in the well. Defaults to just sandstone slabs.
  • fluid_provider: The block state provider for the fluid in the well. Defaults to just water.
  • ground_provider: The block state provider for the ground under the fluid in the well. Defaults to just sand.
  • suspicious_provider: The block state provider for most of the well. Defaults to just suspicious sand.
  • suspicious_block_placements: The number of suspicious blocks to place per layer. Defaults to a constant int provider of 1. The min/max allowed values are 0 and 4 respectively.
  • suspicious_loot_table: The loot table for the suspicious blocks to use. Defaults to minecraft:archaeology/desert_well.