Improve CheckCommand

This commit is contained in:
2026-06-17 11:09:32 +02:00
parent ed89770c0f
commit 27e01a56ae
@@ -90,11 +90,7 @@ public class CheckCommand extends SWCommand {
for (SchematicNode schematicNode : getSchemsToCheck()) { for (SchematicNode schematicNode : getSchemsToCheck()) {
if (!mayCheck(user, schematicNode)) continue; if (!mayCheck(user, schematicNode)) continue;
CheckSession checkSession = currentSchems.get(schematicNode.getId()); CheckSession checkSession = currentSchems.get(schematicNode.getId());
if (checkSession == null) { map.put(schematicNode, checkSession == null ? null : checkSession.checker.user());
map.put(schematicNode, null);
} else {
map.put(schematicNode, checkSession.checker.user());
}
} }
return map; return map;
} }
@@ -112,7 +108,6 @@ public class CheckCommand extends SWCommand {
if (schematics.isEmpty()) return; if (schematics.isEmpty()) return;
long needsChecking = schematics.entrySet().stream().filter(entry -> entry.getValue() == null).count(); long needsChecking = schematics.entrySet().stream().filter(entry -> entry.getValue() == null).count();
if (needsChecking == 0) return; if (needsChecking == 0) return;
chatter.system("CHECK_REMINDER", new Message("CHECK_REMINDER_HOVER"), ClickEvent.runCommand("/check list"), needsChecking); chatter.system("CHECK_REMINDER", new Message("CHECK_REMINDER_HOVER"), ClickEvent.runCommand("/check list"), needsChecking);
} }
@@ -123,29 +118,30 @@ public class CheckCommand extends SWCommand {
sender.system("CHECK_LIST_HEADER", schematics.size()); sender.system("CHECK_LIST_HEADER", schematics.size());
for (Map.Entry<SchematicNode, SteamwarUser> entry : schematics.entrySet()) { for (Map.Entry<SchematicNode, SteamwarUser> entry : schematics.entrySet()) {
String message;
ClickEvent clickEvent; ClickEvent clickEvent;
Message hoverMessage; Message hoverMessage;
String checker;
if (entry.getValue() == null) { if (entry.getValue() == null) {
message = "CHECK_LIST_TO_CHECK";
clickEvent = ClickEvent.runCommand("/check schematic " + entry.getKey().getId()); clickEvent = ClickEvent.runCommand("/check schematic " + entry.getKey().getId());
hoverMessage = new Message("CHECK_LIST_TO_CHECK_HOVER"); hoverMessage = new Message("CHECK_LIST_TO_CHECK_HOVER");
checker = "";
} else { } else {
message = "CHECK_LIST_CHECKING";
clickEvent = ClickEvent.runCommand("/join " + entry.getValue().getUserName()); clickEvent = ClickEvent.runCommand("/join " + entry.getValue().getUserName());
hoverMessage = new Message("CHECK_LIST_CHECKING_HOVER"); hoverMessage = new Message("CHECK_LIST_CHECKING_HOVER");
checker = entry.getValue().getUserName();
} }
if (entry.getValue() == null) { sender.prefixless(message,
sender.prefixless("CHECK_LIST_TO_CHECK",
hoverMessage, hoverMessage,
clickEvent, clickEvent,
getWaitTime(entry.getKey()), getWaitTime(entry.getKey()),
entry.getKey().getSchemtype().getKuerzel(), SteamwarUser.byId(entry.getKey().getOwner()).getUserName(), entry.getKey().getName()); entry.getKey().getSchemtype().getKuerzel(),
} else { SteamwarUser.byId(entry.getKey().getOwner()).getUserName(),
sender.prefixless("CHECK_LIST_CHECKING", entry.getKey().getName(),
hoverMessage, checker);
clickEvent,
getWaitTime(entry.getKey()),
entry.getKey().getSchemtype().getKuerzel(), SteamwarUser.byId(entry.getKey().getOwner()).getUserName(), entry.getKey().getName(), entry.getValue().getUserName());
}
} }
} }
@@ -237,11 +233,6 @@ public class CheckCommand extends SWCommand {
return schematicList; return schematicList;
} }
public static String getChecker(SchematicNode schematic) {
if (currentSchems.get(schematic.getId()) == null) return null;
return currentSchems.get(schematic.getId()).checker.user().getUserName();
}
private static boolean notChecking(Player player) { private static boolean notChecking(Player player) {
if (!isChecking(player)) { if (!isChecking(player)) {
Chatter.of(player).system("CHECK_NOT_CHECKING"); Chatter.of(player).system("CHECK_NOT_CHECKING");