1
0
Fork 0
mirror of https://github.com/PaperMC/Paper.git synced 2025-01-30 19:40:37 +01:00

Fix HumanEntity#drop not updating the client inv

== AT ==
public net.minecraft.server.level.ServerPlayer containerSynchronizer
This commit is contained in:
Jake Potrebic 2021-10-10 18:18:01 -07:00
parent ab040d534d
commit 006e8346e9

View file

@ -782,8 +782,15 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity {
// Paper end
@Override
public boolean dropItem(boolean dropAll) {
if (!(this.getHandle() instanceof ServerPlayer)) return false;
return ((ServerPlayer) this.getHandle()).drop(dropAll);
// Paper start - Fix HumanEntity#drop not updating the client inv
if (!(this.getHandle() instanceof ServerPlayer player)) return false;
boolean success = player.drop(dropAll);
if (!success) return false;
final net.minecraft.world.entity.player.Inventory inv = player.getInventory();
final java.util.OptionalInt optionalSlot = player.containerMenu.findSlot(inv, inv.selected);
optionalSlot.ifPresent(slot -> player.containerSynchronizer.sendSlotChange(player.containerMenu, slot, inv.getSelected()));
return true;
// Paper end - Fix HumanEntity#drop not updating the client inv
}
@Override