diff --git a/packages/minecraftBedrock/schema/block/main.json b/packages/minecraftBedrock/schema/block/main.json index 60d5795f..038f5048 100644 --- a/packages/minecraftBedrock/schema/block/main.json +++ b/packages/minecraftBedrock/schema/block/main.json @@ -230,7 +230,7 @@ "if": { "properties": { "format_version": { - "enum": ["1.21.10"] + "enum": ["1.21.10", "1.21.20"] } } }, diff --git a/packages/minecraftBedrock/schema/entity/main.json b/packages/minecraftBedrock/schema/entity/main.json index 03a678c1..37083a0a 100644 --- a/packages/minecraftBedrock/schema/entity/main.json +++ b/packages/minecraftBedrock/schema/entity/main.json @@ -317,6 +317,18 @@ "then": { "$ref": "./v1.21.10/main.json" } + }, + { + "if": { + "properties": { + "format_version": { + "enum": ["1.21.20"] + } + } + }, + "then": { + "$ref": "./v1.21.20/main.json" + } } ] } diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/annotations/_main.json b/packages/minecraftBedrock/schema/entity/v1.21.20/annotations/_main.json new file mode 100644 index 00000000..f3256ed9 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/annotations/_main.json @@ -0,0 +1,12 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "properties": { + "minecraft:annotation.open_door": { + "$ref": "../../v1.16.0/annotations/annotation.open_door.json" + }, + "minecraft:annotation.break_door": { + "$ref": "../../v1.16.0/annotations/annotation.break_door.json" + } + } +} diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/behaviors/_main.json b/packages/minecraftBedrock/schema/entity/v1.21.20/behaviors/_main.json new file mode 100644 index 00000000..f4919230 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/behaviors/_main.json @@ -0,0 +1,534 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "properties": { + "minecraft:behavior.dig": { + "$ref": "../../v1.19.10/behaviors/behavior.dig.json" + }, + "minecraft:behavior.go_and_give_items_to_noteblock": { + "$ref": "../../v1.19.0/behaviors/behavior.go_and_give_items_to_noteblock.json" + }, + "minecraft:behavior.go_and_give_items_to_owner": { + "$ref": "../../v1.19.0/behaviors/behavior.go_and_give_items_to_owner.json" + }, + "minecraft:behavior.croak": { + "$ref": "../../v1.19.0/behaviors/behavior.croak.json" + }, + "minecraft:behavior.eat_mob": { + "$ref": "../../v1.19.0/behaviors/behavior.eat_mob.json" + }, + "minecraft:behavior.emerge": { + "$ref": "../../v1.19.0/behaviors/behavior.emerge.json" + }, + "minecraft:behavior.investigate_suspicious_location": { + "$ref": "../../v1.19.0/behaviors/behavior.investigate_suspicious_location.json" + }, + "minecraft:behavior.roar": { + "$ref": "../../v1.19.0/behaviors/behavior.roar.json" + }, + "minecraft:behavior.sniff": { + "$ref": "../../v1.19.0/behaviors/behavior.sniff.json" + }, + "minecraft:behavior.stay_near_noteblock": { + "$ref": "../../v1.19.0/behaviors/behavior.stay_near_noteblock.json" + }, + "minecraft:behavior.random_search_and_dig": { + "$ref": "../../v1.20.40/behaviors/behavior.random_search_and_dig.json" + }, + "minecraft:behavior.timer_flag_1": { + "$ref": "../../v1.20.40/behaviors/behavior.timer_flag_1.json" + }, + "minecraft:behavior.timer_flag_2": { + "$ref": "../../v1.20.40/behaviors/behavior.timer_flag_2.json" + }, + "minecraft:behavior.timer_flag_3": { + "$ref": "../../v1.20.40/behaviors/behavior.timer_flag_3.json" + }, + "minecraft:behavior.feeling_happy": { + "$ref": "../../v1.20.40/behaviors/behavior.feeling_happy.json" + }, + "minecraft:behavior.rising": { + "$ref": "../../v1.20.40/behaviors/behavior.rising.json" + }, + "minecraft:behavior.scenting": { + "$ref": "../../v1.20.40/behaviors/behavior.scenting.json" + }, + "minecraft:behavior.trade_with_player": { + "$ref": "../../v1.19.60/behaviors/behavior.trade_with_player.json" + }, + "minecraft:behavior.float": { + "$ref": "../../v1.19.50/behaviors/behavior.float.json" + }, + "minecraft:behavior.take_flower": { + "$ref": "../../v1.19.50/behaviors/behavior.take_flower.json" + }, + "minecraft:behavior.random_look_around": { + "$ref": "../../v1.19.50/behaviors/behavior.random_look_around.json" + }, + "minecraft:behavior.random_look_around_and_sit": { + "$ref": "../../v1.20.40/behaviors/behavior.random_look_around_and_sit.json" + }, + "minecraft:behavior.offer_flower": { + "$ref": "../../v1.19.50/behaviors/behavior.offer_flower.json" + }, + "minecraft:behavior.play": { + "$ref": "../../v1.19.40/behaviors/behavior.play.json" + }, + "minecraft:behavior.wither_target_highest_damage": { + "$ref": "../../v1.19.80/behaviors/behavior.wither_target_highest_damage.json" + }, + "minecraft:behavior.vex_copy_owner_target": { + "$ref": "../../v1.19.80/behaviors/behavior.vex_copy_owner_target.json" + }, + "minecraft:behavior.swim_with_entity": { + "$ref": "../../v1.19.20/behaviors/behavior.swim_with_entity.json" + }, + "minecraft:behavior.sneeze": { + "$ref": "../../v1.19.80/behaviors/behavior.sneeze.json" + }, + "minecraft:behavior.share_items": { + "$ref": "../../v1.19.80/behaviors/behavior.share_items.json" + }, + "minecraft:behavior.owner_hurt_target": { + "$ref": "../../v1.19.80/behaviors/behavior.owner_hurt_target.json" + }, + "minecraft:behavior.owner_hurt_by_target": { + "$ref": "../../v1.19.80/behaviors/behavior.owner_hurt_by_target.json" + }, + "minecraft:behavior.nearest_attackable_target": { + "$ref": "../../v1.19.20/behaviors/behavior.nearest_attackable_target.json" + }, + "minecraft:behavior.hurt_by_target": { + "$ref": "../../v1.19.80/behaviors/behavior.hurt_by_target.json" + }, + "minecraft:behavior.follow_caravan": { + "$ref": "../../v1.19.80/behaviors/behavior.follow_caravan.json" + }, + "minecraft:behavior.drop_item_for": { + "$ref": "../../v1.19.20/behaviors/behavior.drop_item_for.json" + }, + "minecraft:behavior.delayed_attack": { + "$ref": "../../v1.19.20/behaviors/behavior.delayed_attack.json" + }, + "minecraft:behavior.defend_village_target": { + "$ref": "../../v1.19.20/behaviors/behavior.defend_village_target.json" + }, + "minecraft:behavior.defend_trusted_target": { + "$ref": "../../v1.19.80/behaviors/behavior.defend_trusted_target.json" + }, + "minecraft:behavior.avoid_mob_type": { + "$ref": "../../v1.19.20/behaviors/behavior.avoid_mob_type.json" + }, + "minecraft:behavior.nearest_prioritized_attackable_target": { + "$ref": "../../v1.19.80/behaviors/behavior.nearest_prioritized_attackable_target.json" + }, + "minecraft:behavior.drink_milk": { + "$ref": "../../v1.19.10/behaviors/behavior.drink_milk.json" + }, + "minecraft:behavior.pickup_items": { + "$ref": "../../v1.19.0/behaviors/behavior.pickup_items.json" + }, + "minecraft:behavior.move_to_block": { + "$ref": "../../v1.19.0/behaviors/behavior.move_to_block.json" + }, + "minecraft:behavior.sleep": { + "$ref": "../../v1.19.0/behaviors/behavior.sleep.json" + }, + "minecraft:behavior.follow_owner": { + "$ref": "../../../project/experimentalGameplay/theWildUpdate.json", + "then": { + "$ref": "../../v1.18.30/behaviors/behavior.follow_owner.json" + }, + "else": { + "$ref": "../../v1.16.0/behaviors/behavior.follow_owner.json" + } + }, + "minecraft:behavior.work_composter": { + "$ref": "../../v1.18.30/behaviors/behavior.work_composter.json" + }, + "minecraft:behavior.knockback_roar": { + "$ref": "../../v1.18.20/behaviors/behavior.knockback_roar.json" + }, + "minecraft:behavior.go_home": { + "$ref": "../../v1.18.20/behaviors/behavior.go_home.json" + }, + "minecraft:behavior.lay_egg": { + "$ref": "../../v1.18.10/behaviors/behavior.lay_egg.json" + }, + "minecraft:behavior.melee_attack": { + "$ref": "../../v1.20.30/behaviors/behavior.melee_attack.json" + }, + "minecraft:behavior.melee_box_attack": { + "$ref": "../../v1.20.50/behaviors/behavior.melee_box_attack.json" + }, + "minecraft:behavior.play_dead": { + "$ref": "../../v1.16.220/behaviors/behavior.play_dead.json" + }, + "minecraft:behavior.jump_to_block": { + "$ref": "../../v1.16.200/behaviors/behavior.jump_to_block.json" + }, + "minecraft:behavior.ram_attack": { + "$ref": "../../v1.16.200/behaviors/behavior.ram_attack.json" + }, + "minecraft:behavior.move_towards_dwelling_restriction": { + "$ref": "../../v1.16.100/behaviors/behavior.move_towards_dwelling_restriction.json" + }, + "minecraft:behavior.move_towards_home_restriction": { + "$ref": "../../v1.16.100/behaviors/behavior.move_towards_home_restriction.json" + }, + "minecraft:behavior.send_event": { + "$ref": "../../v1.16.100/behaviors/behavior.send_event.json" + }, + "minecraft:behavior.admire_item": { + "$ref": "../../v1.16.0/behaviors/behavior.admire_item.json" + }, + "minecraft:behavior.avoid_block": { + "$ref": "../../v1.16.0/behaviors/behavior.avoid_block.json" + }, + "minecraft:behavior.barter": { + "$ref": "../../v1.16.0/behaviors/behavior.barter.json" + }, + "minecraft:behavior.beg": { + "$ref": "../../v1.16.0/behaviors/behavior.beg.json" + }, + "minecraft:behavior.break_door": { + "$ref": "../../v1.16.0/behaviors/behavior.break_door.json" + }, + "minecraft:behavior.breed": { + "$ref": "../../v1.16.0/behaviors/behavior.breed.json" + }, + "minecraft:behavior.celebrate_survive": { + "$ref": "../../v1.16.0/behaviors/behavior.celebrate_survive.json" + }, + "minecraft:behavior.celebrate": { + "$ref": "../../v1.16.0/behaviors/behavior.celebrate.json" + }, + "minecraft:behavior.charge_attack": { + "$ref": "../../v1.16.0/behaviors/behavior.charge_attack.json" + }, + "minecraft:behavior.charge_held_item": { + "$ref": "../../v1.16.0/behaviors/behavior.charge_held_item.json" + }, + "minecraft:behavior.circle_around_anchor": { + "$ref": "../../v1.16.0/behaviors/behavior.circle_around_anchor.json" + }, + "minecraft:behavior.controlled_by_player": { + "$ref": "../../v1.16.0/behaviors/behavior.controlled_by_player.json" + }, + "minecraft:behavior.door_interact": { + "$ref": "../../v1.16.0/behaviors/behavior.door_interact.json" + }, + "minecraft:behavior.drink_potion": { + "$ref": "../../v1.16.0/behaviors/behavior.drink_potion.json" + }, + "minecraft:behavior.dragonlanding": { + "$ref": "../../v1.16.0/behaviors/behavior.dragonlanding.json" + }, + "minecraft:behavior.dragonscanning": { + "$ref": "../../v1.16.0/behaviors/behavior.dragonscanning.json" + }, + "minecraft:behavior.dragontakeoff": { + "$ref": "../../v1.16.0/behaviors/behavior.dragontakeoff.json" + }, + "minecraft:behavior.dragonchargeplayer": { + "$ref": "../../v1.16.0/behaviors/behavior.dragonchargeplayer.json" + }, + "minecraft:behavior.dragonstrafeplayer": { + "$ref": "../../v1.16.0/behaviors/behavior.dragonstrafeplayer.json" + }, + "minecraft:behavior.dragonholdingpattern": { + "$ref": "../../v1.16.0/behaviors/behavior.dragonholdingpattern.json" + }, + "minecraft:behavior.dragondeath": { + "$ref": "../../v1.16.0/behaviors/behavior.dragondeath.json" + }, + "minecraft:behavior.dragonflaming": { + "$ref": "../../v1.16.0/behaviors/behavior.dragonflaming.json" + }, + "minecraft:behavior.eat_block": { + "$ref": "../../v1.16.0/behaviors/behavior.eat_block.json" + }, + "minecraft:behavior.eat_carried_item": { + "$ref": "../../v1.16.0/behaviors/behavior.eat_carried_item.json" + }, + "minecraft:behavior.enderman_leave_block": { + "$ref": "../../v1.16.0/behaviors/behavior.enderman_leave_block.json" + }, + "minecraft:behavior.enderman_take_block": { + "$ref": "../../v1.16.0/behaviors/behavior.enderman_take_block.json" + }, + "minecraft:behavior.equip_item": { + "$ref": "../../v1.16.0/behaviors/behavior.equip_item.json" + }, + "minecraft:behavior.explore_outskirts": { + "$ref": "../../v1.16.0/behaviors/behavior.explore_outskirts.json" + }, + "minecraft:behavior.fertilize_farm_block": { + "$ref": "../../v1.16.0/behaviors/behavior.fertilize_farm_block.json" + }, + "minecraft:behavior.find_cover": { + "$ref": "../../v1.16.0/behaviors/behavior.find_cover.json" + }, + "minecraft:behavior.find_mount": { + "$ref": "../../v1.16.0/behaviors/behavior.find_mount.json" + }, + "minecraft:behavior.find_underwater_treasure": { + "$ref": "../../v1.16.0/behaviors/behavior.find_underwater_treasure.json" + }, + "minecraft:behavior.flee_sun": { + "$ref": "../../v1.16.0/behaviors/behavior.flee_sun.json" + }, + "minecraft:behavior.float_wander": { + "$ref": "../../v1.16.0/behaviors/behavior.float_wander.json" + }, + "minecraft:behavior.follow_mob": { + "$ref": "../../v1.16.0/behaviors/behavior.follow_mob.json" + }, + "minecraft:behavior.follow_parent": { + "$ref": "../../v1.16.0/behaviors/behavior.follow_parent.json" + }, + "minecraft:behavior.follow_target_captain": { + "$ref": "../../v1.16.0/behaviors/behavior.follow_target_captain.json" + }, + "minecraft:behavior.guardian_attack": { + "$ref": "../../v1.16.0/behaviors/behavior.guardian_attack.json" + }, + "minecraft:behavior.harvest_farm_block": { + "$ref": "../../v1.16.0/behaviors/behavior.harvest_farm_block.json" + }, + "minecraft:behavior.hide": { + "$ref": "../../v1.16.0/behaviors/behavior.hide.json" + }, + "minecraft:behavior.hold_ground": { + "$ref": "../../v1.16.0/behaviors/behavior.hold_ground.json" + }, + "minecraft:behavior.hover": { + "$ref": "../../v1.16.0/behaviors/behavior.hover.json" + }, + "minecraft:behavior.inspect_bookshelf": { + "$ref": "../../v1.16.0/behaviors/behavior.inspect_bookshelf.json" + }, + "minecraft:behavior.lay_down": { + "$ref": "../../v1.16.0/behaviors/behavior.lay_down.json" + }, + "minecraft:behavior.leap_at_target": { + "$ref": "../../v1.16.0/behaviors/behavior.leap_at_target.json" + }, + "minecraft:behavior.look_at_entity": { + "$ref": "../../v1.16.0/behaviors/behavior.look_at_entity.json" + }, + "minecraft:behavior.look_at_player": { + "$ref": "../../v1.16.0/behaviors/behavior.look_at_player.json" + }, + "minecraft:behavior.look_at_target": { + "$ref": "../../v1.16.0/behaviors/behavior.look_at_target.json" + }, + "minecraft:behavior.look_at_trading_player": { + "$ref": "../../v1.16.0/behaviors/behavior.look_at_trading_player.json" + }, + "minecraft:behavior.make_love": { + "$ref": "../../v1.16.0/behaviors/behavior.make_love.json" + }, + "minecraft:behavior.mingle": { + "$ref": "../../v1.16.0/behaviors/behavior.mingle.json" + }, + "minecraft:behavior.mount_pathing": { + "$ref": "../../v1.16.0/behaviors/behavior.mount_pathing.json" + }, + "minecraft:behavior.move_indoors": { + "$ref": "../../v1.16.0/behaviors/behavior.move_indoors.json" + }, + "minecraft:behavior.move_outdoors": { + "$ref": "../../v1.16.0/behaviors/behavior.move_outdoors.json" + }, + "minecraft:behavior.move_through_village": { + "$ref": "../../v1.16.0/behaviors/behavior.move_through_village.json" + }, + "minecraft:behavior.move_towards_target": { + "$ref": "../../v1.16.0/behaviors/behavior.move_towards_target.json" + }, + "minecraft:behavior.move_to_land": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_land.json" + }, + "minecraft:behavior.move_to_poi": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_poi.json" + }, + "minecraft:behavior.move_to_lava": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_lava.json" + }, + "minecraft:behavior.move_to_liquid": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_liquid.json" + }, + "minecraft:behavior.move_to_random_block": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_random_block.json" + }, + "minecraft:behavior.move_to_village": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_village.json" + }, + "minecraft:behavior.move_to_water": { + "$ref": "../../v1.16.0/behaviors/behavior.move_to_water.json" + }, + "minecraft:behavior.nap": { + "$ref": "../../v1.16.0/behaviors/behavior.nap.json" + }, + "minecraft:behavior.ocelotattack": { + "$ref": "../../v1.16.0/behaviors/behavior.ocelotattack.json" + }, + "minecraft:behavior.ocelot_sit_on_block": { + "$ref": "../../v1.16.0/behaviors/behavior.ocelot_sit_on_block.json" + }, + "minecraft:behavior.open_door": { + "$ref": "../../v1.16.0/behaviors/behavior.open_door.json" + }, + "minecraft:behavior.panic": { + "$ref": "../../v1.16.0/behaviors/behavior.panic.json" + }, + "minecraft:behavior.peek": { + "$ref": "../../v1.16.0/behaviors/behavior.peek.json" + }, + "minecraft:behavior.pet_sleep_with_owner": { + "$ref": "../../v1.16.0/behaviors/behavior.pet_sleep_with_owner.json" + }, + "minecraft:behavior.player_ride_tamed": { + "$ref": "../../v1.16.0/behaviors/behavior.player_ride_tamed.json" + }, + "minecraft:behavior.raid_garden": { + "$ref": "../../v1.16.0/behaviors/behavior.raid_garden.json" + }, + "minecraft:behavior.random_breach": { + "$ref": "../../v1.16.0/behaviors/behavior.random_breach.json" + }, + "minecraft:behavior.random_fly": { + "$ref": "../../v1.16.0/behaviors/behavior.random_fly.json" + }, + "minecraft:behavior.random_hover": { + "$ref": "../../v1.16.0/behaviors/behavior.random_hover.json" + }, + "minecraft:behavior.random_sitting": { + "$ref": "../../v1.16.0/behaviors/behavior.random_sitting.json" + }, + "minecraft:behavior.random_stroll": { + "$ref": "../../v1.16.0/behaviors/behavior.random_stroll.json" + }, + "minecraft:behavior.random_swim": { + "$ref": "../../v1.16.0/behaviors/behavior.random_swim.json" + }, + "minecraft:behavior.ranged_attack": { + "$ref": "../../v1.16.0/behaviors/behavior.ranged_attack.json" + }, + "minecraft:behavior.recieve_love": { + "$ref": "../../v1.16.0/behaviors/behavior.recieve_love.json" + }, + "minecraft:behavior.restrict_sun": { + "$ref": "../../v1.16.0/behaviors/behavior.restrict_sun.json" + }, + "minecraft:behavior.restrict_open_door": { + "$ref": "../../v1.16.0/behaviors/behavior.restrict_open_door.json" + }, + "minecraft:behavior.rise_to_liquid_level": { + "$ref": "../../v1.16.0/behaviors/behavior.rise_to_liquid_level.json" + }, + "minecraft:behavior.roll": { + "$ref": "../../v1.16.0/behaviors/behavior.roll.json" + }, + "minecraft:behavior.run_around_like_crazy": { + "$ref": "../../v1.16.0/behaviors/behavior.run_around_like_crazy.json" + }, + "minecraft:behavior.scared": { + "$ref": "../../v1.16.0/behaviors/behavior.scared.json" + }, + "minecraft:behavior.skeleton_horse_trap": { + "$ref": "../../v1.16.0/behaviors/behavior.skeleton_horse_trap.json" + }, + "minecraft:behavior.silverfish_wake_up_friends": { + "$ref": "../../v1.16.0/behaviors/behavior.silverfish_wake_up_friends.json" + }, + "minecraft:behavior.silverfish_merge_with_stone": { + "$ref": "../../v1.16.0/behaviors/behavior.silverfish_merge_with_stone.json" + }, + "minecraft:behavior.slime_float": { + "$ref": "../../v1.16.0/behaviors/behavior.slime_float.json" + }, + "minecraft:behavior.slime_attack": { + "$ref": "../../v1.16.0/behaviors/behavior.slime_attack.json" + }, + "minecraft:behavior.slime_random_direction": { + "$ref": "../../v1.16.0/behaviors/behavior.slime_random_direction.json" + }, + "minecraft:behavior.slime_keep_on_jumping": { + "$ref": "../../v1.16.0/behaviors/behavior.slime_keep_on_jumping.json" + }, + "minecraft:behavior.snacking": { + "$ref": "../../v1.16.0/behaviors/behavior.snacking.json" + }, + "minecraft:behavior.squid_move_away_from_ground": { + "$ref": "../../v1.16.0/behaviors/behavior.squid_move_away_from_ground.json" + }, + "minecraft:behavior.squid_flee": { + "$ref": "../../v1.16.0/behaviors/behavior.squid_flee.json" + }, + "minecraft:behavior.squid_idle": { + "$ref": "../../v1.16.0/behaviors/behavior.squid_idle.json" + }, + "minecraft:behavior.squid_dive": { + "$ref": "../../v1.16.0/behaviors/behavior.squid_dive.json" + }, + "minecraft:behavior.squid_out_of_water": { + "$ref": "../../v1.16.0/behaviors/behavior.squid_out_of_water.json" + }, + "minecraft:behavior.stalk_and_pounce_on_target": { + "$ref": "../../v1.16.0/behaviors/behavior.stalk_and_pounce_on_target.json" + }, + "minecraft:behavior.stay_while_sitting": { + "$ref": "../../v1.16.0/behaviors/behavior.stay_while_sitting.json" + }, + "minecraft:behavior.stomp_attack": { + "$ref": "../../v1.16.0/behaviors/behavior.stomp_attack.json" + }, + "minecraft:behavior.stomp_turtle_egg": { + "$ref": "../../v1.16.0/behaviors/behavior.stomp_turtle_egg.json" + }, + "minecraft:behavior.stroll_towards_village": { + "$ref": "../../v1.16.0/behaviors/behavior.stroll_towards_village.json" + }, + "minecraft:behavior.summon_entity": { + "$ref": "../../v1.16.0/behaviors/behavior.summon_entity.json" + }, + "minecraft:behavior.swell": { + "$ref": "../../v1.16.0/behaviors/behavior.swell.json" + }, + "minecraft:behavior.swim_idle": { + "$ref": "../../v1.16.0/behaviors/behavior.swim_idle.json" + }, + "minecraft:behavior.swim_wander": { + "$ref": "../../v1.16.0/behaviors/behavior.swim_wander.json" + }, + "minecraft:behavior.swoop_attack": { + "$ref": "../../v1.16.0/behaviors/behavior.swoop_attack.json" + }, + "minecraft:behavior.tempt": { + "$ref": "../../v1.16.0/behaviors/behavior.tempt.json" + }, + "minecraft:behavior.trade_interest": { + "$ref": "../../v1.16.0/behaviors/behavior.trade_interest.json" + }, + "minecraft:behavior.vex_random_move": { + "$ref": "../../v1.16.0/behaviors/behavior.vex_random_move.json" + }, + "minecraft:behavior.wither_random_attack_pos_goal": { + "$ref": "../../v1.16.0/behaviors/behavior.wither_random_attack_pos_goal.json" + }, + "minecraft:behavior.work": { + "$ref": "../../v1.16.0/behaviors/behavior.work.json" + }, + "minecraft:behavior.fire_at_target": { + "$ref": "../../v1.20.60/behaviors/behavior.fire_at_target.json" + }, + "minecraft:behavior.move_away_from_target": { + "$ref": "../../v1.20.60/behaviors/behavior.move_away_from_target.json" + }, + "minecraft:behavior.jump_around_target": { + "$ref": "../../v1.20.60/behaviors/behavior.jump_around_target.json" + } + } +} diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/behaviors/behavior.swim_up_for_breath.json b/packages/minecraftBedrock/schema/entity/v1.21.20/behaviors/behavior.swim_up_for_breath.json new file mode 100644 index 00000000..a2ee5771 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/behaviors/behavior.swim_up_for_breath.json @@ -0,0 +1,32 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "Fire at Target", + "additionalProperties": false, + "type": "object", + "properties": { + "priority": { + "$ref": "../../general/v1.16.0/behaviorPriority.json" + }, + "material_type": { + "title": "Material Type", + "description": "The material the mob is traveling in. An air block will only be considered valid to move to with a block of this material below it.", + "type": "string", + "enum": ["water", "lava", "any"] + }, + "search_height": { + "title": "Search Height", + "description": "The height (in blocks) above the mob's current position that it will search for a valid air block to move to. If a valid block cannot be found, the mob will move to the position this many blocks above it.", + "type": "integer" + }, + "search_radius": { + "title": "Search Radius", + "description": "The radius (in blocks) around the mob's current position that it will search for a valid air block to move to.", + "type": "integer" + }, + "speed_mod": { + "title": "Speed Mod", + "description": "Movement speed multiplier of the mob when using this Goal.", + "type": "number" + } + } +} diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/components/_main.json b/packages/minecraftBedrock/schema/entity/v1.21.20/components/_main.json new file mode 100644 index 00000000..f3a48823 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/components/_main.json @@ -0,0 +1,557 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "properties": { + "minecraft:vibration_listener": { + "$ref": "../../v1.18.30/components/vibration_listener.json" + }, + "minecraft:anger_level": { + "$ref": "../../v1.19.0/components/anger_level.json" + }, + "minecraft:heartbeat": { + "$ref": "../../v1.19.0/components/heartbeat.json" + }, + "minecraft:suspect_tracking": { + "$ref": "../../v1.19.0/components/suspect_tracking.json" + }, + "minecraft:vibration_damper": { + "$ref": "../../v1.19.0/components/vibration_damper.json" + }, + "minecraft:variable_max_auto_step": { + "$ref": "../../v1.19.60/components/variable_max_auto_step.json" + }, + "minecraft:shooter": { + "$ref": "../../v1.19.60/components/shooter.json" + }, + "minecraft:inventory": { + "$ref": "../../v1.19.60/components/inventory.json" + }, + "minecraft:physics": { + "$ref": "../../v1.19.50/components/physics.json" + }, + "minecraft:area_attack": { + "$ref": "../../v1.19.50/components/area_attack.json" + }, + "minecraft:dash": { + "$ref": "../../v1.19.50/components/dash.json" + }, + "minecraft:game_event_movement_tracking": { + "$ref": "../../v1.19.20/components/game_event_movement_tracking.json" + }, + "minecraft:mob_effect": { + "$ref": "../../v1.19.0/components/mob_effect.json" + }, + "minecraft:movement_sound_distance_offset": { + "$ref": "../../v1.19.0/components/movement_sound_distance_offset.json" + }, + "minecraft:ambient_sound_interval": { + "$ref": "../../v1.19.0/components/ambient_sound_interval.json" + }, + "minecraft:interact": { + "$ref": "../../v1.20.80/components/interact.json" + }, + "minecraft:block_sensor": { + "$ref": "../../v1.18.30/components/block_sensor.json" + }, + "minecraft:exhaustion_values": { + "$ref": "../../v1.18.30/components/exhaustion_values.json" + }, + "minecraft:shareables": { + "$ref": "../../v1.18.20/components/shareables.json" + }, + "minecraft:block_climber": { + "$ref": "../../v1.17.10/components/block_climber.json" + }, + "minecraft:body_rotation_blocked": { + "$ref": "../../v1.20.80/components/body_rotation_blocked.json" + }, + "minecraft:drying_out_timer": { + "$ref": "../../v1.17.0/components/drying_out_timer.json" + }, + "minecraft:genetics": { + "$ref": "../../v1.17.0/components/genetics.json" + }, + "minecraft:ageable": { + "$ref": "../../v1.20.60/components/ageable.json" + }, + "minecraft:combat_regeneration": { + "$ref": "../../v1.16.220/components/combat_regeneration.json" + }, + "minecraft:breedable": { + "$ref": "../../v1.16.220/components/breedable.json" + }, + "minecraft:damage_sensor": { + "$ref": "../../v1.16.200/components/damage_sensor.json" + }, + "minecraft:navigation.climb": { + "$ref": "../../v1.16.200/components/navigation.climb.json" + }, + "minecraft:navigation.float": { + "$ref": "../../v1.16.200/components/navigation.float.json" + }, + "minecraft:navigation.fly": { + "$ref": "../../v1.16.200/components/navigation.fly.json" + }, + "minecraft:navigation.generic": { + "$ref": "../../v1.16.200/components/navigation.generic.json" + }, + "minecraft:navigation.hover": { + "$ref": "../../v1.16.200/components/navigation.hover.json" + }, + "minecraft:navigation.swim": { + "$ref": "../../v1.16.200/components/navigation.swim.json" + }, + "minecraft:navigation.walk": { + "$ref": "../../v1.16.200/components/navigation.walk.json" + }, + "minecraft:bribeable": { + "$ref": "../../v1.16.100/components/bribeable.json" + }, + "minecraft:inside_block_notifier": { + "$ref": "../../v1.16.100/components/inside_block_notifier.json" + }, + "minecraft:conditional_bandwidth_optimization": { + "$ref": "../../v1.16.100/components/conditional_bandwidth_optimization.json" + }, + "minecraft:equippable": { + "$ref": "../../v1.16.100/components/equippable.json" + }, + "minecraft:giveable": { + "$ref": "../../v1.16.100/components/giveable.json" + }, + "minecraft:healable": { + "$ref": "../../v1.16.100/components/healable.json" + }, + "minecraft:out_of_control": { + "$ref": "../../v1.16.100/components/out_of_control.json" + }, + "minecraft:tamemount": { + "$ref": "../../v1.16.100/components/tamemount.json" + }, + "minecraft:addrider": { + "$ref": "../../v1.16.0/components/addrider.json" + }, + "minecraft:admire_item": { + "$ref": "../../v1.16.0/components/admire_item.json" + }, + "minecraft:angry": { + "$ref": "../../v1.16.0/components/angry.json" + }, + "minecraft:attack": { + "$ref": "../../v1.16.0/components/attack.json" + }, + "minecraft:attack_cooldown": { + "$ref": "../../v1.16.0/components/attack_cooldown.json" + }, + "minecraft:attack_damage": { + "$ref": "../../v1.16.0/components/attack_damage.json" + }, + "minecraft:balloonable": { + "$ref": "../../v1.16.0/components/balloonable.json" + }, + "minecraft:barter": { + "$ref": "../../v1.16.0/components/barter.json" + }, + "minecraft:boostable": { + "$ref": "../../v1.16.0/components/boostable.json" + }, + "minecraft:boss": { + "$ref": "../../v1.16.0/components/boss.json" + }, + "minecraft:break_blocks": { + "$ref": "../../v1.16.0/components/break_blocks.json" + }, + "minecraft:breathable": { + "$ref": "../../v1.16.0/components/breathable.json" + }, + "minecraft:buoyant": { + "$ref": "../../v1.16.0/components/buoyant.json" + }, + "minecraft:burns_in_daylight": { + "$ref": "../../v1.16.0/components/burns_in_daylight.json" + }, + "minecraft:can_climb": { + "$ref": "../../v1.16.0/components/can_climb.json" + }, + "minecraft:can_fly": { + "$ref": "../../v1.16.0/components/can_fly.json" + }, + "minecraft:celebrate_hunt": { + "$ref": "../../v1.16.0/components/celebrate_hunt.json" + }, + "minecraft:collision_box": { + "$ref": "../../v1.16.0/components/collision_box.json" + }, + "minecraft:color": { + "$ref": "../../v1.16.0/components/color.json" + }, + "minecraft:color2": { + "$ref": "../../v1.16.0/components/color2.json" + }, + "minecraft:custom_hit_test": { + "$ref": "../../v1.16.0/components/custom_hit_test.json" + }, + "minecraft:damage_over_time": { + "$ref": "../../v1.16.0/components/damage_over_time.json" + }, + "minecraft:default_look_angle": { + "$ref": "../../v1.16.0/components/default_look_angle.json" + }, + "minecraft:despawn": { + "$ref": "../../v1.16.0/components/despawn.json" + }, + "minecraft:dweller": { + "$ref": "../../v1.16.0/components/dweller.json" + }, + "minecraft:economy_trade_table": { + "$ref": "../../v1.16.0/components/economy_trade_table.json" + }, + "minecraft:environment_sensor": { + "$ref": "../../v1.16.0/components/environment_sensor.json" + }, + "minecraft:entity_sensor": { + "$ref": "../../v1.20.70/components/entity_sensor.json" + }, + "minecraft:equipment": { + "$ref": "../../v1.16.0/components/equipment.json" + }, + "minecraft:equip_item": { + "$ref": "../../v1.16.0/components/equip_item.json" + }, + "minecraft:experience_reward": { + "$ref": "../../v1.16.0/components/experience_reward.json" + }, + "minecraft:explode": { + "$ref": "../../v1.16.0/components/explode.json" + }, + "minecraft:fire_immune": { + "$ref": "../../v1.16.0/components/fire_immune.json" + }, + "minecraft:floats_in_liquid": { + "$ref": "../../v1.16.0/components/floats_in_liquid.json" + }, + "minecraft:flocking": { + "$ref": "../../v1.16.0/components/flocking.json" + }, + "minecraft:flying_speed": { + "$ref": "../../v1.16.0/components/flying_speed.json" + }, + "minecraft:follow_range": { + "$ref": "../../v1.16.0/components/follow_range.json" + }, + "minecraft:friction_modifier": { + "$ref": "../../v1.16.0/components/friction_modifier.json" + }, + "minecraft:ground_offset": { + "$ref": "../../v1.16.0/components/ground_offset.json" + }, + "minecraft:group_size": { + "$ref": "../../v1.16.0/components/group_size.json" + }, + "minecraft:grows_crop": { + "$ref": "../../v1.16.0/components/grows_crop.json" + }, + "minecraft:health": { + "$ref": "../../v1.16.0/components/health.json" + }, + "minecraft:hide": { + "$ref": "../../v1.16.0/components/hide.json" + }, + "minecraft:home": { + "$ref": "../../v1.16.0/components/home.json" + }, + "minecraft:horse.jump_strength": { + "$ref": "../../v1.16.0/components/horse.jump_strength.json" + }, + "minecraft:hurt_on_condition": { + "$ref": "../../v1.16.0/components/hurt_on_condition.json" + }, + "minecraft:input_ground_controlled": { + "$ref": "../../v1.16.0/components/input_ground_controlled.json" + }, + "minecraft:insomnia": { + "$ref": "../../v1.16.0/components/insomnia.json" + }, + "minecraft:instant_despawn": { + "$ref": "../../v1.16.0/components/instant_despawn.json" + }, + "minecraft:is_baby": { + "$ref": "../../v1.16.0/components/is_baby.json" + }, + "minecraft:is_charged": { + "$ref": "../../v1.16.0/components/is_charged.json" + }, + "minecraft:is_chested": { + "$ref": "../../v1.16.0/components/is_chested.json" + }, + "minecraft:is_dyeable": { + "$ref": "../../v1.16.0/components/is_dyeable.json" + }, + "minecraft:is_hidden_when_invisible": { + "$ref": "../../v1.16.0/components/is_hidden_when_invisible.json" + }, + "minecraft:is_ignited": { + "$ref": "../../v1.16.0/components/is_ignited.json" + }, + "minecraft:is_illager_captain": { + "$ref": "../../v1.16.0/components/is_illager_captain.json" + }, + "minecraft:is_saddled": { + "$ref": "../../v1.16.0/components/is_saddled.json" + }, + "minecraft:is_shaking": { + "$ref": "../../v1.16.0/components/is_shaking.json" + }, + "minecraft:is_sheared": { + "$ref": "../../v1.16.0/components/is_sheared.json" + }, + "minecraft:is_stackable": { + "$ref": "../../v1.16.0/components/is_stackable.json" + }, + "minecraft:is_stunned": { + "$ref": "../../v1.16.0/components/is_stunned.json" + }, + "minecraft:is_tamed": { + "$ref": "../../v1.16.0/components/is_tamed.json" + }, + "minecraft:item_controllable": { + "$ref": "../../v1.16.0/components/item_controllable.json" + }, + "minecraft:item_hopper": { + "$ref": "../../v1.16.0/components/item_hopper.json" + }, + "minecraft:jump.static": { + "$ref": "../../v1.16.0/components/jump.static.json" + }, + "minecraft:jump.dynamic": { + "$ref": "../../v1.16.0/components/jump.dynamic.json" + }, + "minecraft:knockback_resistance": { + "$ref": "../../v1.16.0/components/knockback_resistance.json" + }, + "minecraft:lava_movement": { + "$ref": "../../v1.16.0/components/lava_movement.json" + }, + "minecraft:leashable": { + "$ref": "../../v1.16.0/components/leashable.json" + }, + "minecraft:lookat": { + "$ref": "../../v1.16.0/components/lookat.json" + }, + "minecraft:loot": { + "$ref": "../../v1.16.0/components/loot.json" + }, + "minecraft:managed_wandering_trader": { + "$ref": "../../v1.16.0/components/managed_wandering_trader.json" + }, + "minecraft:mark_variant": { + "$ref": "../../v1.16.0/components/mark_variant.json" + }, + "minecraft:movement": { + "$ref": "../../v1.16.0/components/movement.json" + }, + "minecraft:movement.amphibious": { + "$ref": "../../v1.16.0/components/movement.amphibious.json" + }, + "minecraft:movement.basic": { + "$ref": "../../v1.16.0/components/movement.basic.json" + }, + "minecraft:movement.fly": { + "$ref": "../../v1.16.0/components/movement.fly.json" + }, + "minecraft:movement.generic": { + "$ref": "../../v1.16.0/components/movement.generic.json" + }, + "minecraft:movement.hover": { + "$ref": "../../v1.16.0/components/movement.hover.json" + }, + "minecraft:movement.jump": { + "$ref": "../../v1.16.0/components/movement.jump.json" + }, + "minecraft:movement.glide": { + "$ref": "../../v1.16.0/components/movement.glide.json" + }, + "minecraft:skin_id": { + "$ref": "../../v1.16.0/components/skin_id.json" + }, + "minecraft:movement.skip": { + "$ref": "../../v1.16.0/components/movement.skip.json" + }, + "minecraft:movement.sway": { + "$ref": "../../v1.16.0/components/movement.sway.json" + }, + "minecraft:nameable": { + "$ref": "../../v1.16.0/components/nameable.json" + }, + "minecraft:npc": { + "$ref": "../../v1.16.0/components/npc.json" + }, + "minecraft:on_death": { + "$ref": "../../v1.16.0/components/on_death.json" + }, + "minecraft:on_friendly_anger": { + "$ref": "../../v1.16.0/components/on_friendly_anger.json" + }, + "minecraft:on_hurt": { + "$ref": "../../v1.16.0/components/on_hurt.json" + }, + "minecraft:on_hurt_by_player": { + "$ref": "../../v1.16.0/components/on_hurt_by_player.json" + }, + "minecraft:on_ignite": { + "$ref": "../../v1.16.0/components/on_ignite.json" + }, + "minecraft:on_start_landing": { + "$ref": "../../v1.16.0/components/on_start_landing.json" + }, + "minecraft:on_start_takeoff": { + "$ref": "../../v1.16.0/components/on_start_takeoff.json" + }, + "minecraft:on_target_acquired": { + "$ref": "../../v1.16.0/components/on_target_acquired.json" + }, + "minecraft:on_target_escape": { + "$ref": "../../v1.16.0/components/on_target_escape.json" + }, + "minecraft:on_wake_with_owner": { + "$ref": "../../v1.16.0/components/on_wake_with_owner.json" + }, + "minecraft:peek": { + "$ref": "../../v1.16.0/components/peek.json" + }, + "minecraft:persistent": { + "$ref": "../../v1.16.0/components/persistent.json" + }, + "minecraft:player.saturation": { + "$ref": "../../v1.16.0/components/player.saturation.json" + }, + "minecraft:player.exhaustion": { + "$ref": "../../v1.16.0/components/player.exhaustion.json" + }, + "minecraft:player.level": { + "$ref": "../../v1.16.0/components/player.level.json" + }, + "minecraft:player.experience": { + "$ref": "../../v1.16.0/components/player.experience.json" + }, + "minecraft:pushable": { + "$ref": "../../v1.16.0/components/pushable.json" + }, + "minecraft:push_through": { + "$ref": "../../v1.16.0/components/push_through.json" + }, + "minecraft:preferred_path": { + "$ref": "../../v1.16.0/components/preferred_path.json" + }, + "minecraft:projectile": { + "$ref": "../../v1.21.10/components/projectile.json" + }, + "minecraft:raid_trigger": { + "$ref": "../../v1.16.0/components/raid_trigger.json" + }, + "minecraft:rail_movement": { + "$ref": "../../v1.16.0/components/rail_movement.json" + }, + "minecraft:rail_sensor": { + "$ref": "../../v1.16.0/components/rail_sensor.json" + }, + "minecraft:ravager_blocked": { + "$ref": "../../v1.16.0/components/ravager_blocked.json" + }, + "minecraft:rideable": { + "$ref": "../../v1.19.80/components/rideable.json" + }, + "minecraft:scale": { + "$ref": "../../v1.16.0/components/scale.json" + }, + "minecraft:scale_by_age": { + "$ref": "../../v1.16.0/components/scale_by_age.json" + }, + "minecraft:scheduler": { + "$ref": "../../v1.16.0/components/scheduler.json" + }, + "minecraft:sittable": { + "$ref": "../../v1.16.0/components/sittable.json" + }, + "minecraft:sound_volume": { + "$ref": "../../v1.16.0/components/sound_volume.json" + }, + "minecraft:spawn_entity": { + "$ref": "../../v1.16.0/components/spawn_entity.json" + }, + "minecraft:spell_effects": { + "$ref": "../../v1.16.0/components/spell_effects.json" + }, + "minecraft:strength": { + "$ref": "../../v1.16.0/components/strength.json" + }, + "minecraft:tameable": { + "$ref": "../../v1.16.0/components/tameable.json" + }, + "minecraft:target_nearby_sensor": { + "$ref": "../../v1.16.0/components/target_nearby_sensor.json" + }, + "minecraft:teleport": { + "$ref": "../../v1.16.0/components/teleport.json" + }, + "minecraft:tick_world": { + "$ref": "../../v1.16.0/components/tick_world.json" + }, + "minecraft:timer": { + "$ref": "../../v1.16.0/components/timer.json" + }, + "minecraft:trade_resupply": { + "$ref": "../../v1.16.0/components/trade_resupply.json" + }, + "minecraft:trade_table": { + "$ref": "../../v1.16.0/components/trade_table.json" + }, + "minecraft:trail": { + "$ref": "../../v1.16.0/components/trail.json" + }, + "minecraft:transformation": { + "$ref": "../../v1.16.0/components/transformation.json" + }, + "minecraft:trusting": { + "$ref": "../../v1.16.0/components/trusting.json" + }, + "minecraft:trust": { + "$ref": "../../v1.16.0/components/trust.json" + }, + "minecraft:type_family": { + "$ref": "../../v1.16.0/components/type_family.json" + }, + "minecraft:underwater_movement": { + "$ref": "../../v1.16.0/components/underwater_movement.json" + }, + "minecraft:variant": { + "$ref": "../../v1.16.0/components/variant.json" + }, + "minecraft:walk_animation_speed": { + "$ref": "../../v1.16.0/components/walk_animation_speed.json" + }, + "minecraft:wants_jockey": { + "$ref": "../../v1.16.0/components/wants_jockey.json" + }, + "minecraft:water_movement": { + "$ref": "../../v1.16.0/components/water_movement.json" + }, + "minecraft:can_join_raid": { + "$ref": "../../v1.20.50/components/can_join_raid.json" + }, + "minecraft:reflect_projectiles": { + "$ref": "../../v1.20.60/components/reflect_projectiles.json" + }, + "minecraft:wind_burst": { + "$ref": "../../v1.20.70/components/wind_burst.json" + }, + + // Deprecated + "minecraft:scaffolding_climber": { + "$ref": "../../v1.17.10/components/scaffolding_climber.json" + }, + "minecraft:foot_size": { + "$ref": "../../v1.16.0/components/foot_size.json" + } + } +} diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/description.json b/packages/minecraftBedrock/schema/entity/v1.21.20/description.json new file mode 100644 index 00000000..64b42161 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/description.json @@ -0,0 +1,215 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "additionalProperties": false, + "properties": { + "identifier": { + "title": "Identifier", + "$ref": "../../general/reference/prefixedFileIdentifier.json" + }, + "runtime_identifier": { + "title": "Runtime Identifiers", + "$ref": "../../general/reference/identifiers.json#/definitions/entity_identifiers" + }, + "is_spawnable": { + "title": "Is Spawnable", + "description": "Whether this entity should have a spawn egg.", + "type": "boolean" + }, + "is_summonable": { + "title": "Is Summonable", + "description": "Whether this entity can be summoned with commands.", + "type": "boolean" + }, + "is_experimental": { + "title": "Is Experimental", + "description": "Whether the entity requires experimental gameplay.", + "type": "boolean" + }, + "animations": { + "title": "Animations", + "description": "List server animations and animation controllers to be used in this entity.", + "type": "object", + "allOf": [ + { + "$ref": "../../animation/dynamic/shortNameProperty.json" + }, + { + "$ref": "../../animationController/dynamic/shortNameProperty.json" + }, + { + "patternProperties": { + ".*": { + "$ref": "../../general/reference/serverAnimation.json" + } + } + } + ] + }, + "scripts": { + "title": "Scripts", + "type": "object", + "properties": { + "animate": { + "title": "Animate", + "description": "Animations to run on this entity.", + "type": "array", + "items": { + "anyOf": [ + { + "$ref": "../dynamic/currentContext/animationEnum.json" + }, + { + "type": "object", + "propertyNames": { + "$ref": "../dynamic/currentContext/animationEnum.json" + }, + "patternProperties": { + ".*": { + "$ref": "../../molang/embedded.json" + } + } + } + ] + } + } + } + }, + "properties": { + "title": "Properties", + "type": "object", + "patternProperties": { + ".*": { + "type": "object", + "required": ["type"], + "properties": { + "type": { + "title": "Type", + "description": "The data type of the property.", + "type": "string", + "enum": ["int", "float", "bool", "enum"] + } + }, + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "type": { + "const": "bool" + }, + "client_sync": { + "title": "Client Sync", + "description": "Defaults to false, allows the property to be queried on the client.", + "type": "boolean", + "default": false + }, + "default": { + "title": "Default", + "description": "The default value of the property, supports a boolean value or a molang string.", + "$ref": "../../molang/embedded.json" + } + } + }, + { + "additionalProperties": false, + "properties": { + "type": { + "const": "int" + }, + "client_sync": { + "title": "Client Sync", + "description": "Defaults to false, allows the property to be queried on the client.", + "type": "boolean", + "default": false + }, + "default": { + "title": "Default", + "description": "The default value of the property, supports an integer value or a molang string.", + "$ref": "../../molang/embedded.json" + }, + "range": { + "title": "Range", + "description": "The range of values of the property.", + "type": "array", + "items": { + "type": "integer" + }, + "minItems": 2, + "maxItems": 2 + } + } + }, + { + "additionalProperties": false, + "properties": { + "type": { + "const": "float" + }, + "client_sync": { + "title": "Client Sync", + "description": "Defaults to false, allows the property to be queried on the client.", + "type": "boolean", + "default": false + }, + "default": { + "title": "Default", + "description": "The default value of the property, supports a float value or a molang string.", + "$ref": "../../molang/embedded.json" + }, + "range": { + "title": "Range", + "description": "The range of values of the property.", + "type": "array", + "items": { + "type": "number" + }, + "minItems": 2, + "maxItems": 2 + } + } + }, + { + "additionalProperties": false, + "properties": { + "type": { + "const": "enum" + }, + "client_sync": { + "title": "Client Sync", + "description": "Defaults to false, allows the property to be queried on the client.", + "type": "boolean", + "default": false + }, + "default": { + "title": "Default", + "description": "The default value of the property, supports an enum value or a molang string.", + "$ref": "../../molang/embedded.json" + }, + "values": { + "title": "Values", + "description": "The enum values of the property.", + "type": "array", + "items": { + "type": "string" + }, + "minItems": 1 + } + } + } + ] + } + } + }, + "spawn_category": { + "title": "Spawn Category", + "type": "string", + "enum": [ + "ambient", + "axolotls", + "creature", + "monster", + "water_ambient" + ] + } + } +} diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/event.json b/packages/minecraftBedrock/schema/entity/v1.21.20/event.json new file mode 100644 index 00000000..736cfb95 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/event.json @@ -0,0 +1,98 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "allOf": [ + { + "$ref": "../../event/componentGroup/add.json" + }, + { + "$ref": "../../event/componentGroup/remove.json" + }, + { + "$ref": "../../event/v1.16.100/triggerEntity.json" + }, + { + "properties": { + "randomize": { + "title": "Randomize", + "type": "array", + "items": { + "allOf": [ + { + "properties": { + "weight": { + "title": "Weight", + "type": "number" + }, + "filters": { + "title": "Filters", + "$ref": "../general/v1.16.0/filter.json" + } + } + }, + { + "$ref": "#" + } + ] + } + }, + "sequence": { + "title": "Sequence", + "type": "array", + "items": { + "allOf": [ + { + "properties": { + "filters": { + "title": "Filters", + "$ref": "../general/v1.16.0/filter.json" + } + } + }, + { + "$ref": "#" + } + ] + } + }, + "filters": { + "title": "Filters", + "$ref": "../general/v1.16.0/filter.json" + } + } + }, + { + "$ref": "../../event/v1.18.30/damage.json" + }, + { + "$ref": "../../event/v1.16.200/decrementStack.json" + }, + { + "$ref": "../../event/v1.16.100/die.json" + }, + { + "$ref": "../../event/v1.16.100/addMobEffect.json" + }, + { + "$ref": "../../event/v1.16.100/removeMobEffect.json" + }, + { + "$ref": "../../event/v1.20.60/runCommand.json" + }, + { + "$ref": "../../event/v1.20.60/queueCommand.json" + }, + { + "$ref": "../../event/v1.16.100/teleport.json" + }, + { + "$ref": "../../event/v1.16.100/transformItem.json" + }, + { + "$ref": "../../event/v1.19.50/setProperty.json" + }, + { + "$ref": "../../event/v1.20.60/emitVibration.json" + } + ] +} diff --git a/packages/minecraftBedrock/schema/entity/v1.21.20/main.json b/packages/minecraftBedrock/schema/entity/v1.21.20/main.json new file mode 100644 index 00000000..08f7dd14 --- /dev/null +++ b/packages/minecraftBedrock/schema/entity/v1.21.20/main.json @@ -0,0 +1,87 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "properties": { + "minecraft:entity": { + "title": "Entity Definition", + "required": ["description"], + "type": "object", + "properties": { + "description": { + "title": "Description", + "$ref": "./description.json" + }, + "components": { + "title": "Components", + "allOf": [ + { + "$ref": "./annotations/_main.json" + }, + { + "$ref": "./behaviors/_main.json" + }, + { + "$ref": "./components/_main.json" + }, + { + "$ref": "../dynamic/customComponents.json" + } + ] + }, + "component_groups": { + "title": "Component Groups", + "allOf": [ + { + "$ref": "../../project/projectPrefix.json" + }, + { + "additionalProperties": { + "allOf": [ + { + "$ref": "./annotations/_main.json" + }, + { + "$ref": "./behaviors/_main.json" + }, + { + "$ref": "./components/_main.json" + }, + { + "$ref": "../dynamic/customComponents.json" + } + ] + } + } + ] + }, + "events": { + "title": "Events", + "type": "object", + "allOf": [ + { + "$ref": "../dynamic/currentContext/eventReferenceProperty.json" + }, + { + "$ref": "../general/v1.16.0/builtInEvent.json" + }, + { + "$ref": "../../project/projectPrefix.json" + }, + { + "patternProperties": { + ".*": { + "$ref": "./event.json" + } + } + } + ] + }, + "do_not_upgrade": { + "title": "Do Not Upgrade", + "type": "object", + "additionalProperties": false + } + } + } + } +} diff --git a/packages/minecraftBedrock/schema/general/vanilla/identifiers.json b/packages/minecraftBedrock/schema/general/vanilla/identifiers.json index f8102461..d129c7e6 100644 --- a/packages/minecraftBedrock/schema/general/vanilla/identifiers.json +++ b/packages/minecraftBedrock/schema/general/vanilla/identifiers.json @@ -188,6 +188,7 @@ "minecraft:chiseled_deepslate", "minecraft:chiseled_nether_bricks", "minecraft:chiseled_polished_blackstone", + "minecraft:chiseled_sandstone", "minecraft:chiseled_stone_bricks", "minecraft:chiseled_tuff", "minecraft:chiseled_tuff_bricks", @@ -250,6 +251,7 @@ "minecraft:cut_copper_stairs", "minecraft:cut_red_sandstone_double_slab", "minecraft:cut_red_sandstone_slab", + "minecraft:cut_sandstone", "minecraft:cut_sandstone_double_slab", "minecraft:cut_sandstone_slab", "minecraft:cyan_candle", @@ -263,6 +265,7 @@ "minecraft:cyan_stained_glass_pane", "minecraft:cyan_terracotta", "minecraft:cyan_wool", + "minecraft:dandelion", "minecraft:dark_oak_button", "minecraft:dark_oak_door", "minecraft:dark_oak_double_slab", @@ -633,7 +636,22 @@ "minecraft:lava", "minecraft:lectern", "minecraft:lever", - "minecraft:light_block", + "minecraft:light_block_0", + "minecraft:light_block_1", + "minecraft:light_block_10", + "minecraft:light_block_11", + "minecraft:light_block_12", + "minecraft:light_block_13", + "minecraft:light_block_14", + "minecraft:light_block_15", + "minecraft:light_block_2", + "minecraft:light_block_3", + "minecraft:light_block_4", + "minecraft:light_block_5", + "minecraft:light_block_6", + "minecraft:light_block_7", + "minecraft:light_block_8", + "minecraft:light_block_9", "minecraft:light_blue_candle", "minecraft:light_blue_candle_cake", "minecraft:light_blue_carpet", @@ -948,6 +966,7 @@ "minecraft:smooth_red_sandstone_double_slab", "minecraft:smooth_red_sandstone_slab", "minecraft:smooth_red_sandstone_stairs", + "minecraft:smooth_sandstone", "minecraft:smooth_sandstone_double_slab", "minecraft:smooth_sandstone_slab", "minecraft:smooth_sandstone_stairs", @@ -1157,7 +1176,6 @@ "minecraft:yellow_carpet", "minecraft:yellow_concrete", "minecraft:yellow_concrete_powder", - "minecraft:yellow_flower", "minecraft:yellow_glazed_terracotta", "minecraft:yellow_shulker_box", "minecraft:yellow_stained_glass", @@ -1353,6 +1371,7 @@ "chiseled_deepslate", "chiseled_nether_bricks", "chiseled_polished_blackstone", + "chiseled_sandstone", "chiseled_stone_bricks", "chiseled_tuff", "chiseled_tuff_bricks", @@ -1415,6 +1434,7 @@ "cut_copper_stairs", "cut_red_sandstone_double_slab", "cut_red_sandstone_slab", + "cut_sandstone", "cut_sandstone_double_slab", "cut_sandstone_slab", "cyan_candle", @@ -1428,6 +1448,7 @@ "cyan_stained_glass_pane", "cyan_terracotta", "cyan_wool", + "dandelion", "dark_oak_button", "dark_oak_door", "dark_oak_double_slab", @@ -1798,7 +1819,22 @@ "lava", "lectern", "lever", - "light_block", + "light_block_0", + "light_block_1", + "light_block_10", + "light_block_11", + "light_block_12", + "light_block_13", + "light_block_14", + "light_block_15", + "light_block_2", + "light_block_3", + "light_block_4", + "light_block_5", + "light_block_6", + "light_block_7", + "light_block_8", + "light_block_9", "light_blue_candle", "light_blue_candle_cake", "light_blue_carpet", @@ -2113,6 +2149,7 @@ "smooth_red_sandstone_double_slab", "smooth_red_sandstone_slab", "smooth_red_sandstone_stairs", + "smooth_sandstone", "smooth_sandstone_double_slab", "smooth_sandstone_slab", "smooth_sandstone_stairs", @@ -2322,7 +2359,6 @@ "yellow_carpet", "yellow_concrete", "yellow_concrete_powder", - "yellow_flower", "yellow_glazed_terracotta", "yellow_shulker_box", "yellow_stained_glass", @@ -2592,6 +2628,7 @@ "minecraft:chiseled_deepslate", "minecraft:chiseled_nether_bricks", "minecraft:chiseled_polished_blackstone", + "minecraft:chiseled_sandstone", "minecraft:chiseled_stone_bricks", "minecraft:chiseled_tuff", "minecraft:chiseled_tuff_bricks", @@ -2687,6 +2724,7 @@ "minecraft:cut_copper_stairs", "minecraft:cut_red_sandstone_double_slab", "minecraft:cut_red_sandstone_slab", + "minecraft:cut_sandstone", "minecraft:cut_sandstone_double_slab", "minecraft:cut_sandstone_slab", "minecraft:cyan_candle", @@ -2701,6 +2739,7 @@ "minecraft:cyan_stained_glass_pane", "minecraft:cyan_terracotta", "minecraft:cyan_wool", + "minecraft:dandelion", "minecraft:danger_pottery_sherd", "minecraft:dark_oak_boat", "minecraft:dark_oak_button", @@ -3239,6 +3278,22 @@ "minecraft:lectern", "minecraft:lever", "minecraft:light_block", + "minecraft:light_block_0", + "minecraft:light_block_1", + "minecraft:light_block_10", + "minecraft:light_block_11", + "minecraft:light_block_12", + "minecraft:light_block_13", + "minecraft:light_block_14", + "minecraft:light_block_15", + "minecraft:light_block_2", + "minecraft:light_block_3", + "minecraft:light_block_4", + "minecraft:light_block_5", + "minecraft:light_block_6", + "minecraft:light_block_7", + "minecraft:light_block_8", + "minecraft:light_block_9", "minecraft:light_blue_candle", "minecraft:light_blue_candle_cake", "minecraft:light_blue_carpet", @@ -3697,6 +3752,7 @@ "minecraft:smooth_red_sandstone_double_slab", "minecraft:smooth_red_sandstone_slab", "minecraft:smooth_red_sandstone_stairs", + "minecraft:smooth_sandstone", "minecraft:smooth_sandstone_double_slab", "minecraft:smooth_sandstone_slab", "minecraft:smooth_sandstone_stairs", @@ -3990,7 +4046,6 @@ "minecraft:yellow_concrete", "minecraft:yellow_concrete_powder", "minecraft:yellow_dye", - "minecraft:yellow_flower", "minecraft:yellow_glazed_terracotta", "minecraft:yellow_shulker_box", "minecraft:yellow_stained_glass", @@ -4265,6 +4320,7 @@ "chiseled_deepslate", "chiseled_nether_bricks", "chiseled_polished_blackstone", + "chiseled_sandstone", "chiseled_stone_bricks", "chiseled_tuff", "chiseled_tuff_bricks", @@ -4360,6 +4416,7 @@ "cut_copper_stairs", "cut_red_sandstone_double_slab", "cut_red_sandstone_slab", + "cut_sandstone", "cut_sandstone_double_slab", "cut_sandstone_slab", "cyan_candle", @@ -4374,6 +4431,7 @@ "cyan_stained_glass_pane", "cyan_terracotta", "cyan_wool", + "dandelion", "danger_pottery_sherd", "dark_oak_boat", "dark_oak_button", @@ -4912,6 +4970,22 @@ "lectern", "lever", "light_block", + "light_block_0", + "light_block_1", + "light_block_10", + "light_block_11", + "light_block_12", + "light_block_13", + "light_block_14", + "light_block_15", + "light_block_2", + "light_block_3", + "light_block_4", + "light_block_5", + "light_block_6", + "light_block_7", + "light_block_8", + "light_block_9", "light_blue_candle", "light_blue_candle_cake", "light_blue_carpet", @@ -5370,6 +5444,7 @@ "smooth_red_sandstone_double_slab", "smooth_red_sandstone_slab", "smooth_red_sandstone_stairs", + "smooth_sandstone", "smooth_sandstone_double_slab", "smooth_sandstone_slab", "smooth_sandstone_stairs", @@ -5663,7 +5738,6 @@ "yellow_concrete", "yellow_concrete_powder", "yellow_dye", - "yellow_flower", "yellow_glazed_terracotta", "yellow_shulker_box", "yellow_stained_glass", diff --git a/packages/minecraftBedrock/schema/geometry/main.json b/packages/minecraftBedrock/schema/geometry/main.json index a081f4d1..fc0c3561 100644 --- a/packages/minecraftBedrock/schema/geometry/main.json +++ b/packages/minecraftBedrock/schema/geometry/main.json @@ -85,6 +85,18 @@ "then": { "$ref": "./v1.21.0/main.json" } + }, + { + "if": { + "properties": { + "format_version": { + "enum": ["1.21.20"] + } + } + }, + "then": { + "$ref": "./v1.21.20/main.json" + } } ], "required": ["format_version", "minecraft:geometry"] diff --git a/packages/minecraftBedrock/schema/geometry/v1.21.20/general.json b/packages/minecraftBedrock/schema/geometry/v1.21.20/general.json new file mode 100644 index 00000000..6dac2345 --- /dev/null +++ b/packages/minecraftBedrock/schema/geometry/v1.21.20/general.json @@ -0,0 +1,436 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "definitions": { + "geometry": { + "type": "object", + "properties": { + "description": { + "$ref": "#/definitions/description" + }, + "cape": { + "title": "Cape", + "type": "string" + }, + "bones": { + "title": "Bones", + "description": "Bones define the 'skeleton' of the mob: the parts that can be animated, and to which geometry and other bones are attached.", + "type": "array", + "items": { + "$ref": "#/definitions/bone" + } + }, + "item_display_transforms": { + "title": "Item Display Transforms", + "description": "Defines the model transformations for the item.", + "$ref": "#/definitions/item_display_transforms" + } + } + }, + "description": { + "title": "Description", + "type": "object", + "properties": { + "identifier": { + "title": "Identifier", + "description": "Entity definition and Client Block definition files refer to this geometry via this identifier.", + "type": "string", + "pattern": "^geometry\\..*" + }, + "texture_width": { + "title": "Texture Width", + "description": "Assumed width in texels of the texture that will be bound to this geometry.", + "type": "integer" + }, + "texture_height": { + "title": "Texture Height", + "description": "Assumed height in texels of the texture that will be bound to this geometry.", + "type": "integer" + }, + "visible_bounds_width": { + "title": "Visible Bounds Width", + "description": "Width of the visibility bounding box (in model space units).", + "type": "number" + }, + "visible_bounds_height": { + "title": "Visible Bounds Height", + "description": "Height of the visible bounding box (in model space units).", + "type": "number" + }, + "visible_bounds_offset": { + "title": "Visible Bounds Offset", + "description": "Offset of the visibility bounding box from the entity location point (in model space units).", + "$ref": "#/definitions/vector_3f" + } + } + }, + "bone": { + "type": "object", + "properties": { + "name": { + "title": "Name", + "description": "Animation files refer to this bone via this identifier.", + "type": "string" + }, + "parent": { + "title": "Parent", + "description": "Bone that this bone is relative to. If the parent bone moves, this bone will move along with it.", + "type": "string" + }, + "pivot": { + "title": "Pivot", + "description": "The bone pivots around this point (in model space units).", + "$ref": "#/definitions/vector_3f" + }, + "rotation": { + "title": "Rotation", + "description": "This is the initial rotation of the bone around the pivot, pre-animation (in degrees, x-then-y-then-z order).", + "$ref": "#/definitions/vector_3f" + }, + "mirror": { + "title": "Mirror", + "description": "Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped.", + "type": "boolean" + }, + "debug": { + "title": "Debug", + "type": "boolean" + }, + "inflate": { + "title": "Inflate", + "description": "Grow this box by this additive amount in all directions (in model space units).", + "type": "number" + }, + "render_group_id": { + "title": "Render Group ID", + "type": "integer", + "minimum": 0 + }, + "cubes": { + "type": "array", + "items": { + "$ref": "#/definitions/cube" + } + }, + "binding": { + "title": "Binding", + "description": "A molang expression specifying the bone name of the parent skeletal hierarchy that this bone should use as the root transform. Without this field it will look for a bone in the parent entity with the same name as this bone. If both are missing, it will assume a local skeletal hierarchy (via the 'parent' field). If that is also missing, it will attach to the owning entity's root transform.", + "$ref": "../../molang/embedded.json" + }, + "locators": { + "title": "Locators", + "description": "This is a list of locators associated with this bone. A locator is a point in model space that tracks a particular bone as the bone animates (by maintaining it's relationship to the bone through the animation).", + "type": "object", + "patternProperties": { + ".*": { + "oneOf": [ + { + "$ref": "#/definitions/vector_3f" + }, + { + "$ref": "#/definitions/locator" + } + ] + } + } + }, + "poly_mesh": { + "title": "Poly Mesh", + "description": "EXPERIMENTAL - A triangle or quad mesh object. Can be used in conjunction with cubes and texture geometry.", + "type": "object", + "$ref": "#/definitions/poly_mesh" + }, + "texture_meshes": { + "title": "Texture Meshes", + "description": "EXPERIMENTAL - Adds a mesh to the bone's geometry by converting texels in a texture into boxes", + "type": "array", + "items": { + "$ref": "#/definitions/texture_mesh" + } + } + } + }, + "cube": { + "type": "object", + "properties": { + "origin": { + "title": "Origin", + "description": "This point declares the unrotated lower corner of cube (smallest x/y/z value in model space units).", + "$ref": "#/definitions/vector_3f" + }, + "size": { + "title": "Size", + "description": "The cube extends this amount relative to its origin (in model space units).", + "$ref": "#/definitions/vector_3f" + }, + "rotation": { + "title": "Rotation", + "description": "The cube is rotated by this amount (in degrees, x-then-y-then-z order) around the pivot.", + "$ref": "#/definitions/vector_3f" + }, + "pivot": { + "title": "Pivot", + "description": "If this field is specified, rotation of this cube occurs around this point, otherwise its rotation is around the center of the box. Note that in 1.12 this is flipped upside-down, but is fixed in 1.14.", + "$ref": "#/definitions/vector_3f" + }, + "inflate": { + "title": "Inflate", + "description": "Grow this box by this additive amount in all directions (in model space units), this field overrides the bone's inflate field for this cube only.", + "type": "number" + }, + "mirror": { + "title": "Mirror", + "description": "Mirrors the UV's of the unrotated cubes along the x axis, also causes the east/west faces to get flipped.", + "type": "boolean" + }, + "uv": { + "title": "UV", + "oneOf": [ + { + "description": "Specifies the upper-left corner on the texture for the start of the texture mapping for this box.", + "$ref": "#/definitions/vector_2f" + }, + { + "description": "This is an alternate per-face uv mapping which specifies each face of the cube. Omitting a face will cause that face to not get drawn.", + "type": "object", + "properties": { + "north": { + "$ref": "#/definitions/uv" + }, + "south": { + "$ref": "#/definitions/uv" + }, + "east": { + "$ref": "#/definitions/uv" + }, + "west": { + "$ref": "#/definitions/uv" + }, + "up": { + "$ref": "#/definitions/uv" + }, + "down": { + "$ref": "#/definitions/uv" + } + } + } + ] + } + } + }, + "uv": { + "type": "object", + "properties": { + "uv": { + "title": "UV Origin", + "description": "Specifies the uv origin for the face. For this face, it is the upper-left corner, when looking at the face with y being up.", + "$ref": "#/definitions/vector_2f" + }, + "uv_size": { + "title": "UV Size", + "description": "The face maps this many texels from the uv origin. If not specified, the box dimensions are used instead.", + "$ref": "#/definitions/vector_2f" + }, + "uv_rotation": { + "title": "UV Rotation", + "description": "Specifies an optional rotation for the specified UV rect in 90-degree clockwise increments before applying it to a geometry cube face. If not specified, no rotation will be applied.", + "type": "integer", + "default": 0, + "enum": [0, 90, 180, 270, 360] + }, + "material_instance": { + "title": "Material Instance", + "type": "string" + } + } + }, + "locator": { + "type": "object", + "properties": { + "offset": { + "title": "Offset", + "description": "Position of the locator in model space.", + "$ref": "#/definitions/vector_3f" + }, + "rotation": { + "title": "Rotation", + "description": "Rotation of the locator in model space.", + "$ref": "#/definitions/vector_3f" + }, + "ignore_inherited_scale": { + "title": "Ignore Inherited Scale", + "description": "Discard scale inherited from parent bone.", + "type": "boolean" + } + } + }, + "poly_mesh": { + "type": "object", + "properties": { + "normalized_uvs": { + "title": "Normalized UVs", + "description": "If true, UVs are assumed to be [0-1]. If false, UVs are assumed to be [0-texture_width] and [0-texture_height] respectively.", + "type": "boolean" + }, + "positions": { + "title": "Positions", + "description": "Vertex positions for the mesh. Can be either indexed via the 'polys' section, or be a quad-list if mapped 1-to-1 to the normals and UVs sections.", + "type": "array", + "items": { + "$ref": "#/definitions/vector_3f" + } + }, + "normals": { + "title": "Normals", + "description": "Vertex normals. Can be either indexed via the 'polys' section, or be a quad-list if mapped 1-to-1 to the positions and UVs sections.", + "items": { + "$ref": "#/definitions/vector_3f" + } + }, + "uvs": { + "title": "UVs", + "description": "Vertex UVs. Can be either indexed via the 'polys' section, or be a quad-list if mapped 1-to-1 to the positions and normals sections.", + "items": { + "$ref": "#/definitions/vector_3f" + } + }, + "polys": { + "title": "Polys", + "oneOf": [ + { + "description": "Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).", + "type": "array", + "items": { + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "$ref": "#/definitions/vector_3f" + } + } + }, + { + "description": "Poly element indices, as an array of polygons, each an array of either three or four vertices, each an array of indices into positions, normals, and UVs (in that order).", + "type": "array", + "items": { + "type": "array", + "minItems": 4, + "maxItems": 4, + "items": { + "$ref": "#/definitions/vector_3f" + } + } + }, + { + "description": "If not specifying vertex indices, arrays of data must be a list of tris or quads, set by making this property either 'tri_list' or 'quad_list'", + "type": "string", + "enum": ["tri_list", "quad_list"] + } + ] + } + } + }, + "texture_mesh": { + "type": "object", + "properties": { + "texture": { + "title": "Texture", + "description": "The friendly-named texture to use.", + "type": "string" + }, + "position": { + "title": "Position", + "description": "The position of the pivot point after rotation (in *entity space* not texture or bone space) of the texture geometry", + "$ref": "#/definitions/vector_3f" + }, + "local_pivot": { + "title": "Local Pivot", + "description": "The pivot point on the texture (in *texture space* not entity or bone space) of the texture geometry", + "$ref": "#/definitions/vector_3f" + }, + "rotation": { + "title": "Rotation", + "description": "The rotation (in degrees) of the texture geometry relative to the offset", + "$ref": "#/definitions/vector_3f" + }, + "scale": { + "title": "Scale", + "description": "The scale (in degrees) of the texture geometry relative to the offset", + "$ref": "#/definitions/vector_3f" + } + } + }, + "item_display_transforms": { + "type": "object", + "properties": { + "gui": { + "title": "GUI", + "description": "Display transformations for the GUI icon.", + "$ref": "#/definitions/display_transformation" + }, + "firstperson_righthand": { + "title": "First Person Right Hand", + "description": "Display transformations for the first person right hand.", + "$ref": "#/definitions/display_transformation" + }, + "firstperson_lefthand": { + "title": "First Person Left Hand", + "description": "Display transformations for the first person left hand.", + "$ref": "#/definitions/display_transformation" + }, + "thirdperson_righthand": { + "title": "Third Person Right Hand", + "description": "Display transformations for the third person right hand.", + "$ref": "#/definitions/display_transformation" + }, + "thirdperson_lefthand": { + "title": "Third Person Left Hand", + "description": "Display transformations for the third person left hand.", + "$ref": "#/definitions/display_transformation" + }, + "ground": { + "title": "Ground", + "description": "Display transformations for the item entity.", + "$ref": "#/definitions/display_transformation" + }, + "fixed": { + "title": "Fixed", + "description": "Display transformations for the item frame display.", + "$ref": "#/definitions/display_transformation" + } + } + }, + "display_transformation": { + "type": "object", + "properties": { + "translation": { + "title": "Translation", + "$ref": "#/definitions/vector_3f" + }, + "rotation": { + "title": "Rotation", + "$ref": "#/definitions/vector_3f" + }, + "scale": { + "title": "Scale", + "$ref": "#/definitions/vector_3f" + } + } + }, + "vector_2f": { + "type": "array", + "minItems": 2, + "maxItems": 2, + "items": { + "type": "number" + } + }, + "vector_3f": { + "type": "array", + "minItems": 3, + "maxItems": 3, + "items": { + "type": "number" + } + } + } +} diff --git a/packages/minecraftBedrock/schema/geometry/v1.21.20/main.json b/packages/minecraftBedrock/schema/geometry/v1.21.20/main.json new file mode 100644 index 00000000..02a256c9 --- /dev/null +++ b/packages/minecraftBedrock/schema/geometry/v1.21.20/main.json @@ -0,0 +1,27 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema", + "type": "object", + "properties": { + "debug": { + "title": "Debug", + "type": "boolean" + }, + "minecraft:geometry": { + "title": "Geometry", + "anyOf": [ + { + "description": "Definition of a single geometry.", + "$ref": "./general.json#/definitions/geometry" + }, + { + "description": "Definition of a list of geometries.", + "type": "array", + "items": { + "$ref": "./general.json#/definitions/geometry" + } + } + ] + } + }, + "required": ["format_version", "minecraft:geometry"] +}