{
  "format_version": "1.19.0",
  "minecraft:attachable": {
    "description": {
      "identifier": "tsu_morph:creaking_morph",
      "materials": {
        "default": "creaking",
        "eyes": "creaking_eyes"
      },
      "textures": {
        "default": "textures/entity/creaking/creaking",
        "eyes": "textures/entity/creaking/creaking_eyes"
      },
      "geometry": {
        "default": "geometry.tsu_morph.creaking"
      },
      "sound_effects": {
        "sway": "mob.creaking.sway",
        "twitch": "mob.creaking.twitch"
      },
      "animations": {
        "look_at_target": "animation.tsu_morph.look_at_target",
        "walk": "animation.tsu_morph.creaking.walk",
        "walk_controller": "controller.animation.tsu_morph.attachable_walk",
        "attack_controller": "controller.animation.tsu_morph.attachable_attack",
        "attack": "animation.tsu_morph.creaking.attack",
        "sway": "animation.tsu_morph.creaking.sway",
        "twitch": "animation.tsu_morph.creaking.twitch"
      },
      "scripts": {
        "pre_animation": [
          "v.display_fp = c.is_first_person && !q.is_in_ui && q.is_local_player;",
          "v.has_emissive_eyes = 1;"
        ],
        "animate": [
          "look_at_target",
          "walk_controller",
          "attack_controller"
        ]
      },
      "render_controllers": [
        {
          "controller.render.creaking": "!v.display_fp"
        },
        {
          "controller.render.creaking_eyes": "!v.display_fp"
        }
      ]
    }
  }
}