PandacraftUtils/src/net/mc_pandacraft/java/plugin/pandacraftutils/commands/CommandAnimal.java

77 lines
2.0 KiB
Java
Raw Normal View History

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;
}
}