Update TpCommand #404
@ -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<String> 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<String> 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){
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren