runelite-client: make item image cache non static
This commit is contained in:
@@ -27,12 +27,10 @@ package net.runelite.client.game;
|
||||
import com.google.common.cache.CacheBuilder;
|
||||
import com.google.common.cache.CacheLoader;
|
||||
import com.google.common.cache.LoadingCache;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.util.concurrent.ExecutionException;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.SpritePixels;
|
||||
import net.runelite.client.RuneLite;
|
||||
@@ -54,8 +52,7 @@ public class ItemManager
|
||||
|
||||
private final ItemClient itemClient = new ItemClient();
|
||||
private final LoadingCache<Integer, ItemPrice> itemPrices;
|
||||
|
||||
private static LoadingCache<Integer, BufferedImage> itemImages;
|
||||
private final LoadingCache<Integer, BufferedImage> itemImages;
|
||||
|
||||
public ItemManager(RuneLite runelite)
|
||||
{
|
||||
@@ -168,7 +165,7 @@ public class ItemManager
|
||||
* @param itemId
|
||||
* @return
|
||||
*/
|
||||
public static BufferedImage getImage(int itemId)
|
||||
public BufferedImage getImage(int itemId)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
||||
@@ -36,7 +36,6 @@ import net.runelite.api.GameState;
|
||||
import net.runelite.api.NPC;
|
||||
import net.runelite.api.queries.NPCQuery;
|
||||
import net.runelite.client.RuneLite;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
@@ -100,7 +99,7 @@ class FishingSpotOverlay extends Overlay
|
||||
|
||||
private BufferedImage getFishImage(FishingSpot spot)
|
||||
{
|
||||
BufferedImage fishImage = ItemManager.getImage(spot.getFishSpriteId());
|
||||
BufferedImage fishImage = runelite.getItemManager().getImage(spot.getFishSpriteId());
|
||||
return fishImage;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,7 +41,6 @@ import net.runelite.client.RuneLite;
|
||||
import net.runelite.client.events.ChatMessage;
|
||||
import net.runelite.client.events.ExperienceChanged;
|
||||
import net.runelite.client.events.GameStateChanged;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.task.Schedule;
|
||||
@@ -69,10 +68,11 @@ public class Slayer extends Plugin
|
||||
//Reward UI
|
||||
private static final Pattern REWARD_POINTS = Pattern.compile("Reward points: (\\d*)");
|
||||
|
||||
private final RuneLite runelite = RuneLite.getRunelite();
|
||||
private final Client client = RuneLite.getClient();
|
||||
private final InfoBoxManager infoBoxManager = RuneLite.getRunelite().getInfoBoxManager();
|
||||
private final SlayerConfig config = RuneLite.getRunelite().getConfigManager().getConfig(SlayerConfig.class);
|
||||
private final SlayerOverlay overlay = new SlayerOverlay(this);
|
||||
private final Client client = RuneLite.getClient();
|
||||
|
||||
private String taskName;
|
||||
private int amount;
|
||||
@@ -268,11 +268,17 @@ public class Slayer extends Plugin
|
||||
}
|
||||
|
||||
Task task = Task.getTask(taskName);
|
||||
int itemSpriteId = ItemID.ENCHANTED_GEM;
|
||||
if (task == null)
|
||||
{
|
||||
logger.warn("No slayer task for {} in the Task database", taskName);
|
||||
}
|
||||
BufferedImage taskImg = task != null ? task.getImage() : ItemManager.getImage(ItemID.ENCHANTED_GEM);
|
||||
else
|
||||
{
|
||||
itemSpriteId = task.getItemSpriteId();
|
||||
}
|
||||
|
||||
BufferedImage taskImg = runelite.getItemManager().getImage(itemSpriteId);
|
||||
counter = new TaskCounter(taskImg, amount);
|
||||
counter.setTooltip(capsString(taskName));
|
||||
|
||||
|
||||
@@ -138,7 +138,6 @@ enum Task
|
||||
private static final Map<String, Task> tasks = new HashMap<>();
|
||||
|
||||
private final String name;
|
||||
|
||||
private final int itemSpriteId;
|
||||
|
||||
static
|
||||
@@ -165,12 +164,8 @@ enum Task
|
||||
return this.name;
|
||||
}
|
||||
|
||||
public BufferedImage getImage()
|
||||
public int getItemSpriteId()
|
||||
{
|
||||
if (itemSpriteId == -1)
|
||||
{
|
||||
return ItemManager.getImage(ItemID.ENCHANTED_GEM);
|
||||
}
|
||||
return ItemManager.getImage(itemSpriteId);
|
||||
return itemSpriteId;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user