From fef1d992b8a2e3fd6298caa46c947ba1a66896ed Mon Sep 17 00:00:00 2001 From: yoyosource Date: Thu, 16 Jun 2022 12:09:28 +0200 Subject: [PATCH] Update TpCommand --- .../bungeecore/commands/TpCommand.java | 28 +++++++++---------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/src/de/steamwar/bungeecore/commands/TpCommand.java b/src/de/steamwar/bungeecore/commands/TpCommand.java index 3961f8c..d52a351 100644 --- a/src/de/steamwar/bungeecore/commands/TpCommand.java +++ b/src/de/steamwar/bungeecore/commands/TpCommand.java @@ -22,6 +22,9 @@ package de.steamwar.bungeecore.commands; import de.steamwar.bungeecore.*; import de.steamwar.bungeecore.sql.*; import de.steamwar.bungeecore.util.Chat19; +import de.steamwar.command.SWCommand; +import de.steamwar.command.SWCommandUtils; +import de.steamwar.command.TypeMapper; import de.steamwar.messages.ChatSender; import net.md_5.bungee.BungeeCord; import net.md_5.bungee.api.CommandSender; @@ -30,21 +33,18 @@ import net.md_5.bungee.api.config.ServerInfo; import net.md_5.bungee.api.connection.ProxiedPlayer; import java.util.ArrayList; +import java.util.stream.Collectors; -public class TpCommand extends BasicCommand { +public class TpCommand extends SWCommand { public TpCommand(){ super("join", null, "tp", "teleport"); } - @Override - public void execute(CommandSender s, String[] args) { - if(!(s instanceof ProxiedPlayer)) - return; - ProxiedPlayer player = (ProxiedPlayer) s; - + @Register + public void genericCommand(ProxiedPlayer player, @OptionalValue("") @Mapper("player") String target) { ChatSender sender = ChatSender.of(player); - if(args.length == 0){ + if(target.equals("")){ if(Event.get() == null) sender.system("TP_USAGE"); else @@ -52,22 +52,20 @@ public class TpCommand extends BasicCommand { return; } - ServerInfo server = getTarget(player, args[0]); + ServerInfo server = getTarget(player, target); //Give control of teleport command to server if(server == null) { - Chat19.chat(player, "/tp " + String.join(" ", args)); + Chat19.chat(player, "/tp " + String.join(" ", target)); return; } teleport(player, server); } - @Override - public Iterable onTabComplete(CommandSender commandSender, String[] args) { - if(args.length > 0) - return allPlayers(args[args.length - 1]); - return new ArrayList<>(); + @Mapper(value = "player", local = true) + public TypeMapper playerTypeMapper() { + return SWCommandUtils.createMapper(s -> s, s -> BungeeCord.getInstance().getPlayers().stream().map(ProxiedPlayer::getName).collect(Collectors.toList())); } public static void teleport(ProxiedPlayer player, ServerInfo server){