e38eceb42a
Upstream has released updates that appears to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Spigot Changes: a19903d2 SPIGOT-520: Add option to disable player data saving
48 lines
2 KiB
Diff
48 lines
2 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: MisterVector <whizkid3000@hotmail.com>
|
|
Date: Fri, 26 Oct 2018 21:31:00 -0700
|
|
Subject: [PATCH] Implement PlayerPostRespawnEvent
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/PlayerList.java b/src/main/java/net/minecraft/server/PlayerList.java
|
|
index 5b2cecba3569a35ba259427747a8d39f51d1c8cb..fe1827d65d616322e6b540b18fff5bf32e0638ac 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
|
@@ -668,9 +668,14 @@ public abstract class PlayerList {
|
|
// this.a(entityplayer1, entityplayer, worldserver1); // CraftBukkit - removed
|
|
boolean flag2 = false;
|
|
|
|
+ // Paper start
|
|
+ boolean isBedSpawn = false;
|
|
+ boolean isRespawn = false;
|
|
+ // Paper end
|
|
+
|
|
// CraftBukkit start - fire PlayerRespawnEvent
|
|
if (location == null) {
|
|
- boolean isBedSpawn = false;
|
|
+ // boolean isBedSpawn = false; // Paper - moved up
|
|
WorldServer worldserver1 = this.server.getWorldServer(entityplayer.getSpawnDimension());
|
|
if (worldserver1 != null) {
|
|
Optional optional;
|
|
@@ -721,6 +726,7 @@ public abstract class PlayerList {
|
|
|
|
location = respawnEvent.getRespawnLocation();
|
|
if (!flag) entityplayer.reset(); // SPIGOT-4785
|
|
+ isRespawn = true; // Paper
|
|
} else {
|
|
location.setWorld(worldserver.getWorld());
|
|
}
|
|
@@ -778,6 +784,13 @@ public abstract class PlayerList {
|
|
if (entityplayer.playerConnection.isDisconnected()) {
|
|
this.savePlayerFile(entityplayer);
|
|
}
|
|
+
|
|
+ // Paper start
|
|
+ if (isRespawn) {
|
|
+ cserver.getPluginManager().callEvent(new com.destroystokyo.paper.event.player.PlayerPostRespawnEvent(entityplayer.getBukkitEntity(), location, isBedSpawn));
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
// CraftBukkit end
|
|
return entityplayer1;
|
|
}
|