From ef5cc237487f92ae675944396b13bcbac8fbb616 Mon Sep 17 00:00:00 2001 From: Marc Baloup Date: Wed, 7 Jan 2015 00:41:15 -0500 Subject: [PATCH] Correction de bug de la commande /cubo --- .../survival_cuboid/CommandCubo.java | 31 ++++++++++++------- 1 file changed, 20 insertions(+), 11 deletions(-) diff --git a/src/net/mc_pandacraft/java/plugin/pandacraftutils/survival_cuboid/CommandCubo.java b/src/net/mc_pandacraft/java/plugin/pandacraftutils/survival_cuboid/CommandCubo.java index cb2e48f..a6eea43 100644 --- a/src/net/mc_pandacraft/java/plugin/pandacraftutils/survival_cuboid/CommandCubo.java +++ b/src/net/mc_pandacraft/java/plugin/pandacraftutils/survival_cuboid/CommandCubo.java @@ -45,6 +45,9 @@ public class CommandCubo implements CommandExecutor { public CommandCubo(PandacraftUtils pl) { plugin = pl; + + plugin.getCommand("cubo").setExecutor(this); + Plugin wg = plugin.getServer().getPluginManager().getPlugin("WorldGuard"); @@ -79,7 +82,7 @@ public class CommandCubo implements CommandExecutor { if (!ConfigManager.getInstance().CuboCommand_worlds.contains(player.getWorld().getName())) { player.sendMessage(ChatColor.RED+"Les cubos ne se font pas sur cette map"); - return false; + return true; } @@ -88,11 +91,11 @@ public class CommandCubo implements CommandExecutor { CuboidSelection selection = WorldEditInterface.getPlayerCuboSelection(player); if (selection == null) { - player.sendMessage(ChatColor.RED+"Vous devez faire une sélection WorldEdit : faites "+ChatColor.GRAY+"//wand"); + player.sendMessage(ChatColor.RED+"Vous devez faire une sélection WorldEdit : faites "+ChatColor.GRAY+"//wand"+ChatColor.RED+" pour avoir l'outil nécessaire"); return true; } - if (hasStaffPermission(player) && args.length >= 3 && plugin.getServer().getPlayer(args[2]) == null) + if (hasStaffPermission(player) && args.length >= 2 && plugin.getServer().getPlayer(args[1]) == null) { // un joueur est indiqué mais il n'est pas connecté player.sendMessage(ChatColor.RED+"Le joueur concerné n'est pas en ligne"); return true; @@ -284,6 +287,13 @@ public class CommandCubo implements CommandExecutor { // on crée le cubo : wgPlugin.getRegionManager(selection.getWorld()).addRegion(cubo); + try { + wgPlugin.getRegionManager(selection.getWorld()).save(); + } catch (ProtectionDatabaseException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + player.sendMessage(ChatColor.GREEN+"La protection "+ChatColor.GRAY+cubo.getId()+ChatColor.GREEN+" a bien été réalisée"); if (player != player_cubo) player_cubo.sendMessage(ChatColor.GREEN+"La protection "+ChatColor.GRAY+cubo.getId()+ChatColor.GREEN+" a bien été réalisée"); @@ -335,7 +345,7 @@ public class CommandCubo implements CommandExecutor { player.sendMessage(ChatColor.GOLD+cubo.getId()+" : "+cubo.volume()+" cubes"); } - player.sendMessage(ChatColor.GOLD+"---------- Page "+num_page+"/"+nb_page+" ----------"); + player.sendMessage(ChatColor.GOLD+"Page "+num_page+"/"+nb_page+" : "+ChatColor.GRAY+"/cubo liste "+player_cubo); return true; } @@ -488,7 +498,7 @@ public class CommandCubo implements CommandExecutor { String new_user = args[1]; - if (!new_user.matches("[0-9a-azA-Z_]{2,16}")) + if (!new_user.matches("[0-9a-zA-Z_]{2,16}")) { player.sendMessage(ChatColor.RED+"Le pseudo indiqué n'est pas valide"); return true; @@ -527,7 +537,7 @@ public class CommandCubo implements CommandExecutor { String old_user = args[1]; - if (!old_user.matches("[0-9a-azA-Z_]{2,16}")) + if (!old_user.matches("[0-9a-zA-Z_]{2,16}")) { player.sendMessage(ChatColor.RED+"Le pseudo indiqué n'est pas valide"); return true; @@ -596,8 +606,8 @@ public class CommandCubo implements CommandExecutor { // on arrive ici si aucune des sous commandes correspond à celle tapée - sender.sendMessage(ChatColor.RED+"Mauvaise utilisation de la commande "+ChatColor.GRAY+"/cubo"+ChatColor.RED+". Faites "+ChatColor.GRAY+"/cubo"+ChatColor.RED+" pour connaitre l'utilisation"); - return false; + sender.sendMessage(ChatColor.RED+"Mauvaise utilisation de la commande. Faites "+ChatColor.GRAY+"/cubo"+ChatColor.RED+" pour connaitre l'utilisation"); + return true; } @@ -731,12 +741,11 @@ public class CommandCubo implements CommandExecutor { for (Map.Entry region : regions.entrySet()) { // on ne prend en charge que les cuboides - if (!(region instanceof ProtectedCuboidRegion)) + if (!(region.getValue() instanceof ProtectedCuboidRegion)) continue; // on garde les régions gérés par la commande - if (!region.getKey().matches(regex_cubo_id)) + if (!region.getValue().getId().matches(regex_cubo_id)) continue; - if (!region.getValue().isOwner(p)) continue; playerRegions.add((ProtectedCuboidRegion)region.getValue());