diff --git a/src/de/steamwar/bungeecore/commands/ArenaCommand.java b/src/de/steamwar/bungeecore/commands/ArenaCommand.java index 2108fa7e..b73d6d29 100644 --- a/src/de/steamwar/bungeecore/commands/ArenaCommand.java +++ b/src/de/steamwar/bungeecore/commands/ArenaCommand.java @@ -39,22 +39,25 @@ public class ArenaCommand extends SWCommand { } @Register - public void arenaJoin(ProxiedPlayer player, ServerInfo server) { - Subserver subserver = Subserver.getSubserver(server); - if(server == null || subserver == null || subserver.getType() != Servertype.ARENA) { - ChatSender.of(player).system("ARENA_NOT_FOUND"); - return; - } - - TpCommand.teleport(player, server); + public void arenaJoin(ProxiedPlayer player, Subserver server) { + TpCommand.teleport(player, server.getServer()); } - @ClassMapper(ServerInfo.class) - public TypeMapper serverInfoTypeMapper() { - return new TypeMapper() { + @ClassMapper(value = ServerInfo.class, local = true) + public TypeMapper serverInfoTypeMapper() { + return new TypeMapper() { @Override - public ServerInfo map(CommandSender commandSender, String[] previousArguments, String s) { - return ProxyServer.getInstance().getServerInfo(s); + public Subserver map(CommandSender commandSender, String[] previousArguments, String s) { + return Subserver.getSubserver(ProxyServer.getInstance().getServerInfo(s)); + } + + @Override + public boolean validate(CommandSender sender, Subserver value, MessageSender messageSender) { + if (value == null || value.getType() != Servertype.ARENA) { + messageSender.send("ARENA_NOT_FOUND"); + return false; + } + return true; } @Override