Add fallback for when jline fails to initialize. Fixes BUKKIT-1675.

This commit is contained in:
Travis Watkins
2012-05-22 23:44:03 -05:00
parent 21327265f0
commit 94e9543a14
2 changed files with 12 additions and 2 deletions

View File

@@ -93,8 +93,17 @@ public class MinecraftServer implements Runnable, ICommandListener, IMinecraftSe
try {
this.reader = new ConsoleReader(System.in, System.out);
this.reader.setExpandEvents(false); // Avoid parsing exceptions for uncommonly used event designators
} catch (IOException ex) {
Logger.getLogger(MinecraftServer.class.getName()).log(Level.SEVERE, null, ex);
} catch (Exception e) {
try {
// Try again with jline disabled for Windows users without C++ 2008 Redistributable
System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
System.setProperty("user.language", "en");
org.bukkit.craftbukkit.Main.useJline = false;
this.reader = new ConsoleReader(System.in, System.out);
this.reader.setExpandEvents(false);
} catch (IOException ex) {
Logger.getLogger(MinecraftServer.class.getName()).log(Level.SEVERE, null, ex);
}
}
Runtime.getRuntime().addShutdownHook(new ServerShutdownThread(this));
// CraftBukkit end