diff --git a/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java b/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java index f0e57e9f0..0010ea959 100644 --- a/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/PlayersManager.java @@ -1,6 +1,14 @@ package world.bentobox.bentobox.managers; -import java.util.*; +import java.util.Collection; +import java.util.Collections; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.Map; +import java.util.Queue; +import java.util.Set; +import java.util.UUID; import org.bukkit.Location; import org.bukkit.World; @@ -534,14 +542,15 @@ public class PlayersManager { getPlayer(target.getUniqueId()).addToPendingKick(world); } } - if ((!kicked && plugin.getIWM().isOnLeaveResetInventory(world)) - || (kicked && !plugin.getIWM().isKickedKeepInventory(world))) { + if ((kicked && plugin.getIWM().isOnLeaveResetInventory(world) && !plugin.getIWM().isKickedKeepInventory(world)) + || (!kicked && plugin.getIWM().isOnLeaveResetInventory(world))) { if (target.isOnline()) { target.getPlayer().getInventory().clear(); } else { getPlayer(target.getUniqueId()).addToPendingKick(world); - } + } } + if (plugin.getSettings().isUseEconomy() && plugin.getIWM().isOnLeaveResetMoney(world)) { plugin.getVault().ifPresent(vault -> vault.withdraw(target, vault.getBalance(target), world)); } diff --git a/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamKickCommandTest.java b/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamKickCommandTest.java index b7750933b..3e1c3ac28 100644 --- a/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamKickCommandTest.java +++ b/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamKickCommandTest.java @@ -23,8 +23,6 @@ import java.util.stream.Collectors; import org.bukkit.Bukkit; import org.bukkit.OfflinePlayer; import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.PlayerInventory; import org.bukkit.plugin.PluginManager; import org.bukkit.scheduler.BukkitScheduler; import org.junit.After; @@ -341,10 +339,7 @@ public class IslandTeamKickCommandTest { verify(im).removePlayer(any(), eq(notUUID)); verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch"); verify(target, Mockito.never()).getInventory(); - verify(pm).getPlayer(notUUID); - verify(targetPlayer).addToPendingKick(any()); - - + verify(pm).cleanLeavingPlayer(any(), any(User.class), eq(true)); } /** @@ -366,43 +361,6 @@ public class IslandTeamKickCommandTest { verify(user).sendMessage(eq("commands.confirmation.confirm"), eq("[seconds]"), eq("0")); } - /** - * Test method for {@link IslandTeamKickCommand#execute(User, String, java.util.List)} - */ - @Test - public void testExecuteTestResets() { - when(s.isKickConfirmation()).thenReturn(false); - // Create the target user - when(pm.getUUID(any())).thenReturn(notUUID); - when(target.getName()).thenReturn("poslovitch"); - // Target's inventory - PlayerInventory inv = mock(PlayerInventory.class); - when(target.getInventory()).thenReturn(inv); - Inventory enderChest = mock(Inventory.class); - when(target.getEnderChest()).thenReturn(enderChest); - - // Set the user in Users - Set members = new HashSet<>(); - // Add the team members - members.add(notUUID); - when(im.getMembers(any(), any())).thenReturn(members); - - // Require resets - when(iwm.isOnLeaveResetEnderChest(any())).thenReturn(true); - when(iwm.isOnLeaveResetInventory(any())).thenReturn(true); - when(iwm.isOnLeaveResetMoney(any())).thenReturn(true); - - IslandTeamKickCommand itl = new IslandTeamKickCommand(ic); - // Kick the team member - assertTrue(itl.execute(user, itl.getLabel(), Collections.singletonList("poslovitch"))); - - // Verify - verify(im).removePlayer(any(), eq(notUUID)); - verify(user).sendMessage("commands.island.team.kick.success", TextVariables.NAME, "poslovitch"); - verify(enderChest).clear(); - verify(inv).clear(); - } - /** * Test method for {@link IslandTeamKickCommand#setCooldown(UUID, UUID, int)} */ diff --git a/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamLeaveCommandTest.java b/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamLeaveCommandTest.java index 389e4c6ae..2be11e289 100644 --- a/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamLeaveCommandTest.java +++ b/src/test/java/world/bentobox/bentobox/api/commands/island/team/IslandTeamLeaveCommandTest.java @@ -16,8 +16,6 @@ import java.util.UUID; import org.bukkit.Bukkit; import org.bukkit.World; import org.bukkit.entity.Player; -import org.bukkit.inventory.Inventory; -import org.bukkit.inventory.PlayerInventory; import org.bukkit.plugin.PluginManager; import org.bukkit.scheduler.BukkitScheduler; import org.junit.Before; @@ -229,35 +227,6 @@ public class IslandTeamLeaveCommandTest { verify(user).sendMessage(eq("commands.island.reset.resets-left"), eq(TextVariables.NUMBER), eq("100")); } - /** - * Test method for {@link world.bentobox.bentobox.api.commands.island.team.IslandTeamLeaveCommand#execute(User, String, java.util.List)} - */ - @Test - public void testExecuteTestResets() { - when(s.isLeaveConfirmation()).thenReturn(false); - when(im.hasIsland(any(), eq(uuid))).thenReturn(false); - when(im.isOwner(any(), eq(uuid))).thenReturn(false); - // Add a team owner - null - when(im.getOwner(any(), any())).thenReturn(null); - - // Require resets - when(iwm.isOnLeaveResetEnderChest(any())).thenReturn(true); - Inventory enderChest = mock(Inventory.class); - when(player.getEnderChest()).thenReturn(enderChest); - when(iwm.isOnLeaveResetInventory(any())).thenReturn(true); - PlayerInventory inv = mock(PlayerInventory.class); - when(player.getInventory()).thenReturn(inv); - when(iwm.isOnLeaveResetMoney(any())).thenReturn(true); - - IslandTeamLeaveCommand itl = new IslandTeamLeaveCommand(ic); - assertTrue(itl.execute(user, itl.getLabel(), new ArrayList<>())); - verify(im).setLeaveTeam(any(), eq(uuid)); - verify(user).sendMessage(eq("commands.island.team.leave.success")); - - verify(enderChest).clear(); - verify(inv).clear(); - } - /** * Test method for {@link IslandTeamLeaveCommand#execute(User, String, java.util.List)} */