30 lines
1.5 KiB
Diff
30 lines
1.5 KiB
Diff
|
From 623e6cf1ce179cf97a4c030edfb5671ace6ba6d9 Mon Sep 17 00:00:00 2001
|
||
|
From: Shane Freeder <theboyetronic@gmail.com>
|
||
|
Date: Wed, 17 May 2017 17:45:19 -0500
|
||
|
Subject: [PATCH] Workaround for jansi bug with Windows
|
||
|
|
||
|
When jansi attempts to extract its natives, by default it tries to extract a specific version
|
||
|
using the loading class's implementation version. Normally this works completely fine
|
||
|
however when on Windows certain characters such as - and : can trigger special behaviour.
|
||
|
|
||
|
Furthermore this behaviour only occurs in specific combinations due to the parsing done by jansi.
|
||
|
For example test-test works fine, but test-test-test does not! In order to avoid this all together but
|
||
|
still keep our versions the same as they were, we set the override property to the essentially garbage version
|
||
|
Paper. This version is only used when extracting the libraries to their temp folder.
|
||
|
|
||
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||
|
index 33e5dd504..a2f1eb7eb 100644
|
||
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
||
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
||
|
@@ -182,6 +182,7 @@ public class Main {
|
||
|
}
|
||
|
|
||
|
if (useJline) {
|
||
|
+ System.setProperty( "library.jansi.version", "Paper" ); // Paper - set jansi library version to avoid crash
|
||
|
AnsiConsole.systemInstall();
|
||
|
} else {
|
||
|
// This ensures the terminal literal will always match the jline implementation
|
||
|
--
|
||
|
2.13.0
|
||
|
|