summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDinnerbone <dinnerbone@dinnerbone.com>2011-09-02 22:21:26 +0100
committerDinnerbone <dinnerbone@dinnerbone.com>2011-09-02 22:24:39 +0100
commite54b7ba74ca0de0628500dfa7a5c481d31e2ca74 (patch)
tree1145787438f1d6e5caa4a3074991c8fe58813061 /src
parentdc3379f6da075cf9eee988a5a116767a74955e78 (diff)
downloadbukkit-e54b7ba74ca0de0628500dfa7a5c481d31e2ca74.tar
bukkit-e54b7ba74ca0de0628500dfa7a5c481d31e2ca74.tar.gz
bukkit-e54b7ba74ca0de0628500dfa7a5c481d31e2ca74.tar.lz
bukkit-e54b7ba74ca0de0628500dfa7a5c481d31e2ca74.tar.xz
bukkit-e54b7ba74ca0de0628500dfa7a5c481d31e2ca74.zip
Added new Server.broadcast method to broadcast to specific groups of users, including non-players
Diffstat (limited to 'src')
-rw-r--r--src/main/java/org/bukkit/Bukkit.java4
-rw-r--r--src/main/java/org/bukkit/Server.java24
-rw-r--r--src/main/java/org/bukkit/util/permissions/CommandPermissions.java2
-rw-r--r--src/main/java/org/bukkit/util/permissions/DefaultPermissions.java2
4 files changed, 30 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 0d6e2874..5ab3f94e 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -219,4 +219,8 @@ public final class Bukkit {
public static void shutdown() {
server.shutdown();
}
+
+ public int broadcast(String message, String permission) {
+ return server.broadcast(message, permission);
+ }
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index ab512269..1edceb18 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -21,6 +21,19 @@ import org.bukkit.scheduler.BukkitScheduler;
* Represents a server implementation
*/
public interface Server {
+ /**
+ * Used for all administrative messages, such as an operator using a command.
+ *
+ * For use in {@link #broadcast(java.lang.String, java.lang.String)}
+ */
+ public static final String BROADCAST_CHANNEL_ADMINISTRATIVE = "bukkit.broadcast.admin";
+
+ /**
+ * Used for all announcement messages, such as informing users that a player has joined.
+ *
+ * For use in {@link #broadcast(java.lang.String, java.lang.String)}
+ */
+ public static final String BROADCAST_CHANNEL_USERS = "bukkit.broadcast.user";
/**
* Gets the name of this server implementation
@@ -103,6 +116,8 @@ public interface Server {
/**
* Broadcast a message to all players.
*
+ * This is the same as calling {@link #broadcast(java.lang.String, java.lang.String)} to {@link #BROADCAST_CHANNEL_USERS}
+ *
* @param message the message
* @return the number of players
*/
@@ -351,4 +366,13 @@ public interface Server {
* Shutdowns the server, stopping everything.
*/
public void shutdown();
+
+ /**
+ * Broadcasts the specified message to every user with the given permission
+ *
+ * @param message Message to broadcast
+ * @param permission Permission the users must have to receive the broadcast
+ * @return Amount of users who received the message
+ */
+ public int broadcast(String message, String permission);
}
diff --git a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
index 654b4c10..ab835553 100644
--- a/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
+++ b/src/main/java/org/bukkit/util/permissions/CommandPermissions.java
@@ -3,7 +3,7 @@ package org.bukkit.util.permissions;
import org.bukkit.permissions.Permission;
import org.bukkit.permissions.PermissionDefault;
-public class CommandPermissions {
+public final class CommandPermissions {
private static final String ROOT = "bukkit.command";
private static final String PREFIX = ROOT + ".";
diff --git a/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java b/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java
index ec483ea4..82a41385 100644
--- a/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java
+++ b/src/main/java/org/bukkit/util/permissions/DefaultPermissions.java
@@ -1,6 +1,5 @@
package org.bukkit.util.permissions;
-import java.util.HashMap;
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.permissions.Permission;
@@ -77,6 +76,7 @@ public final class DefaultPermissions {
Permission parent = registerPermission(ROOT, "Gives the user the ability to use all Craftbukkit utilities and commands");
CommandPermissions.registerPermissions(parent);
+ BroadcastPermissions.registerPermissions(parent);
parent.recalculatePermissibles();
}