summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
authorfeildmaster <admin@feildmaster.com>2012-12-05 05:55:26 -0600
committerfeildmaster <admin@feildmaster.com>2012-12-05 06:06:44 -0600
commit016217f791782f3daebf60f4745cfc481c59f379 (patch)
tree3f9218e353afab9064a80a532fdb6655ecb7f397 /src/main
parentaddfe146de945e26dffc50930eb6fa6bd24c91f4 (diff)
downloadbukkit-016217f791782f3daebf60f4745cfc481c59f379.tar
bukkit-016217f791782f3daebf60f4745cfc481c59f379.tar.gz
bukkit-016217f791782f3daebf60f4745cfc481c59f379.tar.lz
bukkit-016217f791782f3daebf60f4745cfc481c59f379.tar.xz
bukkit-016217f791782f3daebf60f4745cfc481c59f379.zip
Add getShutdownMessage() and stop command arguments. Adds BUKKIT-3031
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/bukkit/Bukkit.java4
-rw-r--r--src/main/java/org/bukkit/Server.java7
-rw-r--r--src/main/java/org/bukkit/command/defaults/StopCommand.java14
3 files changed, 23 insertions, 2 deletions
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index 7e8478ae..e2506bc1 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -383,6 +383,10 @@ public final class Bukkit {
return server.getMotd();
}
+ public static String getShutdownMessage() {
+ return server.getShutdownMessage();
+ }
+
public static WarningState getWarningState() {
return server.getWarningState();
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 881d47f1..a4f8ec29 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -667,6 +667,13 @@ public interface Server extends PluginMessageRecipient {
String getMotd();
/**
+ * Gets the default message that is displayed when the server is stopped
+ *
+ * @return the shutdown message
+ */
+ String getShutdownMessage();
+
+ /**
* Gets the current warning state for the server
*
* @return The configured WarningState
diff --git a/src/main/java/org/bukkit/command/defaults/StopCommand.java b/src/main/java/org/bukkit/command/defaults/StopCommand.java
index 2c12e1e6..be70e63e 100644
--- a/src/main/java/org/bukkit/command/defaults/StopCommand.java
+++ b/src/main/java/org/bukkit/command/defaults/StopCommand.java
@@ -2,18 +2,21 @@ package org.bukkit.command.defaults;
import java.util.List;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.Validate;
+
import org.bukkit.Bukkit;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
+import org.bukkit.entity.Player;
import com.google.common.collect.ImmutableList;
public class StopCommand extends VanillaCommand {
public StopCommand() {
super("stop");
- this.description = "Stops the server";
- this.usageMessage = "/stop";
+ this.description = "Stops the server with optional reason";
+ this.usageMessage = "/stop [reason]";
this.setPermission("bukkit.command.stop");
}
@@ -24,6 +27,13 @@ public class StopCommand extends VanillaCommand {
Command.broadcastCommandMessage(sender, "Stopping the server..");
Bukkit.shutdown();
+ String reason = this.createString(args, 0);
+ if (StringUtils.isNotEmpty(reason)) {
+ for (Player player : Bukkit.getOnlinePlayers()) {
+ player.kickPlayer(reason);
+ }
+ }
+
return true;
}