From d97148346d4d53448b5c1fc21bbe6e09fa1d4090 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 16 May 2021 15:19:49 -0400 Subject: [PATCH] party: only send location update when the location changes --- .../runelite/client/plugins/party/PartyPlugin.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java index 5aca5fdcbf..90e5df9591 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/party/PartyPlugin.java @@ -153,6 +153,7 @@ public class PartyPlugin extends Plugin private int lastHp, lastPray; private String lastCharacterName = ""; + private WorldPoint lastLocation; private boolean sendAlert; @Override @@ -204,6 +205,7 @@ public class PartyPlugin extends Plugin wsClient.unregisterMessage(LocationUpdate.class); wsClient.unregisterMessage(CharacterNameUpdate.class); sendAlert = false; + lastLocation = null; } @Provides @@ -348,7 +350,15 @@ public class PartyPlugin extends Plugin return; } - final LocationUpdate locationUpdate = new LocationUpdate(client.getLocalPlayer().getWorldLocation()); + WorldPoint location = client.getLocalPlayer().getWorldLocation(); + if (location.equals(lastLocation)) + { + return; + } + + lastLocation = location; + + final LocationUpdate locationUpdate = new LocationUpdate(location); locationUpdate.setMemberId(localMember.getMemberId()); wsClient.send(locationUpdate); } @@ -463,6 +473,7 @@ public class PartyPlugin extends Plugin public void onUserSync(final UserSync event) { checkStateChanged(true); + lastLocation = null; } private void checkStateChanged(boolean forceSend)