mirror of
https://github.com/Mojang/bedrock-samples.git
synced 2024-11-23 13:36:18 +00:00
272 lines
7.6 KiB
JSON
272 lines
7.6 KiB
JSON
{
|
|
"format_version" : "1.10.0",
|
|
"animation_controllers" : {
|
|
"controller.animation.player.crossbow" : {
|
|
"initial_state" : "default",
|
|
"states" : {
|
|
"charge" : {
|
|
"animations" : [ "third_person_crossbow_equipped" ],
|
|
"transitions" : [
|
|
{
|
|
"default" : "query.get_equipped_item_name != 'crossbow' || (query.item_remaining_use_duration <= 0.0 && !query.item_is_charged)"
|
|
},
|
|
{
|
|
"hold" : "query.item_is_charged"
|
|
}
|
|
]
|
|
},
|
|
"default" : {
|
|
"transitions" : [
|
|
{
|
|
"hold" : "query.item_is_charged"
|
|
},
|
|
{
|
|
"charge" : "query.item_remaining_use_duration > 0.0"
|
|
}
|
|
]
|
|
},
|
|
"hold" : {
|
|
"animations" : [ "crossbow_hold" ],
|
|
"transitions" : [
|
|
{
|
|
"default" : "query.get_equipped_item_name != 'crossbow' || (query.item_remaining_use_duration <= 0.0 && !query.item_is_charged)"
|
|
},
|
|
{
|
|
"charge" : "query.item_remaining_use_duration > 0.0"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"controller.animation.player.first_person_attack" : {
|
|
"initial_state" : "default",
|
|
"states" : {
|
|
"default" : {
|
|
"animations" : [ "first_person_attack_rotation" ],
|
|
"transitions" : [
|
|
{
|
|
"vr_attack" : "variable.is_using_vr"
|
|
}
|
|
]
|
|
},
|
|
"vr_attack" : {
|
|
"animations" : [ "first_person_vr_attack_rotation" ],
|
|
"transitions" : [
|
|
{
|
|
"default" : "!variable.is_using_vr"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"controller.animation.player.first_person_map" : {
|
|
"initial_state" : "default",
|
|
"states" : {
|
|
"default" : {
|
|
"transitions" : [
|
|
{
|
|
"one_hand" : "query.get_equipped_item_name('off_hand') == 'filled_map' || query.get_equipped_item_name('off_hand') == 'shield'"
|
|
},
|
|
{
|
|
"two_hand" : "query.get_equipped_item_name('off_hand') != 'filled_map' && query.get_equipped_item_name('off_hand') != 'shield'"
|
|
}
|
|
]
|
|
},
|
|
"one_hand" : {
|
|
"animations" : [
|
|
{
|
|
"first_person_map_hold_main_hand" : "query.get_equipped_item_name(0, 1) == 'filled_map'"
|
|
},
|
|
{
|
|
"first_person_map_hold_off_hand" : "query.get_equipped_item_name('off_hand') == 'filled_map' && (query.get_equipped_item_name == 'bow' ? !(variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0) : 1.0)"
|
|
}
|
|
],
|
|
"transitions" : [
|
|
{
|
|
"default" : "query.get_equipped_item_name(0, 1) != 'filled_map' && query.get_equipped_item_name('off_hand') != 'filled_map'"
|
|
},
|
|
{
|
|
"two_hand" : "query.get_equipped_item_name('off_hand') != 'filled_map' && query.get_equipped_item_name('off_hand') != 'shield'"
|
|
}
|
|
]
|
|
},
|
|
"two_hand" : {
|
|
"animations" : [ "first_person_map_hold", "first_person_map_hold_attack" ],
|
|
"transitions" : [
|
|
{
|
|
"default" : "query.get_equipped_item_name(0, 1) != 'filled_map' && query.get_equipped_item_name('off_hand') != 'filled_map'"
|
|
},
|
|
{
|
|
"one_hand" : "query.get_equipped_item_name('off_hand') == 'filled_map' || query.get_equipped_item_name('off_hand') == 'shield'"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"controller.animation.player.root" : {
|
|
"initial_state" : "first_person",
|
|
"states" : {
|
|
"first_person" : {
|
|
"animations" : [
|
|
{
|
|
"first_person_swap_item": "!query.blocking"
|
|
},
|
|
{
|
|
"first_person_shield_block": "query.blocking"
|
|
},
|
|
{
|
|
"first_person_attack_controller" : "variable.attack_time > 0.0f && query.get_equipped_item_name != 'filled_map'"
|
|
},
|
|
"first_person_base_pose",
|
|
{
|
|
"first_person_empty_hand" : "query.get_equipped_item_name(0, 1) != 'filled_map'"
|
|
},
|
|
{
|
|
"first_person_walk" : "variable.bob_animation"
|
|
},
|
|
{
|
|
"first_person_map_controller" : "(query.get_equipped_item_name(0, 1) == 'filled_map' || query.get_equipped_item_name('off_hand') == 'filled_map')"
|
|
},
|
|
{
|
|
"first_person_crossbow_equipped": "query.get_equipped_item_name == 'crossbow' && (variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
|
|
},
|
|
{
|
|
"first_person_breathing_bob": "variable.attack_time <= 0.0"
|
|
}
|
|
],
|
|
"transitions" : [
|
|
{
|
|
"paperdoll" : "variable.is_paperdoll"
|
|
},
|
|
{
|
|
"map_player" : "variable.map_face_icon"
|
|
},
|
|
{
|
|
"third_person" : "!variable.is_first_person"
|
|
}
|
|
]
|
|
},
|
|
"map_player" : {
|
|
"transitions" : [
|
|
{
|
|
"paperdoll" : "variable.is_paperdoll"
|
|
},
|
|
{
|
|
"first_person" : "variable.is_first_person"
|
|
},
|
|
{
|
|
"third_person" : "!variable.map_face_icon && !variable.is_first_person"
|
|
}
|
|
]
|
|
},
|
|
"paperdoll" : {
|
|
"animations" : [ "humanoid_base_pose", "look_at_target_ui", "move.arms", "move.legs", "cape" ],
|
|
"transitions" : [
|
|
{
|
|
"first_person" : "!variable.is_paperdoll && variable.is_first_person"
|
|
},
|
|
{
|
|
"map_player" : "variable.map_face_icon"
|
|
},
|
|
{
|
|
"third_person" : "!variable.is_paperdoll && !variable.is_first_person"
|
|
}
|
|
]
|
|
},
|
|
"third_person" : {
|
|
"animations" : [
|
|
"humanoid_base_pose",
|
|
{
|
|
"look_at_target" : "!query.is_sleeping && !query.is_emoting"
|
|
},
|
|
"move.arms",
|
|
"move.legs",
|
|
"cape",
|
|
{
|
|
"riding.arms" : "query.is_riding"
|
|
},
|
|
{
|
|
"riding.legs" : "query.is_riding"
|
|
},
|
|
"holding",
|
|
{
|
|
"brandish_spear" : "variable.is_brandishing_spear"
|
|
},
|
|
{
|
|
"holding_spyglass": "variable.is_holding_spyglass"
|
|
},
|
|
{
|
|
"charging" : "query.is_charging"
|
|
},
|
|
{
|
|
"sneaking" : "query.is_sneaking && !query.is_sleeping"
|
|
},
|
|
{
|
|
"bob": "!variable.is_holding_spyglass && !variable.is_tooting_goat_horn && !variable.is_using_brush"
|
|
},
|
|
{
|
|
"damage_nearby_mobs" : "variable.damage_nearby_mobs"
|
|
},
|
|
{
|
|
"swimming" : "variable.swim_amount > 0.0"
|
|
},
|
|
{
|
|
"swimming.legs" : "variable.swim_amount > 0.0"
|
|
},
|
|
{
|
|
"crawling" : "query.is_crawling"
|
|
},
|
|
{
|
|
"crawling.legs" : "query.is_crawling"
|
|
},
|
|
{
|
|
"use_item_progress": "( variable.use_item_interval_progress > 0.0 ) || ( variable.use_item_startup_progress > 0.0 ) && !variable.is_brandishing_spear && !variable.is_holding_spyglass && !variable.is_tooting_goat_horn && !variable.is_using_brush && !query.is_item_name_any('slot.weapon.mainhand', 'minecraft:bow')"
|
|
},
|
|
{
|
|
"sleeping" : "query.is_sleeping && query.is_alive"
|
|
},
|
|
{
|
|
"attack.positions" : "variable.attack_time >= 0.0"
|
|
},
|
|
{
|
|
"attack.rotations" : "variable.attack_time >= 0.0"
|
|
},
|
|
{
|
|
"shield_block_main_hand" : "query.blocking && query.get_equipped_item_name('off_hand') != 'shield' && query.get_equipped_item_name == 'shield'"
|
|
},
|
|
{
|
|
"shield_block_off_hand" : "query.blocking && query.get_equipped_item_name('off_hand') == 'shield'"
|
|
},
|
|
{
|
|
"crossbow_controller" : "query.get_equipped_item_name == 'crossbow'"
|
|
},
|
|
{
|
|
"third_person_bow_equipped" : "query.get_equipped_item_name == 'bow' && (variable.item_use_normalized > 0 && variable.item_use_normalized < 1.0)"
|
|
},
|
|
{
|
|
"tooting_goat_horn": "variable.is_tooting_goat_horn"
|
|
},
|
|
{
|
|
"holding_brush": "query.get_equipped_item_name == 'brush'"
|
|
},
|
|
{
|
|
"brushing": "variable.is_using_brush"
|
|
}
|
|
],
|
|
"transitions" : [
|
|
{
|
|
"paperdoll" : "variable.is_paperdoll"
|
|
},
|
|
{
|
|
"first_person" : "variable.is_first_person"
|
|
},
|
|
{
|
|
"map_player" : "variable.map_face_icon"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|