mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-28 13:36:16 +01:00
Added -nojline CLI option to emulate vanilla console behaviours. Added JLine disabling compatibility (removes the '>').
-nojline disables JLine, removes the '>', sets the timestamp to vanilla's and sets the language to English. -Djline.terminal=jline.UnsupportedTerminal disables JLine and removes the '>'.
This commit is contained in:
parent
cd87e51638
commit
eac5b9623d
@ -19,14 +19,24 @@ public class ThreadCommandReader extends Thread {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void run() {
|
public void run() {
|
||||||
// CraftBukkit
|
// CraftBukkit start
|
||||||
ConsoleReader bufferedreader = this.server.reader;
|
ConsoleReader bufferedreader = this.server.reader;
|
||||||
String s = null;
|
String s = null;
|
||||||
|
String jlineTerminalSetting = org.bukkit.craftbukkit.Main.jlineTerminalSetting;
|
||||||
|
// CraftBukkit end
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// CraftBukkit
|
while (!this.server.isStopped && MinecraftServer.isRunning(this.server)) {
|
||||||
while (!this.server.isStopped && MinecraftServer.isRunning(this.server) && ((s = bufferedreader.readLine(">", null)) != null)) {
|
// CraftBukkit start - JLine disabling compatibility
|
||||||
this.server.issueCommand(s, this.server);
|
if (jlineTerminalSetting != null && jlineTerminalSetting.equals("jline.UnsupportedTerminal")) {
|
||||||
|
s = bufferedreader.readLine();
|
||||||
|
} else {
|
||||||
|
s = bufferedreader.readLine(">", null);
|
||||||
|
}
|
||||||
|
if (s != null) {
|
||||||
|
// CraftBukkit end
|
||||||
|
this.server.issueCommand(s, this.server);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (IOException ioexception) {
|
} catch (IOException ioexception) {
|
||||||
// CraftBukkit
|
// CraftBukkit
|
||||||
|
@ -12,6 +12,8 @@ import joptsimple.OptionSet;
|
|||||||
import net.minecraft.server.MinecraftServer;
|
import net.minecraft.server.MinecraftServer;
|
||||||
|
|
||||||
public class Main {
|
public class Main {
|
||||||
|
public static String jlineTerminalSetting = System.getProperty("jline.terminal");
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) {
|
||||||
// Todo: Installation script
|
// Todo: Installation script
|
||||||
OptionParser parser = new OptionParser() {
|
OptionParser parser = new OptionParser() {
|
||||||
@ -65,6 +67,8 @@ public class Main {
|
|||||||
.ofType(File.class)
|
.ofType(File.class)
|
||||||
.defaultsTo(new File("bukkit.yml"))
|
.defaultsTo(new File("bukkit.yml"))
|
||||||
.describedAs("Yml file");
|
.describedAs("Yml file");
|
||||||
|
|
||||||
|
acceptsAll(asList("nojline"), "Disables jline and emulates the vanilla console");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -84,6 +88,10 @@ public class Main {
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
|
if (options.has("nojline")) {
|
||||||
|
System.setProperty("jline.terminal", "jline.UnsupportedTerminal");
|
||||||
|
System.setProperty("user.language", "en");
|
||||||
|
}
|
||||||
MinecraftServer.main(options);
|
MinecraftServer.main(options);
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
t.printStackTrace();
|
t.printStackTrace();
|
||||||
|
@ -26,6 +26,8 @@ public class ShortConsoleLogFormatter extends Formatter {
|
|||||||
} catch (OptionException ex) {
|
} catch (OptionException ex) {
|
||||||
System.err.println("Given date format is not valid. Falling back to default.");
|
System.err.println("Given date format is not valid. Falling back to default.");
|
||||||
}
|
}
|
||||||
|
} else if (options.has("nojline")) {
|
||||||
|
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (date == null) {
|
if (date == null) {
|
||||||
|
Loading…
Reference in New Issue
Block a user