BungeeMain / src / main / java / com / lifeknight / relaymcbungeemain / commands / chat / ReplyCommand.java
ReplyCommand.java
Raw
package com.lifeknight.relaymcbungeemain.commands.chat;

import com.lifeknight.relaymcbungeemain.player.SmartPlayer;
import com.lifeknight.relayutils.basic.Text;
import net.md_5.bungee.api.CommandSender;
import net.md_5.bungee.api.connection.ProxiedPlayer;
import net.md_5.bungee.api.plugin.Command;

public class ReplyCommand extends Command {
    public ReplyCommand() {
        super("reply", null, "r");
    }

    @Override
    public void execute(CommandSender sender, String[] arguments) {
        if (sender instanceof ProxiedPlayer) {
            SmartPlayer messageSender = SmartPlayer.getSmartPlayer((ProxiedPlayer) sender);
            SmartPlayer messageRecipient = messageSender.getLastMessageSender();
            if (messageRecipient == null) {
                messageSender.sendErrorMessage("Nobody has recently messaged you.");
                return;
            } else if (!messageRecipient.isOnline()) {
                messageRecipient.sendErrorMessage("The player you are relaying to is offline!");
                return;
            }
            if (arguments.length == 0) {
                messageSender.sendErrorMessage("Please enter a message to send.");
            } else {
                String message = Text.concatenateArguments(arguments);
                if (!messageSender.canSendMessage(message)) {
                    return;
                }
                messageSender.messagePlayer(messageRecipient, message);
            }
        }
    }
}