geforkt von Mirrors/Paper
2873869bb1
Signs no longer have a specific isEdiable state, the entire API in this regard needs updating/deprecation. The boolean field is completely gone, replaced by a uuid (which will need a new setEditingPlayer(UUID) method on the Sign interface), and the current upstream implementation of setEdiable simply flips the is_waxed state. This patch is hence not needed as it neither allows editing (which will be redone in a later patch) nor is required to copy the is_waxed boolean flag as it lives in the signs compound tag and is covered by applyTo.
68 Zeilen
2.7 KiB
Diff
68 Zeilen
2.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Jos=C3=A9=20Miguel=20Moreno?= <josemmo@pm.me>
|
|
Date: Sat, 5 Jun 2021 13:45:15 +0200
|
|
Subject: [PATCH] Fix plugin loggers on server shutdown
|
|
|
|
|
|
diff --git a/src/main/java/io/papermc/paper/log/CustomLogManager.java b/src/main/java/io/papermc/paper/log/CustomLogManager.java
|
|
new file mode 100644
|
|
index 0000000000000000000000000000000000000000..c1d3bac79bb8b4796c013ff4472f75dcd79602dc
|
|
--- /dev/null
|
|
+++ b/src/main/java/io/papermc/paper/log/CustomLogManager.java
|
|
@@ -0,0 +1,26 @@
|
|
+package io.papermc.paper.log;
|
|
+
|
|
+import java.util.logging.LogManager;
|
|
+
|
|
+public class CustomLogManager extends LogManager {
|
|
+ private static CustomLogManager instance;
|
|
+
|
|
+ public CustomLogManager() {
|
|
+ instance = this;
|
|
+ }
|
|
+
|
|
+ @Override
|
|
+ public void reset() {
|
|
+ // Ignore calls to this method
|
|
+ }
|
|
+
|
|
+ private void superReset() {
|
|
+ super.reset();
|
|
+ }
|
|
+
|
|
+ public static void forceReset() {
|
|
+ if (instance != null) {
|
|
+ instance.superReset();
|
|
+ }
|
|
+ }
|
|
+}
|
|
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
index 37441421a50867eeecf5cf3aed3e7096c526d7ef..2c3577c6f59e482d68c80d3d414ed43942dfcfbb 100644
|
|
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
|
|
@@ -1000,6 +1000,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
|
net.minecrell.terminalconsole.TerminalConsoleAppender.close(); // Paper - Use TerminalConsoleAppender
|
|
} catch (Exception e) {
|
|
}
|
|
+ io.papermc.paper.log.CustomLogManager.forceReset(); // Paper - Reset loggers after shutdown
|
|
this.onServerExit();
|
|
// Paper end
|
|
}
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
index 9f1b363e1a6fa4925dc4560654af8426e6908c9d..717e292040ed7779eb4b6c5fa26665d3df9024e7 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
|
|
@@ -18,6 +18,12 @@ public class Main {
|
|
public static boolean useJline = true;
|
|
public static boolean useConsole = true;
|
|
|
|
+ // Paper start - Hijack log manager to ensure logging on shutdown
|
|
+ static {
|
|
+ System.setProperty("java.util.logging.manager", "io.papermc.paper.log.CustomLogManager");
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
public static void main(String[] args) {
|
|
// Paper start
|
|
final String warnWhenLegacyFormattingDetected = String.join(".", "net", "kyori", "adventure", "text", "warnWhenLegacyFormattingDetected");
|