mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-03 06:40:19 +08:00
b31089a929
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: d264e972 #591: Add option for a consumer before spawning an item 1c537fce #590: Add spawn and transform reasons for piglin zombification. CraftBukkit Changes: ee5006d1 #810: Add option for a consumer before spawning an item f6a39d3c #809: Add spawn and transform reasons for piglin zombification. 0c24068a Organise imports Spigot Changes: bff52619 Organise imports
49 lines
2.0 KiB
Diff
49 lines
2.0 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 4d8c2ea8e067b81348d59a6d5c4c6c9ec3fbf929..10d03c4d2c31b47d2964bd9c6af7ce8e5aa74393 100644
|
|
--- a/src/main/java/net/minecraft/server/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/PlayerList.java
|
|
@@ -664,9 +664,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;
|
|
@@ -717,6 +722,7 @@ public abstract class PlayerList {
|
|
|
|
location = respawnEvent.getRespawnLocation();
|
|
if (!flag) entityplayer.reset(); // SPIGOT-4785
|
|
+ isRespawn = true; // Paper
|
|
} else {
|
|
location.setWorld(worldserver.getWorld());
|
|
}
|
|
@@ -774,6 +780,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;
|
|
}
|