SteamWar/BungeeCore
Archiviert
13
2

Update TpCommand
Einige Prüfungen sind fehlgeschlagen
SteamWarCI Build failed

Dieser Commit ist enthalten in:
yoyosource 2022-06-16 12:09:28 +02:00
Ursprung 8a21d5c93d
Commit fef1d992b8

Datei anzeigen

@ -22,6 +22,9 @@ package de.steamwar.bungeecore.commands;
import de.steamwar.bungeecore.*; import de.steamwar.bungeecore.*;
import de.steamwar.bungeecore.sql.*; import de.steamwar.bungeecore.sql.*;
import de.steamwar.bungeecore.util.Chat19; 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 de.steamwar.messages.ChatSender;
import net.md_5.bungee.BungeeCord; import net.md_5.bungee.BungeeCord;
import net.md_5.bungee.api.CommandSender; 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 net.md_5.bungee.api.connection.ProxiedPlayer;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.stream.Collectors;
public class TpCommand extends BasicCommand { public class TpCommand extends SWCommand {
public TpCommand(){ public TpCommand(){
super("join", null, "tp", "teleport"); super("join", null, "tp", "teleport");
} }
@Override @Register
public void execute(CommandSender s, String[] args) { public void genericCommand(ProxiedPlayer player, @OptionalValue("") @Mapper("player") String target) {
if(!(s instanceof ProxiedPlayer))
return;
ProxiedPlayer player = (ProxiedPlayer) s;
ChatSender sender = ChatSender.of(player); ChatSender sender = ChatSender.of(player);
if(args.length == 0){ if(target.equals("")){
if(Event.get() == null) if(Event.get() == null)
sender.system("TP_USAGE"); sender.system("TP_USAGE");
else else
@ -52,22 +52,20 @@ public class TpCommand extends BasicCommand {
return; return;
} }
ServerInfo server = getTarget(player, args[0]); ServerInfo server = getTarget(player, target);
//Give control of teleport command to server //Give control of teleport command to server
if(server == null) { if(server == null) {
Chat19.chat(player, "/tp " + String.join(" ", args)); Chat19.chat(player, "/tp " + String.join(" ", target));
return; return;
} }
teleport(player, server); teleport(player, server);
} }
@Override @Mapper(value = "player", local = true)
public Iterable<String> onTabComplete(CommandSender commandSender, String[] args) { public TypeMapper<String> playerTypeMapper() {
if(args.length > 0) return SWCommandUtils.createMapper(s -> s, s -> BungeeCord.getInstance().getPlayers().stream().map(ProxiedPlayer::getName).collect(Collectors.toList()));
return allPlayers(args[args.length - 1]);
return new ArrayList<>();
} }
public static void teleport(ProxiedPlayer player, ServerInfo server){ public static void teleport(ProxiedPlayer player, ServerInfo server){