CastleWarsEvent: type: task debug: false script: # % % % % % % % % % % QUEUE BEGIN % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # | ██ [ Prepare Event ] ██ - define Message "<&6>/<&e>event join CastleWars" - define Command "event join castlewars" - define Hover "<&2>C<&a>lick <&2>T<&a>o <&2>R<&a>un<&2><&co><&6>/<&e>event join CastleWars" - announce "<&6>[<&e>Server Event<&6>] <&c>Event Starting Soon<&c>: <&4><&l>Castle Wars!<&a> Click or Type |<[Command]>|<[Hover]>]> <&a>to join! <&4>[<&c>5 Minutes<&4>] " - flag server EventQueueTimer:300 # | ██ [ Reset Game Variables ] ██ - define VariableList - foreach <[VariableList]>: - flag server CastleWars.Gamemode.<[value]>VoteY:! - flag server CastleWars.Gamemode.<[value]>VoteN:! - define VarSignList |||||]> - foreach VarSignList: - define Contents - define NewContent3 ":<&sp><&sp><[VoteYes]>" - define NewContent4 ":<&sp><&sp><[VoteNo]>" - adjust <[value]> "sign_contents:<[Contents].remove[3|4].include[<[NewContent3]>|<[NewContent4]>]>" # | ██ [ Queue Wait ] ██ - while > 0: - actionbar "<&2>T<&a>ime <&2>R<&a>emaining<&2>:<&e> " targets: - flag server EventQueueTimer:-- - if == 60: - announce "<&6>[<&e>Server Event<&6>] <&c>Event Starting Soon<&c>: <&4><&l>Castle Wars!<&a> Click or Type |<[Command]>|<[Hover]>]> <&a>to join! <&4>[<&c>1 Minute!<&4>] " - wait 1s # % % % % % % % % % % GAME PRE-START % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # | ██ [ Adjust Game Variables ] ██ - foreach <[Variable]>: - if VoteY]> > VoteN]>: - flag server CastleWars.Gamemode.<[value]>:True - else: - flag server CastleWars.Gamemode.<[value]>:False # | ██ [ Adjust Players ] ██ - define Players - foreach <[Players]>: - flag <[value]> event:CastleWars - flag <[value]> PreviousEventGamemode:<[value].gamemode> - adjust <[value]> gamemode:adventure - adjust <[value]> food:30 - adjust <[value]> health: - if <[Loop_Index].mod[2]> == 1: - define TeamColor Red - equip <[value]> head:RedEventHat - title "title:<&4>R<&c>ed <&4>T<&c>eam" "subtitle:<&6>C<&e>apture <&6>T<&e>he <&6>F<&e>lag<&6>!" fade_in:1s stay:1s fade_out:1s targets:<[value]> - teleport <[Value]> - else: - define TeamColor Blue - equip <[value]> head:BlueEventHat - title "title:<&3>B<&b>lue <&3>T<&b>eam" "subtitle:<&6>C<&e>apture <&6>T<&e>he <&6>F<&e>lag<&6>!" fade_in:1s stay:1s fade_out:1s targets:<[value]> - teleport <[Value]> - flag server CastleWars.Queue:<-:<[Value]> - flag <[value]> Castlewars.Team:<[TeamColor]> - if == true: - adjust <[value]> freeze_time:18000 - if == true: - adjust <[value]> walk_speed:0.4 # | ██ [ Set Scores ] ██ - sidebar "title:<&6>S<&e>core<&6>:" scores:0|0 "values:<&4>R<&c>ed <&4>T<&c>eam|<&3>B<&b>lue <&3>T<&b>eam" players: - flag server CastleWars.Scores.Red:0 - flag server CastleWars.Scores.Blue:0 # % % % % % % % % % % GAME START % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # | ██ [ Redundant Repair Landscape ] ██ - modifyblock red_banner - adjust block_facing: - modifyblock blue_banner - adjust block_facing: # | ██ [ Announce Start ] ██ - foreach : - if <[value].flag[CastleWars.Team]> == red: - narrate format:CWFormat "<&e>You<&6>'<&e>re on the <&4>R<&c>ed <&4>T<&c>eam<&6>!" - if <[value].flag[CastleWars.Team]> == Blue: - narrate format:CWFormat "<&e>You<&6>'<&e>re on the <&3>B<&b>lue <&3>T<&b>eam<&6>!" - narrate "<&e>Capture the enemy flag<&6>!" # | ██ [ Event Timer ] ██ - flag server EventTimer:600 - flag server EventTimer:-- - while > 0: - actionbar "<&2>T<&a>ime <&2>R<&a>emaining<&2>: <&6>" targets: - flag server EventTimer:-- - if == 0: - announce format:EventFormat "<&2>T<&a>ime <&2>L<&a>eft<&2>: <&6><&e> Minutes<&6>!" - if == 0: - foreach : - ~showfake barrier <[value]> players: duration:16s - wait 1s # % % % % % % % % % % GAME FINALIZE % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # - foreach : - teleport <[value]> - teleport <[value]> # | ██ [ Announce Winners Timer ] ██ - define RedScore - define BlueScore - if <[RedScore]> > <[BlueScore]>: - announce "<&6>[<&e>Server Event<&6>] <&a>The <&4>R<&c>ed <&4>my T<&c>eam<&a> was the winning team for the Castle Wars event!" - else if <[RedScore]> < <[BlueScore]>: - announce "<&6>[<&e>Server Event<&6>] <&a>The <&3>B<&b>lue <&3>T<&b>eam<&a> was the winning team for the Castle Wars event!" - else: - announce "<&6>[<&e>Server Event<&6>] <&a>The Castle Wars game was a Tie!" # % % % % % % % % % % GAME END % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % # # | ██ [ Adjust Players ] ██ - define Players - foreach <[Players]>: - equip <[value]> head:air - sidebar remove - adjust <[value]> gamemode:<[value].flag[PreviousEventGamemode]> - flag <[value]> event:! - flag <[value]> FlagHolder:! - flag <[value]> CastleWars.Team:! - flag <[value]> PreviousEventGamemode:! - flag <[value]> CastleWars:! - if == true: - adjust <[value]> freeze_time:0 - if == true: - adjust <[value]> walk_speed:0.2 # | ██ [ Adjust Server ] ██ - flag server event:! - flag server CastleWars.Scores.Red:! - flag server CastleWars.Scores.Blue:! - flag server EventQueue:! - flag server EventQueueQ:! - flag server Eventqueuetimer:! - flag server CastleWars:! - flag server EventTimer:! - foreach <[VariableList]>: - flag server CastleWars.Gamemode.<[value]>VoteY:! - flag server CastleWars.Gamemode.<[value]>VoteN:! # | ██ [ Redundant Repair Landscape ] ██ - modifyblock red_banner - adjust block_facing: - modifyblock blue_banner - adjust block_facing: CastleWarsHandler: type: world debug: true PortalCooldown: - if : - stop - narrate "<&c>Portal cooldown is still in effect." - flag player CastleWWars.Portal.Cooldown.Notification duration:5s - stop events: on x command: - if == : - reload - determine cancelled on player respawns bukkit_priority:LOWEST: - choose : - case "CastleWars": - determine Respawn].blocks.random> on player dies bukkit_priority:LOWEST: - if !: - stop - choose : - case "CastleWars": - wait 1s - teleport Respawn].blocks.random> - if == true: - adjust <[value]> walk_speed:0.4 - if == red: - equip head:RedEventHat - else if == blue: - equip head:BlueEventhat - if : - flag player FlagHolder:! - if == red: - Run FlagReturn Instantly def:False|Red|||FlagHolder - else: - Run FlagReturn Instantly def:False|Blue|||FlagHolder on player clicks block in castlewarsblueflag: - if == red: - if : - modifyblock air - equip head:BlueEventBanner - flag FlagHolder - if == true: - adjust walk_speed:0.34 - else: - adjust walk_speed:0.17 - run FlagEffect path:blue instantly - title "subtitle:<&4>R<&c>ed <&4>T<&c>eam <&4>h<&c>as <&4>s<&c>tolen <&4>t<&c>he <&4>f<&c>lag!" - else if : - flag player FlagHolder:! - modifyblock red_banner - adjust block_facing: - flag server CastleWars.Scores.Blue:++ - run FlagReturn Instantly def:True|Blue||| on player clicks block in castlewarsredflag: - if == blue: - if : - modifyblock air - equip head:RedEventBanner - flag FlagHolder - if == true: - adjust walk_speed:0.34 - else: - adjust walk_speed:0.17 - run FlagEffect path:Red instantly - title "subtitle:<&3>B<&b>lue <&3>T<&b>eam <&3>h<&b>as <&3>s<&b>tolen <&3>t<&b>he <&3>f<&b>lag!" - else if : - flag player FlagHolder:! - modifyblock blue_banner - adjust block_facing: - flag server CastleWars.Scores.Red:++ - run FlagReturn Instantly def:True|Red||| on player damages player in castlewarswaitingroom: - if !: - define vector ].normalize.mul[0.5]> - adjust velocity:,0.4, - flag smacked duration:0.45s - playeffect effect:EXPLOSION_NORMAL at: visibility:50 quantity:10 offset:0.5 - playeffect effect:EXPLOSION_LARGE at: visibility:50 quantity:1 offset:0.5 - determine cancelled on player clicks with Ender_Pearl in castlewars: - determine cancelled on player damages player in castlewars: - if == : - determine cancelled on player changes food level in castlewars: - determine cancelled on player right clicks entity in castlewars: - if == armor_stand: - determine cancelled on player clicks block in castlewars: - define Blacklist - if ]>: - determine cancelled on player breaks block in castlewars: - determine cancelled on player toggles flying in castlewars: - if ! - determine cancelled on cmi command: - if : - stop - if : - if : - determine cancelled - if == sit: - if : - determine fulfilled on switch command: - if : - narrate "<&c><&l><&o>no fuck you" - determine fulfilled on player enters CastleWarsBarrier: - determine cancelled on player damaged by:SUFFOCATION: - if : - determine cancelled on player clicks block in CastleWarsRed1Portal: - if != red: - stop - if : - stop - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t # % % % % % % % % % % % % # OUTSIDE -> INSIDE # % % % % % % % % % # - define CCenter - define iA 704.5 - define iB -54 - if > <[CCenter].x> && < <[CCenter].x.add[1.5]> && > <[CCenter].z.sub[0.75]> && < <[CCenter].z.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ,,].points_between[,,]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t # % % % % % % % % % % % % # INSIDE -> OUTSIDE # % % % % % % % % % # - else if < <[CCenter].x> && > <[CCenter].x.sub[2.5]> && > <[CCenter].z.sub[0.75]> && < <[CCenter].z.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[,,]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t on player clicks block in CastleWarsRed2Portal: - if != red: - stop - if : - stop - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t # % % % % % % % % % % % % # OUTSIDE -> INSIDE # % % % % % % % % % # - define CCenter #- define iA -44.5 z #- define iB 697 x - if > <[CCenter].z> && < <[CCenter].z.add[1.5]> && > <[CCenter].x.sub[0.75]> && < <[CCenter].x.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[,,<[CCenter].z.sub[1]>]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t # % % % % % % % % % % % % # INSIDE -> OUTSIDE # % % % % % % % % % # - else if < <[CCenter].z> && > <[CCenter].z.sub[2.5]> && > <[CCenter].x.sub[0.75]> && < <[CCenter].x.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[,,<[CCenter].z.add[1]>]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t on player clicks block in CastleWarsBlue2Portal: - if != Blue: - stop - if : - stop - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t # % % % % % % % % % % % % # OUTSIDE -> INSIDE # % % % % % % % % % # - define CCenter #- define iA -44.5 z #- define iB 697 x - if > <[CCenter].z> && < <[CCenter].z.add[1.5]> && > <[CCenter].x.sub[0.75]> && < <[CCenter].x.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[,,<[CCenter].z.sub[1]>]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t # % % % % % % % % % % % % # INSIDE -> OUTSIDE # % % % % % % % % % # - else if < <[CCenter].z> && > <[CCenter].z.sub[2.5]> && > <[CCenter].x.sub[0.75]> && < <[CCenter].x.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[,,<[CCenter].z.add[1]>]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t on player clicks block in CastleWarsBlue1Portal: - if != Blue: - stop - if : - stop - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t # % % % % % % % % % % % % # OUTSIDE -> INSIDE # % % % % % % % % % # - define CCenter - if > <[CCenter].x> && < <[CCenter].x.add[1.5]> && > <[CCenter].z.sub[0.75]> && < <[CCenter].z.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ,,].points_between[,,]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t # % % % % % % % % % % % % # INSIDE -> OUTSIDE # % % % % % % % % % # - else if < <[CCenter].x> && > <[CCenter].x.sub[2.5]> && > <[CCenter].z.sub[0.75]> && < <[CCenter].z.add[0.75]> && >= 157: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[,,]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t on player clicks block in CastleWarsRedTopPortal: - if != red: - stop - if : - stop - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t # % % % % % % % % % % % % # OUTSIDE -> INSIDE # % % % % % % % % % # - define CCenter - if >= 162 && > <[CCenter].x.sub[0.7]> && < <[CCenter].x.add[0.7]> && > <[CCenter].z.sub[0.7]> && > <[CCenter].z.add[0.7]>: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[<[CCenter].sub[0,1.5,0]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t # % % % % % % % % % % % % # INSIDE -> OUTSIDE # % % % % % % % % % # - else if >= 158 && < <[CCenter].y> && > <[CCenter].x.sub[0.7]> && < <[CCenter].x.add[0.7]> && > <[CCenter].z.sub[0.7]> && > <[CCenter].z.add[0.7]>: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[<[CCenter].add[0,1,0]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t on player clicks block in CastleWarsBlueTopPortal: - if != Blue: - stop - if : - stop - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t # % % % % % % % % % % % % # OUTSIDE -> INSIDE # % % % % % % % % % # - define CCenter - if >= 162 && > <[CCenter].x.sub[0.7]> && < <[CCenter].x.add[0.7]> && > <[CCenter].z.sub[0.7]> && > <[CCenter].z.add[0.7]>: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[<[CCenter].sub[0,1.5,0]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t # % % % % % % % % % % % % # INSIDE -> OUTSIDE # % % % % % % % % % # - else if >= 158 && < <[CCenter].y> && > <[CCenter].x.sub[0.7]> && < <[CCenter].x.add[0.7]> && > <[CCenter].z.sub[0.7]> && > <[CCenter].z.add[0.7]>: - if : - inject locally PortalCooldown instantly - else: - foreach ].points_between[<[CCenter].add[0,1,0]>].distance[0.5]>: - teleport ,<[value].y>,<[value].z>,,,]> - wait 1t - flag player CastleWars.Portal.Cooldown duration:1t - flag player SitPrevention duration:5t - flag player SuffocationBypass duration:10t On player clicks block in castlewarswaitingroom: - if : - define Variable "].before[<&rb>].replace[<&sp>].with[].replace[.].with[]>" - define Contents - define Contents3 - define Contents4 - if : - if !VoteY].contains[]||false>: - flag server CastleWars.Gamemode.<[Variable]>VoteY:->: - if VoteN].contains[]||false>: - flag server CastleWars.Gamemode.<[Variable]>VoteN:<-: - else if : - if !VoteN].contains[]||false>: - flag server CastleWars.Gamemode.<[Variable]>VoteN:->: - if VoteY].contains[]||false>: - flag server CastleWars.Gamemode.<[Variable]>VoteY:<-: - define VoteYes VoteY].size> - define VoteNo VoteN].size> - define NewContent3 ":<&sp><&sp><[VoteYes]>" - define NewContent4 ":<&sp><&sp><[VoteNo]>" - adjust "sign_contents:<[Contents].remove[3|4].include[<[NewContent3]>|<[NewContent4]>]>" FlagEffect: type: task debug: false definitions: Player Blue: - while : - playeffect at: quantity:1 offset:0.01,0.01,0.01 visibility:500 effect:REDSTONE special_data:2|0,0,255 data:0 - wait 1t - if <[loop_index].mod[5]> == 1: - playeffect at: quantity:1 offset:0.01,0.01,0.01 visibility:500 effect:REDSTONE special_data:5|0,0,255 data:0 Red: - while : - playeffect at: quantity:1 offset:0.01,0.01,0.01 visibility:500 effect:REDSTONE special_data:2|255,5,0 data:0 - wait 1t - if <[loop_index].mod[5]> == 1: - playeffect at: quantity:1 offset:0.01,0.01,0.01 visibility:500 effect:REDSTONE special_data:5|255,5,0 data:0 FlagReturn: type: task debug: false definitions: TeamScored|Team|RedScore|BlueScore|FlagHolder script: - define Players - if <[TeamScored]> == true: - if <[Team]> == red: - equip <[FlagHolder]> head:RedEventHat - title "subtitle:<&4>R<&c>ed <&4>T<&c>eam <&4>S<&c>cored<&4>!" fade_in:1s stay:1t fade_out:1s targets:<[Players]> - wait 22t - title "title:<&6>S<&e>core<&6>:" "subtitle:<&3>[<&b><[BlueScore]><&6><&3>] - <&4>[<&c><[RedSCore]><&4>]" fade_in:1s stay:1s fade_out:1s targets:<[Players]> - else if <[Team]> == blue: - equip <[FlagHolder]> head:BlueEventHat - title "subtitle:<&3>B<&b>lue <&3>T<&b>eam <&3>S<&b>cored!" fade_in:1s stay:1t fade_out:1s targets:<[Players]> - wait 22t - title "title:<&6>S<&e>core<&6>:" "subtitle:<&3>[<&b><[BlueScore]><&6><&3>] - <&4>[<&c><[RedSCore]><&4>]" fade_in:1s stay:1s fade_out:1s targets:<[Players]> - sidebar "title:<&6>S<&e>core<&6>:" scores:<[RedSCore]>|<[BlueScore]> "values:<&4>R<&c>ed <&4>T<&c>eam|<&3>B<&b>lue <&3>T<&b>eam" players:<[Players]> - else if <[TeamScored]> == false: - if <[Team]> == red: - title "subtitle:<&3>B<&b>lue <&3>T<&b>eam <&3>F<&b>lag <&3>R<&b>eturned<&3>!" fade_in:1s stay:1t fade_out:1s targets:<[Players]> - modifyblock blue_banner - adjust block_facing: - else if <[Team]> == blue: - title "subtitle:<&4>R<&c>ed <&4>T<&c>eam <&4>F<&c>lag <&4>R<&c>eturned<&4>!" fade_in:1s stay:1t fade_out:1s targets:<[Players]> - modifyblock red_banner - adjust block_facing: Event_Command: type: command debug: false name: event description: Event Management usage: <&6>/<&e>Event <&6><<><&e>/<&e>]><&e><&6><>> <&6>(<&e>Forced<&6>) aliases: - cw tab complete: - define list - if !: - define List <[List].exclude[Start|Stop]> - if == 0: - determine <[list]> - else if == 1 && !]>: - determine <[List].filter[starts_with[]]> - else if < 2: - if ]> && ]>: - determine ]||>].filter[starts_with[]]> - else if == 2 && !]>: - determine ]||>].filter[starts_with[]]> Args: - Start - Join - Leave - Stop SubArgs: Start: - CastleWars join: - CastleWars Syntax: - define Command "" - define Hover "<&2>C<&a>lick to <&2>I<&a>nsert<&nl><&6>Syntax<&co> " - define Message "<&6>Syntax<&co> " - narrate |<[Command]>|<[Hover]>]> - stop script: - if == null: - inject locally Syntax Instantly - choose : - case default: - inject locally Syntax Instantly - case "start": - if == null: - inject locally Syntax Instantly - choose : - case default: - narrate format:EventFormat"<&c>This event does not exist or is not implemented currently." - case "CastleWars": - if ! == null: - inject locally Syntax Instantly - if - narrate format:EventFormat "<&c>There's already an event in progress!" - stop - if == Forced: - foreach : - flag server CastleWars.Queue:->:<[value]> - flag server EventQueue:CastleWars - flag server EventQueueQ: - run CastleWarsEvent Instantly - case "Stop": - if !: - narrate format:EventFormat "<&c>There is no event in process." - else: - queue clear - narrate format:EventFormat "<&6>Event name<&6>:<&e><&c> Stopped." # | ██ [ Adjust Server ] ██ - flag server event:! - flag server CastleWars.Scores.Red:! - flag server CastleWars.Scores.Blue:! - flag server EventQueue:! # | ██ [ Adjust Players ] ██ - define Players - foreach <[Players]>: - equip <[value]> head:air - sidebar remove - teleport <[value]> - wait 1t - teleport <[value]> - adjust <[value]> gamemode:<[value].flag[PreviousEventGamemode]> - flag <[value]> event:! - flag <[value]> FlagHolder:! - flag <[value]> CastleWars.Team:! - flag <[value]> PreviousEventGamemode:! - flag server EventQueue:! - flag server EventQueueQ:! - case "Join": - choose : - case default: - narrate format:EventFormat"<&c>This event does not exist or is not implemented currently." - case "CastleWars": - if ! == null: - inject locally Syntax Instantly - if ! == CastleWars: - narrate format:EventFormat "<&c> There is no Castle Wars game in queue!" - if ]||false>: - narrate format:CWFormat "<&c>You're already in queue." - stop - if != air: - narrate format:CWFormat "<&c>You must remove your helmet to enter." - stop - narrate format:CWFormat "<&r> <&e>just joined the game<&6>!" - flag PreviousEventLocation: - teleport - flag server CastleWars.Queue:->: - case "Leave": - if : - narrate format:EventFormat"<&c>Please type the event name as well as <&6>/<&e>event leave" - choose : - case default: - inject locally Syntax Instantly - case "CastleWars": - if ! == null: - inject locally Syntax Instantly - if !]||true>: - narrate format:CWFormat "<&c>not in any queue." - stop - teleport - flag PreviousEventLocation:! - flag server CastleWars.Queue:<-:<[value]> - narrate format:EventFormat "<&a>You've been returned to your previous location." CastleWarsCommands: type: command debug: false name: CastleWars description: Castle Wars related commands usage: <&6>/<&e>CW <&6><<><&e>/<&e>]><&e><&6><>> aliases: - cw tab complete: - define list - if == 0: - determine <[list]> - else if == 1 && !]>: - determine <[List].filter[starts_with[]]> - else if < 2: - if ]> && ]>: - determine ]||>].filter[starts_with[]]||> - else if == 2 && !]>: - determine ]||>].filter[starts_with[]]||> Args: - JoinTeam - SwitchTeam - LeaveTeam SubArgs: JoinTeam: - Red - Blue Syntax: - define Command "" - define Hover "<&2>C<&a>lick to <&2>I<&a>nsert<&nl><&6>Syntax<&co> " - define Message "<&6>Syntax<&co> " - narrate |<[Command]>|<[Hover]>]> - stop script: - if == null: - inject locally Syntax Instantly - choose : - case "JoinTeam": - if == null: - inject locally Syntax Instantly - if : - narrate format:CWFormat "<&c>You're on the <&6><&c> team! Switching teams instead." - execute as_op "CastleWars SwitchTeam" - else: - if ! && == null: - narrate format:CWFormat "<&c>Invalid Team<&2>:<&e> " - else if == Red || == Blue: - narrate format:CWFormat "<&a>Joined team<&2>:<&e> " - flag CastleWars.Team: - if == red: - equip head:RedEventHat - else if == blue: - equip Head:BlueEventHat - case "SwitchTeam": - if ! == null: - inject locally Syntax Instantly - if !: - narrate format:CWFormat "<&c>You are not on a team!" - else if == red: - flag CastleWars.Team:Blue - narrate format:CWFormat "<&a>New Team<&2>:<&e> Blue" - equip head:BlueEventHat - else if == blue: - flag CastleWars.Team:Red - equip head:RedEventHat - narrate format:CWFormat "<&a>New Team<&2>:<&e> Red" - else: - narrate format:CWFormat "<&c>Internal Error<&2> <&e>Team Name<&6> <&e> <&c> is invalid" - case "LeaveTeam": - if ! == null: - inject locally Syntax Instantly - if !: - narrate format:CWFormat "<&c>You are not on a team!" - else: - narrate format:CWFormat "<&a>Left team<&2>: <&e>" - equip head:air - flag player CastleWars.Team:! - case default: - narrate format:CWFormat "<&c>Invalid Arg(s)<&2>: <&e>" CWFormat: type: format debug: false format: "<&4>[<&c>CastleWars<&4>]<&r> " EventFormat: type: format debug: false format: "<&6>[<&e>Event<&6>]<&r> " BlueEventBanner: type: item debug: false material: blue_banner display name: <&3>B<&b>lue <&3>T<&b>eam <&3>B<&b>anner lore: - "<&c>You have the other team's banner!" - "<&c>Return to base for a point!" enchantments: - BINDING_CURSE:1 mechanisms: flags: HIDE_ALL RedEventBanner: type: item debug: false material: red_banner display name: <&4>R<&c>ed <&4>T<&c>eam <&4>B<&c>anner lore: - "<&c>You have the other team's banner!" - "<&c>Return to base for a point!" enchantments: - BINDING_CURSE:1 mechanisms: flags: HIDE_ALL BlueEventHat: type: item debug: false material: leather_helmet display name: <&3>B<&b>lue <&3>T<&b>eam <&3>H<&b>elmet lore: - "<&b>This is your hat." enchantments: - BINDING_CURSE:1 mechanisms: color: flags: HIDE_ALL RedEventHat: type: item debug: false material: leather_helmet display name: <&4>R<&c>ed <&4>T<&c>eam <&4>H<&c>elmet lore: - "<&c>This is your hat." enchantments: - BINDING_CURSE:1 mechanisms: color: flags: HIDE_ALL unbreakable: true testrun: type: task script: - foreach : #players: - ~showfake barrier <[value]> duration:16s