Properly synchronise player death states

feat/data-edit-commands
William 3 years ago
parent 268c351a95
commit 10b3eb5a43

@ -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();
}
}
}

@ -425,11 +425,6 @@ public class BukkitPlayer extends OnlineUser {
});
}
@Override
public boolean isDead() {
return player.getHealth() <= 0d;
}
@Override
public boolean isOffline() {
try {

@ -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 {

@ -148,13 +148,6 @@ public abstract class OnlineUser extends User {
*/
public abstract CompletableFuture<Void> 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<CompletableFuture<Void>> dataSetOperations = new ArrayList<>() {{
if (!isOffline() && !isDead() && !preSyncEvent.isCancelled()) {
if (!isOffline() && !preSyncEvent.isCancelled()) {
if (settings.getBooleanValue(Settings.ConfigOption.SYNCHRONIZATION_SYNC_INVENTORIES)) {
add(setInventory(finalData.getInventoryData()));
}

@ -124,11 +124,6 @@ public class DummyPlayer extends OnlineUser {
});
}
@Override
public boolean isDead() {
return false;
}
@Override
public boolean isOffline() {
return false;

Loading…
Cancel
Save