diff --git a/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java b/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java index d5f92b0c..eb2d7715 100644 --- a/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java +++ b/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java @@ -46,6 +46,7 @@ import org.bukkit.event.player.PlayerInteractEntityEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.server.MapInitializeEvent; import org.bukkit.event.world.WorldSaveEvent; +import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.NotNull; import java.util.List; @@ -71,9 +72,11 @@ public class BukkitEventListener extends EventListener implements BukkitJoinEven @Override public void handlePlayerQuit(@NotNull BukkitUser bukkitUser) { final Player player = bukkitUser.getPlayer(); - if (!bukkitUser.isLocked() && !player.getItemOnCursor().getType().isAir()) { - player.getWorld().dropItem(player.getLocation(), player.getItemOnCursor()); + final ItemStack itemOnCursor = player.getItemOnCursor(); + if (!bukkitUser.isLocked() && !itemOnCursor.getType().isAir()) { player.setItemOnCursor(null); + player.getWorld().dropItem(player.getLocation(), itemOnCursor); + plugin.debug("Dropped " + itemOnCursor.toString() + " for " + player.getName() + " on quit"); } super.handlePlayerQuit(bukkitUser); }