├── components ├── addrider.md ├── ageable.md ├── angry.md ├── attack.md ├── attack_damage.md ├── boostable.md ├── breathable.md ├── breedable.md ├── burns_in_daylight.md ├── collision_box.md ├── color.md ├── damage_sensor.md ├── environment_sensor.md ├── equipment.md ├── equippable.md ├── explode.md ├── fall_damage.md ├── fire_immune.md ├── follow_range.md ├── healable.md ├── health.md ├── horse.jump_strength.md ├── hurt_when_wet.md ├── identifier.md ├── interact.md ├── inventory.md ├── is_baby.md ├── is_charged.md ├── is_chested.md ├── is_dyeable.md ├── is_ignited.md ├── is_saddled.md ├── is_sheared.md ├── is_stackable.md ├── is_tamed.md ├── is_trap.md ├── item_controllable.md ├── item_hopper.md ├── leashable.md ├── lookat.md ├── loot.md ├── monster.md ├── movement.md ├── nameable.md ├── npc.md ├── on_calm.md ├── on_target_accquired.md ├── on_target_escape.md ├── player.exhaustion.md ├── player.experience.md ├── player.level.md ├── player.saturation.md └── player_ride_tamed.md ├── files └── entity.md └── readme.md /components/addrider.md: -------------------------------------------------------------------------------- 1 | # Addrider 2 | 3 | This component adds a rider to the mob, this is used for spider jockeys. 4 | This component may need the ridable component to work correctly 5 | 6 | ## Parameters 7 | 8 | * `entity_type: String` - The mob to add. 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:addrider":{ 15 | "entity_type": "minecraft:skeleton" 16 | } 17 | } 18 | ```` -------------------------------------------------------------------------------- /components/ageable.md: -------------------------------------------------------------------------------- 1 | # Ageable 2 | 3 | This component controls the age of a mob that may be a "baby" 4 | 5 | ## Parameters 6 | 7 | * `duration: int` - time entity is a "baby", a duration of -1 is seen on zombie_pigmen in the baby state. 8 | * `threshold: int` - time entity is a "baby", seems to be used instead of duration in some cases, maybe this is a count up instead of a countdown? 9 | * `feedItems: string` - A single item to feed the entity 10 | * `feedItems: string[]` - A list of items to feed the entity 11 | * `feedItems: object[]` - A list of items in the following format, allowing different items to speed up ageing differently 12 | ````json 13 | { 14 | "item":"sugar", 15 | "growth": 0.025 16 | } 17 | ```` 18 | * `grow_up: object` - Sets which event to fire when the entity ages 19 | ````json 20 | { 21 | "event":"minecraft:event_name_here", 22 | "target":"self" 23 | } 24 | ```` 25 | ## Example 26 | From mule.json 27 | ````json 28 | { 29 | "minecraft:ageable":{ 30 | "duration": 1200, 31 | "feedItems": [ 32 | { 33 | "item": "wheat", 34 | "growth": 0.016667 35 | }, 36 | { 37 | "item": "sugar", 38 | "growth": 0.025 39 | }, 40 | { 41 | "item": "tile.hay_block", 42 | "growth": 0.15 43 | }, 44 | { 45 | "item": "apple", 46 | "growth": 0.05 47 | }, 48 | { 49 | "item": "golden_carrot", 50 | "growth": 0.05 51 | }, 52 | { 53 | "item": "golden_apple", 54 | "growth": 0.2 55 | }, 56 | { 57 | "item": "appleEnchanted", 58 | "growth": 0.2 59 | } 60 | ], 61 | "grow_up": { 62 | "event": "minecraft:ageable_grow_up", 63 | "target": "self" 64 | } 65 | } 66 | } 67 | ```` -------------------------------------------------------------------------------- /components/angry.md: -------------------------------------------------------------------------------- 1 | # Angry 2 | 3 | This component seems to be tied to mob "angriness" and swarm behaviours, such as silverfish, enderman and cave spiders? 4 | 5 | ## Parameters 6 | 7 | * `duration: int` - number of ticks to be angry once triggered? 8 | * `broadcastAnger: boolean` - Trigger anger in the nearby same mobs. 9 | * `broadcastRange: int` - Range in a determined radius to trigger anger to the same mobs that are in the range. 10 | * `calm_event: Object` - Settings for event to trigger when mob is no longer angry. 11 | ````json 12 | { 13 | "event": "event_name", 14 | "target": "self" 15 | } 16 | 17 | ## Example 18 | 19 | ````json 20 | { 21 | "minecraft:angry":{ 22 | "duration": 25, 23 | "broadcastAnger": true, 24 | "broadcastRange": 20, 25 | "calm_event": { 26 | "event": "minecraft:on_calm", 27 | "target": "self" 28 | } 29 | } 30 | ```` 31 | -------------------------------------------------------------------------------- /components/attack.md: -------------------------------------------------------------------------------- 1 | # Attack 2 | 3 | This component changes the damage a mob inflicts 4 | 5 | ## Parameters 6 | 7 | * `damage: int` - Damage the mob does (in half-hearts) 8 | * `range_min: int` - Used to make a varying damage per attack (used on iron golems) 9 | * `range_max: int` - Used to make a varying damage per attack (used on iron golems) 10 | * `effect_name: String` - Effect mob applies with damage (used by husks/withers) 11 | * `effect_duration: int` - Duration of effect in seconds? 12 | ## Example 13 | 14 | ````json 15 | { 16 | "minecraft:attack":{ 17 | "damage": 3, 18 | "effect_name": "hunger", 19 | "effect_duration": 30 20 | } 21 | } 22 | ```` -------------------------------------------------------------------------------- /components/attack_damage.md: -------------------------------------------------------------------------------- 1 | # Attack_damage 2 | 3 | This component is on ocelots, I'm not sure why 4 | 5 | ## Parameters 6 | 7 | * `value: int` - Damage the mob does (in half-hearts)?? 8 | ## Example 9 | 10 | ````json 11 | { 12 | "minecraft:attack_damage":{ 13 | "value": 4 14 | } 15 | } 16 | ```` -------------------------------------------------------------------------------- /components/boostable.md: -------------------------------------------------------------------------------- 1 | # Boostable 2 | 3 | This component speeds up an entity when a boost item is used (such as the carrot on a stick on a pig) 4 | 5 | ## Parameters 6 | 7 | * `speed_multiplier: int` - Increase speed by this multiplier 8 | * `duration: int` - how long speed is increased (seconds?) 9 | * `boost_items: Object[]` - List of items that can cause the boost 10 | ````json 11 | { 12 | "item":"itemanme", 13 | "item_damage":2, 14 | "replaceItem": "new_item_when_broken" 15 | } 16 | 17 | ## Example 18 | From pig.json 19 | ````json 20 | { 21 | "minecraft:boostable":{ 22 | "speed_multiplier": 2, 23 | "duration": 3, 24 | "boost_items": [ 25 | { 26 | "item": "carrotOnAStick", 27 | "item_damage": 2, 28 | "replaceItem": "fishing_rod" 29 | } 30 | ] 31 | } 32 | } 33 | ```` -------------------------------------------------------------------------------- /components/breathable.md: -------------------------------------------------------------------------------- 1 | # Breathable 2 | 3 | This component allows an entity to breathe underwater 4 | 5 | ## WARNING: NON-STANDARD FORMAT? 6 | The format of this component is inconsistent with other components, 7 | it does not follow the standard `minecraft:component` format!! 8 | This may be just data entry on Mojang's part for guardians. 9 | 10 | ## Parameters 11 | 12 | * `totalSupply: int` - Amount of air time for entity when it can't breathe before it suffocates 13 | * `suffocateTime: int` - When the entity suffocates? 14 | * `breathesWater: Boolean` - Sets if the entity can breathe underwater 15 | * `breathesAir: Boolean` - Sets if the entity can breathe air 16 | 17 | ## Example 18 | 19 | ````json 20 | { 21 | "breathable":{ 22 | "breathesWater": true 23 | } 24 | } 25 | ```` -------------------------------------------------------------------------------- /components/breedable.md: -------------------------------------------------------------------------------- 1 | # Breedable 2 | 3 | This component makes the entity able to make babies 4 | 5 | ## Parameters 6 | 7 | * `requireTame: boolean` - Entity must be tamed before hand (requires: tameable component?) 8 | * `inheritTamed: boolean` - The baby is born already tamed or not 9 | * `breedsWith: Object[]` - list of entities it can breed with, and what that breeding produces 10 | E.g. for a donkey, breeding with a donkey = a donkey, while breeding with a horse makes a mule instead 11 | ````json 12 | [ 13 | { 14 | "mateType": "minecraft:donkey", 15 | "babyType": "minecraft:donkey", 16 | "breed_event": { 17 | "event": "minecraft:entity_born", 18 | "target": "baby" 19 | } 20 | }, 21 | { 22 | "mateType": "minecraft:horse", 23 | "babyType": "minecraft:mule", 24 | "breed_event": { 25 | "event": "minecraft:entity_born", 26 | "target": "baby" 27 | } 28 | } 29 | ] 30 | ```` 31 | * `breedItems: String[]` - List of items that can make the entity go into breeding mode 32 | * `mutation_factor: Object` - A percentage for the babies to be born with a different skin than the parents ones? (found on rabbits) 33 | ````json 34 | { 35 | "variant": 0.2 36 | } 37 | ```` 38 | ## Example 39 | From horse.json 40 | ````json 41 | { 42 | "minecraft:breedable":{ 43 | "requireTame": true, 44 | "inheritTamed": false, 45 | "breedsWith": [ 46 | { 47 | "mateType": "minecraft:horse", 48 | "babyType": "minecraft:horse", 49 | "breed_event": { 50 | "event": "minecraft:entity_born", 51 | "target": "baby" 52 | } 53 | }, 54 | { 55 | "mateType": "minecraft:donkey", 56 | "babyType": "minecraft:mule", 57 | "breed_event": { 58 | "event": "minecraft:entity_born", 59 | "target": "baby" 60 | } 61 | } 62 | ], 63 | "breedItems": [ 64 | "golden_carrot", 65 | "golden_apple", 66 | "appleEnchanted" 67 | ] 68 | } 69 | } 70 | ```` 71 | -------------------------------------------------------------------------------- /components/burns_in_daylight.md: -------------------------------------------------------------------------------- 1 | # burns_in_daylight 2 | 3 | This component makes the mob ignite when in sunlight, found on zombies, skeletons, etc. 4 | 5 | ## Parameters 6 | 7 | None 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:burns_in_daylight":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/collision_box.md: -------------------------------------------------------------------------------- 1 | # collision_box 2 | 3 | This component sets the volume that is collidable for the entity. 4 | 5 | ## Parameters 6 | 7 | * `width: float` - Width of the box (both x and z axis) 8 | * `height: float` - Height of the box 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:collision_box":{ 15 | "width": 0.6, 16 | "height": 1.8 17 | } 18 | } 19 | ```` -------------------------------------------------------------------------------- /components/color.md: -------------------------------------------------------------------------------- 1 | # color 2 | 3 | This component sets color of sheep wool and wolf collars. 4 | 5 | ## Parameters 6 | 7 | * `value: int` - Width of the box (both x and z axis) 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:color":{ 14 | "value": 6 15 | } 16 | } 17 | ```` -------------------------------------------------------------------------------- /components/damage_sensor.md: -------------------------------------------------------------------------------- 1 | # damage_sensor 2 | 3 | This component allows a mob to detect specific damage dealt to it and react (creepers going super-saiyan etc) 4 | 5 | ## Parameters 6 | **NOTE:** damage_sensor takes an array as it's root, allowing it to have multiple entries. This is used by villagers 7 | to allow them to transform into witches on lightning strikes, or zombies when "bitten". 8 | 9 | * `on_damage: Object` - Handles which event to fire, and filtering based on type of damage and fatality 10 | * `deals_damage: boolean` - Does the event still deal damage 11 | 12 | ## Example 13 | 14 | ````json 15 | { 16 | "minecraft:damage_sensor":[ 17 | { 18 | "on_damage": { 19 | "filters": { 20 | "other_with_families": "lightning" 21 | }, 22 | "event": "become_witch" 23 | }, 24 | "deals_damage": false 25 | }, 26 | { 27 | "on_damage": { 28 | "filters": { 29 | "other_with_families": "zombie", 30 | "with_damage_fatal": true 31 | }, 32 | "event": "become_zombie" 33 | } 34 | } 35 | ] 36 | } 37 | ```` -------------------------------------------------------------------------------- /components/environment_sensor.md: -------------------------------------------------------------------------------- 1 | # environment_sensor 2 | 3 | This component allows a mob to detect specific damage dealt to it and react (creepers going super-saiyan etc) 4 | 5 | ## Parameters 6 | **NOTE:** environment\_sensor *MAY* take an array as it's root, allowing it to have multiple entries. 7 | This is speculated based on damage\_sensor but has not been seen in any vanilla data. 8 | 9 | * `on_environment: Object` - Handles which event to fire, and filtering based on environmental conditions 10 | 11 | ## Example 12 | 13 | ````json 14 | { 15 | "minecraft:environment_sensor":{ 16 | "on_environment": { 17 | "filters": { 18 | "with_environment_any": "brightness_greater:0.49" 19 | }, 20 | "event": "minecraft:become_neutral" 21 | } 22 | } 23 | 24 | } 25 | ```` -------------------------------------------------------------------------------- /components/equipment.md: -------------------------------------------------------------------------------- 1 | # equipment 2 | 3 | This component sets the equipment a mob is given. 4 | 5 | ## Parameters 6 | 7 | * `table: String` - The loottable to use for equiping a mob, for a skeleton, this is always a bow, and then random armor based on area difficulty. 8 | See loottables for more information. 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:equipment":{ 15 | "table": "loot_tables/entities/skeleton_gear.json" 16 | } 17 | 18 | } 19 | ```` 20 | -------------------------------------------------------------------------------- /components/equippable.md: -------------------------------------------------------------------------------- 1 | # equippable 2 | 3 | This component used by horses for saddles? 4 | 5 | ## Parameters 6 | 7 | * `slots: Object[]` - collection of items that an entity has, and what event to fire when equipped/unequipped. 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:equippable":{ 14 | "slots": [ 15 | { 16 | "item": "saddle", 17 | "on_equip": { 18 | "event": "minecraft:horse_saddled" 19 | }, 20 | "on_unequip": { 21 | "event": "minecraft:horse_unsaddled" 22 | } 23 | } 24 | ] 25 | } 26 | 27 | } 28 | ```` -------------------------------------------------------------------------------- /components/explode.md: -------------------------------------------------------------------------------- 1 | # explode 2 | *This section sponsered by The Torgue corporation* 3 | 4 | KABOOM! 5 | 6 | ## Parameters 7 | 8 | * `fuseLength: int or Object` - HOW LONG UNTIL KABOOM (object is `{range_min: 0.5, range_max:2}` for TNT when detonated by proximity) 9 | * `fuseLit: boolean` - UNKNOWN, MAYBE LETS YOU SWITCH OFF THE BOOM? WHY WOULD YOU DO THAT?! MAYBE IT LETS YOU HIDE THE EXPLOSION UNTIL IT EXPLODES? 10 | * `power: int` - HOW BIG A BOOM DO WE WANT 11 | * `causesFire: boolean` - FLAMES ARE A VITAL PART OF POST-EXPLOSION DESTRUCTION! 12 | ## Example 13 | FROM TNT.JSON 14 | ````json 15 | { 16 | "minecraft:explode":{ 17 | "fuseLength": 4, 18 | "fuseLit": true, 19 | "power": 4, 20 | "causesFire": false 21 | } 22 | 23 | } 24 | ```` 25 | FROM TNT.JSON, WHEN EXPLODED BY OTHER EXPLOSIONS 26 | ````json 27 | { 28 | "minecraft:explode":{ 29 | "fuseLength": { 30 | "range_min": 0.5, 31 | "range_max": 2 32 | }, 33 | "fuseLit": true, 34 | "power": 4, 35 | "causesFire": false 36 | } 37 | 38 | } 39 | ```` 40 | 41 | 42 | -------------------------------------------------------------------------------- /components/fall_damage.md: -------------------------------------------------------------------------------- 1 | # fall_damage 2 | 3 | This component sets the fall damage for a mob (a percentage maybe?). 4 | 5 | ## Parameters 6 | 7 | * `value: int/float` - UNKNOWN, maybe a float for % of raw fall damage to apply? 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:fall_damage":{ 14 | "value": 0 15 | } 16 | 17 | } 18 | ```` -------------------------------------------------------------------------------- /components/fire_immune.md: -------------------------------------------------------------------------------- 1 | # fire_immune 2 | 3 | This component makes a mob immune to fire/lava damage 4 | 5 | ## Parameters 6 | 7 | ## WARNING: NON-STANDARD FORMAT? 8 | The format of this component is inconsistent with other components, 9 | it does not follow the standard of an empty object for active components. 10 | 11 | ## Example 12 | 13 | ````json 14 | { 15 | "minecraft:fire_immune":true 16 | 17 | } 18 | ```` -------------------------------------------------------------------------------- /components/follow_range.md: -------------------------------------------------------------------------------- 1 | # follow_range 2 | 3 | This component sets how far a mob will follow something 4 | 5 | ## Parameters 6 | 7 | * `value: int` - distance to follow 8 | * `max: int` - max distance to follow? 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:follow_range":{ 15 | "value": 16, 16 | "max": 16 17 | } 18 | } 19 | ```` -------------------------------------------------------------------------------- /components/healable.md: -------------------------------------------------------------------------------- 1 | # healable 2 | 3 | This component makes you heal mobs by giving them determined items. 4 | 5 | ## Parameters 6 | 7 | * `items: String[] or Object[]` - List of items and their values or just items (unknown default heal value) 8 | ````json 9 | { 10 | "item":"golden_carrot", 11 | "heal_amount": 4 12 | } 13 | ```` 14 | ## Example 15 | 16 | ````json 17 | { 18 | "minecraft:healable":{ 19 | "items": [ 20 | { 21 | "item": "wheat", 22 | "heal_amount": 2 23 | }, 24 | { 25 | "item": "sugar", 26 | "heal_amount": 1 27 | }, 28 | { 29 | "item": "tile.hay_block", 30 | "heal_amount": 20 31 | }, 32 | { 33 | "item": "apple", 34 | "heal_amount": 3 35 | }, 36 | { 37 | "item": "golden_carrot", 38 | "heal_amount": 4 39 | }, 40 | { 41 | "item": "golden_apple", 42 | "heal_amount": 10 43 | }, 44 | { 45 | "item": "appleEnchanted", 46 | "heal_amount": 10 47 | } 48 | ] 49 | } 50 | 51 | } 52 | ```` 53 | -------------------------------------------------------------------------------- /components/health.md: -------------------------------------------------------------------------------- 1 | # health 2 | 3 | This component gives an entity a "health bar" 4 | 5 | ## Parameters 6 | 7 | * `min: int` - UNKNOWN, found on npc entity 8 | * `max: int` - max health 9 | * `value: int or Object` - health amount or a range object (as below) 10 | 11 | ## Example 12 | 13 | ````json 14 | { 15 | "minecraft:health":{ 16 | "min":10, 17 | "max":20, 18 | "value":{"range_min":15, "range_max":20}, 19 | "value": 18 20 | } 21 | 22 | } 23 | ```` -------------------------------------------------------------------------------- /components/horse.jump_strength.md: -------------------------------------------------------------------------------- 1 | # horse.jump_strength 2 | 3 | This component sets horse strength (instead of attributes, a replacement perhaps?) 4 | 5 | ## Parameters 6 | 7 | * `value: int or Object` - amount or a range object (as below) 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:horse.jump_strength":{ 14 | "value":{"range_min":0.4, "range_max": 1}, 15 | } 16 | 17 | } 18 | ```` -------------------------------------------------------------------------------- /components/hurt_when_wet.md: -------------------------------------------------------------------------------- 1 | # hurt_when_wet 2 | 3 | This component makes the entity take damage when in water 4 | 5 | ## Parameters 6 | 7 | * `value: boolean` - take damage 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:hurt_when_wet":{ 14 | "value": true 15 | } 16 | 17 | } 18 | ```` -------------------------------------------------------------------------------- /components/identifier.md: -------------------------------------------------------------------------------- 1 | # Identifier 2 | 3 | This component adds an id to the entity, allowing it to be referenced by the game. 4 | 5 | ## Parameters 6 | 7 | * `id: String` - The identifier to use. 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:identifier":{ 14 | "id": "minecraft:pig_zombie" 15 | } 16 | } 17 | ```` -------------------------------------------------------------------------------- /components/interact.md: -------------------------------------------------------------------------------- 1 | 2 | # interact 3 | 4 | Controls interaction with the entity when right clicked, such as creepers + flint and steel, cow milking, sheep shearing. 5 | 6 | ## Parameters 7 | 8 | * `on_interact: Object` - filters and such to handle when this interact instance should fire 9 | * `use_item: boolean` - Consume the item used perhaps? true for soup/milking 10 | * `transform_to_item: string` - Change the held item to a new one (bucket -> milk bucket) 11 | * `interact_text: string` - accessibility? 12 | * `event: String` - trigger event 13 | * `target: String` - entity to trigger event on 14 | * `hurt_item: int` - Change item's durability (shears used by shearing sheep) 15 | * `swing: boolean` - arm animation when using? 16 | * `play_sounds: string` - Make a noise when the interaction is performed (cow milking sound) 17 | * `spawn_items: String or Object` - Spawn in items (wool when shearing sheep), object of `{ "table":"path/to/loottable.json"}` 18 | * `cooldown: float` - time between successive interacts 19 | 20 | ## Example 21 | from mushroom_cow 22 | 23 | ````json 24 | { 25 | "minecraft:interact":[ 26 | { 27 | "on_interact": { 28 | "filters": { 29 | "other_with_item": "bowl", 30 | "other_with_families": "player", 31 | "without_components": "minecraft:transformation" 32 | } 33 | }, 34 | "use_item": "true", 35 | "transform_to_item": "mushroom_stew:0", 36 | "interact_text": "action.interact.moostew" 37 | }, 38 | { 39 | "on_interact": { 40 | "filters": { 41 | "other_with_item": "shears", 42 | "without_components": "minecraft:transformation" 43 | }, 44 | "event": "become_cow", 45 | "target": "self" 46 | }, 47 | "use_item": false, 48 | "hurt_item": 1, 49 | "play_sounds": "shear", 50 | "spawn_items": [ 51 | "red_mushroom", 52 | "red_mushroom", 53 | "red_mushroom", 54 | "red_mushroom", 55 | "red_mushroom" 56 | ], 57 | "interact_text": "action.interact.mooshear" 58 | }, 59 | { 60 | "on_interact": { 61 | "filters": { 62 | "other_with_item": "bucket:0", 63 | "other_with_families": "player" 64 | } 65 | }, 66 | "use_item": "true", 67 | "transform_to_item": "bucket:1", 68 | "play_sounds": "milk", 69 | "interact_text": "action.interact.milk" 70 | } 71 | ] 72 | } 73 | ```` 74 | 75 | from sheep.json (showing dropping items) 76 | 77 | ````json 78 | { 79 | "minecraft:interact": [ 80 | { 81 | "cooldown": 2.5, 82 | "use_item": false, 83 | "hurt_item": 1, 84 | "spawn_items": { "table": "loot_tables/entities/sheep_shear.json" }, 85 | "play_sounds": "shear", 86 | "interact_text": "action.interact.shear", 87 | "on_interact": { 88 | "filters": { 89 | "other_with_item": "shears", 90 | "other_with_families": "player", 91 | "with_components": "minecraft:is_dyeable", 92 | "without_components": "minecraft:is_baby" 93 | }, 94 | "event": "minecraft:on_sheared", 95 | "target": "self" 96 | } 97 | } 98 | ] 99 | } 100 | 101 | ```` -------------------------------------------------------------------------------- /components/inventory.md: -------------------------------------------------------------------------------- 1 | 2 | # inventory 3 | 4 | Grants the entity an inventory (note: not the creatures equipment inventory it appears, except for horses...) 5 | 6 | ## Parameters 7 | 8 | * `container_type: String` - Type of UI to show for this container 9 | * `inventory_size: int` - Number of slots for inventory 10 | * `can_be_siphoned_from: boolean` - Allow hopper interaction with inventory 11 | ## Example 12 | 13 | For chest minecart. 14 | 15 | ````json 16 | { 17 | "minecraft:inventory":{ 18 | "container_type": "minecart_chest", 19 | "inventory_size": 27, 20 | "can_be_siphoned_from": true 21 | } 22 | } 23 | ```` 24 | -------------------------------------------------------------------------------- /components/is_baby.md: -------------------------------------------------------------------------------- 1 | 2 | # is_baby 3 | 4 | Denotes entity is a baby mob 5 | 6 | ## Parameters 7 | 8 | None 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:is_baby":{} 15 | } 16 | ```` 17 | -------------------------------------------------------------------------------- /components/is_charged.md: -------------------------------------------------------------------------------- 1 | 2 | # is_charged 3 | 4 | Used to denote charged creeper 5 | 6 | ## Parameters 7 | 8 | ## Example 9 | 10 | ````json 11 | { 12 | "minecraft:is_charged":{} 13 | } 14 | ```` 15 | -------------------------------------------------------------------------------- /components/is_chested.md: -------------------------------------------------------------------------------- 1 | 2 | # is_chested 3 | 4 | Sets that a mob has a chest inventory (donkey, mule)? 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:is_chested":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/is_dyeable.md: -------------------------------------------------------------------------------- 1 | 2 | # is_dyeable 3 | 4 | Can use dyes to color mob (wolf collar, sheep) 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:is_dyeable":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/is_ignited.md: -------------------------------------------------------------------------------- 1 | 2 | # is_ignited 3 | 4 | used for tnt minecart. 5 | 6 | ## Parameters 7 | 8 | ## Example 9 | 10 | ````json 11 | { 12 | "minecraft:is_ignited":{} 13 | } 14 | ```` 15 | -------------------------------------------------------------------------------- /components/is_saddled.md: -------------------------------------------------------------------------------- 1 | 2 | # is_saddled 3 | 4 | On horses and pigs, controls if saddle shown maybe?? 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:is_saddled":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/is_sheared.md: -------------------------------------------------------------------------------- 1 | 2 | # is_sheared 3 | 4 | Used by sheep and snow golems 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:is_sheared":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/is_stackable.md: -------------------------------------------------------------------------------- 1 | 2 | # is_stackable 3 | 4 | Controls whether the entity's collision box is "solid", and other entities can stand atop / bump it. 5 | 6 | Used by boats and minecarts (This is what allows minecarts to be stacked atop one another). 7 | 8 | ## Parameters 9 | 10 | * `value: boolean` - true/false?? 11 | 12 | ## Example 13 | 14 | ````json 15 | { 16 | "minecraft:is_stackable":{ 17 | "value": true 18 | } 19 | } 20 | ```` 21 | -------------------------------------------------------------------------------- /components/is_tamed.md: -------------------------------------------------------------------------------- 1 | 2 | # is_tamed 3 | 4 | Used by tameable mobs, horses, wolfs and cats. 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:is_tamed":{ 14 | 15 | } 16 | } 17 | ```` 18 | -------------------------------------------------------------------------------- /components/is_trap.md: -------------------------------------------------------------------------------- 1 | 2 | # is_trap 3 | 4 | Used as part of skeleton horse lightning traps 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:is_trap":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/item_controllable.md: -------------------------------------------------------------------------------- 1 | 2 | # item_controllable 3 | 4 | Lets you control a mob when holding an item 5 | 6 | ## Parameters 7 | 8 | * `control_items: String | String[] ?` - items that allow control, may support multiple items?? 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:item_controllable":{ 15 | "control_items":"carrotOnAStick" 16 | } 17 | } 18 | ```` 19 | -------------------------------------------------------------------------------- /components/item_hopper.md: -------------------------------------------------------------------------------- 1 | 2 | # item_hopper 3 | 4 | Gives entity item hopper capabilities? 5 | 6 | ## Parameters 7 | 8 | ## Example 9 | 10 | ````json 11 | { 12 | "minecraft:item_hopper":{} 13 | } 14 | ```` 15 | -------------------------------------------------------------------------------- /components/leashable.md: -------------------------------------------------------------------------------- 1 | 2 | # leashable 3 | 4 | Allows mob to be attached to a leash. 5 | 6 | ## Parameters 7 | 8 | * `soft_distance: int` - Start moving when leash this long? 9 | * `hard_distance: int` - Pull mob harshly when leash this long? 10 | * `max_distance: int` - Break leash at this distance 11 | * `on_leash: Object` - Event to trigger when leashed 12 | * `on_unleash: Object` - Event to trigger when unleashed 13 | 14 | ## Example 15 | 16 | ````json 17 | { 18 | "minecraft:leashable":{ 19 | "soft_distance": 4, 20 | "hard_distance": 6, 21 | "max_distance": 10, 22 | "on_leash": { 23 | "event": "minecraft:on_leash", 24 | "target": "self" 25 | }, 26 | "on_unleash": { 27 | "event": "minecraft:on_unleash", 28 | "target": "self" 29 | } 30 | } 31 | } 32 | ```` 33 | -------------------------------------------------------------------------------- /components/lookat.md: -------------------------------------------------------------------------------- 1 | 2 | # lookat 3 | 4 | Make entity interact when looked at? 5 | 6 | ## Parameters 7 | 8 | * `searchRadius: int` - How far to look for lookers 9 | * `setTarget: boolean` - Set the entity looking at us as our target 10 | * `filters: Object` - Limit what kind of entity we want to trigger on. 11 | 12 | ## Example 13 | Enderman.json, target entities that look at us who are players, but not wearing pumpkins 14 | 15 | ````json 16 | { 17 | "minecraft:lookat":{ 18 | "searchRadius": 16, 19 | "setTarget": true, 20 | "filters": { 21 | "other_with_families": "player", 22 | "other_without_armor": [ 23 | "pumpkin", 24 | "lit_pumpkin" 25 | ] 26 | } 27 | } 28 | } 29 | ```` 30 | -------------------------------------------------------------------------------- /components/loot.md: -------------------------------------------------------------------------------- 1 | 2 | # loot 3 | 4 | Loot table for when entity is killed 5 | 6 | ## Parameters 7 | 8 | * `table: String` - Loot table to draw from 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:loot":{ 15 | "table": "loot_tables/entities/spider.json" 16 | } 17 | } 18 | ```` 19 | -------------------------------------------------------------------------------- /components/monster.md: -------------------------------------------------------------------------------- 1 | 2 | # monster 3 | 4 | Unknown, on guardians and zombie pigmen. 5 | 6 | ## Parameters 7 | 8 | 9 | ## Example 10 | 11 | ````json 12 | { 13 | "minecraft:monster":{} 14 | } 15 | ```` 16 | -------------------------------------------------------------------------------- /components/movement.md: -------------------------------------------------------------------------------- 1 | 2 | # movement 3 | 4 | How fast mob can move. 5 | 6 | ## Parameters 7 | 8 | * `value: float or object` - speed or range object (as below) 9 | 10 | ## Example 11 | from horse.json 12 | 13 | ````json 14 | { 15 | "minecraft:movement":{ 16 | "value": { 17 | "range_min": 0.1125, 18 | "range_max": 0.3375 19 | } 20 | } 21 | } 22 | ```` 23 | -------------------------------------------------------------------------------- /components/nameable.md: -------------------------------------------------------------------------------- 1 | 2 | # nameable 3 | 4 | Can entity be named 5 | 6 | ## Parameters 7 | 8 | * `alwaysShow: boolean` - Nameplate always visible 9 | * `allowNameTagRenaming: boolean` - Disallow renaming 10 | 11 | ## Example 12 | From player and npc json files 13 | 14 | ````json 15 | { 16 | "minecraft:nameable":{ 17 | "alwaysShow": true, 18 | "allowNameTagRenaming": false 19 | } 20 | } 21 | ```` 22 | 23 | other files 24 | 25 | ````json 26 | { 27 | "minecraft:nameable":{} 28 | } 29 | ```` -------------------------------------------------------------------------------- /components/npc.md: -------------------------------------------------------------------------------- 1 | 2 | # npc 3 | 4 | UNKNOWN, CANNOT SPAWN NPC 5 | 6 | ## Parameters 7 | 8 | ## Example 9 | 10 | ````json 11 | { 12 | "minecraft:npc":{} 13 | } 14 | ```` 15 | -------------------------------------------------------------------------------- /components/on_calm.md: -------------------------------------------------------------------------------- 1 | 2 | # on_calm 3 | 4 | Used by wolfs to provide an event when calmed 5 | 6 | ## Parameters 7 | 8 | * `event: String` - event to trigger 9 | * `target: String` - entity to target event on 10 | 11 | ## Example 12 | 13 | ````json 14 | { 15 | "minecraft:on_calm":{ 16 | "event": "minecraft:on_calm", 17 | "target": "self" 18 | } 19 | } 20 | ```` 21 | -------------------------------------------------------------------------------- /components/on_target_accquired.md: -------------------------------------------------------------------------------- 1 | 2 | # on_target_accquired 3 | 4 | Used to provide event triggering when a target is selected by a mob. 5 | 6 | ## Parameters 7 | 8 | * `event: String` - event to trigger 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:on_target_accquired":{ 15 | "event": "minecraft:become_angry" 16 | } 17 | } 18 | ```` 19 | -------------------------------------------------------------------------------- /components/on_target_escape.md: -------------------------------------------------------------------------------- 1 | 2 | # on_target_escape 3 | 4 | Used to trigger event when target is no longer available (used by creeper to stop exploding) 5 | 6 | ## Parameters 7 | 8 | * `event: String` - event to trigger 9 | * `target: String` - entity to target event on 10 | 11 | ## Example 12 | 13 | ````json 14 | { 15 | "minecraft:on_target_escape":{ 16 | "event": "minecraft:stop_exploding", 17 | "target": "self" 18 | } 19 | } 20 | ```` 21 | -------------------------------------------------------------------------------- /components/player.exhaustion.md: -------------------------------------------------------------------------------- 1 | 2 | # player.exhaustion 3 | 4 | Used to give player's exhaustion for hunger mechanics 5 | 6 | ## Parameters 7 | 8 | * `value: int` - current/start value 9 | * `max: int` - max value before it starts eating saturation? 10 | 11 | ## Example 12 | 13 | ````json 14 | { 15 | "minecraft:player.exhaustion":{ 16 | "value": 0, 17 | "max": 4 18 | } 19 | } 20 | ```` 21 | -------------------------------------------------------------------------------- /components/player.experience.md: -------------------------------------------------------------------------------- 1 | 2 | # player.experience 3 | 4 | Player's XP bar ? 5 | ## Parameters 6 | 7 | * `value: int` - ? 8 | * `max: int` - ? 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:player.experience":{ 15 | "value": 0, 16 | "max": 1 17 | } 18 | } 19 | ```` 20 | -------------------------------------------------------------------------------- /components/player.level.md: -------------------------------------------------------------------------------- 1 | 2 | # player.level 3 | 4 | XP levels for players? 5 | 6 | ## Parameters 7 | 8 | * `value: int` - start amount 9 | * `max: int` - max level? 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:player.level":{ 15 | "value": 0, 16 | "max": 24791 17 | } 18 | } 19 | ```` 20 | -------------------------------------------------------------------------------- /components/player.saturation.md: -------------------------------------------------------------------------------- 1 | 2 | # player.saturation 3 | 4 | Player hunger bar 5 | 6 | ## Parameters 7 | 8 | * `value: int` - size of the bar? 9 | 10 | ## Example 11 | 12 | ````json 13 | { 14 | "minecraft:player.saturation":{ 15 | "value": 20 16 | } 17 | } 18 | ```` 19 | -------------------------------------------------------------------------------- /components/player_ride_tamed.md: -------------------------------------------------------------------------------- 1 | 2 | # player_ride_tamed 3 | 4 | Lets player ride skeleton horses? 5 | 6 | ## Parameters 7 | 8 | ## Example 9 | 10 | ````json 11 | { 12 | "minecraft:player_ride_tamed":{} 13 | } 14 | ```` 15 | -------------------------------------------------------------------------------- /files/entity.md: -------------------------------------------------------------------------------- 1 | # Entity File format 2 | 3 | Each entity is represented by a JSON file 4 | detailing the construction of that entity using 5 | components and events. 6 | 7 | Components are further broken down into "permanent" components, 8 | always active and component groups, which can be toggled on and 9 | off by various events and behaviours. 10 | * `minecraft:entity` - Denotes this is entity data 11 | * `format_version` - The version value for the entity data, used to let the game know what type of data will be found, always 0.1 right now 12 | * `components` - A key-value set of components, each key is a component name, and the parameters are it's value 13 | * `component_groups` - A key-value set, denoting groups of components that can be added/removed together 14 | * `events` - A key-value set of events, containing actions to perform when the event is fired. 15 | 16 | ````json 17 | { 18 | "minecraft:entity":{ 19 | "format_version": 0.1, 20 | "components":{ 21 | "component_name":{ "param1":"value"} 22 | }, 23 | "component_groups": { 24 | "group_name":{ 25 | "component_name":{ "param1":"value"} 26 | } 27 | }, 28 | "events":{ 29 | "event_name":{ 30 | "event_action":{ 31 | "action_param": "value" 32 | } 33 | } 34 | } 35 | } 36 | } 37 | ```` 38 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | This repository contains information about the structures of the data files used to make behavior packs (add-ons) for MCPE (mobile / Win 10) 2 | --------------------------------------------------------------------------------