{
	"format_version": "1.18.0",
	"minecraft:entity": {
		"description": {
			"identifier": "ldz:storm_cloud",
			"is_spawnable": false,
			"is_summonable": true,
			"is_experimental": false,
			"properties": {
				
				"ldz:disperse": {
					"type": "bool",
					"client_sync": true,
					"default": false
				}
			},
		"animations":{
			"ctrl.teleport":"controller.animation.storm_cloud.teleport",
			"life_timer":"animation.storm_cloud.life_timer"
		},
		"scripts": {
			"animate": [
				{"ctrl.teleport":"q.is_alive"},
				{"life_timer":"q.is_alive"}
			]
		}
		},	
		"component_groups": {
			"instant_despawn": {
				"minecraft:instant_despawn": {}
			}
		},
		"components": {
			"minecraft:type_family": {
				"family": [
					"ldz",
					"storm_cloud"
				]
			},
			"minecraft:collision_box": {
				"height": 0,
				"width": 0
			},			
			"minecraft:physics": {
				"has_collision": false,
				"has_gravity": false
			},
			"minecraft:push_through": {
				"value": 0
			},
			"minecraft:pushable": {
				"is_pushable": false,
				"is_pushable_by_piston": false
			},
			"minecraft:damage_sensor": {
				"triggers": [
					{
						"on_damage": {
							"filters": {
								"test": "has_damage",
								"value": "void"
							},
							"event": "despawn"
						},
						"deals_damage": false
					},
					{
						"cause": "all",
						"deals_damage": false
					}
				]
			}
		},
		"events": {
			"despawn": {
				"add": {
					"component_groups": [
						"instant_despawn"
					]
				}
			},
			"set_disperse_to_true": {
				"set_property": {
					"ldz:disperse": true
				}
			},
			"set_disperse_to_false": {
				"set_property": {
					"ldz:disperse": false
				}
			}
		}
	}
}