ground items: use item layer changed event

This commit is contained in:
Adam
2018-03-30 18:28:48 -04:00
parent 819c7c6ec7
commit 8385ef174b
2 changed files with 17 additions and 3 deletions

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2017, Aria <aria@ar1as.space> * Copyright (c) 2017, Aria <aria@ar1as.space>
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -95,6 +96,8 @@ public class GroundItemsOverlay extends Overlay
return null; return null;
} }
plugin.checkItems();
graphics.setFont(FontManager.getRunescapeSmallFont()); graphics.setFont(FontManager.getRunescapeSmallFont());
offsetMap.clear(); offsetMap.clear();
final LocalPoint localLocation = player.getLocalLocation(); final LocalPoint localLocation = player.getLocalLocation();

View File

@@ -1,5 +1,6 @@
/* /*
* Copyright (c) 2017, Aria <aria@ar1as.space> * Copyright (c) 2017, Aria <aria@ar1as.space>
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@@ -66,7 +67,7 @@ import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.FocusChanged; import net.runelite.api.events.FocusChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.ItemLayerChanged;
import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.MenuEntryAdded;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
@@ -104,6 +105,7 @@ public class GroundItemsPlugin extends Plugin
private List<String> hiddenItemList = new ArrayList<>(); private List<String> hiddenItemList = new ArrayList<>();
private List<String> highlightedItemsList = new ArrayList<>(); private List<String> highlightedItemsList = new ArrayList<>();
private boolean dirty;
@Inject @Inject
private GroundItemInputListener inputListener; private GroundItemInputListener inputListener;
@@ -199,15 +201,22 @@ public class GroundItemsPlugin extends Plugin
} }
@Subscribe @Subscribe
public void onGameTick(final GameTick event) public void onItemLayerChanged(ItemLayerChanged event)
{
dirty = true;
}
void checkItems()
{ {
final Player player = client.getLocalPlayer(); final Player player = client.getLocalPlayer();
if (player == null || client.getViewportWidget() == null) if (!dirty || player == null || client.getViewportWidget() == null)
{ {
return; return;
} }
dirty = false;
final Region region = client.getRegion(); final Region region = client.getRegion();
final Tile[][][] tiles = region.getTiles(); final Tile[][][] tiles = region.getTiles();
final int z = client.getPlane(); final int z = client.getPlane();
@@ -330,6 +339,8 @@ public class GroundItemsPlugin extends Plugin
.maximumSize(512L) .maximumSize(512L)
.expireAfterAccess(10, TimeUnit.MINUTES) .expireAfterAccess(10, TimeUnit.MINUTES)
.build(new WildcardMatchLoader(hiddenItemList)); .build(new WildcardMatchLoader(hiddenItemList));
dirty = true;
} }
private ItemPrice getItemPrice(ItemComposition itemComposition) private ItemPrice getItemPrice(ItemComposition itemComposition)