Invalidate item manager cache on hopping and login
Invalidate item manager composition cache when person is hopping or goes to login screen to prevent issues with changing from p2p to f2p worlds. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -43,6 +43,7 @@ import net.runelite.client.account.SessionManager;
|
||||
import net.runelite.client.chat.ChatMessageManager;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.discord.DiscordService;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.menus.MenuManager;
|
||||
import net.runelite.client.plugins.PluginManager;
|
||||
import net.runelite.client.ui.ClientUI;
|
||||
@@ -97,6 +98,9 @@ public class RuneLite
|
||||
@Inject
|
||||
private TitleToolbar titleToolbar;
|
||||
|
||||
@Inject
|
||||
private ItemManager itemManager;
|
||||
|
||||
Client client;
|
||||
|
||||
public static void main(String[] args) throws Exception
|
||||
@@ -156,6 +160,7 @@ public class RuneLite
|
||||
eventBus.register(menuManager);
|
||||
eventBus.register(chatMessageManager);
|
||||
eventBus.register(pluginManager);
|
||||
eventBus.register(itemManager);
|
||||
|
||||
// Load user configuration
|
||||
configManager.load();
|
||||
|
||||
@@ -27,6 +27,7 @@ package net.runelite.client.game;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
@@ -43,8 +44,10 @@ import lombok.Value;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.api.Client;
|
||||
import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.ItemComposition;
|
||||
import net.runelite.api.SpritePixels;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.http.api.item.ItemClient;
|
||||
import net.runelite.http.api.item.ItemPrice;
|
||||
import net.runelite.http.api.item.SearchResult;
|
||||
@@ -128,6 +131,15 @@ public class ItemManager
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameStateChanged(final GameStateChanged event)
|
||||
{
|
||||
if (event.getGameState() == GameState.HOPPING || event.getGameState() == GameState.LOGIN_SCREEN)
|
||||
{
|
||||
itemCompositions.invalidateAll();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Look up an item's price asynchronously.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user