Merge branch 'develop' of https://github.com/BentoBoxWorld/BentoBox.git into develop

This commit is contained in:
tastybento 2020-12-25 17:36:26 -08:00
commit 2190295c68
3 changed files with 14 additions and 78 deletions

View File

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

View File

@ -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<UUID> 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)}
*/

View File

@ -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)}
*/