geforkt von SteamWar/BungeeCore
Update JoinmeCommand
Dieser Commit ist enthalten in:
Ursprung
647702c0b0
Commit
a15cf2c94e
@ -21,11 +21,18 @@ package de.steamwar.bungeecore.commands;
|
||||
|
||||
import de.steamwar.bungeecore.*;
|
||||
import de.steamwar.bungeecore.sql.BauweltMember;
|
||||
import de.steamwar.command.PreviousArguments;
|
||||
import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.command.TypeMapper;
|
||||
import net.md_5.bungee.api.CommandSender;
|
||||
import net.md_5.bungee.api.ProxyServer;
|
||||
import net.md_5.bungee.api.chat.ClickEvent;
|
||||
import net.md_5.bungee.api.config.ServerInfo;
|
||||
import net.md_5.bungee.api.connection.ProxiedPlayer;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class JoinmeCommand extends SWCommand {
|
||||
|
||||
public JoinmeCommand() {
|
||||
@ -40,11 +47,8 @@ public class JoinmeCommand extends SWCommand {
|
||||
}
|
||||
|
||||
@Register
|
||||
public void genericCommand(ProxiedPlayer player, ProxiedPlayer target) {
|
||||
if(target == null || !target.isConnected()){
|
||||
Message.send("JOINME_PLAYER_OFFLINE", player);
|
||||
return;
|
||||
}else if(target.equals(player)){
|
||||
public void genericCommand(ProxiedPlayer player, @Validator ProxiedPlayer target) {
|
||||
if (target.equals(player)){
|
||||
Message.send("JOINME_PLAYER_SELF", player);
|
||||
return;
|
||||
}
|
||||
@ -78,4 +82,28 @@ public class JoinmeCommand extends SWCommand {
|
||||
player.connect(server);
|
||||
}
|
||||
}
|
||||
|
||||
@ClassMapper(ProxiedPlayer.class)
|
||||
public TypeMapper<ProxiedPlayer> playerMapper() {
|
||||
return new TypeMapper<ProxiedPlayer>() {
|
||||
@Override
|
||||
public ProxiedPlayer map(CommandSender commandSender, String[] previousArguments, String s) {
|
||||
return ProxyServer.getInstance().getPlayer(s);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean validate(CommandSender sender, ProxiedPlayer value, MessageSender messageSender) {
|
||||
if (value == null || !value.isConnected()) {
|
||||
messageSender.send("JOINME_PLAYER_OFFLINE", sender);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Collection<String> tabCompletes(CommandSender sender, PreviousArguments previousArguments, String s) {
|
||||
return ProxyServer.getInstance().getPlayers().stream().map(ProxiedPlayer::getName).collect(Collectors.toList());
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
In neuem Issue referenzieren
Einen Benutzer sperren