Custom world generation/configured feature

From Minecraft Wiki
Jump to: navigation, search
  • The root tag
    •  type: The type of configured feature. Must be one of the types listed below.
    •  config: The settings for this configured feature. The settings vary depending on type. Any name not listed under this tag has no settings; however, they must still include an empty config object in their definition.
      • If type is tree:
        •  trunk_provider:[needs testing] The block to use for the trunk. Note that provider block must be blocks with xyz axis tag, like logs, when the trunk placer is "fancy_trunk_placer"
          • Blockstate Provider
        •  leaves_provider:[needs testing] The block to use for the leaves.
          • Blockstate Provider
        •  foliage_placer:[needs testing] Controls how leaves are generated.
          •  radius:[needs testing]
            • Uniform Int with minBase 0, maxBase 8, and maxSpread 8
          •  offset:[needs testing]
            • Uniform Int with minBase 0, maxBase 8, and maxSpread 8
          •  type:[needs testing] The type of foliage placer to use. Must be one of "blob_foliage_placer", "spruce_foliage_placer", "pine_foliage_placer", "acacia_foliage_placer", "bush_foliage_placer", "fancy_foliage_placer", "jungle_foliage_placer", "mega_pine_foliage_placer", or "dark_oak_foliage_placer".
          • If type is blob_foliage_placer, bush_foliage_placer, fancy_foliage_placer, or jungle_foliage_placer:
            •  height:[needs testing] Affect the foliage height and size in block height. Must be between 0 and 16, inclusive.
          • If type is spruce_foliage_placer:
            •  trunk_height:[needs testing]
              • Uniform Int with minBase 0, maxBase 16, and maxSpread 8
          • If type is pine_foliage_placer:
            •  height:[needs testing]
              • Uniform Int with minBase 0, maxBase 16, and maxSpread 8
          • If type is mega_pine_foliage_placer:
            •  crown_height:[needs testing]
              • Uniform Int with minBase 0, maxBase 16, and maxSpread 8
        •  trunk_placer:[needs testing] Controls how the trunk is generated.
          •  type:[needs testing] The type of trunk placer to use. Must be one of "straight_trunk_placer", "forking_trunk_placer", "giant_trunk_placer", "mega_jungle_trunk_placer", "dark_oak_trunk_placer", or "fancy_trunk_placer".
          •  base_height:[needs testing] Must be between 0 and 32, inclusive.
          •  height_rand_a:[needs testing] Must be between 0 and 24, inclusive.
          •  height_rand_b:[needs testing] Must be between 0 and 24, inclusive.
        •  minimum_size:[needs testing]
          •  min_clipped_height (optional):[needs testing] Must be between 0 and 80, inclusive.
          •  type:[needs testing] Must be either "two_layers_feature_size" or "three_layers_feature_size".
          • If type is two_layers_feature_size:
            •  limit (optional):[needs testing] Must be between 0 and 81, inclusive. Defaults to 1 if not provided.
            •  lower_size (optional):[needs testing] Must be between 0 and 16, inclusive. Defaults to 0 if not provided.
            •  upper_size (optional):[needs testing] Must be between 0 and 16, inclusive. Defaults to 1 if not provided.
          • If type is three_layers_feature_size:
            •  limit (optional):[needs testing] Must be between 0 and 80, inclusive. Defaults to 1 if not provided.
            •  upper_limit (optional):[needs testing] Must be between 0 and 80, inclusive. Defaults to 1 if not provided.
            •  lower_size (optional):[needs testing] Must be between 0 and 16, inclusive. Defaults to 0 if not provided.
            •  middle_size (optional):[needs testing] Must be between 0 and 16, inclusive. Defaults to 1 if not provided.
            •  upper_size (optional):[needs testing] Must be between 0 and 16, inclusive. Defaults to 1 if not provided.
        •  decorators:[needs testing] Decorations to add to the tree apart from the trunk and leaves.
          • A decorator.
            •  type: The type of decoration to add. Must be one of "trunk_vine", "leave_vine", "cocoa", "beehive", or "alter_ground".
            • If type is cocoa or beehive:
            • If type is alter_ground:
              •  provider:[needs testing] The block to replace the ground with.
                • Blockstate Provider
        •  max_water_depth (optional):[needs testing] The maximum depth of water this tree can generate in. Defaults to 0 if not provided.
        •  ignore_vines (optional):[needs testing] Defaults to false if not provided.
        •  heightmap:[needs testing] Must be one of "WORLD_SURFACE_WG", "WORLD_SURFACE", "OCEAN_FLOOR_WG", "OCEAN_FLOOR", "MOTION_BLOCKING", or "MOTION_BLOCKING_NO_LEAVES".
      • If type is flower or random_patch:
        •  state_provider:[needs testing] The block to use.
          • Blockstate Provider
        •  block_placer:[needs testing]
          •  type:[needs testing] The type of block placer to use. Must be one of "simple_block_placer", "double_plant_placer", or "column_placer".
          • If type is column_placer:
        •  whitelist:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  blacklist:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  tries (optional):[needs testing] Defaults to 128 if not provided.
        •  xspread (optional):[needs testing] Defaults to 7 if not provided.
        •  yspread (optional):[needs testing] Defaults to 3 if not provided.
        •  zspread (optional):[needs testing] Defaults to 7 if not provided.
        •  can_replace (optional):[needs testing] Defaults to false if not provided.
        •  project (optional):[needs testing] Defaults to true if not provided.
        •  need_water (optional):[needs testing] Defaults to false if not provided.
      • If type is block_pile or nether_forest_vegetation:
        •  state_provider:[needs testing] The block to use.
          • Blockstate Provider
      • If type is spring_feature:
        •  state:[needs testing] The fluid to use for the spring.
          •  Name: The namespaced id of the fluid to use.
          •  Properties: Fluid states
            •  state: A fluid state key and its value.
        •  requires_block_below (optional):[needs testing] Defaults to true if not provided.
        •  rock_count (optional):[needs testing] Defaults to 4 if not provided.
        •  hole_count (optional):[needs testing] Defaults to 1 if not provided.
        •  valid_blocks:[needs testing] A list of blocks.
          • : The namespaced id of the block to use.
      • If type is emerald_ore:
        •  target:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  state:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
      • If type is huge_red_mushroom or huge_brown_mushroom:
        •  cap_provider:[needs testing] The block to use for the cap.
          • Blockstate Provider
        •  stem_provider:[needs testing] The block to use for the stem.
          • Blockstate Provider
        •  foliage_radius (optional):[needs testing] The size of the cap. Defaults to 2 if not provided.
      • If type is iceberg, forest_rock, or lake:
        •  state:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
      • If type is disk or ice_patch:
        •  state:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
        •  radius:[needs testing]
          • Uniform Int with minBase 0, maxBase 4, and maxSpread 4
        •  half_height:[needs testing] Must be between 0 and 4, inclusive.
        •  targets:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
      • If type is ore or no_surface_ore:
        •  target:[needs testing] Test for if a block can be replaced
          •  predicate_type:[needs testing] The test to perform. Must be one of "always_true", "block_match", "blockstate_match", "tag_match", "random_block_match", or "random_blockstate_match"
          • If predicate_type is block_match:
            •  block: The namespaced id of the block to match.
          • If predicate_type is blockstate_match:
            •  block_state The block state to match.
              •  Name: The namespaced id of the block to use.
              •  Properties: Block states
                •  state: A block state key and its value.
          • If predicate_type is tag_match:
            •  tag: The namespaced id of the block tag to match.
          • If predicate_type is random_block_match:
            •  block: The namespaced id of the block to match.
            •  probability:[needs testing]
          • If predicate_type is random_blockstate_match:
            •  block_state The block state to match.
              •  Name: The namespaced id of the block to use.
              •  Properties: Block states
                •  state: A block state key and its value.
            •  probability:[needs testing]
        •  state:[needs testing] The block state to use for the ore.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  size:[needs testing] The size of the vein. Must be between 0 and 64, inclusive.
      • If type is end_spike:
        •  crystal_invulnerable (optional):[needs testing] Defaults to false if not provided.
        •  spikes: Settings for each individual spike.
          • A spike
            •  centerX (optional):[needs testing] Defaults to 0 if not provided.
            •  centerZ (optional):[needs testing] Defaults to 0 if not provided.
            •  radius (optional):[needs testing] The radius of the spike. Defaults to 0 if not provided.
            •  height (optional):[needs testing] The height of the spike. Defaults to 0 if not provided.
            •  guarded (optional):[needs testing] Whether or not to generate a cage around the crystal. Defaults to false if not provided.
        •  crystal_beam_target (optional):[needs testing] The position of a block.
          • The position's x coordinate.
          • The position's y coordinate.
          • The position's z coordinate.
      • If type is end_gateway:
        •  exit (optional):[needs testing] The position where the gateway portal should exit.
          • The position's x coordinate.
          • The position's y coordinate.
          • The position's z coordinate.
        •  exact:[needs testing]
      • If type is seagrass or bamboo:
      • If type is sea_pickle:
        •  count:[needs testing]
          • Uniform Int with minBase -10, maxBase 128, and maxSpread 128
      • If type is simple_block:
        •  to_place:[needs testing] The block to place.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  place_on:[needs testing] Blocks to place on top of.
          • The block state to match.
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  place_in:[needs testing] Blocks to replace.
          • The block state to match.
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  place_under:[needs testing] Blocks to place under.
          • The block state to match.
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
      • If type is huge_fungus:
        •  valid_base_block:[needs testing] The block to place on top of.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  stem_state:[needs testing] The block to use for the stem.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  hat_state:[needs testing] The block to use for the hat.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  decor_state:[needs testing] The block to use for the decor.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  planted (optional):[needs testing] Defaults to false if not provided.
      • If type is basalt_columns:
        •  reach:[needs testing]
          • Uniform Int with minBase 0, maxBase 2, and maxSpread 1
        •  height:[needs testing]
          • Uniform Int with minBase 1, maxBase 5, and maxSpread 5
      • If type is delta_feature:
        •  contents:[needs testing] The block to use for the delta.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  rim:[needs testing] The block to use for the rim of the delta.
          •  Name: The namespaced id of the block to use.
          •  Properties: Block states
            •  state: A block state key and its value.
        •  size:[needs testing] The size of the delta.
          • Uniform Int with minBase 0, maxBase 8, and maxSpread 8
        •  rim_size:[needs testing] The size of the rim of the delta.
          • Uniform Int with minBase 0, maxBase 8, and maxSpread 8
      • If type is netherrack_replace_blobs:
        •  target:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  state:[needs testing]
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
        •  radius:[needs testing]
          • Uniform Int
      • If type is fill_layer:
        •  height:[needs testing] The layer to fill.
        •  state:[needs testing] The block to fill with.
          • A block state
            •  Name: The namespaced id of the block to use.
            •  Properties: Block states
              •  state: A block state key and its value.
      • If type is random_selector:
        •  features:[needs testing] A list of other features to be randomly chosen from.
          • A feature and its corresponding chance
            •  feature: Another configured feature.
            •  chance: The chance of this feature being chosen.
        •  default: The configured feature to use if none of the above features are chosen.
      • If type is simple_random_selector:
        •  features:[needs testing] A list of other features to be randomly chosen from, each with equal chance.
          •  feature: Another configured feature.
      • If type is random_boolean_selector:
        •  feature_true:[needs testing] The configured feature to select if the randomly generated boolean is true.
        •  feature_false:[needs testing] The configured feature to select if the randomly generated boolean is true.
      • If type is decorated_feature_configuration:
        •  feature: The configured feature to use.
        •  decorator:[needs testing] The configured decorator to modify the feature with.