Files
minecraft-bedrock-json-schemas/behavior/features/features.json
2021-06-06 11:00:56 +00:00

1 line
15 KiB
JSON
Vendored

{"$id":"blockception.minecraft.behavior.features","examples":[{"format_version":"1.17.0","minecraft:ore_feature":{"description":{"identifier":"example:foo"},"features":{}}}],"allOf":[{"if":{"properties":{"format_version":{"type":"string","const":"1.13.0"}}},"then":{"$ref":"#/definitions/A"}},{"properties":{"format_version":{"$ref":"#/definitions/CD"}}}],"definitions":{"C":{"type":"string","title":"Entity Identifier 1.8.0","description":"The minecraft entity identifier","examples":["namespace:entity_name"],"pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"B":{"title":"Aggregate Feature","description":"'minecraft:aggregate_feature` places a collection of features in an arbitary order. All features in the collection use the same input position. Features should not depend on each other, as there is no guarantee on the order the features will be placed.\n Succeeds if: At lease one feature is placed successfully.\n Fails if: All features fail to be placed.","type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":"Collection of features to be placed one by one. No guarantee of order. All features use the same input position.","type":"array","minItems":1,"items":{"title":"Feature","description":"","type":"string"}},"early_out":{"type":"string","title":"Early Out","description":"LIKELY TO BE CHANGED: Do not continue placing features once either the first success or first failure has occurred.","enum":["none","first_failure","first_success"]}}},"D":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"E":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"F":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"G":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"H":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"I":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"J":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"BA":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"BB":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"BC":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"BD":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"BE":{"title":"Sequence Feature","description":"`minecraft:sequence_feature` places a collection of features sequentially, in the order they appear in data. The output position of the previous feature is used as the input position for the next. For example, a tree feature is placed at (0, 0, 0) and places blocks up to (0, 10, 0). The next feature in the sequence begins at (0, 10, 0).\nSucceeds if: All features in the sequence are successfully placed.\nFails if: Any feature in the sequence fails to be placed. Features that have not yet been placed at the time of failure are skipped.","type":"object","additionalProperties":false,"required":["description","features"],"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"features":{"title":"Features","description":"List of features to be placed in sequence. The output position of the previous feature is used as the input position to the next.","type":"array","minItems":1,"items":{"title":"Feature","description":"A feature to be placed in sequence. The output position of the previous feature is used as the input position to the next.","$ref":"#/definitions/C"}}}},"BF_block_side":{"oneOf":[{"type":"string"},{"type":"array","items":{"title":"UNDOCUMENTATED","description":"UNDOCUMENTATED","type":"string"}}]},"BG":{"type":"string","title":"Block Identifier 1.8.0","description":"The minecraft block identifier","pattern":"^[0-9a-zA-Z:_\\.\\-]+$"},"BF":{"title":"Single block feature","description":"`minecraft:single_block_feature` places a single block in the world. The `may_place_on` and `may_replace` fields are allowlists which specify where the block can be placed. If these fields are omitted, the block can be placed anywhere. The block's internal survivability and placement rules can optionally be enforced with the `enforce_survivability_rules` and `enforce_placement_rules` fields. These rules are specified per-block and are typically designed to produce high quality gameplay or natural behavior. However, enabling this enforcement may make it harder to debug placement failures.\n Succeeds if: The block is successfully placed in the world.\n Fails if: The block fails to be placed.","type":"object","additionalProperties":false,"required":["description","places_block","enforce_placement_rules","enforce_survivability_rules"],"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"places_block":{"title":"Places block","description":"Reference to the block to be placed.","type":"string","$ref":"#/definitions/BG"},"enforce_placement_rules":{"title":"Enforce Placement Rules","description":"If true, enforce the block's canPlace check.","type":"boolean"},"enforce_survivability_rules":{"title":"Enforce Survivability Rules","description":"If true, enforce the block's canSurvive check.","type":"boolean"},"may_attach_to":{"title":"May attach to","description":"","type":"object","additionalProperties":false,"required":[],"properties":{"min_sides_must_attach":{"title":"Minimum sides must attach","description":"UNDOCUMENTATED","minimum":1,"maximum":4},"auto_rotate":{"title":"Auto rotate","description":"Automatically rotate the block to attach sensibly."},"top":{"title":"Top","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"bottom":{"title":"Bottom","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"north":{"title":"North","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"south":{"title":"South","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"east":{"title":"East","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"west":{"title":"West","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"all":{"title":"All","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"},"sides":{"title":"Sides","description":"UNDOCUMENTATED","$ref":"#/definitions/BF_block_side"}}},"may_replace":{"title":"May replace","description":"A list of blocks that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"array","additionalProperties":false,"items":{"title":"Block","description":"A block that may be replaced during placement. Omit this field to allow any block to be replaced.","type":"string","$ref":"#/definitions/BG"}}}},"BH":{"title":"","description":"`minecraft:snap_to_surface_feature` snaps the y-value of a feature placement pos to the floor or the ceiling within the provided `vertical_search_range`. The placement biome is preserved. \nIf the snap position goes outside of the placement biome, placement will fail.","type":"object","additionalProperties":false,"required":["description","feature_to_snap","vertical_search_range"],"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}},"feature_to_snap":{"title":"Feature to snap","description":"Named reference of feature to be snapped","type":"string","$ref":"#/definitions/C"},"vertical_search_range":{"title":"Vertical search range","description":"Range to search for a floor or ceiling for snaping the feature.","type":"number"},"surface":{"title":"Surface","description":"Defines the surface that the y-value of the placement position will be snapped to. Valid values: `ceiling` and `floor'","type":"string","enum":["ceiling","floor"]}}},"BI":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"BJ":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"CA":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"CB":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"CC":{"type":"object","additionalProperties":false,"properties":{"description":{"title":"Description","description":"","type":"object","properties":{"identifier":{"title":"Identifier","description":"The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.","type":"string","$ref":"#/definitions/C"}}}}},"A":{"type":"object","title":"Features 1.13.0","description":"Features are decorations scattered throughout the world. Things such as trees, plants, flowers, springs, ore, and coral are all features. Basically, if it isn't the terrain or a mob, it's probably a feature!","additionalProperties":false,"required":["format_version"],"minProperties":2,"maxProperties":2,"properties":{"format_version":{"const":"1.13.0","description":"Specifies the version of the game this entity was made in. Minimum supported version is 1.13.0. Current supported version is 1.13.0.","title":"Format Version"},"minecraft:aggregate_feature":{"$ref":"#/definitions/B"},"minecraft:cave_carver_feature":{"$ref":"#/definitions/D"},"minecraft:conditional_list":{"$ref":"#/definitions/E"},"minecraft:geode_feature":{"$ref":"#/definitions/F"},"minecraft:growing_plant_feature":{"$ref":"#/definitions/G"},"minecraft:hell_cave_carver_feature":{"$ref":"#/definitions/H"},"minecraft:multiface_feature":{"$ref":"#/definitions/I"},"minecraft:ore_feature":{"$ref":"#/definitions/J"},"minecraft:rect_layout":{"$ref":"#/definitions/BA"},"minecraft:scan_surface":{"$ref":"#/definitions/BB"},"minecraft:scatter_feature":{"$ref":"#/definitions/BC"},"minecraft:search_feature":{"$ref":"#/definitions/BD"},"minecraft:sequence_feature":{"$ref":"#/definitions/BE"},"minecraft:single_block_feature":{"$ref":"#/definitions/BF"},"minecraft:snap_to_surface_feature":{"$ref":"#/definitions/BH"},"minecraft:structure_template_feature":{"$ref":"#/definitions/BI"},"minecraft:tree_feature":{"$ref":"#/definitions/BJ"},"minecraft:underwater_cave_carver_feature":{"$ref":"#/definitions/CA"},"minecraft:vegetation_patch_feature":{"$ref":"#/definitions/CB"},"minecraft:weighted_random_feature":{"$ref":"#/definitions/CC"}}},"CD":{"title":"Format Version","description":"A version that tells minecraft what type of data format can be expected when reading this file.","pattern":"^(1)\\.([0-9]+)\\.([0-9]+)$","type":"string"}}}