Pārlūkot izejas kodu

Adding "@game-players" tab-completion result

RedstoneFuture 1 gadu atpakaļ
vecāks
revīzija
a7a17354c1

+ 15 - 0
missilewars-plugin/src/main/java/de/butzlabben/missilewars/commands/MWCommandCompletions.java

@@ -38,6 +38,7 @@ public class MWCommandCompletions {
         registerMissilesResult();
         registerArenasResult();
         registerTeamsResult();
+        registerGamePlayerResult();
     }
 
     private void registerGamesResult() {
@@ -85,5 +86,19 @@ public class MWCommandCompletions {
             return ImmutableList.of("1", "2", "spec");
         });
     }
+    
+    private void registerGamePlayerResult() {
+        commandCompletions.registerCompletion("game-players", c -> {
+            CommandSender sender = c.getSender();
+
+            if (!(sender instanceof Player)) return null;
+            Player player = (Player) sender;
 
+            Game game = GameManager.getInstance().getGame(player.getLocation());
+            if (game == null) return null;
+            
+            return game.getPlayerList();
+        });
+    }
+    
 }

+ 8 - 0
missilewars-plugin/src/main/java/de/butzlabben/missilewars/game/Game.java

@@ -701,6 +701,14 @@ public class Game {
         if ((teamManager.getTeam1() == null) || (teamManager.getTeam2() == null)) return 0;
         return teamManager.getTeam1().getMembers().size() + teamManager.getTeam2().getMembers().size();
     }
+    
+    public List<String> getPlayerList() {
+        List<String> playerList = new ArrayList<>();
+        
+        players.values().forEach(mwPlayer -> playerList.add(mwPlayer.getPlayer().getName()));
+        
+        return playerList;
+    }
 
     public static void knockbackEffect(Player player, Location from, Location to) {
         Vector addTo = from.toVector().subtract(to.toVector()).multiply(3);