Added new --noconsole command argument, thanks to mkurzeja for the idea

This commit is contained in:
Nathan Adams 2011-11-05 20:14:26 +00:00
parent 13561bca9c
commit 589f66bd1b
3 changed files with 20 additions and 1 deletions

View File

@ -4,6 +4,8 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import static org.bukkit.craftbukkit.Main.*;
public class ThreadCommandReader extends Thread {
final MinecraftServer server;
@ -13,13 +15,19 @@ public class ThreadCommandReader extends Thread {
}
public void run() {
// CraftBukkit start
if (!useConsole) {
return;
}
// CraftBukkit end
jline.ConsoleReader bufferedreader = this.server.reader; // CraftBukkit
String s = null;
try {
// CraftBukkit start - JLine disabling compatibility
while (!this.server.isStopped && MinecraftServer.isRunning(this.server)) {
if (org.bukkit.craftbukkit.Main.useJline) {
if (useJline) {
s = bufferedreader.readLine(">", null);
} else {
s = bufferedreader.readLine();

View File

@ -106,6 +106,10 @@ public final class CraftServer implements Server {
Bukkit.setServer(this);
if (!Main.useConsole) {
getLogger().info("Console input is disabled due to --noconsole command argument");
}
configuration = YamlConfiguration.loadConfiguration(getConfigFile());
configuration.options().copyDefaults(true);
configuration.setDefaults(YamlConfiguration.loadConfiguration(getClass().getClassLoader().getResourceAsStream("configurations/bukkit.yml")));

View File

@ -13,6 +13,7 @@ import net.minecraft.server.MinecraftServer;
public class Main {
public static boolean useJline = true;
public static boolean useConsole = true;
public static void main(String[] args) {
// Todo: Installation script
@ -94,6 +95,8 @@ public class Main {
acceptsAll(asList("nojline"), "Disables jline and emulates the vanilla console");
acceptsAll(asList("noconsole"), "Disables the console");
acceptsAll(asList("v", "version"), "Show the CraftBukkit Version");
}
};
@ -124,6 +127,10 @@ public class Main {
useJline = false;
}
if (options.has("noconsole")) {
useConsole = false;
}
MinecraftServer.main(options);
} catch (Throwable t) {
t.printStackTrace();