feat: /dbdadmin repairgens — мгновенно чинит все генераторы
This commit is contained in:
parent
eb4a670e9c
commit
b666f1b0fa
1 changed files with 31 additions and 1 deletions
|
|
@ -43,6 +43,7 @@ public class DBDAdminCommand implements TabExecutor {
|
|||
return switch (args[0].toLowerCase()) {
|
||||
case "list" -> handleList(player, args);
|
||||
case "world" -> handleWorld(player, args);
|
||||
case "repairgens" -> handleRepairGens(player);
|
||||
default -> {
|
||||
sendUsage(sender);
|
||||
yield true;
|
||||
|
|
@ -124,12 +125,41 @@ public class DBDAdminCommand implements TabExecutor {
|
|||
return true;
|
||||
}
|
||||
|
||||
private boolean handleRepairGens(Player player) {
|
||||
var gameManager = plugin.getGameManager();
|
||||
var session = gameManager.getCurrentSession();
|
||||
if (session == null) {
|
||||
player.sendMessage("§cНет активной игры.");
|
||||
return true;
|
||||
}
|
||||
|
||||
var genManager = session.getGeneratorManager();
|
||||
if (genManager == null) {
|
||||
player.sendMessage("§cGeneratorManager не найден.");
|
||||
return true;
|
||||
}
|
||||
|
||||
int count = 0;
|
||||
for (var gen : genManager.getIncompleteGenerators()) {
|
||||
gen.setProgress(100.0);
|
||||
genManager.onGeneratorCompleted(gen);
|
||||
count++;
|
||||
}
|
||||
|
||||
player.sendMessage("§aПочинено генераторов: §e" + count);
|
||||
if (count > 0 && genManager.areAllRequiredCompleted()) {
|
||||
player.sendMessage("§a✔ Все необходимые генераторы починены — ворота открываются!");
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private void sendUsage(CommandSender sender) {
|
||||
var messages = plugin.getConfigManager().getMessages();
|
||||
sender.sendMessage(messages.get("usage.admin-list-header"));
|
||||
sender.sendMessage(messages.get("usage.admin-list-list"));
|
||||
sender.sendMessage(messages.get("usage.admin-list-type"));
|
||||
sender.sendMessage(messages.get("usage.admin-world"));
|
||||
sender.sendMessage("§7/dbdadmin repairgens §8— §fПочинить все генераторы");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -138,7 +168,7 @@ public class DBDAdminCommand implements TabExecutor {
|
|||
if (!sender.hasPermission("mdbd.admin")) return List.of();
|
||||
|
||||
if (args.length == 1) {
|
||||
return Arrays.asList("list", "world").stream()
|
||||
return Arrays.asList("list", "world", "repairgens").stream()
|
||||
.filter(s -> s.startsWith(args[0].toLowerCase()))
|
||||
.toList();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue