Corrections de bug dans /animal + Erreur lors de l'application du TabCompleter de /region

This commit is contained in:
Marc Baloup 2015-05-14 04:29:30 +02:00
parent b4f15816b4
commit 9e74ae9973
2 changed files with 21 additions and 19 deletions

View File

@ -8,7 +8,6 @@ import net.mc_pandacraft.java.plugin.pandacraftutils.players.OffPlayer;
import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayer; import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayer;
import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayerManager; import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayerManager;
import net.mc_pandacraft.java.util.StringUtil; import net.mc_pandacraft.java.util.StringUtil;
import net.mc_pandacraft.java.util.TimeUtil;
import net.minecraft.server.v1_7_R1.EntityHorse; import net.minecraft.server.v1_7_R1.EntityHorse;
import net.minecraft.server.v1_7_R1.GenericAttributes; import net.minecraft.server.v1_7_R1.GenericAttributes;
@ -18,7 +17,6 @@ import org.bukkit.command.CommandSender;
import org.bukkit.craftbukkit.v1_7_R1.entity.CraftHorse; import org.bukkit.craftbukkit.v1_7_R1.entity.CraftHorse;
import org.bukkit.entity.Animals; import org.bukkit.entity.Animals;
import org.bukkit.entity.Damageable; import org.bukkit.entity.Damageable;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Horse; import org.bukkit.entity.Horse;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.entity.Tameable; import org.bukkit.entity.Tameable;
@ -52,7 +50,7 @@ public class CommandAnimal extends AbstractCommandExecutor {
// si le joueur veut désactiver la sélection d'un animal // si le joueur veut désactiver la sélection d'un animal
if (args.length >= 1 && args[0].equalsIgnoreCase("annuler")) { if (args.length == 0 || args[0].equalsIgnoreCase("annuler")) {
p.sendMessage(ChatColor.GREEN+"La sélection d'un animal est désactivée"); p.sendMessage(ChatColor.GREEN+"La sélection d'un animal est désactivée");
op.resetAnimalSelection(); op.resetAnimalSelection();
return true; return true;
@ -118,17 +116,16 @@ public class CommandAnimal extends AbstractCommandExecutor {
try { try {
double jump = Double.parseDouble(args[2]); double jump = Double.parseDouble(args[2]);
p.sendMessage(ChatColor.RED+"Puissance de saut du cheval défini à "+StringUtil.formatDouble(jump)); if (jump < 0) throw new NumberFormatException();
p.sendMessage(ChatColor.GREEN+"Puissance de saut du cheval défini à "+StringUtil.formatDouble(jump));
jump *= 0.2D; jump *= 0.2D;
h.setJumpStrength(jump); h.setJumpStrength(jump);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
p.sendMessage(ChatColor.RED+"La valeur indiquée est invalide"); p.sendMessage(ChatColor.RED+"La valeur indiquée est invalide. Nombre entre 0 et 10 (nombre décimal possible)");
}
return true; return true;
} }
if (args.length >= 3 && args[1].equalsIgnoreCase("vitesse")) {
}
if (args.length >= 3 && args[0].equalsIgnoreCase("vitesse")) {
if (!(tameable instanceof Horse)) { if (!(tameable instanceof Horse)) {
p.sendMessage(ChatColor.RED+"Vous ne pouvez pas modifier la vitesse de cet animal"); p.sendMessage(ChatColor.RED+"Vous ne pouvez pas modifier la vitesse de cet animal");
@ -139,20 +136,19 @@ public class CommandAnimal extends AbstractCommandExecutor {
EntityHorse horse = ((CraftHorse)h).getHandle(); EntityHorse horse = ((CraftHorse)h).getHandle();
try { try {
double speed = Double.valueOf(args[1]).doubleValue(); double speed = Double.valueOf(args[2]).doubleValue();
p.sendMessage(ChatColor.RED+"Vitesse du cheval défini à "+StringUtil.formatDouble(speed)); if (speed < 0 || speed > 100) throw new NumberFormatException();
p.sendMessage(ChatColor.GREEN+"Vitesse du cheval défini à "+StringUtil.formatDouble(speed));
speed *= 0.1D; speed *= 0.1D;
horse.getAttributeInstance(GenericAttributes.d).setValue(speed); horse.getAttributeInstance(GenericAttributes.d).setValue(speed);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
p.sendMessage(ChatColor.RED+"La valeur indiquée est invalide"); p.sendMessage(ChatColor.RED+"La valeur indiquée est invalide. Nombre entre 0 et 100 (nombre décimal possible)");
}
return true; return true;
} }
}
} }
if (args.length >= 2 && args[0].equalsIgnoreCase("info")) { if (args.length >= 1 && args[0].equalsIgnoreCase("info")) {
if (!(tameable instanceof Animals)) { if (!(tameable instanceof Animals)) {
p.sendMessage(ChatColor.RED+"L'entité sélectionné n'est pas un animal (erreur innatendu)"); p.sendMessage(ChatColor.RED+"L'entité sélectionné n'est pas un animal (erreur innatendu)");
return true; return true;
@ -164,9 +160,7 @@ public class CommandAnimal extends AbstractCommandExecutor {
p.sendMessage(ChatColor.GOLD+"Propriétaire : "+ChatColor.RESET+(new OffPlayer(tameable.getOwner().getName()).getDisplayName())); p.sendMessage(ChatColor.GOLD+"Propriétaire : "+ChatColor.RESET+(new OffPlayer(tameable.getOwner().getName()).getDisplayName()));
else else
p.sendMessage(ChatColor.GOLD+"Propriétaire : "+ChatColor.GRAY+"Non apprivoisé"); p.sendMessage(ChatColor.GOLD+"Propriétaire : "+ChatColor.GRAY+"Non apprivoisé");
p.sendMessage(ChatColor.GOLD+"Durée de vie : "+ChatColor.GRAY+TimeUtil.durationToString(animal.getTicksLived()*50L));
p.sendMessage(ChatColor.GOLD+"Nom personnalisé : "+ChatColor.RESET+((animal.getCustomName() != null) ? animal.getCustomName() : ChatColor.GRAY+"Aucun")); p.sendMessage(ChatColor.GOLD+"Nom personnalisé : "+ChatColor.RESET+((animal.getCustomName() != null) ? animal.getCustomName() : ChatColor.GRAY+"Aucun"));
double health = ((Damageable)animal).getHealth();
p.sendMessage(ChatColor.GOLD+"Point de vie : "+ChatColor.GRAY+((int)((Damageable)animal).getHealth())+"/"+((int)((Damageable)animal).getMaxHealth())+ChatColor.GOLD+" (2 points = 1 "+ChatColor.RED+""+ChatColor.GOLD+")"); p.sendMessage(ChatColor.GOLD+"Point de vie : "+ChatColor.GRAY+((int)((Damageable)animal).getHealth())+"/"+((int)((Damageable)animal).getMaxHealth())+ChatColor.GOLD+" (2 points = 1 "+ChatColor.RED+""+ChatColor.GOLD+")");
p.sendMessage(ChatColor.GOLD+"Respiration sous l'eau : "+ChatColor.GRAY+animal.getRemainingAir()+"/"+animal.getMaximumAir()); p.sendMessage(ChatColor.GOLD+"Respiration sous l'eau : "+ChatColor.GRAY+animal.getRemainingAir()+"/"+animal.getMaximumAir());
@ -179,6 +173,8 @@ public class CommandAnimal extends AbstractCommandExecutor {
double speed = ((CraftHorse)cheval).getHandle().getAttributeInstance(GenericAttributes.d).getValue(); double speed = ((CraftHorse)cheval).getHandle().getAttributeInstance(GenericAttributes.d).getValue();
p.sendMessage(ChatColor.GOLD+"Vitesse de course : "+ChatColor.GRAY+(speed/0.1D)); p.sendMessage(ChatColor.GOLD+"Vitesse de course : "+ChatColor.GRAY+(speed/0.1D));
} }
return true;
} }

View File

@ -2,6 +2,8 @@ package net.mc_pandacraft.java.plugin.pandacraftutils.commands;
import java.util.HashMap; import java.util.HashMap;
import org.bukkit.command.PluginCommand;
import net.mc_pandacraft.java.plugin.pandacraftutils.PandacraftUtils; import net.mc_pandacraft.java.plugin.pandacraftutils.PandacraftUtils;
/** /**
@ -66,7 +68,11 @@ public class PandacraftUtilsCommandsManager {
// complétion des commandes des autres plugins // complétion des commandes des autres plugins
plugin.getServer().getScheduler().runTaskLater(plugin, new Runnable() { plugin.getServer().getScheduler().runTaskLater(plugin, new Runnable() {
@Override public void run() { @Override public void run() {
plugin.getServer().getPluginCommand("region").setTabCompleter(new TabCompleterWorldGuardRegion()); PluginCommand cmd;
cmd = plugin.getServer().getPluginCommand("region");
if (cmd != null)
cmd.setTabCompleter(new TabCompleterWorldGuardRegion());
} }
}, 1L); }, 1L);