package com.nicewuerfel.blockown.command;
import com.nicewuerfel.blockown.Message;
import com.nicewuerfel.blockown.Setting;
import com.nicewuerfel.blockown.User;
import com.nicewuerfel.blockown.database.Database;
import com.nicewuerfel.blockown.protection.ProtectAction;
import com.nicewuerfel.blockown.protection.Protection;
import org.bukkit.Bukkit;
import org.bukkit.OfflinePlayer;
import org.bukkit.command.Command;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
public class CE_AddFriend extends CommandExecutor {
public CE_AddFriend(Setting setting, Database database, Protection protection) {
super(setting, database, protection);
}
@Override
public boolean onCommand(CommandSender sender, Command cmd, String cmdName, String[] args) {
if (!isPlayer(sender)) {
return true;
}
Player player = (Player) sender;
if (args.length != 1) {
return false;
}
User user = User.getInstance(player.getUniqueId());
@SuppressWarnings("deprecation")
OfflinePlayer friendPlayer = Bukkit.getServer().getOfflinePlayer(args[0]);
if (!isValid(friendPlayer)) {
player.sendMessage(Message.COMMAND_INVALID_PLAYER.getMessage(args[0]));
return false;
}
User friend = User.getInstance(friendPlayer.getUniqueId());
ProtectAction protectAction = new ProtectAction.Builder(user).friend(friend).build();
protection.enqueue(protectAction);
player.sendMessage(Message.COMMAND_ADDFRIEND_SUCCESS.getMessage(friendPlayer.getName()));
return true;
}
}