From 4e8ca6d22c99064424ae8c76005a3927415c16c9 Mon Sep 17 00:00:00 2001 From: tastybento Date: Fri, 18 Mar 2022 13:59:41 +0000 Subject: [PATCH] Fix for kicking offline players https://github.com/BentoBoxWorld/BentoBox/issues/1950 --- .../world/bentobox/bentobox/managers/PlayersManager.java | 6 +++--- .../bentobox/bentobox/managers/PlayersManagerTest.java | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java b/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java index fc1c7e44c..1ab0b7d86 100644 --- a/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java @@ -577,17 +577,17 @@ public class PlayersManager { plugin.getVault().ifPresent(vault -> vault.withdraw(target, vault.getBalance(target), world)); } // Reset the health - if (plugin.getIWM().isOnLeaveResetHealth(world)) { + if (plugin.getIWM().isOnLeaveResetHealth(world) && target.isPlayer()) { Util.resetHealth(target.getPlayer()); } // Reset the hunger - if (plugin.getIWM().isOnLeaveResetHunger(world)) { + if (plugin.getIWM().isOnLeaveResetHunger(world) && target.isPlayer()) { target.getPlayer().setFoodLevel(20); } // Reset the XP - if (plugin.getIWM().isOnLeaveResetXP(world)) { + if (plugin.getIWM().isOnLeaveResetXP(world) && target.isPlayer()) { target.getPlayer().setTotalExperience(0); } // Save player diff --git a/src/test/java/world/bentobox/bentobox/managers/PlayersManagerTest.java b/src/test/java/world/bentobox/bentobox/managers/PlayersManagerTest.java index c99d1b0da..033e154ac 100644 --- a/src/test/java/world/bentobox/bentobox/managers/PlayersManagerTest.java +++ b/src/test/java/world/bentobox/bentobox/managers/PlayersManagerTest.java @@ -169,6 +169,7 @@ public class PlayersManagerTest { when(user.getPlayer()).thenReturn(p); when(user.getName()).thenReturn("tastybento"); when(user.isOnline()).thenReturn(true); + when(user.isPlayer()).thenReturn(true); User.setPlugin(plugin);