{
	"format_version": "1.10.0",
	"animations": {
		"animation.sense": {
			"timeline": {
				"0.0": [
					"/function dist"
				]
			},
			"animation_length": 0.2,
			"loop": true
		},
		"animation.Sloc": {
			"timeline": {
				"0.0": [
					"/execute as @e[type=agp:tornado0] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:tornado0,c=1]",
					"/execute as @e[type=agp:tornado1] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:tornado1,c=1]",
					"/execute as @e[type=agp:tornado2] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:tornado2,c=1]",
					"/execute as @e[type=agp:tornado3] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:tornado3,c=1]",
					"/execute as @e[type=agp:spout0] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:spout0,c=1]",
					"/execute as @e[type=agp:spout1] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:spout1,c=1]",
					"/execute as @e[type=agp:spout2] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:spout2,c=1]",
					"/execute as @e[type=agp:storm] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:storm,c=1]",
					"/execute as @e[type=agp:supercell] at @s run execute @e[type=agp:satellite,r=300] positioned as @s tp ~~~ facing @e[type=agp:supercell,c=1]",
					"/function Sensor_test",
					"/function Dir",
					"/function SS1",
					"/function ST",
					"/function Radar"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.Indicators_Range": {
			"timeline": {
				"0.0": [
					"/execute as @e[type=agp:tornado0] at @s run execute @e[type=agp:tornado_indicator,r=30,rm=25,c=1] positioned as @s execute as @s run event entity @s Despawn"
				]
			},
			"animation_length": 0.000001,
			"loop": true
		},
		"animation.Radar_Indicators": {
			"timeline": {
				"0.0": [
					"/execute as @s[tag=!RI] run function Radar_Indicators"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.Indicators_Follow": {
			"timeline": {
				"0.0": [
					"/execute as @s at @s run execute as @e[type=agp:tornado0,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track0,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado0,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack0,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:tornado1,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track1,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado1,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack1,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:tornado2,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track2,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado2,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack2,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:tornado3,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track3,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado3,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack3,r=80,c=1] ~~~",
					"/execute as @s at @s run execute as @e[type=agp:tornado0,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track0,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado0,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack0,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:tornado1,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track1,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado1,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack1,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:tornado2,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track2,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado2,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack2,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:tornado3,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=Track3,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]",
					"/execute as @s at @s run execute as @e[type=agp:dd_tornado3,c=1] positioned as @s rotated as @s run tp @e[type=agp:tornado_indicator,tag=DTrack3,r=80,c=1] ~~~ facing @e[type=agp:decoy_radar,tag=AR,scores={RadarFunc=1},r=300,c=1]"
				]
			},
			"animation_length": 0.000001,
			"loop": true
		},
		"animation.RadarAllow": {
			"timeline": {
				"0.0": [
					"/execute as @e[type=agp:decoy_radar,scores={RadarFunc=1,RadarRad=2}] at @s run execute as @e[type=agp:decoy_radar,tag=!NoRadar,family=!RadarAble,r=30] positioned as @s run tag @s add NoRadar",
					"/execute as @e[type=agp:decoy_radar,tag=NoRadar,scores={RadarFunc=0}] run tag @s add NoUse",
					"/scoreboard players set @e[type=agp:decoy_radar,family=RadarAble] RadarFunc 0",
					"/execute as @e[type=agp:decoy_radar,family=RadarAble,tag=AR,tag=!NoUse,tag=!NoRadar,scores={RadarFunc=0}] run scoreboard players add @s RadarFunc 1"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.RadarAllow2": {
			"timeline": {
				"0.0": [
					"/execute as @e[type=agp:decoy_radar,family=RadarAble,scores={RadarAm=1}] at @s run tag @e[type=agp:decoy_radar,family=!RadarAble] add Useless",
					"/scoreboard players set @e[type=agp:decoy_radar] RadarAm 0",
					"/execute as @e[type=agp:decoy_radar,family=RadarAble,tag=!Useless,scores={RadarAm=0}] run scoreboard players add @s RadarAm 1",
					"/execute as @e[type=agp:decoy_radar,family=RadarAble,tag=Useless,scores={RadarAm=0}] run scoreboard players add @s RadarAm 2",
					"/execute as @s at @s run execute as @a[c=1] positioned as @s run execute as @s run execute as @e[type=agp:decoy_radar,c=1,scores={RadarAm=1,RadarFunc=1}] positioned as @s run tag @s add RemoveRadars",
					"/execute as @s[tag=RemoveRadars] run event entity @e[type=agp:decoy_radar,tag=!RemoveRadars,scores={RadarAm=1,RadarFunc=1}] Despawn"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.RadarAllow3": {
			"timeline": {
				"0.0": [
					"/scoreboard players set @e[type=agp:decoy_radar] RadarRad 0",
					"/execute as @e[type=agp:decoy_radar,family=RadarAble,tag=AR] run scoreboard players add @e[type=agp:decoy_radar,family=RadarAble,tag=AR,scores={RadarRad=!2}] RadarRad 1"
				]
			},
			"animation_length": 1e-8,
			"loop": true
		},
		"animation.GF_Radar": {
			"timeline": {
				"1.5": [
					"/execute as @s run event entity @s RW"
				]
			},
			"animation_length": 2
		},
		"animation.FormBoard": {
			"timeline": {
				"0.0": [
					"/execute as @s[scores={RadarFunc=1},tag=!RBI] run particle agp:board ~~~"
				]
			},
			"animation_length": 1,
			"loop": true
		},
		"animation.RadarNear": {
			"timeline": {
				"0.0": [
					"/execute as @s at @s if entity @e[type=agp:decoy_radar,tag=!RMRealtime,tag=!RMRealtimeVisual,c=1,r=300] run tag @s remove RI",
					"/execute as @s at @s unless entity @e[type=agp:decoy_radar,tag=!RMRealtime,tag=!RMRealtimeVisual,c=1,r=300] run tag @s add RI"
				]
			},
			"animation_length": 0.01,
			"loop": true
		}
	}
}