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

74 lines
2.2 KiB
Java

package net.mc_pandacraft.java.plugin.pandacraftutils.commands;
import net.mc_pandacraft.java.plugin.pandacraftutils.modules.PrivateMessagesManager.MessageSender;
import net.mc_pandacraft.java.plugin.pandacraftutils.modules.PrivateMessagesManager.MessageSendingException;
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.OnlinePlayerManager;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class CommandReply extends AbstractCommandExecutor {
public CommandReply() {
super("reply");
}
@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 utiliser la commande /"+label);
return true;
}
if (args.length == 0) {
OnlinePlayer op = OnlinePlayerManager.get((Player) sender);
String lastTarget = op.getLastMessageTarget();
if (lastTarget == null)
sender.sendMessage(ChatColor.RED+"Vous n'avez pas encore envoyé de message privé");
else {
if (lastTarget.toLowerCase().startsWith("g:"))
sender.sendMessage(ChatColor.GRAY+"/"+label+ChatColor.GOLD+" pour envoyer un message au groupe "+ChatColor.GRAY+lastTarget.substring(2));
else
sender.sendMessage(ChatColor.GRAY+"/"+label+ChatColor.GOLD+" pour envoyer un message à "+ChatColor.RESET+new OffPlayer(lastTarget).getDisplayName());
}
return true;
}
onCommandReply(sender, getLastParam(args, 0));
return true;
}
private void onCommandReply(CommandSender sender, String message) {
if (sender instanceof Player && OnlinePlayerManager.get((Player) sender).getEssentialsUser().isMuted()) {
sender.sendMessage(ChatColor.RED+"Vous ne pouvez pas envoyer de message quand vous êtes muet");
return;
}
try {
plugin.privateMessagesManager.respondMessage(new MessageSender(sender), message);
} catch (MessageSendingException e) {
sender.sendMessage(ChatColor.RED+e.getMessage());
}
}
}