mirror of
https://github.com/PaperMC/Paper.git
synced 2024-11-03 01:10:37 +01:00
aabf676721
Logging into an unloaded world isn't going to end well. This may fix the cases of people seeing errors about regionfiles being closed, as loading chunks in an unloaded world will cause this as the regionfile cache is closed but not cleared.
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 e11595885bd48036b141d1d449281dceadae5598..c4d83bd96b060342c5a03a684e5eb3403ab708a8 100644
|
|
--- a/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
+++ b/src/main/java/net/minecraft/server/players/PlayerList.java
|
|
@@ -621,6 +621,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();
|