diff --git a/pom.xml b/pom.xml index 191f7f8..7e2946b 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ fr.gamecreep BasicHomes - 1.9.8-BETA-26.2 + 1.9.8.1-DEV-26.2 jar BasicHomes diff --git a/src/main/java/fr/gamecreep/basichomes/commands/utils/DeleteCommand.java b/src/main/java/fr/gamecreep/basichomes/commands/utils/DeleteCommand.java index def33e9..908d9b9 100644 --- a/src/main/java/fr/gamecreep/basichomes/commands/utils/DeleteCommand.java +++ b/src/main/java/fr/gamecreep/basichomes/commands/utils/DeleteCommand.java @@ -28,11 +28,6 @@ protected DeleteCommand(@NonNull final BasicHomes plugin, final PositionType typ public boolean onCommand(@NonNull final CommandSender commandSender, @NonNull final String[] args) { if (commandSender instanceof final Player playerSender) { - if (!playerSender.hasPermission(this.permission.getName())) { - ChatUtils.sendNoPermission(playerSender, this.permission); - return true; - } - if (args.length < 1) { ChatUtils.sendPlayerError(playerSender, String.format("Please add the name of the %s to delete !", this.type.getDisplayName())); return false; @@ -46,6 +41,13 @@ public boolean onCommand(@NonNull final CommandSender commandSender, @NonNull fi return true; } + if (!playerSender.hasPermission(this.permission.getName()) + && !pos.getOwnerUuid().equals(playerSender.getUniqueId().toString()) + ) { + ChatUtils.sendNoPermission(playerSender, this.permission); + return true; + } + this.handler.delete(pos); ChatUtils.sendPlayerInfo(playerSender, String.format( diff --git a/src/main/java/fr/gamecreep/basichomes/menus/tools/PaginatedMenu.java b/src/main/java/fr/gamecreep/basichomes/menus/tools/PaginatedMenu.java index 350e16b..158f54a 100644 --- a/src/main/java/fr/gamecreep/basichomes/menus/tools/PaginatedMenu.java +++ b/src/main/java/fr/gamecreep/basichomes/menus/tools/PaginatedMenu.java @@ -80,7 +80,10 @@ protected final void populateMenu(final List data) { final int homeItemSlot = 10 + ((i - startIndex) * 9); this.menu.setItem(homeItemSlot, item); - if (player.hasPermission(this.permissionToDelete.getName())) { + if ( + player.hasPermission(this.permissionToDelete.getName()) + || pos.getOwnerUuid().equals(player.getUniqueId().toString()) + ) { final ItemStack delItem = createDeleteItem(pos); final int delItemSlot = 16 + ((i - startIndex) * 9); this.menu.setItem(delItemSlot, delItem);