From e98c3da758831e490028e12988bc7cf4a91e074f Mon Sep 17 00:00:00 2001 From: Max Weber Date: Fri, 1 Oct 2021 05:23:10 -0600 Subject: [PATCH] rl-client: use vanilla ItemComposition cache --- .../net/runelite/client/game/ItemManager.java | 49 +------------------ .../MenuEntrySwapperPlugin.java | 1 - 2 files changed, 2 insertions(+), 48 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index fd1bb4e268..edb1659b89 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -52,12 +52,8 @@ import net.runelite.api.GameState; import net.runelite.api.ItemComposition; import static net.runelite.api.ItemID.*; import net.runelite.api.SpritePixels; -import net.runelite.api.events.GameStateChanged; -import net.runelite.api.events.PostItemComposition; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.RuneLiteConfig; -import net.runelite.client.eventbus.EventBus; -import net.runelite.client.eventbus.Subscribe; import net.runelite.client.util.AsyncBufferedImage; import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemPrice; @@ -92,7 +88,6 @@ public class ItemManager private Map itemPrices = Collections.emptyMap(); private Map itemStats = Collections.emptyMap(); private final LoadingCache itemImages; - private final LoadingCache itemCompositions; private final LoadingCache itemOutlines; // Worn items with weight reducing property have a different worn and inventory ItemID @@ -172,7 +167,7 @@ public class ItemManager @Inject public ItemManager(Client client, ScheduledExecutorService scheduledExecutorService, ClientThread clientThread, - OkHttpClient okHttpClient, EventBus eventBus, RuneLiteConfig runeLiteConfig) + OkHttpClient okHttpClient, RuneLiteConfig runeLiteConfig) { this.client = client; this.clientThread = clientThread; @@ -194,18 +189,6 @@ public class ItemManager } }); - itemCompositions = CacheBuilder.newBuilder() - .maximumSize(1024L) - .expireAfterAccess(1, TimeUnit.HOURS) - .build(new CacheLoader() - { - @Override - public ItemComposition load(Integer key) throws Exception - { - return client.getItemDefinition(key); - } - }); - itemOutlines = CacheBuilder.newBuilder() .maximumSize(128L) .expireAfterAccess(1, TimeUnit.HOURS) @@ -217,8 +200,6 @@ public class ItemManager return loadItemOutline(key.itemId, key.itemQuantity, key.outlineColor); } }); - - eventBus.register(this); } private void loadPrices() @@ -262,31 +243,6 @@ public class ItemManager } } - - @Subscribe - public void onGameStateChanged(final GameStateChanged event) - { - if (event.getGameState() == GameState.HOPPING || event.getGameState() == GameState.LOGIN_SCREEN) - { - itemCompositions.invalidateAll(); - } - } - - @Subscribe - public void onPostItemComposition(PostItemComposition event) - { - itemCompositions.put(event.getItemComposition().getId(), event.getItemComposition()); - } - - /** - * Invalidates internal item manager item composition cache (but not client item composition cache) - * @see Client#getItemCompositionCache() - */ - public void invalidateItemCompositionCache() - { - itemCompositions.invalidateAll(); - } - /** * Look up an item's price * @@ -396,8 +352,7 @@ public class ItemManager @Nonnull public ItemComposition getItemComposition(int itemId) { - assert client.isClientThread() : "getItemComposition must be called on client thread"; - return itemCompositions.getUnchecked(itemId); + return client.getItemDefinition(itemId); } /** diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index 46d64e8785..5ee4e49684 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -458,7 +458,6 @@ public class MenuEntrySwapperPlugin extends Plugin private void resetItemCompositionCache() { - itemManager.invalidateItemCompositionCache(); client.getItemCompositionCache().reset(); }