From 10b3eb5a43e965cd42eade0a145775e60b04c8d1 Mon Sep 17 00:00:00 2001 From: William Date: Wed, 13 Jul 2022 12:21:38 +0100 Subject: [PATCH] Properly synchronise player death states --- .../husksync/listener/BukkitEventListener.java | 14 +++++++------- .../william278/husksync/player/BukkitPlayer.java | 5 ----- .../husksync/listener/EventListener.java | 3 --- .../net/william278/husksync/player/OnlineUser.java | 9 +-------- .../william278/husksync/player/DummyPlayer.java | 5 ----- 5 files changed, 8 insertions(+), 28 deletions(-) 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 0be4fada..6609c2f7 100644 --- a/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java +++ b/bukkit/src/main/java/net/william278/husksync/listener/BukkitEventListener.java @@ -54,13 +54,6 @@ 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(() -> { @@ -128,4 +121,11 @@ public class BukkitEventListener extends EventListener implements Listener { } } + @EventHandler(ignoreCancelled = true) + public void onPlayerDeath(PlayerDeathEvent event) { + if (cancelPlayerEvent(BukkitPlayer.adapt(event.getEntity()))) { + event.getDrops().clear(); + } + } + } diff --git a/bukkit/src/main/java/net/william278/husksync/player/BukkitPlayer.java b/bukkit/src/main/java/net/william278/husksync/player/BukkitPlayer.java index ce6daa9d..d18c8620 100644 --- a/bukkit/src/main/java/net/william278/husksync/player/BukkitPlayer.java +++ b/bukkit/src/main/java/net/william278/husksync/player/BukkitPlayer.java @@ -425,11 +425,6 @@ public class BukkitPlayer extends OnlineUser { }); } - @Override - public boolean isDead() { - return player.getHealth() <= 0d; - } - @Override public boolean isOffline() { try { diff --git a/common/src/main/java/net/william278/husksync/listener/EventListener.java b/common/src/main/java/net/william278/husksync/listener/EventListener.java index 019002f7..c2e634f0 100644 --- a/common/src/main/java/net/william278/husksync/listener/EventListener.java +++ b/common/src/main/java/net/william278/husksync/listener/EventListener.java @@ -50,9 +50,6 @@ public abstract class EventListener { * @param user The {@link OnlineUser} to handle */ protected final void handlePlayerJoin(@NotNull OnlineUser user) { - if (user.isDead()) { - return; - } usersAwaitingSync.add(user.uuid); CompletableFuture.runAsync(() -> { try { diff --git a/common/src/main/java/net/william278/husksync/player/OnlineUser.java b/common/src/main/java/net/william278/husksync/player/OnlineUser.java index c9007828..a8bc1a46 100644 --- a/common/src/main/java/net/william278/husksync/player/OnlineUser.java +++ b/common/src/main/java/net/william278/husksync/player/OnlineUser.java @@ -148,13 +148,6 @@ public abstract class OnlineUser extends User { */ public abstract CompletableFuture setPersistentDataContainer(@NotNull PersistentDataContainerData persistentDataContainerData); - /** - * Indicates if the player is currently dead - * - * @return {@code true} if the player is dead ({@code health <= 0}); {@code false} otherwise - */ - public abstract boolean isDead(); - /** * Indicates if the player has gone offline * @@ -191,7 +184,7 @@ public abstract class OnlineUser extends User { final PreSyncEvent preSyncEvent = (PreSyncEvent) eventCannon.firePreSyncEvent(this, data).join(); final UserData finalData = preSyncEvent.getUserData(); final List> dataSetOperations = new ArrayList<>() {{ - if (!isOffline() && !isDead() && !preSyncEvent.isCancelled()) { + if (!isOffline() && !preSyncEvent.isCancelled()) { if (settings.getBooleanValue(Settings.ConfigOption.SYNCHRONIZATION_SYNC_INVENTORIES)) { add(setInventory(finalData.getInventoryData())); } diff --git a/common/src/test/java/net/william278/husksync/player/DummyPlayer.java b/common/src/test/java/net/william278/husksync/player/DummyPlayer.java index fdd17d46..f4f3053f 100644 --- a/common/src/test/java/net/william278/husksync/player/DummyPlayer.java +++ b/common/src/test/java/net/william278/husksync/player/DummyPlayer.java @@ -124,11 +124,6 @@ public class DummyPlayer extends OnlineUser { }); } - @Override - public boolean isDead() { - return false; - } - @Override public boolean isOffline() { return false;