{
	"format_version": "1.21.30",
	"minecraft:entity": {
		"description": {
			"identifier": "scpcf:scp_058",
			"is_spawnable": true,
			"is_summonable": true,
			"is_experimental": false
		},
		"component_groups": {
			"scp058tp": {
				"minecraft:timer": {
					"looping": false,
					"time": 10,
					"time_down_event": {
						"event": "scp058tp"
					}
				}
			},
			"scp058tp2": {
				"minecraft:timer": {
					"looping": false,
					"time": 0.3,
					"time_down_event": {
						"event": "scp058tp2"
					}
				},
				"minecraft:area_attack": {
					"damage_range": 2,
					"damage_per_tick": 2
				}
			},
			"scp058tp3": {
				"minecraft:timer": {
					"looping": false,
					"time": 0.3,
					"time_down_event": {
						"event": "scp058tp3"
					}
				},
				"minecraft:area_attack": {
					"damage_range": 2,
					"damage_per_tick": 2
				}
			},
			"scp058tp4": {
				"minecraft:timer": {
					"looping": false,
					"time": 0.3,
					"time_down_event": {
						"event": "scp058tp4"
					}
				},
				"minecraft:area_attack": {
					"damage_range": 2,
					"damage_per_tick": 2
				}
			},
			"scp058tp5": {
				"minecraft:timer": {
					"looping": false,
					"time": 0.3,
					"time_down_event": {
						"event": "scp058tp5"
					}
				},
				"minecraft:area_attack": {
					"damage_range": 2,
					"damage_per_tick": 2
				}
			},
			"scp058tp6": {
				"minecraft:timer": {
					"looping": false,
					"time": 0.3,
					"time_down_event": {
						"event": "scp058tp6"
					}
				},
				"minecraft:area_attack": {
					"damage_range": 2,
					"damage_per_tick": 2
				}
			},
			"scp058tp7": {
				"minecraft:timer": {
					"looping": false,
					"time": 0.3,
					"time_down_event": {
						"event": "scp058pull"
					}
				},
				"minecraft:area_attack": {
					"damage_range": 2,
					"damage_per_tick": 2
				}
			},
			"scp058inactive": {
				"minecraft:transformation": {
					"into": "scpcf:scp_058_inactive"
				}
			}
		},
		"components": {
			"minecraft:movement.basic": {},
			"minecraft:navigation.climb": {
				"can_break_doors": true
			},
			"minecraft:behavior.random_stroll": {
				"priority": 2,
				"speed_multiplier": 0.8
			},
			"minecraft:physics": {},
			"minecraft:can_climb": {},
			"minecraft:jump.static": {},
			"minecraft:behavior.melee_attack": {
				"priority": 2,
				"speed_multiplier": 0.9,
				"on_attack": {
					"event": "scp058attackevent",
					"target": "self"
				},
				"on_kill": {
					"event": "scp058inactive"
				},
				"track_target": true
			},
			"minecraft:attack": {
				"damage": 8
			},
			"minecraft:health": {
				"value": 150,
				"max": 150
			},
			"minecraft:damage_sensor": {
				"triggers": [
					{
						"cause": "all",
						"on_damage": {
							"event": "scp058regeneration"
						}
					},
					{
						"cause": "fall",
						"deals_damage": false
					}
				]
			},
			"minecraft:behavior.mount_pathing": {
				"priority": 5,
				"speed_multiplier": 1.25,
				"target_dist": 0,
				"track_target": true
			},
			"minecraft:behavior.nearest_attackable_target": {
				"priority": 2,
				"within_radius": 32,
				"entity_types": [
					{
					  "filters": {
						"any_of": [
						  { "test": "is_family", "subject": "other", "value": "pig" },
						  { "test": "is_family", "subject": "other", "value": "sheep" },
						  { "test": "is_family", "subject": "other", "value": "goat" },
						  { "test": "is_family", "subject": "other", "value": "cow" },
						  { "test": "is_family", "subject": "other", "value": "chicken" },
						  { "test": "is_family", "subject": "other", "value": "rabbit" },
						  { "test": "is_family", "subject": "other", "value": "wolf" },
						  { "test": "is_family", "subject": "other", "value": "horse" },
						  { "test": "is_family", "subject": "other", "value": "cat" },
						  { "test": "is_family", "subject": "other", "value": "fox" },
						  { "test": "is_family", "subject": "other", "value": "recontainhuman" },
						  { "test": "is_family", "subject": "other", "value": "player" },
						  { "test": "is_family", "subject": "other", "value": "villager" }
						]
					  },
					  "must_see": true,
					  "must_see_forget_duration": 60,
					  "max_dist": 50
					}
				],
				"reselect_targets": false,
				"priority": 2
			},
			"minecraft:behavior.float": {
				"priority": 1
			},
			"minecraft:collision_box": {
				"width": 0.7,
				"height": 0.8
			},
			"minecraft:on_target_acquired": {
				"event": "scp058pull"
			},
			"minecraft:on_target_escape": {
				"event": "minecraft:entity_spawned"
			},
			"minecraft:type_family": {
				"family": [
					"scp"
				]
			},
			"minecraft:behavior.hurt_by_target": {
				"priority": 1
			},
			"minecraft:nameable": {},
			"minecraft:on_death": {
				"event": "scp058inactive"
			},
			"minecraft:knockback_resistance": {
				"value": 0.2,
				"max": 0.2
			},
			"minecraft:follow_range": {
				"value": 150,
				"max": 150
			},
			"minecraft:breathable": {
				"total_supply": 25,
				"suffocate_time": 0
			},
			"minecraft:annotation.break_door": {
				"break_time": 1,
				"min_difficulty": "normal"
			}
		},
		"events": {
			"minecraft:entity_spawned": {
				"remove": {
					"component_groups": [
						"scp058tp2",
						"scp058tp3",
						"scp058tp4",
						"scp058tp5",
						"scp058tp6",
						"scp058tp7",
						"scp058tp"
					]
				}
			},
			"scp058tp": {
				"queue_command": {
					"command": [
						"tp @e[r=2] @s"
					]
				},
				"add": {
					"component_groups": [
						"scp058tp2"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp"
					]
				},
				"trigger": {
					"filters": [
						{
							"any_of": [
								{
									"subject": "other",
									"operator": "<=",
									"test": "target_distance",
									"value": 2
								}
							]
						}
					],
					"event": "scp058playanimation"
				}
			},
			"scp058attackevent": {
				"randomize": [
					{
						"weight": 9,
						"queue_command": {
							"command": [
								"gamerule sendcommandfeedback false"
							]
						}
					},
					{
						"weight": 4,
						"queue_command": {
							"command": [
								"effect @s wither 5 3"
							],
							"target": "target"
						}
					}
				]
			},
			"scp058regeneration": {
				"queue_command": {
					"command": [
						"effect @s regeneration 5 1"
					]
				}
			},
			"scp058tp2": {
				"queue_command": {
					"command": [
						"tp @e[r=2] @s"
					]
				},
				"add": {
					"component_groups": [
						"scp058tp3"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp",
						"scp058tp2"
					]
				}
			},
			"scp058tp3": {
				"queue_command": {
					"command": [
						"tp @e[r=2] @s"
					]
				},
				"add": {
					"component_groups": [
						"scp058tp4"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp",
						"scp058tp2",
						"scp058tp3"
					]
				}
			},
			"scp058tp4": {
				"queue_command": {
					"command": [
						"tp @e[r=2] @s"
					]
				},
				"add": {
					"component_groups": [
						"scp058tp5"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp",
						"scp058tp2",
						"scp058tp3",
						"scp058tp4"
					]
				}
			},
			"scp058tp5": {
				"queue_command": {
					"command": [
						"tp @e[r=2] @s"
					]
				},
				"add": {
					"component_groups": [
						"scp058tp6"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp",
						"scp058tp2",
						"scp058tp3",
						"scp058tp4",
						"scp058tp5"
					]
				}
			},
			"scp058tp6": {
				"queue_command": {
					"command": [
						"tp @e[r=2] @s"
					]
				},
				"add": {
					"component_groups": [
						"scp058tp7"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp",
						"scp058tp2",
						"scp058tp3",
						"scp058tp4",
						"scp058tp5",
						"scp058tp6"
					]
				}
			},
			"scp058pull": {
				"add": {
					"component_groups": [
						"scp058tp"
					]
				},
				"remove": {
					"component_groups": [
						"scp058tp2",
						"scp058tp3",
						"scp058tp4",
						"scp058tp5",
						"scp058tp6",
						"scp058tp7"
					]
				}
			},
			"scp058playanimation": {
				"queue_command": {
					"command": [
						"playanimation @s animation.scpclassifiedscp058.pull"
					]
				}
			},
			"minecraft:entity_transformed": {
				"remove": {
					"component_groups": [
						"scp058tp2",
						"scp058tp3",
						"scp058tp4",
						"scp058tp5",
						"scp058tp6",
						"scp058tp7",
						"scp058tp"
					]
				}
			},
			"scp058inactive": {
				"add": {
					"component_groups": [
						"scp058inactive"
					]
				}
			}
		}
	}
}