001package fr.aumgn.dac2.commands; 002 003import java.util.List; 004 005import org.bukkit.entity.Player; 006 007import fr.aumgn.bukkitutils.command.Command; 008import fr.aumgn.bukkitutils.command.NestedCommands; 009import fr.aumgn.bukkitutils.command.args.CommandArgs; 010import fr.aumgn.dac2.DAC; 011import fr.aumgn.dac2.stage.Stage; 012 013@NestedCommands("dac2") 014public class SpectatorCommands extends DACCommands { 015 016 public SpectatorCommands(DAC dac) { 017 super(dac); 018 } 019 020 @Command(name = "watch", min = 1, max = 1) 021 public void watch(Player sender, CommandArgs args) { 022 List<Stage> stages = args.getList(0, Stage).value(); 023 024 for (Stage stage : stages) { 025 String arenaName = stage.getArena().getName(); 026 if (stage.isSpectator(sender)) { 027 sender.sendMessage(msg("watch.alreadywatching", arenaName)); 028 continue; 029 } 030 if (stage.contains(sender)) { 031 sender.sendMessage(msg("watch.playing", arenaName)); 032 continue; 033 } 034 035 stage.addSpectator(sender); 036 sender.sendMessage(msg("watch.success", arenaName)); 037 } 038 } 039 040 @Command(name = "unwatch", min = 1, max = 1) 041 public void unwatch(Player sender, CommandArgs args) { 042 List<Stage> stages = args.getList(0, Stage).value(); 043 044 for (Stage stage : stages) { 045 String arenaName = stage.getArena().getName(); 046 if (!stage.isSpectator(sender)) { 047 sender.sendMessage(msg("unwatch.notwatching", arenaName)); 048 continue; 049 } 050 051 stage.removeSpectator(sender); 052 sender.sendMessage(msg("unwatch.success", arenaName)); 053 } 054 } 055}