mirror of
https://github.com/PaperMC/Paper.git
synced 2024-09-09 13:28:36 +02:00
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 CraftBukkit Changes: fd92f1e65 SPIGOT-7378: Add BlockDropItemEvent for Suspicious Sand & Gravel drops cb1b69d13 SPIGOT-7377: Server sends player list twice Spigot Changes: 16cfc987 Rebuild patches
28 lines
1.3 KiB
Diff
28 lines
1.3 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Dmitry Sidorov <jonmagon@gmail.com>
|
|
Date: Thu, 4 Feb 2021 20:32:01 +0300
|
|
Subject: [PATCH] Drop carried item when player has disconnected
|
|
|
|
Fixes disappearance of held items, when a player gets disconnected and PlayerDropItemEvent is cancelled.
|
|
Closes #5036
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
index 063aed795bb668c62f69d0c93ffc6d939af681ad..7e26f87ffd8f50cf4e2cd582c9cd5d9abbf9c3f3 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -591,6 +591,14 @@ public abstract class PlayerList {
|
|
}
|
|
// Paper end
|
|
|
|
+ // Paper - Drop carried item when player has disconnected
|
|
+ if (!entityplayer.containerMenu.getCarried().isEmpty()) {
|
|
+ net.minecraft.world.item.ItemStack carried = entityplayer.containerMenu.getCarried();
|
|
+ entityplayer.containerMenu.setCarried(net.minecraft.world.item.ItemStack.EMPTY);
|
|
+ entityplayer.drop(carried, false);
|
|
+ }
|
|
+ // Paper end
|
|
+
|
|
this.save(entityplayer);
|
|
if (entityplayer.isPassenger()) {
|
|
Entity entity = entityplayer.getRootVehicle();
|