diff --git a/src/main/java/dev/loki/command/DBDAdminCommand.java b/src/main/java/dev/loki/command/DBDAdminCommand.java index 516f0c4..194cd61 100644 --- a/src/main/java/dev/loki/command/DBDAdminCommand.java +++ b/src/main/java/dev/loki/command/DBDAdminCommand.java @@ -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(); }