{
	"format_version": "1.10.0",
	"animations": {
		"animation.SirenStay": {
			"timeline": {
				"0.0": [
					"/execute as @s run tp @s ~~~",
					"/effect @s slow_falling 1 255 true"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.SirenAllow": {
			"timeline": {
				"0.0": [
					"/execute as @e[type=agp:decoy_siren,scores={SirenFunc=1}] at @s run execute as @e[type=agp:decoy_siren,tag=!NoSiren,family=!SirenAble,r=30] positioned as @s run tag @s add NoSiren",
					"/execute as @e[type=agp:decoy_siren,tag=NoSiren,scores={SirenFunc=0}] run tag @s add NoUse",
					"/scoreboard players set @e[type=agp:decoy_siren,family=SirenAble] SirenFunc 0",
					"/execute as @e[type=agp:decoy_siren,family=SirenAble,tag=AS,tag=!NoUse,tag=!NoSiren,scores={SirenFunc=0}] run scoreboard players add @s SirenFunc 1"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.SirenAllow2": {
			"timeline": {
				"0.0": [
					"/execute as @e[type=agp:decoy_siren,family=SirenAble,scores={SirenAm=1}] at @s run tag @e[type=agp:decoy_siren,family=!SirenAble] add Useless",
					"/scoreboard players set @e[type=agp:decoy_siren] SirenAm 0",
					"/execute as @e[type=agp:decoy_siren,family=SirenAble,tag=!Useless,scores={SirenAm=0}] run scoreboard players add @s SirenAm 1",
					"/execute as @e[type=agp:decoy_siren,family=SirenAble,tag=Useless,scores={SirenAm=0}] run scoreboard players add @s SirenAm 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_siren,c=1,scores={SirenAm=1,SirenFunc=1}] positioned as @s run tag @s add RemoveSirens",
					"/execute as @s[tag=RemoveSirens] run event entity @e[type=agp:decoy_siren,tag=!RemoveSirens,scores={SirenAm=1,SirenFunc=1}] AllowDespawn",
					"/execute as @s[tag=AS,tag=!NoSiren,scores={SirenFunc=1}] at @s run particle agp:active_indicator",
					"/execute as @s[scores={SirenFunc=0}] at @s run particle agp:not_active_indicator"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.SirenAllow3": {
			"timeline": {
				"0.0": [
					"/execute @e[type=agp:decoy_siren,tag=!BP,tag=!AP,scores={SirenFunc=1}] ~~~ tag @s add BP",
					"/execute @e[type=agp:decoy_siren,tag=BP,tag=!AP,scores={SirenFunc=0}] ~~~ tag @s remove BP",
					"/execute @e[type=agp:decoy_siren,scores={SirenFunc=1}] ~~~ execute @e[type=agp:decoy_siren,tag=!NoSiren,family=!SirenAble] ~~~ tag @s add NoSiren",
					"/execute @e[type=agp:decoy_siren,tag=NoSiren,scores={SirenFunc=0}] ~~~ tag @s add NoUse",
					"/scoreboard players set @e[type=agp:decoy_siren,family=SirenAble] SirenFunc 0",
					"/execute @e[type=agp:decoy_siren,family=SirenAble,tag=AS,tag=!AP,tag=!NoUse,tag=!NoSiren,scores={SirenFunc=0}] ~~~ scoreboard players add @s SirenFunc 1",
					"/execute @e[type=agp:decoy_siren,tag=BP,scores={SirenFunc=1}] ~~~ tag @e[type=agp:decoy_siren,tag=!AP,scores={SirenFunc=0}] add AP",
					"/execute @e[type=agp:decoy_siren,tag=BP,scores={SirenFunc=0}] ~~~ tag @e[type=agp:decoy_siren,tag=AP,scores={SirenFunc=0}] remove AP"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.sirenLoop": {
			"timeline": {
				"2": [
					"/execute as @s[tag=SA,scores={SirenFunc=1}] at @s run execute as @e[family=tornado,r=170] positioned as @s run execute as @e[type=agp:decoy_siren,tag=SA,tag=!NoSiren,scores={SirenFunc=1}] at @s run playsound MainSirens1 @a[tag=SV1,r=30]",
					"/execute as @s[tag=SA,scores={SirenFunc=1}] at @s run execute as @e[family=tornado,r=170] positioned as @s run execute as @e[type=agp:decoy_siren,tag=SA,tag=!NoSiren,scores={SirenFunc=1}] at @s run playsound MainSirens1 @a[tag=SV2,r=30]",
					"/execute as @s[tag=SA,scores={SirenFunc=1}] at @s run execute as @e[family=tornado,r=170] positioned as @s run execute as @e[type=agp:decoy_siren,tag=SA,tag=!NoSiren,scores={SirenFunc=1}] at @s run playsound MainSirens1 @a[tag=SV3,r=30]",
					"/execute as @s[tag=SA,scores={SirenFunc=1}] at @s run execute as @e[family=tornado,r=170] positioned as @s run execute as @e[type=agp:decoy_siren,tag=SA,tag=!NoSiren,scores={SirenFunc=1}] at @s run playsound MainSirens1 @a[tag=SV4,r=30]"
				]
			},
			"animation_length": 13,
			"loop": true
		},
		"animation.sirenLoopStop": {
			"timeline": {
				"0.0": [
					"/execute as @s[tag=!SB] at @s run execute as @e[family=tornado,r=170] positioned as @s run tag @e[type=agp:decoy_siren] add SA",
					"/execute as @s[tag=SA] at @s run execute as @e[family=tornado,r=170] positioned as @s run tag @e[type=agp:decoy_siren] add SB",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @a[rm=170] positioned as @s run stopsound @s[tag=SV1] MainSirens1",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @a[rm=170] positioned as @s run stopsound @s[tag=SV2] MainSirens2",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @a[rm=170] positioned as @s run stopsound @s[tag=SV3] MainSirens3",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @a[rm=170] positioned as @s run stopsound @s[tag=SV4] MainSirens4",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @e[family=tornado,rm=170] positioned as @s run stopsound @a[tag=SV1] MainSirens1",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @e[family=tornado,rm=170] positioned as @s run stopsound @a[tag=SV2] MainSirens2",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @e[family=tornado,rm=170] positioned as @s run stopsound @a[tag=SV3] MainSirens3",
					"/execute as @s[tag=SB,tag=AS] at @s run execute as @e[family=tornado,rm=170] positioned as @s run stopsound @a[tag=SV4] MainSirens4",
					"/execute as @s[tag=SB] at @s run execute as @e[family=tornado,rm=170] positioned as @s run tag @e[type=agp:decoy_siren] remove SB"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.GF_Siren": {
			"timeline": {
				"1.5": [
					"/execute as @s run event entity @s RW"
				]
			},
			"animation_length": 2
		},
		"animation.SirenAnimate": {
			"timeline": {
				"1": [
					"/execute as @s[tag=SB] at @s run playanimation @s animation.tornado_siren.rotate e 0"
				]
			},
			"animation_length": 8.32,
			"loop": true
		},
		"animation.SirenDamage": {
			"timeline": {
				"0.0": [
					"/scoreboard players set @s[tag=!stoop] SirenDamageAm 0",
					"/execute @e[type=agp:decoy_block,tag=!Hit] ~~~ execute @e[type=agp:tornado_siren,tag=stoop,r=5] ~~~ scoreboard players add @s[scores={SirenDamageAm=!3}] SirenDamageAm 1",
					"/function SirenBreak"
				]
			},
			"animation_length": 0.01,
			"loop": true
		},
		"animation.SirenDamageAm": {
			"timeline": {
				"0.0": [
					"/scoreboard players set @s[tag=!stoop] SirenDamageAm 0",
					"/execute @e[type=agp:decoy_block,tag=!Hit] ~~~ execute @e[type=agp:tornado_siren,tag=stoop,r=5] ~~~ scoreboard players add @s[scores={SirenDamageAm=!3}] SirenDamageAm 1"
				]
			},
			"animation_length": 0.01,
			"loop": true
		}
	}
}