{
  "format_version": "1.16.0",
  "minecraft:entity": {
    "description": {
      "identifier": "ga:gms_Ω_gquuuuuux",
      "is_spawnable": true,
      "is_summonable": true,
      "is_experimental": true,
      "properties": {
        "ga:ms_right_weapons": {
          "client_sync":true,
          "range":[-2147483647,2147483647],
          "default":0,
          "type":"int"
        },
        "ga:ms_left_weapons": {
          "client_sync":true,
          "range":[-2147483647,2147483647],
          "default":0,
          "type":"int"
        },
        "ga:ms_weapon_use_r": {
          "client_sync":true,
          "range":[-2147483647,2147483647],
          "default":0,
          "type":"int"
        },
        "ga:ms_weapon_use_l": {
          "client_sync":true,
          "range":[-2147483647,2147483647],
          "default":0,
          "type":"int"
        }
      },
      "animations": {
        "move_select": "controller.animation.gquuuuuux.move_ground_controll",
        "move_sound": "controller.animation.gquuuuuux.move_sound",
        "thruster_controll": "controller.animation.gquuuuuux.thruster_controll",
        "shooting_system": "controller.animation.gquuuuuux.shooting_system",
        "shooting_system_sub": "controller.animation.gquuuuuux.shooting_system_sub",
        "move_test": "controller.animation.ms_testmove",
        "boost": "controller.animation.ms_boost",
        "fall": "controller.animation.fall_test",
        "boost_gauge": "controller.animation.ms_boost_gauge_set",
        "fly_time": "controller.animation.fly_time_cotroll",
        "rider_test": "controller.animation.rider_test",
        "vectol_controll": "controller.animation.ms_vectol_controll",
        "gq_mode_speed_controll": "controller.animation.gq_speed_controll",

        "hp_counter_ms": "controller.animation.gquuuuuux_hp_counter_ms",
        "hp_counter_omega": "controller.animation.gquuuuuux_counter_omega",
        "omega_unlock": "controller.animation.message_omega_unlock",
        "omega_unlock_player": "controller.animation.omega_unlock_onplayer",


        "gq_walk": "animation.gquuuuuux.walk",
        "gq_run": "animation.gquuuuuux.run",
        "gq_back": "animation.gquuuuuux.back",
        "gq_back_walk": "animation.gquuuuuux.back_walk",

        "gq_ms_shoot_r": "animation.gq_ms_shoot_r",
        "gq_reload_ms": "animation.gq_reload_ms",
        "gq_ms_shoot_omega": "animation.gq_ms_shoot_omega",
        "gq_reload_omega": "animation.gq_reload_omega",
        "unlock_message": "animation.gquuuuuux_omega_unlockmessage",

        "gq_ms_hawk": "animation.gq_ms_hawk",
        "gq_ms_hawk_omega": "animation.gq_ms_hawk_omega",

        // プロパティ
        "right_weapons": "controller.animation.ms_rwp",
        "right_weapons_use": "controller.animation.ms_rwp_use",
        "left_weapons": "controller.animation.ms_lwp",
        "left_weapons_use": "controller.animation.ms_lwp_use"
      },
      "scripts": {
        "animate": [
          "move_select",
          "move_sound",
          "thruster_controll",
          "move_test",
          "rider_test",
          "boost",
          "gq_mode_speed_controll",
          "boost_gauge",
          "omega_unlock_player",
          "fly_time",
          "vectol_controll",
          "right_weapons",
          "right_weapons_use",
          "left_weapons",
          "left_weapons_use",
          {
            "shooting_system": "q.skin_id == 1 || q.skin_id == 2 || q.skin_id == 3 || q.skin_id == 4"
          },
          {
            "shooting_system_sub": "q.skin_id == 1 || q.skin_id == 2 || q.skin_id == 3 || q.skin_id == 4"
          },
          {
            "hp_counter_ms": "(q.mark_variant == 1 && query.has_player_rider)"
          },
          {
            "hp_counter_omega": "(q.mark_variant == 6 && query.has_player_rider)"
          },
          {
            "omega_unlock": "q.mark_variant == 5 && query.has_player_rider"
          },
          "エラーログ非表示でのご利用を推奨します。"
        ]
      }
    },


    "component_groups": {
      "normal": {
        "minecraft:mark_variant": {
          "value": 1
        }
      },
      "omega_psychommu_unlock": {
        "minecraft:mark_variant": {
          "value": 5
        },
        "minecraft:timer": {
          "time": 1.8,
          "looping": false,
          "time_down_event": {
          "event": "omega_psychommu",
          "target": "self"
          }
        }
      },
      "omega_psychommu": {
        "minecraft:mark_variant": {
          "value": 6
        }
      },
      "endymion_awakens": {
        "minecraft:mark_variant": {
          "value": 7
        }
      },

      "sazabi_normal": {
        "minecraft:variant": {
          "value": 999
        }
      },

      "vm_stop": {
        "minecraft:variant": {
          "value": 0
        }
      },
      "vm_front": {
        "minecraft:variant": {
          "value": 1
        }
      },
      "vm_back": {
        "minecraft:variant": {
          "value": 2
        }
      },
      "vm_front_r": {
        "minecraft:variant": {
          "value": 3
        }
      },
      "vm_front_l": {
        "minecraft:variant": {
          "value": 4
        }
      },
      "vm_back_l": {
        "minecraft:variant": {
          "value": 5
        }
      },
      "vm_back_r": {
        "minecraft:variant": {
          "value": 6
        }
      },

      "hatch_open": {
        "minecraft:variant": {
          "value": 99
        }
      },

      "thruster_normal": {
        "minecraft:skin_id": {
          "value": 1
        },
        "minecraft:movement": {
          "value": 1.5
        },
        "minecraft:underwater_movement": {
          "value": 0.1
        }
      },
      "thruster_boost": {
        "minecraft:skin_id": {
          "value": 2
        },
        "minecraft:movement": {
          "value": 2.7
        },
        "minecraft:underwater_movement": {
          "value": 0.3
        }
      },
      "ground_walk": {
        "minecraft:skin_id": {
          "value": 3
        },
        "minecraft:movement": {
          "value": 0.3
        },
        "minecraft:underwater_movement": {
          "value": 0.1
        }
      },
      "ground_run": {
        "minecraft:skin_id": {
          "value": 4
        },
        "minecraft:movement": {
          "value": 1
        },
        "minecraft:underwater_movement": {
          "value": 0.8
        }
      },

      "falling": {
        "minecraft:skin_id": {
          "value": 5
        },
        "minecraft:movement": {
          "value": 0
        },
        "minecraft:underwater_movement": {
          "value": 0
        },
        "minecraft:timer": {
          "time": 2.3,
          "looping": false,
          "time_down_event": {
          "event": "falling_after",
          "target": "self"
          }
        }
      },
      "fall_cancel_run": {
        "minecraft:timer": {
          "time": 0.01,
          "looping": false,
          "time_down_event": {
          "event": "ground_run",
          "target": "self"
          }
        }
      },
      "fall_cancel_walk": {
        "minecraft:timer": {
          "time": 0.01,
          "looping": false,
          "time_down_event": {
          "event": "ground_walk",
          "target": "self"
          }
        }
      },
      "projectile_no_damage": {
       "minecraft:damage_sensor": {
          "triggers": [
            {
              "on_damage": {
        
                "filters": {
                  "all_of": [
                    {
                     "test": "has_tag",
                     "subject": "other",
                     "value": "no_damage"
                    }
                  ]
                }
              },
              "deals_damage": false
            },
            {
              "on_damage": {
                "filters": {
                  "test": "has_equipment",
                  "subject": "other",
                  "domain": "hand",
                  "value": "mace"
                }
              },
              "deals_damage": true
            },
            {
              "on_damage": {
                "filters": {
                  "any_of": [
                   {
                     "test": "is_family",
                     "subject": "other",
                     "value": "mob"
                   },
                   {
                     "test": "is_family",
                     "subject": "other",
                     "value": "player"
                   }
                 ]
                },
                "event": "ga:ms_damagesound"
              },
              "deals_damage": false
            },
            {
              "on_damage": {
                "filters": {
                  "test": "is_block",
                  "subject": "block",
                  "value": "minecraft:cactus"
                }
              },
              "deals_damage": false
            },
            {
             "cause": "fall",
             "deals_damage": false
           }
          ]
        }
      },
      "projectile_no_damage_remove": {
       "minecraft:damage_sensor": {
          "triggers": [
            {
              "on_damage": {
                "filters": {
                  "test": "is_block",
                  "subject": "block",
                  "value": "minecraft:cactus"
                }
              },
              "deals_damage": false
            },
            {
              "on_damage": {
                "filters": {
                  "test": "has_equipment",
                  "subject": "other",
                  "domain": "hand",
                  "value": "mace"
                }
              },
              "deals_damage": true
            },
            {
              "on_damage": {
                "filters": {
                  "any_of": [
                   {
                     "test": "is_family",
                     "subject": "other",
                     "value": "mob"
                   },
                   {
                     "test": "is_family",
                     "subject": "other",
                     "value": "player"
                   }
                 ]
                },
                "event": "ga:ms_damagesound"
              },
              "deals_damage": false
            },
            {
              "cause": "fall",
              "deals_damage": false
            }
          ]
        }
      },
      "stop_moving_states": {
        "minecraft:body_rotation_blocked": {}
      }
    },

    "components": {
      "minecraft:type_family": {
        "family": [ "mobilesuit","newtype","zeon" ]
      },
      "minecraft:rideable": {
        "rider_can_interact": true,
        "seat_count": 1,
        "family_types": [
          "player"
      ], 
        "interact_text": "action.interact.ms.get_on",
        "seats": [
          {
            "position": [ 0, 3.5, 0 ],
            "camera_relax_distance_smoothing": 6
          }
        ]
      },
      "minecraft:loot": {
        "table": "loot_tables/empty.json"
      },
      "minecraft:collision_box": {
        "width": 2,
        "height": 4.5
      },
      "minecraft:healable": {
        "items": [
          {
            "item": "iron_ingot",
            "heal_amount": 3
          }
        ]
      },
      "minecraft:can_climb": {
      },
      "minecraft:attack": {
        "damage": 1
      },
      "minecraft:breathable": {
        "breathesAir": true,
        "breathesWater": true
      },
      "minecraft:nameable": {
        "always_show": true,
        "allow_name_tag_renaming": true
      },
      "minecraft:physics": {
      },
      "minecraft:pushable": {
        "is_pushable": false,
        "is_pushable_by_piston": false
      },
      "minecraft:scale": {
        "value": 4.5
      },
      "minecraft:knockback_resistance": {
        "value": 2.0
      },
      "minecraft:movement.basic": {},
      "minecraft:behavior.controlled_by_player": {},
      "minecraft:jump.static": {},
      "minecraft:can_power_jump": {},
      "minecraft:horse.jump_strength": {
        "value": 0
      },
      "minecraft:inventory": {
        "inventory_size": 9,
        "restrict_to_owner": true
      },
      "minecraft:health": {
        "value": 490,
        "max": 490
      },
      "minecraft:damage_sensor": {
       "triggers": [
        {
          "on_damage": {
            "filters": {
              "test": "is_block",
              "subject": "block",
              "value": "minecraft:cactus"
            }
          },
          "deals_damage": false
        },
        {
          "cause": "fall",
          "deals_damage": false
        }
       ]
     },
      "minecraft:balloonable": {},
      "minecraft:input_ground_controlled": {},
      "minecraft:fire_immune": true,
      "minecraft:block_climber": {}
    },
    "events": {
      "normal": {
        "add": {
          "component_groups": [
            "normal",
            "sazabi_normal"
          ]
        },
        "remove": {
          "component_groups": ["attack"]
        },
        "queue_command": {
          "command": [
            "tag @s remove omega_mode"
          ]
        }
      },
      "sazabi_normal": {
        "add": {
          "component_groups": [
            "sazabi_normal"
          ]
        },
        "remove": {
          "component_groups": ["attack"]
        }
      },
      "ground_walk": {
        "add": {
          "component_groups": ["ground_walk"]
        }
      },
      "ground_run": {
        "add": {
          "component_groups": ["ground_run"]
        }
      },
      "thruster_normal": {
        "add": {
          "component_groups": ["thruster_normal"]
        }
      },
      "thruster_boost": {
        "add": {
          "component_groups": ["thruster_boost"]
        }
      },
      "jumping": {
        "add": {
          "component_groups": ["jumping"]
        }
      },

      "with_rifle": {
        "add": {
          "component_groups": [
            "with_rifle"
          ]
        }
      },
      "rifle_shoot_r": {
        "add": {
          "component_groups": ["rifle:shoot_r"]
        }
      },
      "with_saber": {
        "add": {
          "component_groups": [
            "with_saber"
          ]
        },
        "remove": {
          "component_groups": ["saber_attack"]
        }
      },

      "omega_psychommu_unlock": {
        "add": {
          "component_groups": [
            "omega_psychommu_unlock"
          ]
        }
      },
      "omega_psychommu": {
        "add": {
          "component_groups": [
            "omega_psychommu"
          ]
        },
        "queue_command": {
          "command": [
            "tag @s add omega_mode"
          ]
        }
      },

      "hatch_open": {
        "add": {
          "component_groups": ["hatch_open"]
        }
      },
      "hatch_close": {
        "add": {
          "component_groups": ["sazabi_normal"]
        }
      },

      "no_cockpit_time": {
        "add": {
          "component_groups": ["no_cockpit_time"]
        }
      },
      "cockpit_on": {
        "remove": {
          "component_groups": ["no_cockpit_time"]
        }
      },
      "projectile_no_damage": {
        "add": {
          "component_groups": ["projectile_no_damage"]
        }
      },
      "projectile_no_damage_remove": {
        "add": {
          "component_groups": ["projectile_no_damage_remove"]
        }
      },

      "stop": {
        "add": {
          "component_groups": ["stop_moving_states"]
        }
      },
      "move": {
        "remove": {
          "component_groups": ["stop_moving_states"]
        }
      },
      "falling": {
        "add": {
          "component_groups": [
            "projectile_no_damage",
            "falling"
          ]
        }
      },
      "falling_after": {
        "add": {
          "component_groups": [
            "projectile_no_damage_remove",
            "ground_walk"
          ]
        }
      },
      "fall_cancel_run": {
        "add": {
          "component_groups": [
            "fall_cancel_run",
            "projectile_no_damage_remove"
          ]
        }
      },
      "fall_cancel_walk": {
        "add": {
          "component_groups": [
            "fall_cancel_walk",
            "projectile_no_damage_remove"
          ]
        }
      },

      "vm_stop": {
        "add": {
          "component_groups":[
            "vm_stop"
          ]
        }
      },
      "vm_front": {
        "add": {
          "component_groups":[
            "vm_front"
          ]
        }
      },
      "vm_back": {
        "add": {
          "component_groups":[
            "vm_back"
          ]
        }
      },
      "vm_front_l": {
        "add": {
          "component_groups":[
            "vm_front_l"
          ]
        }
      },
      "vm_front_r": {
        "add": {
          "component_groups":[
            "vm_front_r"
          ]
        }
      },
      "vm_back_l": {
        "add": {
          "component_groups":[
            "vm_back_l"
          ]
        }
      },
      "vm_back_r": {
        "add": {
          "component_groups":[
            "vm_back_r"
          ]
        }
      },
      
      "ga:ms_damagesound": {
        "queue_command": {
          "command": [
            "playsound random.anvil_land @a[r=5] ~~~ 10 1.0"
          ]
        }
      },

      // 武装プロパティ
      "ga:ms_right_weapons": {
        "set_property": {
          "ga:ms_right_weapons": "v.rwp"
        },
        "add": {
          "component_groups":[
            "dummy"
          ]
        }
      },
      "ga:ms_left_weapons": {
        "set_property": {
          "ga:ms_left_weapons": "v.lwp"
        },
        "add": {
          "component_groups":[
            "dummy"
          ]
        }
      },
      // 武装プロパティ(使用)
      "ga:ms_weapon_use_r": {
        "set_property": {
          "ga:ms_weapon_use_r": "v.rwp_use"
        },
        "add": {
          "component_groups":[
            "dummy"
          ]
        }
      },
      "ga:ms_weapon_use_l": {
        "set_property": {
          "ga:ms_weapon_use_l": "v.lwp_use"
        },
        "add": {
          "component_groups":[
            "dummy"
          ]
        }
      },

      "minecraft:entity_spawned": {
        "add": {
          "component_groups": [
            "normal",
            "jump_normal",
            "vulcan_off",
            "ground_walk",
            "cockpit_spawn",
            "z_normal",
            "projectile_no_damage_remove"
          ]
        },
        "queue_command": {
          "command": [
            "scoreboard players set @s epack 8",
            "scoreboard players set @s vulcan_b 128",
            "scoreboard players set @s boost_gauge 50",
            "scoreboard players set @s vec 0"
          ]
        }
      }
    }
  }
}




