forked from SteamWar/SteamWar
Fix formatted team names disconnecting clients via click commands
This commit is contained in:
@@ -133,7 +133,7 @@ public class ChatFormat {
|
||||
private static Component clickableTeam(Chatter receiver, Team team, Component component) {
|
||||
return component
|
||||
.hoverEvent(HoverEvent.showText(receiver.parse(new Message("CHAT_HOVER_TEAM_CLICK", team.getTeamName(), "§" + team.getTeamColor(), team.getTeamKuerzel()))))
|
||||
.clickEvent(ClickEvent.suggestCommand("/team info " + team.getTeamKuerzel()));
|
||||
.clickEvent(ClickEvent.suggestCommand("/team info id " + team.getTeamId()));
|
||||
}
|
||||
|
||||
private static Component teamHover(Chatter receiver, Team team) {
|
||||
|
||||
@@ -128,7 +128,7 @@ public class EventCommand extends SWCommand {
|
||||
|
||||
for (Map.Entry<Integer, Integer> entry : Teampointssortet.entrySet()) {
|
||||
Component finalmessage = sender.parse("EVENT_TEAM_TABLE",Team.byId(entry.getKey()).getTeamColor(), Team.byId(entry.getKey()).getTeamKuerzel(), Team.byId(entry.getKey()).getTeamName(), entry.getValue());
|
||||
finalmessage = finalmessage.clickEvent(ClickEvent.runCommand("/team info " + Team.byId(entry.getKey()).getTeamName()));
|
||||
finalmessage = finalmessage.clickEvent(ClickEvent.runCommand("/team info id " + entry.getKey()));
|
||||
sender.sendMessage(finalmessage);
|
||||
}
|
||||
}
|
||||
@@ -183,11 +183,11 @@ public class EventCommand extends SWCommand {
|
||||
Team blue = Team.byId(eventFight.getTeamBlue());
|
||||
Team red = Team.byId(eventFight.getTeamRed());
|
||||
Component finalfightline = sender.parse("EVENT_CURRENT_FIGHT_1", eventFight.getStartTime().toLocalDateTime().format(format), blue.getTeamColor(), blue.getTeamKuerzel());
|
||||
finalfightline = finalfightline.clickEvent(ClickEvent.runCommand("/team info " + blue.getTeamName()));
|
||||
finalfightline = finalfightline.clickEvent(ClickEvent.runCommand("/team info id " + blue.getTeamId()));
|
||||
Component vs = sender.parse("EVENT_CURRENT_FIGHT_VS");
|
||||
finalfightline = finalfightline.append(vs);
|
||||
Component redteam = sender.parse("EVENT_CURRENT_FIGHT_2", red.getTeamColor(), red.getTeamKuerzel());
|
||||
redteam = redteam.clickEvent(ClickEvent.runCommand("/team info " + red.getTeamName()));
|
||||
redteam = redteam.clickEvent(ClickEvent.runCommand("/team info id " + red.getTeamId()));
|
||||
finalfightline = finalfightline.append(redteam);
|
||||
|
||||
if (eventFight.hasFinished()) {
|
||||
@@ -272,4 +272,4 @@ public class EventCommand extends SWCommand {
|
||||
return List.of(eventFight.getTeamBlue(), eventFight.getTeamRed());
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -285,6 +285,16 @@ public class TeamCommand extends SWCommand {
|
||||
info(sender, Team.byId(sender.user().getTeam()));
|
||||
}
|
||||
|
||||
@Register({"info", "id"})
|
||||
public void infoById(Chatter sender, int teamId) {
|
||||
Team team = Team.getActiveById(teamId);
|
||||
if (team == null) {
|
||||
sender.system("UNKNOWN_TEAM");
|
||||
return;
|
||||
}
|
||||
info(sender, team);
|
||||
}
|
||||
|
||||
@Register(value = "info", description = "TEAM_INFO_USAGE")
|
||||
public void info(Chatter sender, @ErrorMessage("UNKNOWN_TEAM") Team team) {
|
||||
if (team.getMembers().isEmpty()) {
|
||||
@@ -403,7 +413,7 @@ public class TeamCommand extends SWCommand {
|
||||
Team tm = all.get(i);
|
||||
|
||||
sender.prefixless("TEAM_LIST_TEAM", new Message("TEAM_LIST_TEAM_HOVER"),
|
||||
ClickEvent.runCommand("/team info " + tm.getTeamName()), tm.getTeamColor(), tm.getTeamKuerzel(), tm.getTeamName());
|
||||
ClickEvent.runCommand("/team info id " + tm.getTeamId()), tm.getTeamColor(), tm.getTeamKuerzel(), tm.getTeamName());
|
||||
}
|
||||
|
||||
Component beforePage = Component
|
||||
|
||||
@@ -67,7 +67,7 @@ public class WhoisCommand extends SWCommand {
|
||||
|
||||
sender.system("WHOIS_USERNAME", user.getUserName());
|
||||
sender.system("WHOIS_PREFIX", user.prefix().getColorCode() + user.prefix().getChatPrefix());
|
||||
sender.system("WHOIS_TEAM", new Message("WHOIS_TEAM_HOVER", team.getTeamName()), ClickEvent.runCommand("/team info " + team.getTeamName()), team.getTeamColor(), team.getTeamKuerzel(), team.getTeamName());
|
||||
sender.system("WHOIS_TEAM", new Message("WHOIS_TEAM_HOVER", team.getTeamName()), ClickEvent.runCommand("/team info id " + team.getTeamId()), team.getTeamColor(), team.getTeamKuerzel(), team.getTeamName());
|
||||
|
||||
if (!sender.user().hasPerm(UserPerm.TEAM)) return;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user