diff options
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/Main.java | 7 | ||||
-rw-r--r-- | src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleHandler.java | 21 |
2 files changed, 18 insertions, 10 deletions
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java index 9f8708df..3ec19b46 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -12,7 +12,7 @@ import joptsimple.OptionSet; import net.minecraft.server.MinecraftServer; public class Main { - public static String jlineTerminalSetting; + public static boolean useJline = true; public static void main(String[] args) { // Todo: Installation script @@ -88,11 +88,14 @@ public class Main { } } else { try { + useJline = !"jline.UnsupportedTerminal".equals(System.getProperty("jline.terminal")); + if (options.has("nojline")) { System.setProperty("jline.terminal", "jline.UnsupportedTerminal"); System.setProperty("user.language", "en"); + useJline = false; } - jlineTerminalSetting = System.getProperty("jline.terminal"); + MinecraftServer.main(options); } catch (Throwable t) { t.printStackTrace(); diff --git a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleHandler.java b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleHandler.java index 43bc392f..111123f5 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleHandler.java +++ b/src/main/java/org/bukkit/craftbukkit/util/TerminalConsoleHandler.java @@ -5,6 +5,7 @@ import java.util.logging.ConsoleHandler; import java.util.logging.Level; import java.util.logging.Logger; import jline.ConsoleReader; +import org.bukkit.craftbukkit.Main; public class TerminalConsoleHandler extends ConsoleHandler { private final ConsoleReader reader; @@ -17,15 +18,19 @@ public class TerminalConsoleHandler extends ConsoleHandler { @Override public synchronized void flush() { try { - reader.printString(ConsoleReader.RESET_LINE + ""); - reader.flushConsole(); - super.flush(); - try { - reader.drawLine(); - } catch (Throwable ex) { - reader.getCursorBuffer().clearBuffer(); + if (Main.useJline) { + reader.printString(ConsoleReader.RESET_LINE + ""); + reader.flushConsole(); + super.flush(); + try { + reader.drawLine(); + } catch (Throwable ex) { + reader.getCursorBuffer().clearBuffer(); + } + reader.flushConsole(); + } else { + super.flush(); } - reader.flushConsole(); } catch (IOException ex) { Logger.getLogger(TerminalConsoleHandler.class.getName()).log(Level.SEVERE, null, ex); } |