1
0
mirror of https://github.com/Mojang/bedrock-samples.git synced 2025-07-24 14:01:45 +00:00
Files
Mike Ammerlaan d2c831e602 v1.21.90.3
2025-06-18 05:19:56 -07:00

355 lines
14 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "3883188534",
"x-format-version": "1.21.20",
"x-minecraft-version": "1.21.90-beta.3",
"definitions": {
"4231469203": {
"title": "Feature Rule Conditions",
"type": "object",
"properties": {
"minecraft:biome_filter": {
"description": "List of filter tests to determine which biomes this rule will attach to.",
"$ref": "#/definitions/1088251937"
},
"placement_pass": {
"description": "When the feature should be placed relative to others. Earlier passes in the list are guaranteed to occur before later passes. Order is not guaranteed within each pass.",
"type": "string"
}
},
"required": [
"placement_pass"
]
},
"1088251937": {
"title": "Filter Group",
"description": "Filters allow data objects to specify test criteria which allows their use. Filters can be defined by a single object of type (Filter Test), an array of tests, collection groups, or a combination of these objects.",
"oneOf": [
{
"$ref": "#/definitions/4150989894"
},
{
"type": "array",
"items": {
"description": "Filters allow data objects to specify test criteria which allows their use. Filters can be defined by a single object of type (Filter Test), an array of tests, collection groups, or a combination of these objects.",
"$ref": "#/definitions/1088251937"
}
},
{
"type": "object",
"properties": {
"AND": {
"description": "Evaluates all tests in the group, all must pass in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"NOT": {
"description": "Evaluates all tests in the group, all must fail in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"OR": {
"description": "Evaluates tests in the group, one or more must pass in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"all": {
"description": "Evaluates all tests in the group, all must pass in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"all_of": {
"description": "Evaluates all tests in the group, all must pass in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"any": {
"description": "Evaluates tests in the group, one or more must pass in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"any_of": {
"description": "Evaluates tests in the group, one or more must pass in order for the group to pass.",
"$ref": "#/definitions/1088251937"
},
"none_of": {
"description": "Evaluates all tests in the group, all must fail in order for the group to pass.",
"$ref": "#/definitions/1088251937"
}
}
}
]
},
"3683814853": {
"title": "Feature Rule Description",
"type": "object",
"properties": {
"identifier": {
"description": "The name of this feature rule in the format 'namespace_name:rule_name'. 'rule_name' must match the filename.",
"type": "string"
},
"places_feature": {
"description": "Named reference to the feature controlled by this rule.",
"type": "string"
}
},
"required": [
"identifier",
"places_feature"
]
},
"4150989894": {
"title": "Filter Test",
"type": "object",
"properties": {
"domain": {
"description": "The domain the test should be performed in.",
"oneOf": [
{
"type": "boolean"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "string"
}
]
},
"operator": {
"description": "The comparison to apply with 'value'.",
"oneOf": [
{
"type": "boolean"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "string"
}
]
},
"subject": {
"description": "The subject of this filter test.",
"oneOf": [
{
"type": "boolean"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "string"
}
]
},
"test": {
"description": "The name of the test to apply.",
"type": "string"
},
"value": {
"description": "The value being compared with the test.",
"oneOf": [
{
"type": "boolean"
},
{
"type": "integer"
},
{
"type": "number"
},
{
"type": "string"
}
]
}
},
"required": [
"test"
]
},
"2195141389": {
"title": "Scatter Params",
"description": "Controls the scatter distribution of a particular object.",
"type": "object",
"properties": {
"coordinate_eval_order": {
"title": "Coordinate Evaluation Order",
"description": "The order in which coordinates will be evaluated. Should be used when a coordinate depends on another. If omitted, defaults to \"xzy\". Supported orders are defined by \"Coordinate Evaluation Order\".",
"type": "string",
"enum": [
"xyz",
"xzy",
"yxz",
"yzx",
"zxy",
"zyx"
]
},
"iterations": {
"description": "Number of scattered positions to generate.",
"$ref": "#/definitions/3178719147"
},
"scatter_chance": {
"description": "Probability that this scatter will occur. Not evaluated each iteration; either no iterations will run, or all will.",
"$ref": "#/definitions/2176758423"
},
"x": {
"description": "Distribution for the coordinate (evaluated each iteration).",
"$ref": "#/definitions/4150871210"
},
"y": {
"description": "Distribution for the coordinate (evaluated each iteration).",
"$ref": "#/definitions/4150871210"
},
"z": {
"description": "Distribution for the coordinate (evaluated each iteration).",
"$ref": "#/definitions/4150871210"
}
},
"required": [
"iterations",
"x",
"y",
"z"
]
},
"3178719147": {
"title": "Molang expression",
"oneOf": [
{
"$ref": "#/definitions/2267778531"
},
{
"type": "number"
}
]
},
"2267778531": {
"title": "Molang string",
"oneOf": [
{
"type": "string"
},
{
"type": "object",
"properties": {
"expression": {
"type": "string"
},
"version": {
"type": "integer"
}
},
"required": [
"expression",
"version"
]
}
]
},
"2176758423": {
"title": "Scatter Chance",
"description": "Scatter probability represented by an expression or an object with a numerator and denominator.",
"oneOf": [
{
"$ref": "#/definitions/3178719147"
},
{
"type": "object",
"properties": {
"denominator": {
"description": "Denominator for scatter probability.",
"type": "integer",
"minimum": 1.0
},
"numerator": {
"description": "Numerator for scatter probability.",
"type": "integer",
"minimum": 1.0
}
},
"required": [
"denominator",
"numerator"
]
}
]
},
"4150871210": {
"title": "Coordinate Range",
"description": "Represents the scatter distrubution over a coordinate (x/y/z), can also be built by an expression.",
"oneOf": [
{
"$ref": "#/definitions/3178719147"
},
{
"type": "object",
"properties": {
"distribution": {
"title": "Random Distribution Type",
"description": "Type of distribution. Supported distributions are defined by \"Random Distribution Type\".",
"type": "string",
"enum": [
"uniform",
"gaussian",
"inverse_gaussian",
"triangle",
"fixed_grid",
"jittered_grid"
]
},
"extent": {
"description": "Lower and upper bound (inclusive) of the scatter range, as an offset from the input point to scatter around.",
"type": "array",
"items": {
"$ref": "#/definitions/3178719147"
},
"minItems": 2,
"maxItems": 2
},
"grid_offset": {
"description": "When the distribution type is grid, defines the offset along this axis.",
"type": "integer",
"minimum": 0.0
},
"step_size": {
"description": "When the distribution type is grid, defines the distance between steps along this axis.",
"type": "integer",
"minimum": 1.0
}
},
"required": [
"distribution",
"extent"
]
}
]
}
},
"title": "Feature Rule Definition",
"type": "object",
"properties": {
"conditions": {
"description": "Parameters to control where and when the feature will be placed.",
"$ref": "#/definitions/4231469203"
},
"description": {
"description": "Identifier for the Feature Rule and Feture to place.",
"$ref": "#/definitions/3683814853"
},
"distribution": {
"description": "Parameters controlling the initial scatter of the feature.",
"$ref": "#/definitions/2195141389"
}
},
"required": [
"conditions",
"description"
]
}