From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: HexedHero <6012891+HexedHero@users.noreply.github.com> Date: Fri, 23 Apr 2021 22:42:42 +0100 Subject: [PATCH] Expand PlayerRespawnEvent, fix passed parameter issues Co-authored-by: Jake Potrebic diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java index 2b91b321f6652e10d6809d57e9f0ac1c5fb150f1..57253e59b6330be6176d3aa42f8f575ad1995bca 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1456,7 +1456,13 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { Player respawnPlayer = this.getBukkitEntity(); Location location = CraftLocation.toBukkit(teleportTransition.position(), teleportTransition.newLevel().getWorld(), teleportTransition.yRot(), teleportTransition.xRot()); - PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn, isAnchorSpawn, reason); + // Paper start - respawn flags + com.google.common.collect.ImmutableSet.Builder builder = com.google.common.collect.ImmutableSet.builder(); + if (reason == org.bukkit.event.player.PlayerRespawnEvent.RespawnReason.END_PORTAL) { + builder.add(org.bukkit.event.player.PlayerRespawnEvent.RespawnFlag.END_PORTAL); + } + PlayerRespawnEvent respawnEvent = new PlayerRespawnEvent(respawnPlayer, location, isBedSpawn, isAnchorSpawn, reason, builder); + // Paper end - respawn flags this.level().getCraftServer().getPluginManager().callEvent(respawnEvent); // Spigot Start if (this.connection.isDisconnected()) {