001package fr.aumgn.dac2.commands; 002 003import java.util.List; 004 005import org.bukkit.World; 006import org.bukkit.command.CommandSender; 007import org.bukkit.entity.Player; 008 009import fr.aumgn.bukkitutils.command.Command; 010import fr.aumgn.bukkitutils.command.NestedCommands; 011import fr.aumgn.bukkitutils.command.args.CommandArgs; 012import fr.aumgn.dac2.DAC; 013import fr.aumgn.dac2.arena.Arena; 014import fr.aumgn.dac2.arena.Arenas; 015 016@NestedCommands("dac2") 017public class ArenasCommands extends DACCommands { 018 019 public ArenasCommands(DAC dac) { 020 super(dac); 021 } 022 023 @Command(name = "define", min = 1, max = 2) 024 public void define(CommandSender sender, CommandArgs args) { 025 String name = args.get(0); 026 World world = args.getWorld(1).valueOr(sender); 027 028 dac.getArenas().create(dac, name, world); 029 sender.sendMessage(msg("define.success", name)); 030 } 031 032 @Command(name = "delete", min = 1, max = 1) 033 public void delete(CommandSender sender, CommandArgs args) { 034 Arenas arenas = dac.getArenas(); 035 List<Arena> arenasList = args.getList(0, Arena).value(); 036 037 for (Arena arena : arenasList) { 038 arenas.delete(dac, arena); 039 sender.sendMessage(msg("delete.success", arena.getName())); 040 } 041 } 042 043 @Command(name = "arenas") 044 public void arenas(CommandSender sender) { 045 sender.sendMessage(msg("arenas.header")); 046 for (Arena arena : dac.getArenas().all()) { 047 sender.sendMessage(msg("arenas.arena", arena.getName(), 048 arena.getWorld().getName())); 049 } 050 } 051 052 @Command(name = "tparena", min = 1, max = 1) 053 public void tparena(Player sender, CommandArgs args) { 054 Arena arena = args.get(0, Arena).value(); 055 sender.teleport(arena.safeGetDiving(dac).toLocation(arena.getWorld())); 056 sender.sendMessage(msg("tparena.success")); 057 } 058}