{
  "format_version": "1.10.0",
  "animations": {
    "animation.InDistance2": {
      "timeline": {
        "0.0": [
          "/execute @e[type=agp:tornado2] ~ ~ ~ tag @e[type=!player,type=!agp:player_air,type=!agp:player_drag,type=!agp:player_air2,type=!agp:decoy_block,type=!agp:tornado_siren,type=!agp:pl,type=!agp:pl2,r=56] add in",
	    "/execute as @e[type=agp:tornado2] run tag @e[type=!player,type=!agp:player_air,type=!agp:player_drag,type=!agp:player_air2,type=!agp:decoy_block,type=!agp:tornado_siren,type=!agp:pl,type=!agp:pl2,r=56] add in",

	    "/execute @e[type=agp:tornado3] ~ ~ ~ tag @e[type=!player,type=!agp:player_air,type=!agp:player_drag,type=!agp:player_air2,type=!agp:decoy_block,type=!agp:tornado_siren,type=!agp:pl,type=!agp:pl2,r=115] add in",
	    "/execute as @e[type=agp:tornado3] run tag @e[type=!player,type=!agp:player_air,type=!agp:player_drag,type=!agp:player_air2,type=!agp:decoy_block,type=!agp:tornado_siren,type=!agp:pl,type=!agp:pl2,r=115] add in"
        ]
	},
	"animation_length": 0.5,
	"loop": true
    },
    "animation.OutDistance2": {
      "timeline": {
        "0.0": [
	    "/execute @e[type=agp:tornado2] ~~~ execute @e[type=!player,rm=96] ~~~ tag @s remove in",
          "/execute @e[type=agp:tornado3] ~~~ execute @e[type=!player,rm=135] ~~~ tag @s remove in"
        ]
	},
	"animation_length": 0.04,
	"loop": true
    },

    "animation.SpinCycle2": {
      "timeline": {
        "0.0": [
          "/execute @e[r=194,type=!player,type=!agp:tornado2,tag=in,tag=!not,tag=!NMA,tag=!HMA] ~ ~ ~ tp ^3.6 ^0.27 ^0.09 facing @e[type=agp:tornado2] true",
	    "/execute @e[r=160,type=agp:player_air,tag=!Launch,tag=!PR] ~~~ tp ^2.2 ^0.33 ^0.034 facing @e[type=agp:tornado2] true",
	    "/execute @e[r=160,type=agp:player_air,tag=!Launch,tag=PR] ~~~ tp ^2.2 ^-0.27 ^0.034 facing @e[type=agp:tornado2] true",
	    "/execute @e[r=190,type=agp:decoy_block,tag=!Out,tag=!Fall] ~ ~ ~ tp ^5.7 ^0.49 ^0.03 facing @e[type=agp:tornado2]",
	    "/execute @e[r=190,type=agp:decoy_block,tag=Out,tag=!Fall] ~ ~ ~ tp ^7.1 ^0.49 ^0.03 facing @e[type=agp:tornado2]",
          "/execute @e[type=agp:tornado2] ~~~ camerashake add @a[r=36] 0.03 1 positional",
	    "/effect @e[type=agp:player_air] levitation 1 1 true",
	    "/effect @e[type=agp:player_air2] levitation 1 1 true",

	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~11 ~-1 ~5 ~~~ dirt 0 replace grass",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-11 ~-1 ~5 ~~~ dirt 0 replace grass",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~9 ~-1 ~5 ~~~ dirt 0 replace grass_path",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-9 ~-1 ~5 ~~~ dirt 0 replace grass_path",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~11 ~-1 ~5 ~~~ dirt 0 replace farmland",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-11 ~-1 ~5 ~~~ dirt 0 replace farmland",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~11 ~-1 ~5 ~~~ dirt 0 replace podzol",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-11 ~-1 ~5 ~~~ dirt 0 replace podzol",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~11 ~-1 ~5 ~~~ mud 0 replace mycelium",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-11 ~-1 ~5 ~~~ mud 0 replace mycelium",

	    "/execute @s[tag=Move] ~ ~ ~ tp ^^^0.25",
	    "/execute @s[tag=Move,tag=!OnWater] ~~~ tp ~~-1~ true",
	    "/execute @s[family=!Pass] ~~~ function blocks2",

	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,rm=65] ~~~ tag @s add AF",
	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,r=57] ~~~ tag @s remove AF",

	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,rm=65] ~~~ tag @s remove OG"
        ]
	},
	"animation_length": 0.01,
	"loop": true
    },
    "animation.SpinCycle3": {
      "timeline": {
        "0.0": [
          "/execute @e[r=194,type=!player,type=!agp:tornado3,tag=in,tag=!not,tag=!NMA,tag=!HMA] ~ ~ ~ tp ^4.8 ^0.27 ^0.09 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air,tag=!Launch,tag=!PR] ~~~ tp ^2.8 ^0.33 ^0.08 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air,tag=!Launch,tag=PR] ~~~ tp ^2.8 ^-0.27 ^0.08 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air2,tag=!Launch,tag=!PR] ~~~ tp ^2.8 ^0.33 ^0.08 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air2,tag=!Launch,tag=PR] ~~~ tp ^2.8 ^-0.27 ^0.08 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=190,type=agp:decoy_block,tag=!Out,tag=!Fall] ~ ~ ~ tp ^4.7 ^0.49 ^0.03 facing @e[type=agp:tornado3]",
	    "/execute @e[r=190,type=agp:decoy_block,tag=Out,tag=!Fall] ~ ~ ~ tp ^7.8 ^0.49 ^0.03 facing @e[type=agp:tornado3]",
          "/execute @e[type=agp:tornado3] ~~~ camerashake add @a[r=36] 0.067 1 positional",
	    "/effect @e[type=agp:player_air] levitation 1 1 true",
	    "/effect @e[type=agp:player_air2] levitation 1 1 true",

	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace grass",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace grass",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace grass_path",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace grass_path",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace farmland",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace farmland",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace podzol",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace podzol",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ mud 0 replace mycelium",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ mud 0 replace mycelium",

	    "/execute @s[tag=Move] ~ ~ ~ tp ^^^0.24",
	    "/execute @s[tag=Move,tag=!OnWater] ~~~ tp ~~-1~ true",
	    "/execute @s[family=!Pass] ~~~ function blocks3",

	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,rm=115] ~~~ tag @s add AF",
	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,r=107] ~~~ tag @s remove AF",

	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,rm=115] ~~~ tag @s remove OG"
        ]
	},
	"animation_length": 0.01,
	"loop": true
    },
    "animation.SpinCycle4": {
      "timeline": {
        "0.0": [
          "/execute @e[r=194,type=!player,type=!agp:tornado3,tag=in,tag=!not] ~ ~ ~ tp ^4.8 ^0.27 ^0.09 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air,tag=!Launch,tag=!PR] ~~~ tp ^3.1 ^0.33 ^0.021 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air,tag=!Launch,tag=PR] ~~~ tp ^3.1 ^-0.27 ^0.021 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air2,tag=!Launch,tag=!PR] ~~~ tp ^3.1 ^0.33 ^0.021 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=160,type=agp:player_air2,tag=!Launch,tag=PR] ~~~ tp ^3.1 ^-0.27 ^0.021 facing @e[type=agp:tornado3] true",
	    "/execute @e[r=190,type=agp:decoy_block,tag=!Out,tag=!Fall] ~ ~ ~ tp ^4.7 ^0.49 ^0.03 facing @e[type=agp:tornado3]",
	    "/execute @e[r=190,type=agp:decoy_block,tag=Out,tag=!Fall] ~ ~ ~ tp ^7.8 ^0.49 ^0.03 facing @e[type=agp:tornado3]",
          "/execute @e[type=agp:tornado3] ~~~ camerashake add @a[r=36] 0.067 1 positional",
	    "/effect @e[type=agp:player_air] levitation 1 1 true",
	    "/effect @e[type=agp:player_air2] levitation 1 1 true",

	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace grass",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace grass",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace grass_path",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace grass_path",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace farmland",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace farmland",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ dirt 0 replace podzol",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ dirt 0 replace podzol",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~24 ~-1 ~10 ~~~ mud 0 replace mycelium",
	    "/execute @s[family=!Pass,tag=!Des] ~~~ fill ~-24 ~-1 ~10 ~~~ mud 0 replace mycelium",

	    "/execute @s[tag=Move] ~ ~ ~ tp ^^^0.24",
	    "/execute @s[tag=Move,tag=!OnWater] ~~~ tp ~~-1~ true",
	    "/execute @s[family=!Pass] ~~~ function blocks3",

	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,rm=115] ~~~ tag @s add AF",
	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,r=107] ~~~ tag @s remove AF",

	    "/execute @s ~~~ execute @p[tag=OG,tag=!BO,tag=!c,rm=115] ~~~ tag @s remove OG"
        ]
	},
	"animation_length": 0.01,
	"loop": true
    },

    "animation.CloudFollow2": {
      "timeline": {
        "2": [
	    "/execute @e[type=agp:tornado2,tag=!FSClouds] ~ ~ ~ particle agp:cloud0 ~ ~ ~",

	    "/execute @e[type=agp:tornado3,tag=!FSClouds] ~ ~ ~ particle agp:cloud0 ~ ~ ~",

          "/execute @e[type=agp:test_tornado1,tag=!FSClouds] ~ ~ ~ particle agp:cloud00 ~ ~ ~"
        ]
	},
	"animation_length": 3.6,
	"loop": true
    },

    "animation.Spin_F2": {
      "timeline": {
        "0.0": [
	    "/execute @s[type=agp:tornado2,family=!Pass] ~~~ particle agp:tornado2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=!OnSand,tag=!OnSnow,tag=!OnMesa,tag=!OnSwamp,family=!Pass] ~~~ particle agp:debris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=!OnSwampWater,tag=OnWater,family=!Pass] ~~~ particle agp:WTdebris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=OnSwampWater,tag=!OnWater,family=!Pass] ~~~ particle agp:SWTdebris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=!OnWater,tag=OnSand,family=!Pass] ~~~ particle agp:STdebris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=!OnWater,tag=OnSnow,family=!Pass] ~~~ particle agp:SNdebris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=!OnWater,tag=OnMesa,family=!Pass] ~~~ particle agp:MEdebris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=OnSwamp,family=!Pass] ~~~ particle agp:SPdebris2 ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NSC] ~~~ particle agp:rotation ~~~",
	    "/execute @s[type=agp:tornado2,tag=!NSC] ~~~ particle agp:rotation4 ~~~"
        ]
	},
	"animation_length": 0.398,
	"loop": true
    },
    "animation.Spin_F3": {
      "timeline": {
        "0.0": [
	    "/execute @s[type=agp:tornado3,family=!Pass] ~~~ particle agp:tornado3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=!OnSand,tag=!OnSnow,tag=!OnMesa,tag=!OnSwamp,family=!Pass] ~~~ particle agp:debris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=!OnSwampWater,tag=OnWater,family=!Pass] ~~~ particle agp:WTdebris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=OnSwampWater,tag=!OnWater,family=!Pass] ~~~ particle agp:SWTdebris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=!OnWater,tag=OnSand,family=!Pass] ~~~ particle agp:STdebris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=!OnWater,tag=OnSnow,family=!Pass] ~~~ particle agp:SNdebris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=!OnWater,tag=OnMesa,family=!Pass] ~~~ particle agp:MEdebris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=OnSwamp,family=!Pass] ~~~ particle agp:SPdebris3 ~~~",
	    "/execute @s[type=agp:tornado3,tag=!NSC] ~~~ particle agp:rotation5 ~~~"
        ]
	},
	"animation_length": 0.398,
	"loop": true
    },

    "animation.DD_Spin_F2": {
      "timeline": {
        "0.0": [
	    "/execute @s[type=agp:dd_tornado2,family=!Pass] ~~~ particle agp:tornado2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=!OnSand,tag=!OnSnow,tag=!OnMesa,tag=!OnSwamp,family=!Pass] ~~~ particle agp:debris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=!OnSwampWater,tag=OnWater,family=!Pass] ~~~ particle agp:WTdebris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=OnSwampWater,tag=!OnWater,family=!Pass] ~~~ particle agp:SWTdebris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=!OnWater,tag=OnSand,family=!Pass] ~~~ particle agp:STdebris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=!OnWater,tag=OnSnow,family=!Pass] ~~~ particle agp:SNdebris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=!OnWater,tag=OnMesa,family=!Pass] ~~~ particle agp:MEdebris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=OnSwamp,family=!Pass] ~~~ particle agp:SPdebris2 ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NSC] ~~~ particle agp:rotation ~~~",
	    "/execute @s[type=agp:dd_tornado2,tag=!NSC] ~~~ particle agp:rotation4 ~~~"
        ]
	},
	"animation_length": 0.398,
	"loop": true
    },
    "animation.DD_Spin_F3": {
      "timeline": {
        "0.0": [
	    "/execute @s[type=agp:dd_tornado3,family=!Pass] ~~~ particle agp:tornado3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=!OnSand,tag=!OnSnow,tag=!OnMesa,tag=!OnSwamp,family=!Pass] ~~~ particle agp:debris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=!OnSwampWater,tag=OnWater,family=!Pass] ~~~ particle agp:WTdebris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=OnSwampWater,tag=!OnWater,family=!Pass] ~~~ particle agp:SWTdebris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=!OnWater,tag=OnSand,family=!Pass] ~~~ particle agp:STdebris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=!OnWater,tag=OnSnow,family=!Pass] ~~~ particle agp:SNdebris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=!OnWater,tag=OnMesa,family=!Pass] ~~~ particle agp:MEdebris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=OnSwamp,family=!Pass] ~~~ particle agp:SPdebris3 ~~~",
	    "/execute @s[type=agp:dd_tornado3,tag=!NSC] ~~~ particle agp:rotation5 ~~~"
        ]
	},
	"animation_length": 0.398,
	"loop": true
    },

    "animation.Spin11": {
      "timeline": {
        "0.0": [
	    "/execute @s[type=agp:test_tornado1,family=!Pass] ~~~ particle agp:tornado11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=!OnSand,tag=!OnSnow,tag=!OnMesa,tag=!OnSwamp,family=!Pass] ~~~ particle agp:debris11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=!OnSwampWater,tag=OnWater,family=!Pass] ~~~ particle agp:WTdebris11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=OnSwampWater,tag=!OnWater,family=!Pass] ~~~ particle agp:SWTdebris11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=!OnWater,tag=OnSand,family=!Pass] ~~~ particle agp:STdebris11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=!OnWater,tag=OnSnow,family=!Pass] ~~~ particle agp:SNdebris11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=!OnWater,tag=OnMesa,family=!Pass] ~~~ particle agp:MEdebris11 ~~~",
	    "/execute @s[type=agp:test_tornado1,tag=!NDC,tag=!OnWater,tag=!OnSwampWater,tag=OnSwamp,family=!Pass] ~~~ particle agp:SPdebris11 ~~~",
	    "/execute @s[type=agp:test_tornado1] ~~~ particle agp:rotation111 ~~~",
	    "/execute @s[type=agp:test_tornado1] ~~~ particle agp:rotation31 ~~~"
        ]
	},
	"animation_length": 0.398,
	"loop": true
    }
  }
}