Bedrock Edition features documentation

From Minecraft Wiki
Jump to: navigation, search
Information icon.svg
This feature is exclusive to Bedrock Edition.

This is the features documentation for Bedrock Edition 1.13.0.

Version: 1.13.0.34

Features[edit]

All features should specify the version that they target via the "format_version" field. The remainder of the feature data is divided up into independent JSON sub-objects, or components. In general you can think of the presence of a component as defining what game behaviors a feature participates in with the component fields defining how it participates. Additionally, there are four types of features, which is Aggregate Feature, Ore Feature, Scatter Feature, and Single Block Feature. Your Feature JSON file should be created in 'features' directory in your root of your Behavior Pack.


Aggregate Feature[edit]

Aggregate Feature is used to apply a series of features.

Here is a sample of an Aggregate Feature in fern_double_plant_feature.json
{
  "format_version": "1.13.0",
  "minecraft:aggregate_feature": {
    "description": {
      "identifier": "fern_double_plant_feature"
    },
    "early_out": "first_failure",
    "features": [
      "fern_double_plant_lower_feature",
      "fixup_fern_double_plant_upper_position_feature"
    ]
  }
}


Ore Feature[edit]

Ore Feature is used for generating blocks in a spread area.

Here is a sample of an Ore Feature in andesite_feature.json
{
  "format_version": "1.13.0",
  "minecraft:ore_feature": {
    "description": {
      "identifier": "andesite_feature"
    },
    "count": 33,
    "places_block": {
      "name": "minecraft:stone",
      "states": {
        "stone_type": "andesite"
      }
    },
    "may_replace": [
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "andesite"
        }
      },
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "andesite_smooth"
        }
      },
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "diorite"
        }
      },
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "diorite_smooth"
        }
      },
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "granite"
        }
      },
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "granite_smooth"
        }
      },
      {
        "name": "minecraft:stone",
        "states": {
          "stone_type": "stone"
        }
      }
    ]
  }
}


Scatter Feature[edit]

Scatter Feature used to set generating offset, and generating chance for a feature.

Here is a sample of a Scatter Feature in fern_double_plant_patch_feature.json
{
  "format_version": "1.13.0",
  "minecraft:scatter_feature": {
    "description": {
      "identifier": "fern_double_plant_patch_feature"
    },
    "iterations": 64,
    "coordinate_eval_order": "zyx",
    "x": {
      "extent": [ -8, 8 ],
      "distribution": "gaussian"
    },
    "z": {
      "extent": [ -8, 8 ],
      "distribution": "gaussian"
    },
    "y": {
      "extent": [ -4, 4 ],
      "distribution": "gaussian"
    },
    "project_input_to_floor": false,
    "places_feature": "fern_double_plant_feature"
  }
}


Single Block Feature[edit]

Single Block Feature used to set a block generation.

Here is a sample of a Single Block Feature in sunflower_double_plant_lower_feature.json
{
  "format_version": "1.13.0",
  "minecraft:single_block_feature": {
    "description": {
      "identifier": "sunflower_double_plant_lower_feature"
    },
    "places_block": {
      "name": "minecraft:double_plant",
      "states": {
        "double_plant_type": "sunflower",
        "upper_block_bit": false
      }
    },
    "enforce_survivability_rules": false,
    "enforce_placement_rules": true,
    "may_replace": [
      "minecraft:air"
    ]
  }
}

Feature Rules[edit]

Your written features here are assigned and applied here. This is important for your features to generate, otherwise it won't appear in your worlds. Additionally, you can set a condition for which biome tag the feature generates. Feature Rules JSON should be created in 'feature_rules' directory in your root of your Behavior Pack.

Here is a sample of overworld_underground_andesite_feature.json
{
  "format_version": "1.13.0",
  "minecraft:feature_rules": {
    "description": {
      "identifier": "overworld_underground_andesite_feature",
      "places_feature": "andesite_feature"
    },
    "conditions": {
      "placement_pass": "underground_pass",
      "minecraft:biome_filter": [
        {
          "any_of": [
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "overworld"
            },
            {
              "test": "has_biome_tag",
              "operator": "==",
              "value": "overworld_generation"
            }
          ]
        }
      ]
    },
    "distribution": {
      "iterations": 10,
      "coordinate_eval_order": "zyx",
      "x": {
        "distribution": "uniform",
        "extent": [ 0, 16 ]
      },
      "y": {
        "distribution": "uniform",
        "extent": [ 0, 80 ]
      },
      "z": {
        "distribution": "uniform",
        "extent": [ 0, 16 ]
      }
    }
  }
}