9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2026-01-06 15:51:31 +00:00
Files
Leaf/patches/server/0043-Fix-TerminalConsoleAppender-NPE-error-on-server-clos.patch

70 lines
3.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Dreeam <61569423+Dreeam-qwq@users.noreply.github.com>
Date: Tue, 26 Dec 2023 02:04:01 -0500
Subject: [PATCH] Fix TerminalConsoleAppender NPE error on server closed and
other issues
This patch use own fork of terminalconsoleappender to fix some issues,
since the original version doesn't compatible with latest version of jline or log4j
You can find the fork on https://github.com/Dreeam-qwq/TerminalConsoleAppender
Fixed NPE error when server losed.
Fixed errors in console has no color,also fixed`Advanced terminal features are not available in this environment`
or `Unable to create terminal` like issues
diff --git a/build.gradle.kts b/build.gradle.kts
index eb622ea1c419bc0d514b77af0860ab08e0aa2822..11cb6ec93af0b2dff5d52f2adb90fbef95bdc668 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -23,7 +23,9 @@ dependencies {
// Gale end - project setup
// Paper start
implementation("org.jline:jline-terminal-jansi:3.25.0") // Leaf - Bump Dependencies
- implementation("net.minecrell:terminalconsoleappender:1.3.0")
+ // Leaf start - Use own TerminalConsoleAppender fork, fixed NPE error when server close & can't create terminal issue under latest version of jline/log4j
+ implementation("com.github.Dreeam-qwq:TerminalConsoleAppender:1.4.1-SNAPSHOT")
+ // Leaf end
implementation("net.kyori:adventure-text-serializer-ansi:4.15.0") // Keep in sync with adventureVersion from Paper-API build file // Leaf - Bump Dependencies
implementation("net.kyori:ansi:1.0.3") // Manually bump beyond above transitive dep
/*
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 625822b060683bfdf3b79f82ed5eea68ff8ade85..fb3bbe36c7bf67be65f0978ead2d4c778c32ba82 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -1276,10 +1276,12 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
//org.spigotmc.WatchdogThread.doStop(); // Spigot // Paper - move into stop
// CraftBukkit start - Restore terminal to original settings
- try {
+ // Leaf - Remove empty try catch
+ //try {
//net.minecrell.terminalconsole.TerminalConsoleAppender.close(); // Paper - Move into stop
- } catch (Exception ignored) {
- }
+ //} catch (Exception ignored) {
+ //}
+ // Leaf end
// CraftBukkit end
//this.onServerExit(); // Paper - moved into stop
}
diff --git a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
index e8e93538dfd71de86515d9405f728db1631e949a..ff2f6535754598857a442ecc0ce5b70521810ad6 100644
--- a/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
+++ b/src/main/java/org/bukkit/craftbukkit/util/ServerShutdownThread.java
@@ -31,10 +31,12 @@ public class ServerShutdownThread extends Thread {
// Paper end
} finally {
org.apache.logging.log4j.LogManager.shutdown(); // Paper
- try {
+ // Leaf - Remove empty try catch
+ //try {
//net.minecrell.terminalconsole.TerminalConsoleAppender.close(); // Paper - Move into stop
- } catch (Exception e) {
- }
+ //} catch (Exception e) {
+ //}
+ // Leaf end
}
}
}