From e8fd9986fe33f5b8a27eb75553fd9225accd00ed Mon Sep 17 00:00:00 2001 From: vLuckyyy Date: Sun, 13 Jul 2025 21:54:23 +0200 Subject: [PATCH 1/2] Add support for #onlinePlayers with specific permissions --- .../multification/bukkit/BukkitViewerProvider.java | 11 +++++++++++ .../multification/notice/NoticeBroadcast.java | 3 +++ .../multification/notice/NoticeBroadcastImpl.java | 7 +++++++ .../multification/viewer/ViewerProvider.java | 2 ++ .../eternalcode/multification/MultificationTest.java | 12 ++++++++++++ 5 files changed, 35 insertions(+) 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<>(); From 1e21de0b125ea64386535b728257df7e6440d036 Mon Sep 17 00:00:00 2001 From: Martin Sulikowski Date: Sun, 13 Jul 2025 21:59:47 +0200 Subject: [PATCH 2/2] Update multification-core/src/com/eternalcode/multification/notice/NoticeBroadcastImpl.java Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .../eternalcode/multification/notice/NoticeBroadcastImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcastImpl.java b/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcastImpl.java index cabec80..881a660 100644 --- a/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcastImpl.java +++ b/multification-core/src/com/eternalcode/multification/notice/NoticeBroadcastImpl.java @@ -119,7 +119,7 @@ public B onlinePlayers() { @Override @CheckReturnValue public B onlinePlayers(String permission) { - this.viewers.addAll(this.viewerProvider.onlinePlayers()); + this.viewers.addAll(this.viewerProvider.onlinePlayers(permission)); return this.getThis(); }