Correction de bug de la commande /cubo

This commit is contained in:
Marc Baloup 2015-01-07 00:41:15 -05:00
parent f95132d5a0
commit ef5cc23748

View File

@ -45,6 +45,9 @@ public class CommandCubo implements CommandExecutor {
public CommandCubo(PandacraftUtils pl) { public CommandCubo(PandacraftUtils pl) {
plugin = pl; plugin = pl;
plugin.getCommand("cubo").setExecutor(this);
Plugin wg = plugin.getServer().getPluginManager().getPlugin("WorldGuard"); 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())) if (!ConfigManager.getInstance().CuboCommand_worlds.contains(player.getWorld().getName()))
{ {
player.sendMessage(ChatColor.RED+"Les cubos ne se font pas sur cette map"); 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); CuboidSelection selection = WorldEditInterface.getPlayerCuboSelection(player);
if (selection == null) 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; 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é { // un joueur est indiqué mais il n'est pas connecté
player.sendMessage(ChatColor.RED+"Le joueur concerné n'est pas en ligne"); player.sendMessage(ChatColor.RED+"Le joueur concerné n'est pas en ligne");
return true; return true;
@ -284,6 +287,13 @@ public class CommandCubo implements CommandExecutor {
// on crée le cubo : // on crée le cubo :
wgPlugin.getRegionManager(selection.getWorld()).addRegion(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"); player.sendMessage(ChatColor.GREEN+"La protection "+ChatColor.GRAY+cubo.getId()+ChatColor.GREEN+" a bien été réalisée");
if (player != player_cubo) if (player != player_cubo)
player_cubo.sendMessage(ChatColor.GREEN+"La protection "+ChatColor.GRAY+cubo.getId()+ChatColor.GREEN+" a bien été réalisée"); 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+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 <Page> "+player_cubo);
return true; return true;
} }
@ -488,7 +498,7 @@ public class CommandCubo implements CommandExecutor {
String new_user = args[1]; 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"); player.sendMessage(ChatColor.RED+"Le pseudo indiqué n'est pas valide");
return true; return true;
@ -527,7 +537,7 @@ public class CommandCubo implements CommandExecutor {
String old_user = args[1]; 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"); player.sendMessage(ChatColor.RED+"Le pseudo indiqué n'est pas valide");
return true; return true;
@ -596,8 +606,8 @@ public class CommandCubo implements CommandExecutor {
// on arrive ici si aucune des sous commandes correspond à celle tapée // 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"); sender.sendMessage(ChatColor.RED+"Mauvaise utilisation de la commande. Faites "+ChatColor.GRAY+"/cubo"+ChatColor.RED+" pour connaitre l'utilisation");
return false; return true;
} }
@ -731,12 +741,11 @@ public class CommandCubo implements CommandExecutor {
for (Map.Entry<String, ProtectedRegion> region : regions.entrySet()) { for (Map.Entry<String, ProtectedRegion> region : regions.entrySet()) {
// on ne prend en charge que les cuboides // on ne prend en charge que les cuboides
if (!(region instanceof ProtectedCuboidRegion)) if (!(region.getValue() instanceof ProtectedCuboidRegion))
continue; continue;
// on garde les régions gérés par la commande // 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; continue;
if (!region.getValue().isOwner(p)) if (!region.getValue().isOwner(p))
continue; continue;
playerRegions.add((ProtectedCuboidRegion)region.getValue()); playerRegions.add((ProtectedCuboidRegion)region.getValue());