client: change item layer item uages to TileItem

This commit is contained in:
Adam
2019-07-23 10:59:14 -04:00
parent 2ffe3affbc
commit 29533cd6c7
10 changed files with 47 additions and 64 deletions

View File

@@ -38,7 +38,7 @@ import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.AnimationID; import net.runelite.api.AnimationID;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Item; import net.runelite.api.TileItem;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.NpcID; import net.runelite.api.NpcID;
@@ -156,7 +156,7 @@ public class LootManager
@Subscribe @Subscribe
public void onItemSpawned(ItemSpawned itemSpawned) public void onItemSpawned(ItemSpawned itemSpawned)
{ {
final Item item = itemSpawned.getItem(); final TileItem item = itemSpawned.getItem();
final Tile tile = itemSpawned.getTile(); final Tile tile = itemSpawned.getTile();
final LocalPoint location = tile.getLocalLocation(); final LocalPoint location = tile.getLocalLocation();
final int packed = location.getSceneX() << 8 | location.getSceneY(); final int packed = location.getSceneX() << 8 | location.getSceneY();
@@ -167,7 +167,7 @@ public class LootManager
@Subscribe @Subscribe
public void onItemDespawned(ItemDespawned itemDespawned) public void onItemDespawned(ItemDespawned itemDespawned)
{ {
final Item item = itemDespawned.getItem(); final TileItem item = itemDespawned.getItem();
final LocalPoint location = itemDespawned.getTile().getLocalLocation(); final LocalPoint location = itemDespawned.getTile().getLocalLocation();
log.debug("Item despawn {} ({}) location {},{}", item.getId(), item.getQuantity(), location); log.debug("Item despawn {} ({}) location {},{}", item.getId(), item.getQuantity(), location);
} }
@@ -175,7 +175,7 @@ public class LootManager
@Subscribe @Subscribe
public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged) public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged)
{ {
final Item item = itemQuantityChanged.getItem(); final TileItem item = itemQuantityChanged.getItem();
final Tile tile = itemQuantityChanged.getTile(); final Tile tile = itemQuantityChanged.getTile();
final LocalPoint location = tile.getLocalLocation(); final LocalPoint location = tile.getLocalLocation();
final int packed = location.getSceneX() << 8 | location.getSceneY(); final int packed = location.getSceneX() << 8 | location.getSceneY();

View File

@@ -34,13 +34,13 @@ import javax.inject.Inject;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Item;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET; import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import static net.runelite.api.Skill.AGILITY; import static net.runelite.api.Skill.AGILITY;
import net.runelite.api.Tile; import net.runelite.api.Tile;
import net.runelite.api.TileItem;
import net.runelite.api.TileObject; import net.runelite.api.TileObject;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.BoostedLevelChanged; import net.runelite.api.events.BoostedLevelChanged;
@@ -235,7 +235,7 @@ public class AgilityPlugin extends Plugin
return; return;
} }
final Item item = itemSpawned.getItem(); final TileItem item = itemSpawned.getItem();
final Tile tile = itemSpawned.getTile(); final Tile tile = itemSpawned.getTile();
if (item.getId() == ItemID.MARK_OF_GRACE) if (item.getId() == ItemID.MARK_OF_GRACE)

View File

@@ -43,8 +43,8 @@ import net.runelite.api.Constants;
import net.runelite.api.DecorativeObject; import net.runelite.api.DecorativeObject;
import net.runelite.api.GameObject; import net.runelite.api.GameObject;
import net.runelite.api.GraphicsObject; import net.runelite.api.GraphicsObject;
import net.runelite.api.TileItem;
import net.runelite.api.GroundObject; import net.runelite.api.GroundObject;
import net.runelite.api.Item;
import net.runelite.api.ItemLayer; import net.runelite.api.ItemLayer;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.NPCComposition; import net.runelite.api.NPCComposition;
@@ -272,9 +272,9 @@ class DevToolsOverlay extends Overlay
if (player.getLocalLocation().distanceTo(itemLayer.getLocalLocation()) <= MAX_DISTANCE) if (player.getLocalLocation().distanceTo(itemLayer.getLocalLocation()) <= MAX_DISTANCE)
{ {
Node current = itemLayer.getBottom(); Node current = itemLayer.getBottom();
while (current instanceof Item) while (current instanceof TileItem)
{ {
Item item = (Item) current; TileItem item = (TileItem) current;
OverlayUtil.renderTileOverlay(graphics, itemLayer, "ID: " + item.getId() + " Qty:" + item.getQuantity(), RED); OverlayUtil.renderTileOverlay(graphics, itemLayer, "ID: " + item.getId() + " Qty:" + item.getQuantity(), RED);
current = current.getNext(); current = current.getNext();
} }

View File

@@ -48,7 +48,6 @@ import lombok.Setter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Constants; import net.runelite.api.Constants;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition; import net.runelite.api.ItemComposition;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import net.runelite.api.ItemLayer; import net.runelite.api.ItemLayer;
@@ -58,6 +57,7 @@ import net.runelite.api.Node;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Scene; import net.runelite.api.Scene;
import net.runelite.api.Tile; import net.runelite.api.Tile;
import net.runelite.api.TileItem;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ClientTick; import net.runelite.api.events.ClientTick;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
@@ -216,7 +216,7 @@ public class GroundItemsPlugin extends Plugin
@Subscribe @Subscribe
public void onItemSpawned(ItemSpawned itemSpawned) public void onItemSpawned(ItemSpawned itemSpawned)
{ {
Item item = itemSpawned.getItem(); TileItem item = itemSpawned.getItem();
Tile tile = itemSpawned.getTile(); Tile tile = itemSpawned.getTile();
GroundItem groundItem = buildGroundItem(tile, item); GroundItem groundItem = buildGroundItem(tile, item);
@@ -242,7 +242,7 @@ public class GroundItemsPlugin extends Plugin
@Subscribe @Subscribe
public void onItemDespawned(ItemDespawned itemDespawned) public void onItemDespawned(ItemDespawned itemDespawned)
{ {
Item item = itemDespawned.getItem(); TileItem item = itemDespawned.getItem();
Tile tile = itemDespawned.getTile(); Tile tile = itemDespawned.getTile();
GroundItem.GroundItemKey groundItemKey = new GroundItem.GroundItemKey(item.getId(), tile.getWorldLocation()); GroundItem.GroundItemKey groundItemKey = new GroundItem.GroundItemKey(item.getId(), tile.getWorldLocation());
@@ -265,7 +265,7 @@ public class GroundItemsPlugin extends Plugin
@Subscribe @Subscribe
public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged) public void onItemQuantityChanged(ItemQuantityChanged itemQuantityChanged)
{ {
Item item = itemQuantityChanged.getItem(); TileItem item = itemQuantityChanged.getItem();
Tile tile = itemQuantityChanged.getTile(); Tile tile = itemQuantityChanged.getTile();
int oldQuantity = itemQuantityChanged.getOldQuantity(); int oldQuantity = itemQuantityChanged.getOldQuantity();
int newQuantity = itemQuantityChanged.getNewQuantity(); int newQuantity = itemQuantityChanged.getNewQuantity();
@@ -365,7 +365,7 @@ public class GroundItemsPlugin extends Plugin
} }
} }
private GroundItem buildGroundItem(final Tile tile, final Item item) private GroundItem buildGroundItem(final Tile tile, final TileItem item)
{ {
// Collect the data for the item // Collect the data for the item
final int itemId = item.getId(); final int itemId = item.getId();
@@ -473,9 +473,9 @@ public class GroundItemsPlugin extends Plugin
int quantity = 1; int quantity = 1;
Node current = itemLayer.getBottom(); Node current = itemLayer.getBottom();
while (current instanceof Item) while (current instanceof TileItem)
{ {
Item item = (Item) current; TileItem item = (TileItem) current;
if (item.getId() == itemId) if (item.getId() == itemId)
{ {
quantity = item.getQuantity(); quantity = item.getQuantity();

View File

@@ -30,10 +30,10 @@ import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.Item;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.Tile; import net.runelite.api.Tile;
import net.runelite.api.TileItem;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
@@ -106,7 +106,7 @@ public class EnchantmentRoom extends MTARoom
@Subscribe @Subscribe
public void onItemSpawned(ItemSpawned itemSpawned) public void onItemSpawned(ItemSpawned itemSpawned)
{ {
final Item item = itemSpawned.getItem(); final TileItem item = itemSpawned.getItem();
final Tile tile = itemSpawned.getTile(); final Tile tile = itemSpawned.getTile();
if (item.getId() == ItemID.DRAGONSTONE_6903) if (item.getId() == ItemID.DRAGONSTONE_6903)
@@ -120,7 +120,7 @@ public class EnchantmentRoom extends MTARoom
@Subscribe @Subscribe
public void onItemDespawned(ItemDespawned itemDespawned) public void onItemDespawned(ItemDespawned itemDespawned)
{ {
final Item item = itemDespawned.getItem(); final TileItem item = itemDespawned.getItem();
final Tile tile = itemDespawned.getTile(); final Tile tile = itemDespawned.getTile();
if (item.getId() == ItemID.DRAGONSTONE_6903) if (item.getId() == ItemID.DRAGONSTONE_6903)

View File

@@ -33,8 +33,8 @@ import javax.inject.Singleton;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Constants; import net.runelite.api.Constants;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.TileItem;
import net.runelite.api.InventoryID; import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.Node; import net.runelite.api.Node;
@@ -180,9 +180,9 @@ public class GameEventManager
{ {
Node current = itemLayer.getBottom(); Node current = itemLayer.getBottom();
while (current instanceof Item) while (current instanceof TileItem)
{ {
final Item item = (Item) current; final TileItem item = (TileItem) current;
current = current.getNext(); current = current.getNext();

View File

@@ -67,17 +67,9 @@ public class ContainerCalculationTest
@Test @Test
public void testCalculate() public void testCalculate()
{ {
Item coins = mock(Item.class); Item coins = new Item(ItemID.COINS_995, Integer.MAX_VALUE);
when(coins.getId())
.thenReturn(ItemID.COINS_995);
when(coins.getQuantity())
.thenReturn(Integer.MAX_VALUE);
Item whip = mock(Item.class); Item whip = new Item(ItemID.ABYSSAL_WHIP, 1_000_000_000);
when(whip.getId())
.thenReturn(ItemID.ABYSSAL_WHIP);
when(whip.getQuantity())
.thenReturn(1_000_000_000);
Item[] items = ImmutableList.of( Item[] items = ImmutableList.of(
coins, coins,

View File

@@ -136,8 +136,7 @@ public class ItemChargePluginTest
when(client.getItemContainer(eq(InventoryID.EQUIPMENT))).thenReturn(equipmentItemContainer); when(client.getItemContainer(eq(InventoryID.EQUIPMENT))).thenReturn(equipmentItemContainer);
Item[] items = new Item[EquipmentInventorySlot.RING.getSlotIdx() + 1]; Item[] items = new Item[EquipmentInventorySlot.RING.getSlotIdx() + 1];
when(equipmentItemContainer.getItems()).thenReturn(items); when(equipmentItemContainer.getItems()).thenReturn(items);
Item ring = mock(Item.class); Item ring = new Item(ItemID.RING_OF_FORGING, 1);
when(ring.getId()).thenReturn(ItemID.RING_OF_FORGING);
items[EquipmentInventorySlot.RING.getSlotIdx()] = ring; items[EquipmentInventorySlot.RING.getSlotIdx()] = ring;
// Run message // Run message
chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", USED_RING_OF_FORGING, "", 0); chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", USED_RING_OF_FORGING, "", 0);

View File

@@ -100,18 +100,13 @@ public class ItemsKeptOnDeathPluginTest
when(itemManager.canonicalize(id)).thenReturn(id); when(itemManager.canonicalize(id)).thenReturn(id);
when(itemManager.getItemPrice(id, true)).thenReturn(price); when(itemManager.getItemPrice(id, true)).thenReturn(price);
return mockItem(id, qty); return item(id, qty);
} }
// Creates a mocked item // Creates a new item
private Item mockItem(final int id, final int qty) private static Item item(final int id, final int qty)
{ {
Item item = mock(Item.class); return new Item(id, qty);
when(item.getId()).thenReturn(id);
when(item.getQuantity()).thenReturn(qty);
return item;
} }
@Test @Test

View File

@@ -111,12 +111,12 @@ public class MotherlodePluginTest
// Create before inventory // Create before inventory
ItemContainer inventory = mock(ItemContainer.class); ItemContainer inventory = mock(ItemContainer.class);
Item[] items = new Item[]{ Item[] items = new Item[]{
mockItem(ItemID.RUNITE_ORE, 1), item(ItemID.RUNITE_ORE, 1),
mockItem(ItemID.GOLDEN_NUGGET, 4), item(ItemID.GOLDEN_NUGGET, 4),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
}; };
when(inventory.getItems()) when(inventory.getItems())
@@ -130,16 +130,16 @@ public class MotherlodePluginTest
inventory = mock(ItemContainer.class); inventory = mock(ItemContainer.class);
// +1 rune, +4 nugget, +2 coal, +1 addy // +1 rune, +4 nugget, +2 coal, +1 addy
items = new Item[]{ items = new Item[]{
mockItem(ItemID.RUNITE_ORE, 1), item(ItemID.RUNITE_ORE, 1),
mockItem(ItemID.RUNITE_ORE, 1), item(ItemID.RUNITE_ORE, 1),
mockItem(ItemID.GOLDEN_NUGGET, 8), item(ItemID.GOLDEN_NUGGET, 8),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.COAL, 1), item(ItemID.COAL, 1),
mockItem(ItemID.ADAMANTITE_ORE, 1), item(ItemID.ADAMANTITE_ORE, 1),
}; };
when(inventory.getItems()) when(inventory.getItems())
@@ -156,11 +156,8 @@ public class MotherlodePluginTest
verifyNoMoreInteractions(motherlodeSession); verifyNoMoreInteractions(motherlodeSession);
} }
private static Item mockItem(int itemId, int quantity) private static Item item(int itemId, int quantity)
{ {
Item item = mock(Item.class); return new Item(itemId, quantity);
when(item.getId()).thenReturn(itemId);
when(item.getQuantity()).thenReturn(quantity);
return item;
} }
} }