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

Dieser Commit ist enthalten in:
Nathan Adams 2011-11-05 20:14:26 +00:00
Ursprung 13561bca9c
Commit 589f66bd1b
3 geänderte Dateien mit 20 neuen und 1 gelöschten Zeilen

Datei anzeigen

@ -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();

Datei anzeigen

@ -105,6 +105,10 @@ public final class CraftServer implements Server {
this.serverVersion = CraftServer.class.getPackage().getImplementationVersion();
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);

Datei anzeigen

@ -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
@ -93,6 +94,8 @@ public class Main {
.describedAs("Yml file");
acceptsAll(asList("nojline"), "Disables jline and emulates the vanilla console");
acceptsAll(asList("noconsole"), "Disables the console");
acceptsAll(asList("v", "version"), "Show the CraftBukkit Version");
}
@ -123,6 +126,10 @@ public class Main {
System.setProperty("user.language", "en");
useJline = false;
}
if (options.has("noconsole")) {
useConsole = false;
}
MinecraftServer.main(options);
} catch (Throwable t) {