geforkt von SteamWar/BungeeCore
Update WhoisCommand and make it public
Dieser Commit ist enthalten in:
Ursprung
9af9e84723
Commit
10f623b0e4
@ -35,7 +35,6 @@ import net.md_5.bungee.api.connection.ProxiedPlayer;
|
|||||||
import java.sql.Timestamp;
|
import java.sql.Timestamp;
|
||||||
import java.text.DecimalFormat;
|
import java.text.DecimalFormat;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
@ -43,7 +42,7 @@ import java.util.stream.Stream;
|
|||||||
|
|
||||||
public class WhoisCommand extends SWCommand {
|
public class WhoisCommand extends SWCommand {
|
||||||
public WhoisCommand() {
|
public WhoisCommand() {
|
||||||
super("whois", "bungeecore.teamchat");
|
super("whois");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Register(description = "WHOIS_USAGE")
|
@Register(description = "WHOIS_USAGE")
|
||||||
@ -79,13 +78,19 @@ public class WhoisCommand extends SWCommand {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static void sendUserinfo(ProxiedPlayer player, SteamwarUser user, EnumSet<WhoisParameterTypes> parameterTypes) {
|
private static void sendUserinfo(ProxiedPlayer player, SteamwarUser user, EnumSet<WhoisParameterTypes> parameterTypes) {
|
||||||
|
UserGroup userGroup = SteamwarUser.get(player.getUniqueId()).getUserGroup();
|
||||||
|
boolean playerIsInServerTeam = userGroup.isTeamGroup();
|
||||||
|
|
||||||
Message.send("WHOIS_USERNAME", player, user.getUserName());
|
Message.send("WHOIS_USERNAME", player, user.getUserName());
|
||||||
|
Message.send("WHOIS_GROUP", player, user.getUserGroup().getColorCode(), user.getUserGroup().name());
|
||||||
|
if (userGroup.isAdminGroup()) {
|
||||||
Message.send("WHOIS_UUID", player, Message.parse("WHOIS_UUID_HOVER", player), new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, user.getUuid().toString()), user.getUuid().toString());
|
Message.send("WHOIS_UUID", player, Message.parse("WHOIS_UUID_HOVER", player), new ClickEvent(ClickEvent.Action.COPY_TO_CLIPBOARD, user.getUuid().toString()), user.getUuid().toString());
|
||||||
Message.send("WHOIS_ID", player, user.getId());
|
Message.send("WHOIS_ID", player, user.getId());
|
||||||
Message.send("WHOIS_GROUP", player, user.getUserGroup().getColorCode(), user.getUserGroup().name());
|
|
||||||
if (user.getDiscordId() != null) {
|
if (user.getDiscordId() != null) {
|
||||||
Message.send("WHOIS_DISCORD_ID", player, user.getDiscordId());
|
Message.send("WHOIS_DISCORD_ID", player, user.getDiscordId());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
if (playerIsInServerTeam) {
|
||||||
Timestamp firstJoin = user.getFirstjoin();
|
Timestamp firstJoin = user.getFirstjoin();
|
||||||
if (firstJoin == null) {
|
if (firstJoin == null) {
|
||||||
Message.send("WHOIS_JOINED_FIRST", player, "0000-00-00 00:00:00");
|
Message.send("WHOIS_JOINED_FIRST", player, "0000-00-00 00:00:00");
|
||||||
@ -93,8 +98,9 @@ public class WhoisCommand extends SWCommand {
|
|||||||
Message.send("WHOIS_JOINED_FIRST", player, firstJoin.toString());
|
Message.send("WHOIS_JOINED_FIRST", player, firstJoin.toString());
|
||||||
}
|
}
|
||||||
Message.send("WHOIS_HOURS_PLAYED", player, new DecimalFormat("###.##").format(user.getOnlinetime() / 3600d));
|
Message.send("WHOIS_HOURS_PLAYED", player, new DecimalFormat("###.##").format(user.getOnlinetime() / 3600d));
|
||||||
|
}
|
||||||
|
|
||||||
if(BungeeCord.getInstance().getPlayer(user.getUuid()) != null) {
|
if(playerIsInServerTeam && BungeeCord.getInstance().getPlayer(user.getUuid()) != null) {
|
||||||
ProxiedPlayer target = BungeeCord.getInstance().getPlayer(user.getUuid());
|
ProxiedPlayer target = BungeeCord.getInstance().getPlayer(user.getUuid());
|
||||||
Message.send("WHOIS_CURRENT_PLAYED", player, new DecimalFormat("####.##").format((Instant.now().getEpochSecond() - Storage.sessions.get(target).toInstant().getEpochSecond()) / 60d));
|
Message.send("WHOIS_CURRENT_PLAYED", player, new DecimalFormat("####.##").format((Instant.now().getEpochSecond() - Storage.sessions.get(target).toInstant().getEpochSecond()) / 60d));
|
||||||
Message.send("WHOIS_CURRENT_SERVER", player, target.getServer().getInfo().getName());
|
Message.send("WHOIS_CURRENT_SERVER", player, target.getServer().getInfo().getName());
|
||||||
@ -103,6 +109,7 @@ public class WhoisCommand extends SWCommand {
|
|||||||
|
|
||||||
Team team = Team.get(user.getTeam());
|
Team team = Team.get(user.getTeam());
|
||||||
Message.send("WHOIS_TEAM", player, Message.parse("WHOIS_TEAM_HOVER", player, team.getTeamName()), new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/team info " + team.getTeamKuerzel()), team.getTeamColor(), team.getTeamKuerzel(), team.getTeamName());
|
Message.send("WHOIS_TEAM", player, Message.parse("WHOIS_TEAM_HOVER", player, team.getTeamName()), new ClickEvent(ClickEvent.Action.RUN_COMMAND, "/team info " + team.getTeamKuerzel()), team.getTeamColor(), team.getTeamKuerzel(), team.getTeamName());
|
||||||
|
if (!playerIsInServerTeam) return;
|
||||||
|
|
||||||
if (Utils.playerModMap.containsKey(user.getUuid())) {
|
if (Utils.playerModMap.containsKey(user.getUuid())) {
|
||||||
Mod.Platform modPlatform = Utils.playerModMap.get(user.getUuid()).get(0).getPlatform();
|
Mod.Platform modPlatform = Utils.playerModMap.get(user.getUuid()).get(0).getPlatform();
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren