From 962d5d7827c4f1bd246bf4d1edbab13c52bb8428 Mon Sep 17 00:00:00 2001 From: Adam Date: Fri, 24 Aug 2018 20:24:40 -0400 Subject: [PATCH] runelite-api: add method for getting number of friends --- .../main/java/net/runelite/api/Client.java | 7 +++++++ .../net/runelite/mixins/RSClientMixin.java | 19 +++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 99d22bdf86..7aaed28ef2 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1020,6 +1020,13 @@ public interface Client extends GameEngine */ Friend[] getFriends(); + /** + * Gets the number of friends on the friends list. + * + * @return + */ + int getFriendsCount(); + /** * Checks whether a player is in the same clan chat. * diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 68645e51d0..7bd27fdc7e 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -685,6 +685,25 @@ public abstract class RSClientMixin implements RSClient return (Friend[]) nameables; } + @Inject + @Override + public int getFriendsCount() + { + final RSFriendManager friendManager = getFriendManager(); + if (friendManager == null) + { + return -1; + } + + final RSFriendContainer friendContainer = friendManager.getFriendContainer(); + if (friendContainer == null) + { + return -1; + } + + return friendContainer.getCount(); + } + @Inject @Override public boolean isClanMember(String name)