From 268c351a95dac8ff8433f0ff905400b65d34826c Mon Sep 17 00:00:00 2001 From: Hugo Planque Date: Wed, 13 Jul 2022 12:42:38 +0200 Subject: [PATCH] Clear inventory on death if player still not synced to avoid dupes --- .../william278/husksync/listener/BukkitEventListener.java | 8 ++++++++ 1 file changed, 8 insertions(+) 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 529334e0..0be4fada 100644 --- a/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java +++ b/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java @@ -15,6 +15,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.entity.EntityPickupItemEvent; +import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.inventory.InventoryClickEvent; import org.bukkit.event.inventory.InventoryCloseEvent; import org.bukkit.event.inventory.InventoryOpenEvent; @@ -53,6 +54,13 @@ public class BukkitEventListener extends EventListener implements Listener { .map(BukkitPlayer::adapt).collect(Collectors.toList()))); } + @EventHandler(ignoreCancelled = true) + public void onPlayerDeath(PlayerDeathEvent event) { + if (cancelPlayerEvent(BukkitPlayer.adapt(event.getEntity()))) { + event.getDrops().clear(); + } + } + @EventHandler(ignoreCancelled = true) public void onInventoryClose(@NotNull InventoryCloseEvent event) { CompletableFuture.runAsync(() -> {