friendslist: update titles using onScriptPostFired rather than onGameTick

This commit is contained in:
melkypie
2020-03-15 18:45:20 +02:00
committed by Adam
parent a8d9d524ca
commit 902078cb62

View File

@@ -30,8 +30,9 @@ import net.runelite.api.Client;
import net.runelite.api.Friend; import net.runelite.api.Friend;
import net.runelite.api.Ignore; import net.runelite.api.Ignore;
import net.runelite.api.NameableContainer; import net.runelite.api.NameableContainer;
import net.runelite.api.ScriptID;
import net.runelite.api.VarPlayer; import net.runelite.api.VarPlayer;
import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptPostFired;
import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo; import net.runelite.api.widgets.WidgetInfo;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;
@@ -62,43 +63,49 @@ public class FriendListPlugin extends Plugin
} }
@Subscribe @Subscribe
public void onGameTick(GameTick tick) public void onScriptPostFired(ScriptPostFired event)
{ {
final int world = client.getWorld(); if (event.getScriptId() == ScriptID.FRIENDS_UPDATE)
final boolean isMember = client.getVar(VarPlayer.MEMBERSHIP_DAYS) > 0;
final NameableContainer<Friend> friendContainer = client.getFriendContainer();
final int friendCount = friendContainer.getCount();
if (friendCount >= 0)
{ {
final int limit = isMember ? MAX_FRIENDS_P2P : MAX_FRIENDS_F2P; final int world = client.getWorld();
final boolean isMember = client.getVar(VarPlayer.MEMBERSHIP_DAYS) > 0;
final NameableContainer<Friend> friendContainer = client.getFriendContainer();
final int friendCount = friendContainer.getCount();
if (friendCount >= 0)
{
final int limit = isMember ? MAX_FRIENDS_P2P : MAX_FRIENDS_F2P;
final String title = "Friends - W" + final String title = "Friends - W" +
world + world +
" (" + " (" +
friendCount + friendCount +
"/" + "/" +
limit + limit +
")"; ")";
setFriendsListTitle(title); setFriendsListTitle(title);
}
} }
else if (event.getScriptId() == ScriptID.IGNORE_UPDATE)
final NameableContainer<Ignore> ignoreContainer = client.getIgnoreContainer();
final int ignoreCount = ignoreContainer.getCount();
if (ignoreCount >= 0)
{ {
final int limit = isMember ? MAX_IGNORES_P2P : MAX_IGNORES_F2P; final int world = client.getWorld();
final boolean isMember = client.getVar(VarPlayer.MEMBERSHIP_DAYS) > 0;
final NameableContainer<Ignore> ignoreContainer = client.getIgnoreContainer();
final int ignoreCount = ignoreContainer.getCount();
if (ignoreCount >= 0)
{
final int limit = isMember ? MAX_IGNORES_P2P : MAX_IGNORES_F2P;
final String title = "Ignores - W" + final String title = "Ignores - W" +
world + world +
" (" + " (" +
ignoreCount + ignoreCount +
"/" + "/" +
limit + limit +
")"; ")";
setIgnoreListTitle(title); setIgnoreListTitle(title);
}
} }
} }