Files
minecraft-bedrock-json-schemas/source/behavior/entities/format/components/breedable.json

282 lines
9.3 KiB
JSON
Raw Normal View History

2021-10-08 12:59:03 +02:00
{
2021-10-08 13:04:13 +02:00
"$id": "blockception.minecraft.behavior.entities.minecraft.breedable",
2021-10-08 12:59:03 +02:00
"type": "object",
2021-10-08 13:04:13 +02:00
"title": "Breedable",
2021-10-08 12:59:03 +02:00
"additionalProperties": false,
"description": "Defines the way an entity can get into the `love` state.",
"definitions": {
"breeds_with_spec": {
"type": "object",
"description": "An entity definitions that this entity can breed with.",
"additionalItems": false,
"properties": {
2021-10-11 18:10:42 +02:00
"baby_type": {
"type": "string",
"description": "The entity definition of this entity's babies.",
"title": "Baby Type"
},
"breed_event": {
"$ref": "../types/event_object_filters.json",
2021-10-11 18:10:42 +02:00
"description": "Event to run when this entity breeds.",
"title": "Breed Event"
},
"mate_type": {
"type": "string",
"description": "The entity definition of this entity's mate.",
"title": "Mate Type"
}
2021-10-08 12:59:03 +02:00
}
},
"enviroment_requirements": {
"type": "object",
"description": "A nearby block requirements to get the entity into the `love` state.",
"properties": {
"blocks": {
"description": "The block types required nearby for the entity to breed.",
"title": "Blocks",
"oneOf": [
{
"type": "array",
"items": {
"description": "A block type required nearby for the entity to breed.",
"type": "string",
"$ref": "../../../../general/block/reference.json",
2021-10-08 12:59:03 +02:00
"title": "Blocks"
}
},
{
"description": "A block type required nearby for the entity to breed.",
"type": "string",
"$ref": "../../../../general/block/reference.json",
2021-10-08 12:59:03 +02:00
"title": "Blocks"
}
]
},
2021-10-11 18:10:42 +02:00
"count": {
"type": "number",
"description": "The number of the required block types nearby for the entity to breed.",
"title": "Count"
},
2021-10-08 12:59:03 +02:00
"radius": {
"type": "number",
"description": "How many blocks radius from the mob's center to search in for the required blocks. Bounded between 0 and 16.",
"minimum": 0,
"title": "Radius"
}
},
"title": "Environment Requirements"
}
},
"properties": {
2021-10-11 18:10:42 +02:00
"allow_sitting": {
"description": "If true, entities can breed while sitting.",
"type": "boolean",
"default": false,
"title": "Allow Sitting"
},
2021-10-08 12:59:03 +02:00
"blend_attributes": {
2023-10-24 21:58:11 +02:00
"description": "If true, the entities will blend their attributes in the offspring after they breed.",
2021-10-08 12:59:03 +02:00
"type": "boolean",
"default": true,
"title": "Blend Attributes"
},
"breed_cooldown": {
"description": "Time in seconds before the Entity can breed again.",
"type": "number",
"default": 60.0,
"title": "Breed Cooldown"
},
"breed_items": {
2022-07-22 19:41:04 +02:00
"description": "The list of items that can be used to get the entity into the `love` state.",
2021-10-08 12:59:03 +02:00
"title": "Breed Items",
"oneOf": [
{
"type": "array",
"items": {
"type": "string",
2022-07-22 19:41:04 +02:00
"description": "An item that can be used to get the entity into the `love` state.",
"$ref": "../../../../general/item/descriptor.json",
2021-10-08 12:59:03 +02:00
"title": "Breed Item"
}
},
2021-10-11 18:10:42 +02:00
{
"type": "string",
"$ref": "../../../../general/item/descriptor.json"
2021-10-11 18:10:42 +02:00
}
2021-10-08 12:59:03 +02:00
]
},
"breeds_with": {
"description": "The list of entity definitions that this entity can breed with.",
"title": "Breeds With",
"oneOf": [
2021-10-11 18:10:42 +02:00
{
"type": "object",
"$ref": "#/definitions/breeds_with_spec"
},
{
"uniqueItems": true,
"type": "array",
"items": {
"type": "object",
"$ref": "#/definitions/breeds_with_spec"
}
}
2021-10-08 12:59:03 +02:00
]
},
2023-10-24 21:58:11 +02:00
"causes_pregnancy": {
"type": "boolean",
"default": false,
"description": "If true, the entity will become pregnant instead of spawning a baby.",
"title": "Causes Pregnancy"
},
2021-10-08 12:59:03 +02:00
"deny_parents_variant": {
"type": "object",
"description": "Determines how likely the baby of parents with the same variant will deny that variant and take a random variant within the given range instead.",
"additionalProperties": false,
"properties": {
2021-10-11 18:10:42 +02:00
"chance": {
"type": "number",
"default": 0,
"description": "The percentage chance of denying the parents` variant.",
"title": "Chance"
},
"max_variant": {
"type": "integer",
"default": 0,
"description": "The inclusive maximum of the variant range.",
"title": "Maximum Variant"
},
"min_variant": {
"type": "integer",
"default": 0,
"description": "The inclusive minimum of the variant range.",
"title": "Minimum Variant"
}
2021-10-08 12:59:03 +02:00
},
"title": "Deny Parents Variant"
},
"environment_requirements": {
"description": "The list of nearby block requirements to get the entity into the `love` state.",
"oneOf": [
2021-10-11 18:10:42 +02:00
{
"type": "object",
"$ref": "#/definitions/enviroment_requirements"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/enviroment_requirements"
}
}
2021-10-08 12:59:03 +02:00
],
"title": "Environment Requirements"
},
"extra_baby_chance": {
"type": "number",
"default": 0.0,
"description": "Chance that up to 16 babies will spawn between 0.0 and 1.0, where 1.0 is 100%.",
"minimum": 0.0,
"maximum": 1.0,
"title": "Extra Baby Chance"
},
"love_filters": {
"$ref": "../../filters/filters.json",
"description": "The filters to run when attempting to fall in love.",
"title": "Love Filters"
},
"mutation_factor": {
"type": "object",
"description": "Determines how likely the babies are to NOT inherit one of their parent's variances. Values are between 0.0 and 1.0, with a higher number meaning more likely to mutate.",
"additionalProperties": false,
"properties": {
"color": {
"type": "number",
"default": 0,
"minimum": 0.0,
"maximum": 1.0,
"description": "The percentage chance of a mutation on the entity's color.",
"title": "Color"
},
"extra_variant": {
"type": "number",
"default": 0,
"minimum": 0.0,
"maximum": 1.0,
"description": "The percentage chance of a mutation on the entity's extra variant type.",
"title": "Extra Variant"
},
"variant": {
"type": "number",
"default": 0,
"minimum": 0.0,
"maximum": 1.0,
"description": "The percentage chance of a mutation on the entity's variant type.",
"title": "Variant"
}
},
"title": "Mutation Factor"
},
2023-10-24 21:58:11 +02:00
"mutation_strategy": {
"title": "Mutation Strategy",
"type": "string",
"default": "none",
"description": "Strategy used for mutating variants and extra variants for offspring. Current valid alternatives are 'random' and 'none'."
},
"parent_centric_attribute_blending": {
"title": "Parent Centric Attribute Blending",
"type": "array",
"description": "[EXPERIMENTAL] List of attributes that should benefit from parent centric attribute blending. For example, horses blend their health, movement, and jump_strength in their offspring."
},
"random_extra_variant_mutation_interval": {
"title": "Random Extra Variant Mutation Interval",
"default": 0,
"$ref": "../../../../general/vectors/number2.json",
"description": "Range used to determine random extra variant."
},
"random_variant_mutation_interval": {
"title": "Random Variant Mutation Interval",
"default": 0,
"$ref": "../../../../general/vectors/number2.json",
"description": "Range used to determine random variant."
2021-10-08 12:59:03 +02:00
},
"inherit_tamed": {
"type": "boolean",
"default": true,
2022-07-22 19:41:04 +02:00
"description": "If true, the babies will be automatically tamed if its parents are.",
2021-10-08 12:59:03 +02:00
"title": "Inherit Tamed"
},
"require_full_health": {
"type": "boolean",
"default": false,
"description": "If true, the entity needs to be at full health before it can breed.",
"title": "Require Full Health"
},
"require_tame": {
"type": "boolean",
"default": true,
"description": "If true, the entities need to be tamed first before they can breed.",
"title": "Require Tame"
},
"transform_to_item": {
"type": "string",
"title": "Transform To Item",
"description": "The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"
}
2021-10-11 18:10:42 +02:00
},
"examples": [
{
"allow_sitting": false,
"blend_attributes": true,
"breed_cooldown": 60.0,
"deny_parents_variant": {},
"extra_baby_chance": 0.0,
"mutation_factor": {},
"causes_pregnancy": false,
"inherit_tamed": true,
"require_full_health": false,
"require_tame": true,
"transform_to_item": "example"
}
]
2021-10-08 12:59:03 +02:00
}