77 lines
2.0 KiB
Java
77 lines
2.0 KiB
Java
|
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;
|
||
|
}
|
||
|
|
||
|
}
|