diff --git a/multification-bukkit/src/com/eternalcode/multification/bukkit/BukkitViewerProvider.java b/multification-bukkit/src/com/eternalcode/multification/bukkit/BukkitViewerProvider.java index 67febe3..37ba305 100644 --- a/multification-bukkit/src/com/eternalcode/multification/bukkit/BukkitViewerProvider.java +++ b/multification-bukkit/src/com/eternalcode/multification/bukkit/BukkitViewerProvider.java @@ -24,6 +24,17 @@ public Collection onlinePlayers() { return Collections.unmodifiableCollection(Bukkit.getOnlinePlayers()); } + @Override + public Collection onlinePlayers(String permission) { + Collection playersWithPermission = new ArrayList<>(); + for (CommandSender player : Bukkit.getOnlinePlayers()) { + if (player.hasPermission(permission)) { + playersWithPermission.add(player); + } + } + return Collections.unmodifiableCollection(playersWithPermission); + } + @Override public Collection all() { Collection viewers = new ArrayList<>(this.onlinePlayers()); diff --git a/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcast.java b/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcast.java index 9cc67f6..8c808c1 100644 --- a/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcast.java +++ b/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcast.java @@ -33,6 +33,9 @@ public interface NoticeBroadcast extractor) { diff --git a/multification-core/src/com/eternalcode/multification/viewer/ViewerProvider.java b/multification-core/src/com/eternalcode/multification/viewer/ViewerProvider.java index 7bfa139..5ff6915 100644 --- a/multification-core/src/com/eternalcode/multification/viewer/ViewerProvider.java +++ b/multification-core/src/com/eternalcode/multification/viewer/ViewerProvider.java @@ -11,6 +11,8 @@ public interface ViewerProvider { Collection onlinePlayers(); + Collection onlinePlayers(String permission); + Collection all(); } diff --git a/multification-core/test/com/eternalcode/multification/MultificationTest.java b/multification-core/test/com/eternalcode/multification/MultificationTest.java index 959b307..ee5bbae 100644 --- a/multification-core/test/com/eternalcode/multification/MultificationTest.java +++ b/multification-core/test/com/eternalcode/multification/MultificationTest.java @@ -56,6 +56,18 @@ public Collection onlinePlayers() { return ONLINE; } + @Override + public Collection onlinePlayers(String permission) { + List playersWithPermission = new ArrayList<>(); + for (Viewer viewer : ONLINE) { + // Simulating permission check + if (viewer.uuid.equals(ROLLCZI_UUID) || viewer.uuid.equals(LUCKI_UUID)) { + playersWithPermission.add(viewer); + } + } + return playersWithPermission; + } + @Override public Collection all() { List list = new ArrayList<>();