mirror of
https://github.com/BentoBoxWorld/BentoBox.git
synced 2024-11-27 21:27:44 +01:00
Adds involved player UUID to IslandDeleteEvent
https://github.com/BentoBoxWorld/BentoBox/issues/790
This commit is contained in:
parent
7c16908768
commit
3f217e30ad
@ -27,10 +27,10 @@ public class AdminDeleteCommand extends ConfirmableCommand {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean canExecute(User user, String label, List<String> args) {
|
public boolean canExecute(User user, String label, List<String> args) {
|
||||||
if (args.size() != 1) {
|
if (args.size() != 1) {
|
||||||
showHelp(this, user);
|
showHelp(this, user);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
// Get target
|
// Get target
|
||||||
UUID targetUUID = getPlayers().getUUID(args.get(0));
|
UUID targetUUID = getPlayers().getUUID(args.get(0));
|
||||||
if (targetUUID == null) {
|
if (targetUUID == null) {
|
||||||
@ -86,7 +86,7 @@ public class AdminDeleteCommand extends ConfirmableCommand {
|
|||||||
getPlugin().getVault().ifPresent(vault -> vault.withdraw(target, vault.getBalance(target)));
|
getPlugin().getVault().ifPresent(vault -> vault.withdraw(target, vault.getBalance(target)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getIslands().deleteIsland(oldIsland, true);
|
getIslands().deleteIsland(oldIsland, true, targetUUID);
|
||||||
}
|
}
|
||||||
getPlayers().clearHomeLocations(getWorld(), targetUUID);
|
getPlayers().clearHomeLocations(getWorld(), targetUUID);
|
||||||
user.sendMessage("general.success");
|
user.sendMessage("general.success");
|
||||||
|
@ -89,7 +89,7 @@ public class IslandTeamInviteAcceptCommand extends ConfirmableCommand {
|
|||||||
getIslands().homeTeleport(getWorld(), user.getPlayer());
|
getIslands().homeTeleport(getWorld(), user.getPlayer());
|
||||||
// Delete the old island
|
// Delete the old island
|
||||||
if (island != null) {
|
if (island != null) {
|
||||||
getIslands().deleteIsland(island, true);
|
getIslands().deleteIsland(island, true, user.getUniqueId());
|
||||||
}
|
}
|
||||||
// TODO Set the cooldown
|
// TODO Set the cooldown
|
||||||
// Reset deaths
|
// Reset deaths
|
||||||
|
@ -222,7 +222,10 @@ public class IslandEvent extends IslandBaseEvent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Fired when an island is deleted.
|
* Fired when island blocks are going to be deleted.
|
||||||
|
* If canceled, the island blocks will not be deleted. Note that by the time this is called
|
||||||
|
* the ownership of the island may have been removed. This event is just for detecting
|
||||||
|
* that the island blocks are going to be removed.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public static class IslandDeletedEvent extends IslandBaseEvent {
|
public static class IslandDeletedEvent extends IslandBaseEvent {
|
||||||
|
@ -276,10 +276,11 @@ public class IslandsManager {
|
|||||||
* Deletes island.
|
* Deletes island.
|
||||||
* @param island island to delete, not null
|
* @param island island to delete, not null
|
||||||
* @param removeBlocks whether the island blocks should be removed or not
|
* @param removeBlocks whether the island blocks should be removed or not
|
||||||
|
* @param involvedPlayer - player related to the island deletion, if any
|
||||||
*/
|
*/
|
||||||
public void deleteIsland(@NonNull Island island, boolean removeBlocks) {
|
public void deleteIsland(@NonNull Island island, boolean removeBlocks, UUID involvedPlayer) {
|
||||||
// Fire event
|
// Fire event
|
||||||
IslandBaseEvent event = IslandEvent.builder().island(island).reason(Reason.DELETE).build();
|
IslandBaseEvent event = IslandEvent.builder().island(island).involvedPlayer(involvedPlayer).reason(Reason.DELETE).build();
|
||||||
if (event.isCancelled()) {
|
if (event.isCancelled()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -207,7 +207,7 @@ public class NewIsland {
|
|||||||
// Delete old island
|
// Delete old island
|
||||||
if (oldIsland != null) {
|
if (oldIsland != null) {
|
||||||
// Delete the old island
|
// Delete the old island
|
||||||
plugin.getIslands().deleteIsland(oldIsland, true);
|
plugin.getIslands().deleteIsland(oldIsland, true, user.getUniqueId());
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fire exit event
|
// Fire exit event
|
||||||
|
@ -431,7 +431,7 @@ public class IslandsManagerTest {
|
|||||||
IslandsManager im = new IslandsManager(plugin);
|
IslandsManager im = new IslandsManager(plugin);
|
||||||
UUID owner = UUID.randomUUID();
|
UUID owner = UUID.randomUUID();
|
||||||
Island island = im.createIsland(location, owner);
|
Island island = im.createIsland(location, owner);
|
||||||
im.deleteIsland(island, false);
|
im.deleteIsland(island, false, owner);
|
||||||
assertNull(island.getOwner());
|
assertNull(island.getOwner());
|
||||||
Mockito.verify(pim, Mockito.times(2)).callEvent(Mockito.any(IslandDeleteEvent.class));
|
Mockito.verify(pim, Mockito.times(2)).callEvent(Mockito.any(IslandDeleteEvent.class));
|
||||||
}
|
}
|
||||||
@ -445,7 +445,7 @@ public class IslandsManagerTest {
|
|||||||
IslandsManager im = new IslandsManager(plugin);
|
IslandsManager im = new IslandsManager(plugin);
|
||||||
UUID owner = UUID.randomUUID();
|
UUID owner = UUID.randomUUID();
|
||||||
Island island = im.createIsland(location, owner);
|
Island island = im.createIsland(location, owner);
|
||||||
im.deleteIsland(island, true);
|
im.deleteIsland(island, true, owner);
|
||||||
assertNull(island.getOwner());
|
assertNull(island.getOwner());
|
||||||
Mockito.verify(pim, Mockito.times(4)).callEvent(Mockito.any(IslandDeleteEvent.class));
|
Mockito.verify(pim, Mockito.times(4)).callEvent(Mockito.any(IslandDeleteEvent.class));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user