Paper/patches/api/0386-Add-system-property-to-print-stacktrace-on-bad-plugi.patch
2023-02-19 08:57:10 -06:00

24 Zeilen
1.4 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Nassim Jahnke <nassim@njahnke.dev>
Date: Sat, 1 Oct 2022 09:44:26 +0200
Subject: [PATCH] Add system property to print stacktrace on bad plugin class
access
diff --git a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
index 4cb4e28c9b0dfdac45c4129fb0325e6afe5cb131..4b3380a42b4be54ef4df806c5db0d3a1be5909a6 100644
--- a/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/PluginClassLoader.java
@@ -184,6 +184,11 @@ public final class PluginClassLoader extends URLClassLoader implements io.paperm
// In case the bad access occurs on construction
loader.server.getLogger().log(Level.WARNING, "[{0}] Loaded class {1} from {2} which is not a depend or softdepend of this plugin.", new Object[]{description.getName(), name, provider.getFullName()});
}
+ // Paper start
+ if (Boolean.getBoolean("Paper.printStacktraceOnBadPluginClassAccess")) {
+ (plugin != null ? plugin.getLogger() : loader.server.getLogger()).log(Level.WARNING, "Stacktrace", new Exception());
+ }
+ // Paper end
}
}