Skip to content

Commit

Permalink
Get Random Player
Browse files Browse the repository at this point in the history
  • Loading branch information
MrFishCakes committed Sep 5, 2023
1 parent 1133689 commit 8e12035
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 0 deletions.
43 changes: 43 additions & 0 deletions patches/api/0007-Get-Random-Player.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrFishCakes <[email protected]>
Date: Tue, 5 Sep 2023 20:25:57 +0100
Subject: [PATCH] Get Random Player

Adds a method to fetch a random online player

diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 584e3b08935f43beb27f478cc72229b6a5f40689..a8bf2a9d41d00d1ed34e5652e3106b95eb094c3e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2879,4 +2879,14 @@ public final class Bukkit {
server.clearBlockHighlights();
}
// Purpur end
+ // Graphite start - Get Random Player
+ /**
+ * Get a random player on the server
+ *
+ * @return A random online player or null if nobody is online
+ */
+ public static @Nullable Player getRandomPlayer() {
+ return server.getRandomPlayer();
+ }
+ // Graphite end - Get Random Player
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index c9fc7b84c9bc03caa01a5ce22d785f766c2022ba..71ee3725c621aab6b7fb623d37292bd1ac458e59 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -2522,4 +2522,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
void clearBlockHighlights();
// Purpur end
+ // Graphite start - Get Random Player
+ /**
+ * Get a random player on the server
+ *
+ * @return A random online player or null if nobody is online
+ */
+ @Nullable Player getRandomPlayer();
+ // Graphite end - Get Random Player
}
23 changes: 23 additions & 0 deletions patches/server/0013-Get-Random-Player.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: MrFishCakes <[email protected]>
Date: Tue, 5 Sep 2023 20:26:50 +0100
Subject: [PATCH] Get Random Player

Adds a method to fetch a random online player

diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 7f383d80c7eae09d630457f14bc02b6730ef085c..4946599a03a0aca24fb29a157fac70faa10a7a83 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -3248,4 +3248,11 @@ public final class CraftServer implements Server {
return getServer().lagging;
}
// Purpur end
+ // Graphite start - Get Random Player
+ public Player getRandomPlayer() {
+ if (getOnlinePlayers().isEmpty()) return null;
+
+ return getOnlinePlayers().get(new java.util.Random().nextInt(getOnlinePlayers().size()));
+ }
+ // Graphite end - Get Random Player
}

0 comments on commit 8e12035

Please sign in to comment.