{
  "format_version": "1.16.0",
  "minecraft:entity": {
    "description": {
      "identifier": "lifeboat:traffic_light",
      "runtime_identifier": "minecraft:ghast",
      "is_spawnable": false,
      "is_summonable": true,
      "is_experimental": false
    },
    "component_groups": {
      "geom0":{
        "minecraft:mark_variant": {
          "value": 0
        }
      },
      "geom1":{
        "minecraft:mark_variant": {
          "value": 1
        }
      },
      "geom2":{
        "minecraft:mark_variant": {
          "value": 2
        }
      },
      "geom3":{
        "minecraft:mark_variant": {
          "value": 3
        }
      }
    },
    "components": {
      "minecraft:balloonable": {},
      "minecraft:behavior.mount_pathing": {
        "priority": 1,
        "speed_multiplier": 3,
        "target_dist": 0,
        "track_target": true
      },
      "minecraft:breathable": {
        "suffocateTime": 0,
        "totalSupply": 15
      },
      "minecraft:collision_box": {
        "height": 3,
        "width": 1
      },
      "minecraft:damage_sensor": {
        "triggers": [
          {
            "on_damage": {
              "filters": {
                "all_of": [
                  { "test": "is_family", "subject": "other", "value": "player" },
                  { "test": "has_equipment", "domain": "hand", "subject": "other", "value": "bone" }
                ]
              },
              "event": "furniture_rotate",
              "target": "self"
            },
            "deals_damage": false
          },
            {
              "deals_damage": false
            }
        ]
      },
      "minecraft:pushable": {
        "is_pushable": false,
        "is_pushable_by_piston": true
      },
      "minecraft:input_ground_controlled": {},
      "minecraft:movement": {
        "value": 0.3
      },
      "minecraft:movement.basic": {},
      "minecraft:scale": {
        "value": 0.6
      },
      "minecraft:physics": {}
    },
    "events": {

      "furniture_rotate": {
        "sequence": [
          {
            "filters": {
              "test": "is_mark_variant", 
              "value": 0
            },
            "remove": {
              "component_groups": [
                "geom0"
              ]
            },
            "add": {
              "component_groups": [
                "geom1"
              ]
            }
          },
          {
            "filters": {
              "test": "is_mark_variant", 
              "value": 1
            },
            "remove": {
              "component_groups": [
                "geom1"
              ]
            },
            "add": {
              "component_groups": [
                "geom2"
              ]
            }
          },
          {
            "filters": {
              "test": "is_mark_variant", 
              "value": 2
            },
            "remove": {
              "component_groups": [
                "geom2"
              ]
            },
            "add": {
              "component_groups": [
                "geom3"
              ]
            }
          },
          {
            "filters": {
              "test": "is_mark_variant", 
              "value": 3
            },
            "remove": {
              "component_groups": [
                "geom3"
              ]
            },
            "add": {
              "component_groups": [
                "geom0"
              ]
            }
          }
        ]
      }

    }
  }
}