9
0
mirror of https://github.com/BX-Team/DivineMC.git synced 2025-12-31 12:46:42 +00:00
Files
DivineMC/divinemc-server/minecraft-patches/features/0036-Respawn-players-that-were-dead-on-server-restart.patch
2025-07-06 03:10:05 +03:00

25 lines
1.6 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: NONPLAYT <76615486+NONPLAYT@users.noreply.github.com>
Date: Sun, 6 Jul 2025 02:50:15 +0300
Subject: [PATCH] Respawn players that were dead on server restart
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index ace14db7bfd154b8a9b27af4a6c57630a3868ac0..abfecaf4467092f7baa02e0f5bbfd23d087f2aa3 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -971,6 +971,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
if (this.hasStopped) return;
this.hasStopped = true;
}
+ // DivineMC start - Respawn players that were dead on server restart
+ for (ServerPlayer player : this.playerList.players) {
+ if (player.isDeadOrDying() || (player.isRemoved() && player.getRemovalReason() == net.minecraft.world.entity.Entity.RemovalReason.KILLED)) {
+ this.playerList.respawn(player, false, net.minecraft.world.entity.Entity.RemovalReason.KILLED, org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.DEATH);
+ }
+ }
+ // DivineMC end - Respawn players that were dead on server restart
if (!hasLoggedStop && isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
shutdownThread = Thread.currentThread(); // Paper - Improved watchdog support
org.spigotmc.WatchdogThread.doStop(); // Paper - Improved watchdog support