forked from SteamWar/SteamWar
Add GameModeConfig.Checkers
This commit is contained in:
@@ -21,7 +21,6 @@ package de.steamwar.velocitycore.commands;
|
||||
|
||||
import com.velocitypowered.api.proxy.Player;
|
||||
import de.steamwar.command.SWCommand;
|
||||
import de.steamwar.sql.GameModeConfig;
|
||||
import de.steamwar.linkage.Linked;
|
||||
import de.steamwar.messages.Chatter;
|
||||
import de.steamwar.messages.Message;
|
||||
@@ -100,17 +99,27 @@ public class CheckCommand extends SWCommand {
|
||||
sender.system("CHECK_LIST_HEADER", schematicList.size());
|
||||
|
||||
for (SchematicNode schematic : schematicList) {
|
||||
GameModeConfig<String, String> gameModeConfig = ArenaMode.getBySchemType(schematic.getSchemtype());
|
||||
CheckSession current = currentSchems.get(schematic.getId());
|
||||
ClickEvent clickEvent = null;
|
||||
if (gameModeConfig.Checkers.isEmpty() || gameModeConfig.Checkers.contains(sender.user().getId())) {
|
||||
if (current == null) {
|
||||
clickEvent = ClickEvent.runCommand("/check schematic " + schematic.getId());
|
||||
} else {
|
||||
clickEvent = ClickEvent.runCommand("/join " + current.checker.user().getUserName());
|
||||
}
|
||||
}
|
||||
|
||||
if (current == null) {
|
||||
sender.prefixless("CHECK_LIST_TO_CHECK",
|
||||
new Message("CHECK_LIST_TO_CHECK_HOVER"),
|
||||
ClickEvent.runCommand("/check schematic " + schematic.getId()),
|
||||
clickEvent,
|
||||
getWaitTime(schematic),
|
||||
schematic.getSchemtype().getKuerzel(), SteamwarUser.get(schematic.getOwner()).getUserName(), schematic.getName());
|
||||
} else {
|
||||
sender.prefixless("CHECK_LIST_CHECKING",
|
||||
new Message("CHECK_LIST_CHECKING_HOVER"),
|
||||
ClickEvent.runCommand("/join " + current.checker.user().getUserName()),
|
||||
clickEvent,
|
||||
getWaitTime(schematic),
|
||||
schematic.getSchemtype().getKuerzel(), SteamwarUser.get(schematic.getOwner()).getUserName(), schematic.getName(), current.checker.user().getUserName());
|
||||
}
|
||||
@@ -125,6 +134,11 @@ public class CheckCommand extends SWCommand {
|
||||
}
|
||||
|
||||
SchematicNode schem = SchematicNode.getSchematicNode(Integer.parseInt(schemID));
|
||||
GameModeConfig<String, String> gameModeConfig = ArenaMode.getBySchemType(schem.getSchemtype());
|
||||
if (!gameModeConfig.Checkers.isEmpty() && !gameModeConfig.Checkers.contains(sender.user().getId())) {
|
||||
sender.system("CHECK_SCHEMATIC_EVENT");
|
||||
return;
|
||||
}
|
||||
if(!schem.getSchemtype().check()){
|
||||
VelocityCore.getLogger().log(Level.SEVERE, () -> sender.user().getUserName() + " tried to check an uncheckable schematic!");
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user