//bridge-file-version: #20
{
	"format_version": "1.16.100",
	"minecraft:entity": {
		"description": {
			"identifier": "end:crystal_golem",
			"is_summonable": true,
			"is_spawnable": true
		},
		"component_groups": {
			"knockback": {
				"minecraft:behavior.knockback_roar": {
					"priority": 0,
					"duration": 0.5,
					"attack_time": 0.5,
					"knockback_damage": 6,
					"knockback_strength": 5,
					"knockback_range": 4,
					"knockback_filters": {
						"test": "is_family",
						"subject": "other",
						"operator": "!=",
						"value": "ravager"
					},
					"damage_filters": {
						"test": "is_family",
						"subject": "other",
						"operator": "!=",
						"value": "illager"
					},
					"on_roar_end": {
						"event": "attack_end"
					},
					"cooldown_time": 0.1
				}
			}
		},
		"components": {
			"minecraft:type_family": {
				"family": [
					"mob"
				]
			},
			"minecraft:jump.static": {},
			"minecraft:can_climb": {},
			"minecraft:physics": {},
			"minecraft:movement.basic": {},
			"minecraft:loot": {
				"table": "loot_tables/crystal_rock.json"
			},
			"minecraft:health": {
				"value": 50,
				"max": 50
			},
			"minecraft:collision_box": {
				"width": 1.5,
				"height": 1.2
			},
			"minecraft:movement": {
				"value": 0.2
			},
			"minecraft:navigation.walk": {
				"can_walk": true,
				"avoid_damage_blocks": true
			},
			"minecraft:attack": {
				"damage": 8
			},
			"minecraft:behavior.random_look_around": {
				"priority": 7
			},
			"minecraft:behavior.hurt_by_target": {
				"priority": 1
			},
			"minecraft:behavior.nearest_attackable_target": {
				"priority": 1,
				"within_radius": 25,
				"reselect_targets": true,
				"entity_types": [
					{
						"filters": {
							"any_of": [
								{
									"test": "is_family",
									"subject": "other",
									"value": "player"
								}
							]
						},
						"max_dist": 35
					}
				],
				"must_see": true
			},
			"minecraft:behavior.random_stroll": {
				"priority": 6,
				"speed_multiplier": 1
			},
			"minecraft:behavior.look_at_player": {
				"priority": 7,
				"look_distance": 6,
				"probability": 0.02
			},
			"minecraft:entity_sensor": {
				"sensor_range": 2,
				"event_filters": {
					"all_of": [
						{
							"test": "is_family",
							"subject": "other",
							"value": "player"
						},
						{
							"test": "has_component",
							"operator": "!=",
							"value": "minecraft:behavior.knockback_roar"
						}
					]
				},
				"event": "attack"
			},
			"minecraft:follow_range": {
				"value": 35
			},
			"minecraft:behavior.delayed_attack": {
				"priority": 1,
				"attack_once": false,
				"require_complete_path": true,
				"attack_duration": 0.5,
				"hit_delay_pct": 0.5,
				"track_target": true,
				"speed_multiplier": 1.25
			}
		},
		"events": {
			"attack": {
				"add": {
					"component_groups": [
						"knockback"
					]
				}
			},
			"attack_end": {
				"remove": {
					"component_groups": [
						"knockback"
					]
				}
			}
		}
	}
}