package net.mc_pandacraft.java.plugin.pandacraftutils.commands; import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayer; import net.mc_pandacraft.java.plugin.pandacraftutils.players.OnlinePlayerManager; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.entity.Tameable; public class CommandAnimal extends AbstractCommandExecutor { public CommandAnimal() { super("animal"); } @Override public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) { if (!(sender instanceof Player)) { sender.sendMessage(ChatColor.RED+"seul un joueur en ligne peut effectuer cette commande"); return true; } Player p = (Player) sender; OnlinePlayer op = OnlinePlayerManager.get(p); if (!op.isAnimalSelectionEnabled()) { op.enableAnimalSelection(); p.sendMessage(ChatColor.GREEN+"Faites clic droite pour sélectionner un animal apprivoisé"); return true; } // la sélection d'un animal est déjà activée // si je joueur n'a pas encore sélectionné d'animal if (op.getSelectedAnimal() == null) { p.sendMessage(ChatColor.RED+"Faites d'abord un clic droite sur un animal apprivoisé"); return true; } Tameable animal = op.getSelectedAnimal(); if ((animal.getOwner() == null || !animal.getOwner().equals(p)) && !op.hasPermission("pandacraft.animal.admin")) { p.sendMessage(ChatColor.RED+"Vous n'avez pas le droit de modifier cet animal"); return true; } if (args.length >= 2 && args[0].equalsIgnoreCase("donner")) { Player newOwner = plugin.getServer().getPlayer(args[1]); if (newOwner == null) { p.sendMessage(ChatColor.RED+"Le joueur indiqué n'est pas en ligne"); return true; } animal.setOwner(newOwner); p.sendMessage(ChatColor.GREEN+"Vous venez de donner cet animal à "+newOwner.getDisplayName()); return true; } return false; } }