diff --git a/plugin/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java b/plugin/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java index 96995e6..7e8df21 100644 --- a/plugin/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java +++ b/plugin/src/main/java/com/lishid/openinv/commands/OpenEnderPluginCommand.java @@ -113,10 +113,19 @@ public class OpenEnderPluginCommand implements CommandExecutor { onlineTarget = target.getPlayer(); } - - if (!onlineTarget.equals(player) && !Permissions.ENDERCHEST_ALL.hasPermission(player)) { - player.sendMessage(ChatColor.RED + "You do not have permission to access other player's enderchest"); - return; + if (!onlineTarget.equals(player)) { + if (!Permissions.ENDERCHEST_ALL.hasPermission(player)) { + player.sendMessage(ChatColor.RED + "You do not have permission to access other players' enderchests."); + return; + } + if (!Permissions.CROSSWORLD.hasPermission(player) && !player.getWorld().equals(onlineTarget.getWorld())) { + player.sendMessage(ChatColor.RED + onlineTarget.getDisplayName() + " is not in your world!"); + return; + } + if (!Permissions.OVERRIDE.hasPermission(player) && Permissions.EXEMPT.hasPermission(onlineTarget)) { + player.sendMessage(ChatColor.RED + onlineTarget.getDisplayName() + "'s inventory is protected!"); + return; + } } // Record the target diff --git a/plugin/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java b/plugin/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java index 4ac56f8..9b4d351 100644 --- a/plugin/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java +++ b/plugin/src/main/java/com/lishid/openinv/commands/OpenInvPluginCommand.java @@ -115,21 +115,24 @@ public class OpenInvPluginCommand implements CommandExecutor { } // Permissions checks - if (!Permissions.OVERRIDE.hasPermission(player) && Permissions.EXEMPT.hasPermission(onlineTarget)) { - player.sendMessage(ChatColor.RED + onlineTarget.getDisplayName() + "'s inventory is protected!"); - return; - } + if (onlineTarget.equals(player)) { + // Self-open check + if (!Permissions.OPENSELF.hasPermission(player)) { + player.sendMessage(ChatColor.RED + "You're not allowed to openinv yourself."); + return; + } + } else { + // Protected check + if (!Permissions.OVERRIDE.hasPermission(player) && Permissions.EXEMPT.hasPermission(onlineTarget)) { + player.sendMessage(ChatColor.RED + onlineTarget.getDisplayName() + "'s inventory is protected!"); + return; + } - // Crosswork check - if ((!Permissions.CROSSWORLD.hasPermission(player) && !Permissions.OVERRIDE.hasPermission(player)) && onlineTarget.getWorld() != player.getWorld()) { - player.sendMessage(ChatColor.RED + onlineTarget.getDisplayName() + " is not in your world!"); - return; - } - - // Self-open check - if (!Permissions.OPENSELF.hasPermission(player) && onlineTarget.equals(player)) { - player.sendMessage(ChatColor.RED + "You're not allowed to openinv yourself."); - return; + // Crossworld check + if ((!Permissions.CROSSWORLD.hasPermission(player) && !Permissions.OVERRIDE.hasPermission(player)) && onlineTarget.getWorld() != player.getWorld()) { + player.sendMessage(ChatColor.RED + onlineTarget.getDisplayName() + " is not in your world!"); + return; + } } // Record the target