{
  "format_version": "1.10.0",
  "minecraft:entity": {
    "description": {
      "identifier": "mutant:mutant_snow_golem",
      "runtime_identifier": "minecraft:iron_golem",
      "is_spawnable": true,
      "is_summonable": true,
      "is_experimental": false,
    
      "animations": {
         "ice": "controller.animation.msnowgolem"
        },
      "scripts": { 
        "animate": [ "ice" ] 
      }
    },

    "component_groups": {
      "name": {
        "minecraft:nameable": {
          "default_trigger": {
            "event": "stop_pinkie",
            "target": "self"
          },
          "name_actions": [
            {
              "name_filter": "Pinkie",
              "on_named": {
                "event": "start_pinkie",
                "target": "self"
              }
            }
          ]
        }
      },
      "normal": {
        "minecraft:variant": {
     "value": 0
   }
 },
 
 
      "pinkie": {
        "minecraft:variant": {
     "value": 1
   }
 },
      "tamed": {
        
        "minecraft:behavior.player_ride_tamed": {
        },
        "minecraft:behavior.look_at_player": {
          "priority": 3,
          "look_distance": 6.0,
          "angle_of_view_horizontal": 65,
          "probability": 0.01
        },
        "minecraft:behavior.random_look_around": {
          "priority": 4
        },
      
        "minecraft:behavior.follow_owner": {
          "priority": 6,
          "speed_multiplier": 1.0,
          "start_distance": 10,
          "stop_distance": 2
        },
        "minecraft:behavior.owner_hurt_by_target": {
          "priority": 1
        },
        "minecraft:behavior.owner_hurt_target": {
          "priority": 2
        },
        
       
       "minecraft:health": {
        "value": 120,
        "max": 120
      },
        "minecraft:sittable": {
          "sit_event":{
        "event": "sitting",
        "target": "self"
          },
          "stand_event":{
        "event": "standing",
        "target": "self"
          }
      },
      "minecraft:is_tamed": {
      }
     } ,
     "attack": {
     "minecraft:target_nearby_sensor": {
      "inside_range": 3.0,
      "outside_range": 5.0,
      "on_inside_range": {
        "event": "switch_to_melee",
        "target": "self"
      },
      "on_outside_range": {
        "event": "switch_to_ranged",
        "target": "self"
      }
     }
  },

     "sit": {
      "minecraft:behavior.stay_while_sitting": {
        "priority": 1
      },
      "minecraft:collision_box": {
        "width": 1.3,
        "height": 1.4
      }
    },
    "stand": {
      "minecraft:collision_box": {
        "width": 1.3,
        "height": 2.15
      },
       "minecraft:can_power_jump": {
    },

 "minecraft:rideable": {
   

        "seat_count": 1,
        "interact_text": "action.interact.mount",
        "seats": {
          "position": [ 0.0, 1.7, 0.0 ]
        }
      },
"minecraft:horse.jump_strength": {
      "value": {
        "range_min": 1.0, 
        "range_max": 1.2
      }
    },	
"minecraft:input_ground_controlled": {
      },
   
 
      "minecraft:behavior.controlled_by_player": {
        "priority": 0
       }
    },
    "snowman_wild": {
      "minecraft:behavior.hurt_by_target": {
        "priority": 1,
        "entity_types": {
          "filters": {
            "test": "is_family",
            "subject": "other",
            "operator": "!=",
            "value": "snowgolem"
          },
          "max_dist": 64
        }
      },
      "minecraft:behavior.look_at_player": {
        "priority": 3,
        "look_distance": 6.0,
        "angle_of_view_horizontal": 65,
        "probability": 0.01
      },
      "minecraft:behavior.random_look_around": {
        "priority": 4
      },
    
      "minecraft:tameable": {
        "probability": 0.33,
        "tameItems": ["snowball", "snow", "snow_layer"],
        "tame_event": {
          "event": "minecraft:on_tame",
          "target": "self"
        }
      },
      "minecraft:behavior.nearest_attackable_target": {
        "priority": 3,
        "entity_types": [
          {
            "filters": { 
                "all_of": [
                  { "test" :  "is_family", "subject" : "other", "value" :  "monster"},
                  { "test" :  "is_family", "subject" : "other", "operator": "!=", "value" :  "player"}
                ] 
            },
            "within_default": 10
          }
        ],
        "must_see": true,
        "must_reach": true
      },
      "minecraft:on_target_acquired": {
        "event": "minecraft:become_angry",
        "target": "self"
      },
      "minecraft:behavior.random_stroll": {
        "priority": 2,
        "speed_multiplier": 1.0
      }
     
    },
    "snowman_angry": {
      
      "minecraft:angry": {
        "duration": 85,
        "broadcast_anger": true,
        "broadcast_range": 60,
        "filters": {
         "all_of": [
           {
             "test": "is_family",
             "subject": "other",
             "operator": "!=",
             "value": "snowgolem"
           },
           {
             "test": "has_component",
             "subject": "self",
             "operator": "!=",
             "value": "minecraft:attack_cooldown"
           } 
         ]    
      },
        "calm_event": {
          "event": "minecraft:on_calm",
          "target": "self"
        }
      },
      "minecraft:target_nearby_sensor": {
        "inside_range": 3.0,
        "outside_range": 5.0,
        "on_inside_range": {
          "event": "switch_to_melee",
          "target": "self"
        },
        "on_outside_range": {
          "event": "switch_to_ranged",
          "target": "self"
        }
      
    },
   
      "minecraft:on_target_acquired": {
      }
      },
      "snowman_sheared": {
       
        "minecraft:mark_variant": {
          "value": 0
        }
    
      },
  
      "snowman_pumpkin": {
        "minecraft:interact": {
        
            
          "cooldown": 2.5,
          "use_item": false,
          "hurt_item": 1,
          "spawn_items": { "table": "loot_tables/entities/snow_golem_shear.json" },
          "play_sounds": "shear",
          "interact_text": "action.interact.shear",
          "on_interact": {
            "filters": {
              "all_of": [
                { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "shears"},
                { "test": "is_family", "subject": "other", "value": "player"},
                { "test": "has_component", "operator": "!=", "value": "minecraft:is_sheared"}
              ]
            },
            "event": "minecraft:on_sheared",
            "target": "self"
          }
        
      
    },
        "minecraft:mark_variant": {
          "value": 1
        }
    
      },
        "ranged_mode": {
       
          "minecraft:behavior.ranged_attack": {
            "priority": 1,
            "attack_radius": 64,
            "charge_shoot_trigger": 1,
            "charge_charged_trigger": 0.45
            }
         },
                   
                   
                   
          
            "melee_mode": {
           
              "minecraft:behavior.delayed_attack": {
                "priority": 4,
                "reach_multiplier": 1.2,
                "speed_multiplier": 1.1,
                "attack_duration": 0.4,
                "hit_delay_pct": 0.0,
                "track_target": true,
                "sound_event": "attack.strong"
              }
            },
  
       "stunned_death": {
       
        "minecraft:movement": {
          "value": 0.0
        },
        "minecraft:is_stunned": {
        },
        "minecraft:timer": {
          "looping": false,
          "time": 1.2,
          "time_down_event": {
            "event": "start_death"
          }
        }
      },
      "death": {
        "minecraft:health": {
          "value": 0,
          "max": 0,
          "min": 0
        },
        "minecraft:mark_variant": {
          "value": 3
        },
       
        "minecraft:movement": {
          "value": 0.0
        },
        "minecraft:scale": {
          "value": 0.001
        },
        "minecraft:spell_effects": {

          "add_effects": [
         
            {
              "effect": "invisibility",
              "amplifier": 10,
              "visible": false,
              "ambient": false,
              "duration": 999999
            }
          ]
        }
      },
  
        
        
      "heal": {
        "minecraft:spell_effects": {

          "add_effects": [
            {
              "effect": "resistance",
              "amplifier": 150,
              "visible": false,
              "ambient": false,
              "duration": 10.0
            },
           
            {
              "effect": "instant_health",
              "amplifier": 1,
              "visible": false,
              "ambient": false,
              "duration": 10.0
            }
            
          ]
        }
        
      }    
   },
  
  
      "components": {
        "minecraft:behavior.stay_while_sitting": {
          "priority": 1
        },
        "minecraft:trail": {
          "block_type": "minecraft:snow_layer",
          "spawn_offset": [ 0.0, 0.0, 0.0 ]
        },
        "minecraft:shooter": {
          "type": "Ice Block",
          "def": "mutant:ice_block"
        }, 
      "minecraft:attack": {
        "damage": 9
      },
      "minecraft:health": {
        "value": 90,
        "max": 90
      },
       "minecraft:movement": {
        "value": 0.20
      },
      "minecraft:healable": {
        "items": [
          {
            "item": "snow",
            "heal_amount": 16
          },
          {
            "item": "snowball",
            "heal_amount": 8
          },
          {
            "item": "snow_layer",
            "heal_amount": 12
          }
        ]
      },
       
      "minecraft:mark_variant": {
        "value": 1
      },
        "minecraft:underwater_movement": {
          "value": 0.12
        },
       
        "minecraft:pushable": {
          "is_pushable": true,
          "is_pushable_by_piston": true
        },
      
      
          "minecraft:behavior.avoid_mob_type": {
          "priority": 3,
          
          "sound_interval": {
            "range_min": 2.0,
            "range_max": 5.0
          },
          "entity_types": [
            {
              "filters": { 
                  "any_of": [
                    { "test" : "is_family", "subject" : "other", "value" : "mcreeperblowup"}
                  ]
              },
              "max_dist": 36,
            "must_see": false,
              "walk_speed_multiplier": 1.75,
              "sprint_speed_multiplier": 1.75
            }
          ]
        },
  
        "minecraft:collision_box": {
          "width": 1.3,
          "height": 2.15
        },
        
        "minecraft:damage_sensor": [
        
          {
            "on_damage": {
              "filters": {
			          "all_of": [
			            {"test": "has_damage", "value": "fatal"},
                  { "test" : "is_family", "subject" : "other", "value" : "mcreeperblowup"}
			          ]
              },
              "event": "death"
            },
            "deals_damage": false
          },
          {
            "on_damage": {
              "filters": { "test": "has_component", "value": "minecraft:is_sheared" }
            },
            "deals_damage": false
          },
          { 
            "cause": "fall",
            "deals_damage": false
        },
          {
            "on_damage": {
              "filters": {
			          "all_of": [

			            {"test": "has_damage", "value": "fatal"}
			          ]
              },
              "event": "death"
            },
            "deals_damage": false
          }
        ],
        "minecraft:knockback_resistance": {
          "value": 1
        },
      
        "minecraft:nameable": {
        },
        "minecraft:follow_range": {
          "value": 56,
          "max": 56
        },
          "minecraft:experience_reward": {
            "on_death": "query.last_hit_by_player ? 34 : 26"
          },
          "minecraft:navigation.generic": {
            "is_amphibious": true,
            "can_path_over_water": false,
            "can_break_doors": true,
            "can_swim": true,
            "can_walk": true,
            "avoid_sun": false
          },
        "minecraft:movement.basic": {
        },
        "minecraft:jump.static": {
        },
        "minecraft:can_climb": {
        },
    
        "minecraft:type_family": {
          "family": [ "snowgolem", "mob","msnowgolem" ]
        },
        "minecraft:loot": {
          "table": "loot_tables/entities/snowman.json"
        },
  
        "minecraft:hurt_on_condition": {
          "damage_conditions": [
            {
              "filters": { "test": "in_lava", "subject": "self", "operator": "==", "value": true },
              "cause": "lava",
              "damage_per_tick": 4
            },
      
            {
              "filters": { "test": "in_water_or_rain", "operator": "==", "value": true },
              "cause": "drowning",
              "damage_per_tick": 1
            }
          ]
        },
     
        "minecraft:leashable": {
          "soft_distance": 4.0,
          "hard_distance": 6.0,
          "max_distance": 10.0
        },
      
       
      
      
        "minecraft:persistent": {
        },
        "minecraft:physics": {
        }
      },
  
  
      "events": {
        "minecraft:entity_transformed": {
          "sequence": [
      
       
            {
              "filters": {
                "test": "has_component",
                "subject": "other",
                "operator": "!=",
                "value": "minecraft:is_baby"
              },
              "add": {
                "component_groups": [
                  "snowman_wild",
                  "snowman_pumpkin",
                  "name"
                ]
              }
            }
          ]
        },
        "minecraft:entity_spawned": {
          "randomize": [
            {
              "weight": 29,
              "remove": {
              },
              "add": {
                "component_groups": [
                  "snowman_wild",
                  "snowman_pumpkin",
                  "name"
                ]
              }
            }
          ]
        },
        
        "start_pinkie": {
          "remove": {
            "component_groups": [
              "normal"
            ]
          },
          "add": {
            "component_groups": [
              "pinkie"
            ]
          }
        },
  
        "stop_pinkie": {
          "add": {
            "component_groups": [
              "normal"
            ]
          },
          "remove": {
            "component_groups": [
              "pinkie"
            ]
          }
        },
  
        "sitting": {
          "remove": {
            "component_groups": [
              "stand",
              "ranged_mode",
              "attack"
            ]
          },
          "add": {
            "component_groups": [
              "sit",
              "melee_mode"
              
            ]
          }
        },
  
        "standing": {
          "remove": {
            "component_groups": [
              "sit",
              "ranged_mode",
              "melee_mode"
            ]
          },
          "add": {
            "component_groups": [
              "stand",
              "attack"
            ]
          }
        },
        "minecraft:on_tame": {
          "remove": {
            "component_groups": [
              "snowman_wild"
            ]
          },
          "add": {
            "component_groups": [
              "tamed",
    "stand"
            ]
          }
        },
        "minecraft:on_sheared": {
          "remove": {
            "component_groups": [
              "snowman_pumpkin"
            
            ]   
          },
          "add": {
            "component_groups": [
              "snowman_sheared"
            ]
          }
        },
        
        
      "switch_to_melee": {
        "add": {
          "component_groups": [
            "melee_mode"
            
        
          ]
        },
        "remove": {
          "component_groups": [
          "ranged_mode"
        ]
        }
      },
      "switch_to_ranged": {
        "add": {
          "component_groups": [
            "ranged_mode"
            
        
          ]
        },
        "remove": {
          "component_groups": [
          "melee_mode"
        ]
        }
      },
      
  
      "death": {
        "add": {
          "component_groups": [
            "heal", 
            "stunned_death"
        
        
          ]
        },
             "remove": {
          "component_groups": [
            "melee_mode",
            "ranged_mode",
            "snowman_wild",
            "snowman_pumpkin",
            "name",
            "tamed",
            "sit",
            "stand"
            
          ]
        }
      },

      "start_death": {
        "add": {
          "component_groups": [
            "death"
        
          ]
        },
        "remove": {
          "component_groups": [
            "melee_mode",
            "ranged_mode",
            "snowman_wild",
            "snowman_pumpkin",
            "name",
            "tamed",
            "sit",
            "stand"
            
          ]
        }
      },
  
        "minecraft:become_angry": {
          "remove": {
            "component_groups": [
              "snowman_wild"
            ]
          },
          "add": {
            "component_groups": [
              "snowman_angry"
            ]
          }
        },
        "minecraft:on_calm": {
          "remove": {
            "component_groups": [
              "snowman_angry"
            ]
          },
          "add": {
            "component_groups": [
              "snowman_wild"
            ]
          }
        },
       
 
        "chemical_mutant": {
          "add": {
            "component_groups": [
              "snowman_wild"
            ]
          }
        }    
      }
    }
  }
