Fork of Poseidon providing Bukkit #1060 to older Beta versions (b1.0-b1.7.3)
1package org.bukkit.craftbukkit.util;
2
3import jline.ConsoleReader;
4import org.bukkit.craftbukkit.Main;
5
6import java.io.IOException;
7import java.util.logging.ConsoleHandler;
8import java.util.logging.Level;
9import java.util.logging.Logger;
10
11public class TerminalConsoleHandler extends ConsoleHandler {
12 private final ConsoleReader reader;
13
14 public TerminalConsoleHandler(ConsoleReader reader) {
15 super();
16 this.reader = reader;
17 }
18
19 @Override
20 public synchronized void flush() {
21 try {
22 if (Main.useJline) {
23 reader.printString(ConsoleReader.RESET_LINE + "");
24 reader.flushConsole();
25 super.flush();
26 try {
27 reader.drawLine();
28 } catch (Throwable ex) {
29 reader.getCursorBuffer().clearBuffer();
30 }
31 reader.flushConsole();
32 } else {
33 super.flush();
34 }
35 } catch (IOException ex) {
36 Logger.getLogger(TerminalConsoleHandler.class.getName()).log(Level.SEVERE, null, ex);
37 }
38 }
39}