Yatopia/patches/server/0020-EMC-ServerShutdownEvent-and-move-disablePlugins.patch
2020-04-11 15:47:44 +02:00

51 lines
2.2 KiB
Diff

From 9b0a39b2e060ac96665b2e9915b63387998b087b Mon Sep 17 00:00:00 2001
From: Aikar <aikar@aikar.co>
Date: Fri, 8 May 2015 19:56:21 -0400
Subject: [PATCH] EMC ServerShutdownEvent and move disablePlugins
---
src/main/java/net/minecraft/server/MinecraftServer.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 0e9b2d718..20e318396 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -99,6 +99,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
private boolean A;
private boolean spawnAnimals;
private boolean spawnNPCs;
+ public String shutdownReason; // EMC
private boolean pvpMode;
private boolean allowFlight;
@Nullable
@@ -744,7 +745,8 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
MinecraftTimings.stopServer(); // Paper
// CraftBukkit start
if (this.server != null) {
- this.server.disablePlugins();
+ // this.server.disablePlugins(); // EMC - Moved below after everything has unloaded so plugins can get events
+ new com.empireminecraft.customevents.ServerShutdownEvent(shutdownReason).callEvent(); // EMC
}
// CraftBukkit end
if (this.getServerConnection() != null) {
@@ -783,6 +785,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
}
}
}
+ if (server != null) { this.server.disablePlugins(); } // EMC
if (this.snooper.d()) {
this.snooper.e();
@@ -814,6 +817,7 @@ public abstract class MinecraftServer extends IAsyncTaskHandlerReentrant<TickTas
this.safeShutdown(flag, false);
}
public void safeShutdown(boolean flag, boolean isRestarting) {
+ if (shutdownReason == null) { shutdownReason = "Server Shutting Down"; } // EMC
this.isRunning = false;
this.isRestarting = isRestarting;
if (flag) {
--
2.25.1.windows.1