geforkt von Mirrors/Paper
42433c2626
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 Bukkit Changes: 09f10fd9 SPIGOT-5950: Add PrepareSmithingEvent event CraftBukkit Changes:7c03d257
SPIGOT-6011: End Gateways do not work on Non-Main End Worldsd492e363
SPIGOT-6015: Small Armor Stand doesn't drop items5db13eea
SPIGOT-5950: Add PrepareSmithingEvent event
49 Zeilen
2.0 KiB
Diff
49 Zeilen
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 85694a0ad7e32e4a98d8b0589f8d4dca91625bb3..8a659688ddc608fafe19e452c55e69f132f05fca 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;
|
|
@@ -707,6 +712,7 @@ public abstract class PlayerList {
|
|
|
|
location = respawnEvent.getRespawnLocation();
|
|
if (!flag) entityplayer.reset(); // SPIGOT-4785
|
|
+ isRespawn = true; // Paper
|
|
} else {
|
|
location.setWorld(worldserver.getWorld());
|
|
}
|
|
@@ -764,6 +770,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;
|
|
}
|