Files
minecraft-bedrock-json-schemas/source/behavior/entities/format/components/interact.json
Xterionix ae9e79c04d 1.21.80 (#343)
* - Updated old biome format

* - Added biome tags component

* - Added dismount mode, and rider enter/exit event

* - Made surface_color not required

* - Update float wander goal

* - Update follow mob behavior

* - Added music def field

* - Added camera fields to rideable

* - Add array snippet

* - Updated leashable component with presets

* - Made texture field optional in destruction particles

* - Marked isotropic as stable

* - Moved can_be_stolen back

* - Updated tempt goal

* - Added float tempt behavior

* - Made heightmap project optional

* - Added distance based render methods

* - Marked tint method as stable

* - Added droop item y offset

* - Added has_equipment_tag filter

* - Remove unnused test.json

* - Allow for custom components

* - Add new block culling support

* - Removed enum for biome tags in support of custom biomes

* - Added replace_biomes component

* - Fix errors
2025-04-29 09:02:06 +02:00

216 lines
8.2 KiB
JSON

{
"$id": "blockception.minecraft.behavior.entities.minecraft.interact",
"type": "object",
"title": "Interact",
"description": "Defines interactions with this entity.",
"additionalProperties": false,
"examples": [{ "interactions": [{}] }],
"definitions": {
"interaction_spec": {
"type": "object",
"additionalProperties": false,
"properties": {
"add_items": {
"title": "Add Items",
"type": "object",
"description": "Loot table with items to add to the player's inventory upon successful interaction.",
"additionalProperties": false,
"properties": {
"table": {
"type": "string",
"$ref": "../../../../general/loot_table/identifier.json",
"description": "File path, relative to the Behavior Pack's path, to the loot table file.",
"title": "Table"
}
}
},
"cooldown": {
"title": "Cooldown",
"type": "number",
"default": 0,
"description": "Time in seconds before this entity can be interacted with again."
},
"admire": {
"title": "Admire",
"type": "boolean",
"default": false,
"description": "Allows entity to admire the item. Requires \"minecraft:admire_item\" and \"minecraft:behavior.admire_item\" to work.",
"$comment": "UNDOCUMENTED"
},
"barter": {
"title": "Barter",
"type": "boolean",
"default": false,
"description": "Allows entity to barter with the item. Requires \"minecraft:barter\" to work.",
"$comment": "UNDOCUMENTED"
},
"cooldown_after_being_attacked": {
"title": "Cooldown After Being Attacked",
"type": "number",
"default": 0,
"description": "Time in seconds before this entity can be interacted with after being attacked."
},
"health_amount": {
"title": "Health Amount",
"type": "integer",
"default": 0,
"description": "The amount of health this entity will recover or hurt when interacting with this item. Negative values will harm the entity."
},
"hurt_item": {
"title": "Hurt Item",
"type": "integer",
"default": 0,
"description": "The amount of damage the item will take when used to interact with this entity. A value of 0 means the item won't lose durability."
},
"interact_text": {
"title": "Interact Text",
"type": "string",
"description": "Text to show when the player is able to interact in this way with this entity when playing with Touch-screen controls."
},
"on_interact": {
"title": "On Interact",
"$ref": "../types/trigger.json",
"description": "Event to fire when the interaction occurs."
},
"particle_on_start": {
"title": "Particle On Start",
"type": "object",
"description": "Particle effect that will be triggered at the start of the interaction.",
"properties": {
"particle_offset_towards_interactor": {
"type": "boolean",
"description": "Whether or not the particle will appear closer to who performed the interaction.",
"title": "Particle Offset Towards Interactor"
},
"particle_type": {
"type": "string",
"description": "The type of particle that will be spawned.",
"title": "Particle Type"
},
"particle_y_offset": {
"type": "number",
"description": "Will offset the particle this amount in the y direction.",
"title": "Particle Y Offset"
}
}
},
"play_sounds": {
"title": "Play Sounds",
"$ref": "../../../../general/sound_event.json",
"description": "List of sounds to play when the interaction occurs."
},
"spawn_entities": {
"title": "Spawn Entities",
"type": "string",
"description": "List of entities to spawn when the interaction occurs."
},
"spawn_items": {
"type": "object",
"description": "Loot table with items to drop on the ground upon successful interaction.",
"title": "Spawn Items",
"additionalProperties": false,
"properties": {
"table": {
"type": "string",
"$ref": "../../../../general/loot_table/identifier.json",
"description": "File path, relative to the Behavior Pack's path, to the loot table file.",
"title": "Table"
}
}
},
"swing": {
"title": "Swing",
"type": "boolean",
"default": false,
"description": "If true, the player will do the \"swing\" animation when interacting with this entity."
},
"transform_to_item": {
"title": "Transform To Item",
"type": "string",
"description": "The feed item used will transform to this item upon successful interaction. Format: itemName:auxValue"
},
"use_item": {
"title": "Use Item",
"type": "boolean",
"default": false,
"description": "If true, the interaction will use an item."
},
"vibration": {
"title": "Vibration",
"type": "string",
"default": "entity_interact",
"description": "Vibration to emit when the interaction occurs. Admitted values are none (no vibration emitted), shear, entity_die, entity_act, entity_interact.",
"enum": ["none", "shear", "entity_die", "entity_act", "entity_interact"]
},
"give_item": {
"title": "Give Item",
"type": "boolean",
"$comment": "UNDOCUMENTED",
"description": "UNDOCUMENTED Item to give to the player upon successful interaction."
},
"take_item": {
"title": "Take Item",
"type": "boolean",
"$comment": "UNDOCUMENTED",
"description": "UNDOCUMENTED Takes an item from the player."
},
"drop_item_slot": {
"title": "Drop Item Slot",
"type": "string",
"examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"],
"description": "The entity's equipment slot to remove and drop the item from, if any, upon successful interaction."
},
"drop_item_y_offset": {
"title": "Drop Item Y Offset",
"description": "Will offset the item drop position this amount in the y direction. Requires \"drop_item_slot\" to be specified.",
"type": "number",
"default": 0
},
"equip_item_slot": {
"title": "Equip Item Slot",
"type": "string",
"description": "The entity's equipment slot to equip the item to, if any, upon successful interaction.",
"examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"]
},
"repair_entity_item": {
"title": "Repair Entity Item",
"type": "object",
"description": "Allows to repair one of the entity's items.",
"properties": {
"amount": {
"title": "Amount",
"description": "How much of the item durability should be restored upon interaction.",
"type": "integer",
"minimum": 0
},
"slot": {
"title": "Slot",
"description": "The entity's slot containing the item to be repaired.",
"type": "string",
"examples": ["slot.armor.head", "slot.armor.chest", "slot.armor.legs", "slot.armor.feet"]
}
}
}
}
}
},
"properties": {
"interactions": {
"description": "The interactions.",
"title": "Interactions",
"oneOf": [
{
"type": "object",
"$ref": "#/definitions/interaction_spec"
},
{
"type": "array",
"items": {
"$ref": "#/definitions/interaction_spec"
}
}
]
}
}
}