diff --git a/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json b/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json index 6170420f..40a9597c 100644 --- a/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json +++ b/source/behavior/features/1.13.0/features/minecraft.cave_carver_feature.json @@ -25,7 +25,7 @@ "width_modifier": { "title": "Width modifier", "description": "How many blocks to increase the cave radius by, from the center point of the cave.", - "$ref": "../../../../general/molang/number.json" + "$ref": "../../../../molang/number.json" } } } diff --git a/source/behavior/features/1.13.0/features/minecraft.conditional_list.json b/source/behavior/features/1.13.0/features/minecraft.conditional_list.json index cc8b7b07..629fba5d 100644 --- a/source/behavior/features/1.13.0/features/minecraft.conditional_list.json +++ b/source/behavior/features/1.13.0/features/minecraft.conditional_list.json @@ -1,19 +1,53 @@ { "type": "object", + "title": "Conditional list", + "description": "`minecraft:conditional_list` Places the first suitable feature within a collection.\nThese conditional features will be evaluated in order.\nSucceeds if: A condition is successfully resolved.\nFails if: No condition is successfully resolved.\nExample use: assigning a feature to an expression", "additionalProperties": false, + "required": ["description", "conditional_features"], "properties": { "description": { "title": "Description", "description": "", "type": "object", + "required": ["identifier"], "properties": { "identifier": { "title": "Identifier", - "description": "The name of this feature in the form `namespace_name:feature_name'. `feature_name` must match the filename.", + "description": "The name of this feature in the form `namespace_name:feature_name`. `feature_name` must match the filename.", "type": "string", "$ref": "../../../../general/feature/identifier.json" } } + }, + "conditional_features": { + "title": "Conditional Features", + "description": "Array of Features, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.", + "type": "array", + "items": { + "title": "Conditional Feature", + "type": "object", + "description": "A Feature, and their associated Conditions, for attempted placement. These features will be evaluated as ordered.", + "additionalProperties": false, + "required": ["places_feature", "condition"], + "properties": { + "places_feature": { + "title": "Places feature", + "description": "Feature to be placed.", + "$ref": "../../../../general/feature/identifier.json" + }, + "condition": { + "title": "Condition", + "description": "Condition for placing associated Feature", + "$ref": "../../../../molang/string.json" + } + } + } + }, + "early_out_scheme": { + "title": "Early out scheme", + "description": "Denote whether placement should end on first successful placement or first passed condition.", + "type": "string", + "enum": ["condition_success", "placement_success"] } } } diff --git a/test/bp/features/aggregate_feature_obsidian.json b/test/bp/features/aggregate_feature_obsidian.json index 5438acf8..6b11ce60 100644 --- a/test/bp/features/aggregate_feature_obsidian.json +++ b/test/bp/features/aggregate_feature_obsidian.json @@ -1,14 +1,14 @@ { - "format_version": "1.13.0", + "format_version": "1.13.0", - "minecraft:single_block_feature": { - "description": { - "identifier": "aggregate_features:aggregate_feature_obsidian" - }, + "minecraft:single_block_feature": { + "description": { + "identifier": "aggregate_features:aggregate_feature_obsidian" + }, - "places_block": "minecraft:obsidian", + "places_block": "minecraft:obsidian", - "enforce_placement_rules": false, - "enforce_survivability_rules": false - } -} \ No newline at end of file + "enforce_placement_rules": false, + "enforce_survivability_rules": false + } +} diff --git a/test/bp/features/conditional_list_feature.json b/test/bp/features/conditional_list_feature.json index e8bc8442..2985f9ce 100644 --- a/test/bp/features/conditional_list_feature.json +++ b/test/bp/features/conditional_list_feature.json @@ -1,17 +1,17 @@ { - "format_version": "1.13.0", + "format_version": "1.13.0", - "minecraft:conditional_list": { - "description": { - "identifier": "conditional_list_features:conditional_list_feature" - }, + "minecraft:conditional_list": { + "description": { + "identifier": "conditional_list_features:conditional_list_feature" + }, - "conditional_features": [ - { - "places_feature": "conditional_list_features:conditional_list_feature_obsidian", - "condition": "query.noise(v.originx, v.originz) < 0" - } - ], - "early_out_scheme": "placement_success" - } -} \ No newline at end of file + "conditional_features": [ + { + "places_feature": "conditional_list_features:conditional_list_feature_obsidian", + "condition": "query.noise(v.originx, v.originz) < 0" + } + ], + "early_out_scheme": "placement_success" + } +} diff --git a/test/bp/features/rect_layout_feature_obsidian.json b/test/bp/features/rect_layout_feature_obsidian.json index 7d7bfc49..c14cac0c 100644 --- a/test/bp/features/rect_layout_feature_obsidian.json +++ b/test/bp/features/rect_layout_feature_obsidian.json @@ -1,14 +1,14 @@ { - "format_version": "1.13.0", + "format_version": "1.13.0", - "minecraft:single_block_feature": { - "description": { - "identifier": "rect_layout_features:rect_layout_feature_obsidian" - }, + "minecraft:single_block_feature": { + "description": { + "identifier": "rect_layout_features:rect_layout_feature_obsidian" + }, - "places_block": "minecraft:obsidian", + "places_block": "minecraft:obsidian", - "enforce_placement_rules": false, - "enforce_survivability_rules": false - } -} \ No newline at end of file + "enforce_placement_rules": false, + "enforce_survivability_rules": false + } +}