public static boolean addFriend(
     ProxiedPlayer p, String who) { // who == der, der geaddedt werden soll
   if (who == null || who == "") return false; // Parameter fehlt bzw. ungültig
   PlayerData pd =
       PlayerData.get(p.getUniqueId()); // All ProxiedPlayer's are registered in the RAM
   ProxiedPlayer whoPlayer = Util.getPlayer(who);
   if (whoPlayer == null) {
     Messages.FRIEND_NOT_ONLINE.msg(p, "%player%", who);
     return false;
   }
   if (p.getUniqueId() == whoPlayer.getUniqueId()) {
     Messages.FRIEND_YOURSELF.msg(p);
     return false;
   }
   if (pd.getFriends().containsKey(whoPlayer.getUniqueId()) == true) {
     Messages.FRIEND_ALREADY_A_FRIEND.msg(p, "%player%", whoPlayer.getName());
     return false;
   }
   Friend f =
       new Friend(p.getUniqueId(), whoPlayer.getUniqueId(), p.getName(), whoPlayer.getName());
   FriendRequest fRequest = new FriendRequest(p, whoPlayer, f);
   PlayerData.get(whoPlayer.getUniqueId()).addFriendRequest(fRequest);
   f.insertSQL();
   pd.getFriends().put(whoPlayer.getUniqueId(), f);
   Messages.FRIENDREQUEST_SUCCESSFULLY_SEND.msg(p, "%player%", whoPlayer.getName());
   Messages.FRIENDREQUEST_GOT.msg(whoPlayer, "%player%", p.getName());
   PluginMessenger.sendMessage(p, "Friend", "Update");
   return true;
 }
  public static boolean acceptFriend(ProxiedPlayer p, String toAcceptFriendName) {
    if (toAcceptFriendName == null || toAcceptFriendName == "") return false;
    PlayerData pd = PlayerData.get(p.getUniqueId());
    ProxiedPlayer toAcceptFriend = Util.getPlayer(toAcceptFriendName);
    if (toAcceptFriend == null) {
      Messages.FRIEND_NOT_ONLINE.msg(p, "%player%", toAcceptFriendName);
      return false;
    }
    if (!pd.getFriendRequests().isEmpty()) {
      for (FriendRequest fr : pd.getFriendRequests()) {
        ProxiedPlayer friend = fr.getReceiver();
        if (friend == null) continue;
        if (friend.getUniqueId().toString() == toAcceptFriend.getUniqueId().toString()) {
          fr.setAccepted(true);
          fr.setAnswered(true);
          Messages.FRIENDREQUEST_ACCEPTED.msg(p, "%player%", toAcceptFriend.getName());
          Messages.FRIENDREQUEST_ACCEPTED_FORSENDER.msg(toAcceptFriend, "%player%", p.getName());
          PluginMessenger.sendMessage(p, "Friend", "Update");
          PluginMessenger.sendMessage(toAcceptFriend, "Friend", "Update");
          return true;
        }
      }
    }

    if (!pd.getFriends().containsKey(toAcceptFriend.getUniqueId())) {
      Messages.FRIEND_NOT_IN_FRIENDLIST.msg(p, "%player%", toAcceptFriendName);
      return false;
    }
    Friend friend = pd.getFriends().get(toAcceptFriend.getUniqueId());
    friend.setRequestAccepted(true);
    friend.updateSQL();
    Messages.FRIENDREQUEST_ACCEPTED.msg(p, "%player%", toAcceptFriend.getName());
    Messages.FRIENDREQUEST_ACCEPTED_FORSENDER.msg(toAcceptFriend, "%player%", p.getName());
    PluginMessenger.sendMessage(p, "Friend", "Update");
    PluginMessenger.sendMessage(toAcceptFriend, "Friend", "Update");
    return true;
  }