mirror of
https://github.com/PaperMC/Paper.git
synced 2025-03-12 06:43:58 +01:00
Possible fix for -nojline printing blank lines
By: Dinnerbone <dinnerbone@dinnerbone.com>
This commit is contained in:
parent
e1a2b1f90a
commit
5f5de88a00
@ -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();
|
||||
|
@ -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);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user