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 4b0748ff0e..f19fdea2e3 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1685,4 +1685,13 @@ public interface Client extends GameShell */ void sortMenuEntries(); + /** + * Add player to friendlist + */ + void addFriend(String name); + + /** + * Remove player from friendlist + */ + void removeFriend(String name); } 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 c552baaa6a..c00cc189ad 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1622,4 +1622,20 @@ public abstract class RSClientMixin implements RSClient return hideFriendAttackOptions && (p.isFriended() || p.isClanMember()); } + + @Inject + @Override + public void addFriend(String friend) + { + RSFriendSystem friendSystem = getFriendManager(); + friendSystem.addFriend(friend); + } + + @Inject + @Override + public void removeFriend(String friend) + { + RSFriendSystem friendSystem = getFriendManager(); + friendSystem.removeFriend(friend); + } } \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSFriendSystem.java b/runescape-api/src/main/java/net/runelite/rs/api/RSFriendSystem.java index 017971b308..ce0977f4a8 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSFriendSystem.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSFriendSystem.java @@ -13,4 +13,10 @@ public interface RSFriendSystem extends FriendManager @Import("isFriended") boolean isFriended(RSUsername var1, boolean var2); + + @Import("addFriend") + void addFriend(String username); + + @Import("removeFriend") + void removeFriend(String username); }