From 6f0a2c9069d189dd1a10bce2576683cac18ae2b5 Mon Sep 17 00:00:00 2001 From: Adam Date: Tue, 21 Apr 2020 17:47:33 -0400 Subject: [PATCH] client: update itemcontainer api usage Use new api methods if appropriate --- .../BlastFurnaceClickBoxOverlay.java | 13 +-------- .../plugins/cluescrolls/ClueScrollPlugin.java | 9 +++--- .../clues/ThreeStepCrypticClue.java | 25 ++++++----------- .../customcursor/CustomCursorPlugin.java | 9 ++---- .../client/plugins/fishing/FishingPlugin.java | 4 --- .../plugins/itemcharges/ItemChargePlugin.java | 4 +-- .../plugins/itemprices/ItemPricesOverlay.java | 5 ++-- .../plugins/itemstats/ItemStatOverlay.java | 10 ++----- .../plugins/itemstats/ItemStatPlugin.java | 13 ++------- .../itemstats/potions/PrayerPotion.java | 28 ++++++++++--------- .../itemstats/special/CastleWarsBandage.java | 6 ++-- .../plugins/roguesden/RoguesDenPlugin.java | 16 +++-------- .../plugins/runecraft/RunecraftPlugin.java | 18 ++++++++++-- .../plugins/runenergy/RunEnergyPlugin.java | 5 ---- .../specialcounter/SpecialCounterPlugin.java | 8 ++---- .../client/plugins/timers/TimersPlugin.java | 10 +------ .../itemcharges/ItemChargePluginTest.java | 7 +---- .../itemstats/ItemStatOverlayTest.java | 2 -- .../SpecialCounterPluginTest.java | 4 +-- 19 files changed, 66 insertions(+), 130 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceClickBoxOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceClickBoxOverlay.java index ea09b36e63..43fc8b2c69 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceClickBoxOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BlastFurnaceClickBoxOverlay.java @@ -30,10 +30,8 @@ import java.awt.Graphics2D; import java.awt.Shape; import javax.inject.Inject; import net.runelite.api.Client; -import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.GameObject; import net.runelite.api.InventoryID; -import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.Point; @@ -89,16 +87,7 @@ class BlastFurnaceClickBoxOverlay extends Overlay return false; } - Item[] items = equipmentContainer.getItems(); - int idx = EquipmentInventorySlot.GLOVES.getSlotIdx(); - - if (items == null || idx >= items.length) - { - return false; - } - - Item glove = items[idx]; - return glove != null && glove.getId() == ItemID.ICE_GLOVES; + return equipmentContainer.contains(ItemID.ICE_GLOVES); } private void renderObject(GameObject object, Graphics2D graphics, Color color) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java index 6087d683ee..1cca0adfb3 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java @@ -36,12 +36,10 @@ import java.awt.Rectangle; import java.awt.geom.Area; import java.awt.image.BufferedImage; import java.util.ArrayList; -import java.util.Arrays; import java.util.HashSet; import java.util.List; import java.util.Objects; import java.util.Set; -import java.util.stream.Stream; import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.inject.Inject; @@ -56,6 +54,7 @@ import net.runelite.api.GameState; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemComposition; +import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.MenuAction; import net.runelite.api.NPC; @@ -321,10 +320,10 @@ public class ClueScrollPlugin extends Plugin // Check if item was removed from inventory if (clue != null && clueItemId != null) { - final Stream items = Arrays.stream(event.getItemContainer().getItems()); + ItemContainer itemContainer = event.getItemContainer(); // Check if clue was removed from inventory - if (items.noneMatch(item -> itemManager.getItemComposition(item.getId()).getId() == clueItemId)) + if (!itemContainer.contains(clueItemId)) { resetClue(true); } @@ -333,7 +332,7 @@ public class ClueScrollPlugin extends Plugin // if three step clue check for clue scroll pieces if (clue instanceof ThreeStepCrypticClue) { - if (((ThreeStepCrypticClue) clue).update(client, event, itemManager)) + if (((ThreeStepCrypticClue) clue).update(event.getContainerId(), event.getItemContainer())) { worldMapPointsSet = false; npcsToMark.clear(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ThreeStepCrypticClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ThreeStepCrypticClue.java index 995c6b90e0..52c78d94c8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ThreeStepCrypticClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ThreeStepCrypticClue.java @@ -28,21 +28,16 @@ import java.awt.Dimension; import java.awt.Graphics2D; import java.util.AbstractMap; import java.util.ArrayList; -import java.util.Arrays; import java.util.List; import java.util.Map; -import java.util.stream.Stream; import lombok.Getter; import lombok.RequiredArgsConstructor; -import net.runelite.api.Client; import net.runelite.api.InventoryID; -import net.runelite.api.Item; +import net.runelite.api.ItemContainer; import static net.runelite.api.ItemID.TORN_CLUE_SCROLL_PART_1; import static net.runelite.api.ItemID.TORN_CLUE_SCROLL_PART_2; import static net.runelite.api.ItemID.TORN_CLUE_SCROLL_PART_3; import net.runelite.api.coords.WorldPoint; -import net.runelite.api.events.ItemContainerChanged; -import net.runelite.client.game.ItemManager; import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_CONTENT_COLOR; import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin; import net.runelite.client.ui.overlay.components.LineComponent; @@ -122,26 +117,22 @@ public class ThreeStepCrypticClue extends ClueScroll implements TextClueScroll, } } - public boolean update(Client client, final ItemContainerChanged event, ItemManager itemManager) + public boolean update(int containerId, final ItemContainer itemContainer) { - if (event.getItemContainer() == client.getItemContainer(InventoryID.INVENTORY)) + if (containerId == InventoryID.INVENTORY.getId()) { - boolean success = false; - success |= checkForPart(event, itemManager, TORN_CLUE_SCROLL_PART_1, 0); - success |= checkForPart(event, itemManager, TORN_CLUE_SCROLL_PART_2, 1); - success |= checkForPart(event, itemManager, TORN_CLUE_SCROLL_PART_3, 2); - return success; + return checkForPart(itemContainer, TORN_CLUE_SCROLL_PART_1, 0) || + checkForPart(itemContainer, TORN_CLUE_SCROLL_PART_2, 1) || + checkForPart(itemContainer, TORN_CLUE_SCROLL_PART_3, 2); } return false; } - private boolean checkForPart(final ItemContainerChanged event, ItemManager itemManager, int clueScrollPart, int index) + private boolean checkForPart(final ItemContainer itemContainer, int clueScrollPart, int index) { - final Stream items = Arrays.stream(event.getItemContainer().getItems()); - // If we have the part then that step is done - if (items.anyMatch(item -> itemManager.getItemComposition(item.getId()).getId() == clueScrollPart)) + if (itemContainer.contains(clueScrollPart)) { final Map.Entry entry = clueSteps.get(index); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java index e1472ca26d..dfe3f23d60 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/customcursor/CustomCursorPlugin.java @@ -31,10 +31,10 @@ import javax.imageio.ImageIO; import javax.inject.Inject; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; +import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; -import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.events.ItemContainerChanged; import net.runelite.client.RuneLite; import net.runelite.client.callback.ClientThread; @@ -147,16 +147,13 @@ public class CustomCursorPlugin extends Plugin return; } - final Item[] items = equipment.getItems(); - final int weaponIdx = EquipmentInventorySlot.WEAPON.getSlotIdx(); - - if (items == null || weaponIdx >= items.length) + Item weapon = equipment.getItem(EquipmentInventorySlot.WEAPON.getSlotIdx()); + if (weapon == null) { clientUI.resetCursor(); return; } - final Item weapon = items[EquipmentInventorySlot.WEAPON.getSlotIdx()]; final BufferedImage image = itemManager.getImage(weapon.getId()); if (weapon.getQuantity() > 0) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java index 91e8242b0a..27a7bd3f32 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/fishing/FishingPlugin.java @@ -251,10 +251,6 @@ public class FishingPlugin extends Plugin for (Item item : itemContainer.getItems()) { - if (item == null) - { - continue; - } switch (item.getId()) { case ItemID.DRAGON_HARPOON: diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java index d99e6fdaa2..b4714f096d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargePlugin.java @@ -320,9 +320,7 @@ public class ItemChargePlugin extends Plugin return; } - Item[] items = equipment.getItems(); - if (EquipmentInventorySlot.RING.getSlotIdx() < items.length - && items[EquipmentInventorySlot.RING.getSlotIdx()].getId() == ItemID.RING_OF_FORGING) + if (equipment.contains(ItemID.RING_OF_FORGING)) { int charges = Ints.constrainToRange(config.ringOfForging() - 1, 0, MAX_RING_OF_FORGING_CHARGES); updateRingOfForgingCharges(charges); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java index e7c4f915c1..a972ae1f6e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java @@ -176,11 +176,10 @@ class ItemPricesOverlay extends Overlay } // Find the item in the container to get stack size - final Item[] items = container.getItems(); final int index = menuEntry.getParam0(); - if (index < items.length) + final Item item = container.getItem(index); + if (item != null) { - final Item item = items[index]; return getItemStackValueText(item); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java index 38b8a11c17..c574c4dbb2 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatOverlay.java @@ -245,16 +245,12 @@ public class ItemStatOverlay extends Overlay ItemContainer c = client.getItemContainer(InventoryID.EQUIPMENT); if (s.isEquipable() && currentEquipment != null && c != null) { - final Item[] items = c.getItems(); final int slot = currentEquipment.getSlot(); - if (slot != -1 && slot < items.length) + final Item item = c.getItem(slot); + if (item != null) { - final Item item = items[slot]; - if (item != null) - { - other = itemManager.getItemStats(item.getId(), false); - } + other = itemManager.getItemStats(item.getId(), false); } if (other == null && slot == EquipmentInventorySlot.WEAPON.getSlotIdx()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java index 2ee90497df..62271135d9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/ItemStatPlugin.java @@ -38,14 +38,12 @@ import net.runelite.api.Client; import net.runelite.api.Constants; import net.runelite.api.FontID; import net.runelite.api.InventoryID; -import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.ScriptID; import net.runelite.api.SpriteID; import net.runelite.api.VarPlayer; import net.runelite.api.Varbits; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.ScriptPostFired; import net.runelite.api.events.VarbitChanged; @@ -57,6 +55,7 @@ import net.runelite.api.widgets.WidgetType; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.game.ItemManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -407,15 +406,7 @@ public class ItemStatPlugin extends Plugin return 0; } - for (final Item item : inventory.getItems()) - { - if (item.getId() == ItemID.COINS_995) - { - return item.getQuantity(); - } - } - - return 0; + return inventory.count(ItemID.COINS_995); } private Widget getInventoryContainer() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/potions/PrayerPotion.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/potions/PrayerPotion.java index 4c0bfff6a1..a0d17db24b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/potions/PrayerPotion.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/potions/PrayerPotion.java @@ -25,6 +25,7 @@ package net.runelite.client.plugins.itemstats.potions; import net.runelite.api.Client; +import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.InventoryID; import net.runelite.api.Item; import net.runelite.api.ItemContainer; @@ -42,8 +43,8 @@ public class PrayerPotion extends StatBoost this.delta = delta; } - private static final int RING_SLOT = 12; - private static final int CAPE_SLOT = 1; + private static final int RING_SLOT = EquipmentInventorySlot.RING.getSlotIdx(); + private static final int CAPE_SLOT = EquipmentInventorySlot.CAPE.getSlotIdx(); @Override public int heals(Client client) @@ -53,18 +54,19 @@ public class PrayerPotion extends StatBoost ItemContainer equipContainer = client.getItemContainer(InventoryID.EQUIPMENT); if (equipContainer != null) { - Item[] equip = equipContainer.getItems(); + Item cape = equipContainer.getItem(CAPE_SLOT); + Item ring = equipContainer.getItem(RING_SLOT); - hasHolyWrench |= equip.length > RING_SLOT && equip[RING_SLOT].getId() == ItemID.RING_OF_THE_GODS_I; - if (equip.length > CAPE_SLOT) + hasHolyWrench = ring != null && ring.getId() == ItemID.RING_OF_THE_GODS_I; + if (cape != null) { - int cape = equip[CAPE_SLOT].getId(); - hasHolyWrench |= cape == ItemID.PRAYER_CAPE; - hasHolyWrench |= cape == ItemID.PRAYER_CAPET; - hasHolyWrench |= cape == ItemID.PRAYER_CAPE_10643; // No idea what this is - hasHolyWrench |= cape == ItemID.MAX_CAPE; - hasHolyWrench |= cape == ItemID.MAX_CAPE_13282; // Or these - hasHolyWrench |= cape == ItemID.MAX_CAPE_13342; + int capeId = cape.getId(); + hasHolyWrench |= capeId == ItemID.PRAYER_CAPE; + hasHolyWrench |= capeId == ItemID.PRAYER_CAPET; + hasHolyWrench |= capeId == ItemID.PRAYER_CAPE_10643; // No idea what this is + hasHolyWrench |= capeId == ItemID.MAX_CAPE; + hasHolyWrench |= capeId == ItemID.MAX_CAPE_13282; // Or these + hasHolyWrench |= capeId == ItemID.MAX_CAPE_13342; } } if (!hasHolyWrench) @@ -75,7 +77,7 @@ public class PrayerPotion extends StatBoost for (Item itemStack : invContainer.getItems()) { int item = itemStack.getId(); - hasHolyWrench |= item == ItemID.HOLY_WRENCH; + hasHolyWrench = item == ItemID.HOLY_WRENCH; hasHolyWrench |= item == ItemID.PRAYER_CAPE; hasHolyWrench |= item == ItemID.PRAYER_CAPET; hasHolyWrench |= item == ItemID.PRAYER_CAPE_10643; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/special/CastleWarsBandage.java b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/special/CastleWarsBandage.java index e66f9ed709..7da51c034a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/special/CastleWarsBandage.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/itemstats/special/CastleWarsBandage.java @@ -73,11 +73,11 @@ public class CastleWarsBandage implements Effect return false; } - final Item[] equipment = equipmentContainer.getItems(); + final Item gloves = equipmentContainer.getItem(EquipmentInventorySlot.GLOVES.getSlotIdx()); - if (equipment.length > EquipmentInventorySlot.GLOVES.getSlotIdx()) + if (gloves != null) { - return BRACELETS.contains(equipment[EquipmentInventorySlot.GLOVES.getSlotIdx()].getId()); + return BRACELETS.contains(gloves.getId()); } return false; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java index 9a3908f7d3..1a1d415d06 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/roguesden/RoguesDenPlugin.java @@ -31,7 +31,7 @@ import lombok.Getter; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InventoryID; -import net.runelite.api.Item; +import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.Tile; import net.runelite.api.TileObject; @@ -91,21 +91,13 @@ public class RoguesDenPlugin extends Plugin @Subscribe public void onItemContainerChanged(ItemContainerChanged event) { - if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)) + if (event.getContainerId() != InventoryID.INVENTORY.getId()) { return; } - for (Item item : event.getItemContainer().getItems()) - { - if (item.getId() == ItemID.MYSTIC_JEWEL) - { - hasGem = true; - return; - } - } - - hasGem = false; + ItemContainer itemContainer = event.getItemContainer(); + hasGem = itemContainer.contains(ItemID.MYSTIC_JEWEL); } @Subscribe diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java index 56fb09a390..64d73b8a18 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runecraft/RunecraftPlugin.java @@ -43,7 +43,6 @@ import net.runelite.api.ItemID; import net.runelite.api.NPC; import net.runelite.api.NpcID; import net.runelite.api.events.ChatMessage; -import net.runelite.client.events.ConfigChanged; import net.runelite.api.events.DecorativeObjectDespawned; import net.runelite.api.events.DecorativeObjectSpawned; import net.runelite.api.events.GameStateChanged; @@ -53,9 +52,22 @@ import net.runelite.api.events.NpcSpawned; import net.runelite.client.Notifier; import net.runelite.client.config.ConfigManager; import net.runelite.client.eventbus.Subscribe; +import net.runelite.client.events.ConfigChanged; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import static net.runelite.client.plugins.runecraft.AbyssRifts.*; +import static net.runelite.client.plugins.runecraft.AbyssRifts.AIR_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.BLOOD_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.BODY_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.CHAOS_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.COSMIC_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.DEATH_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.EARTH_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.FIRE_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.LAW_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.MIND_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.NATURE_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.SOUL_RIFT; +import static net.runelite.client.plugins.runecraft.AbyssRifts.WATER_RIFT; import net.runelite.client.ui.overlay.OverlayManager; @PluginDescriptor( @@ -190,7 +202,7 @@ public class RunecraftPlugin extends Plugin @Subscribe public void onItemContainerChanged(ItemContainerChanged event) { - if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)) + if (event.getContainerId() != InventoryID.INVENTORY.getId()) { return; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runenergy/RunEnergyPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/runenergy/RunEnergyPlugin.java index bf911c2f35..ad7a888b50 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/runenergy/RunEnergyPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/runenergy/RunEnergyPlugin.java @@ -234,11 +234,6 @@ public class RunEnergyPlugin extends Plugin final Item[] items = equipment.getItems(); - if (items == null) - { - return 0; - } - int boost = 0; for (final GracefulEquipmentSlot slot : GracefulEquipmentSlot.values()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java index c33384f7fb..c6862d0745 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/specialcounter/SpecialCounterPlugin.java @@ -280,16 +280,12 @@ public class SpecialCounterPlugin extends Plugin return null; } - Item[] items = equipment.getItems(); - int weaponIdx = EquipmentInventorySlot.WEAPON.getSlotIdx(); - - if (items == null || weaponIdx >= items.length) + Item weapon = equipment.getItem(EquipmentInventorySlot.WEAPON.getSlotIdx()); + if (weapon == null) { return null; } - Item weapon = items[weaponIdx]; - for (SpecialWeapon specialWeapon : SpecialWeapon.values()) { if (specialWeapon.getItemID() == weapon.getId()) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java index fac58b3487..a28a3fac5f 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java @@ -798,16 +798,8 @@ public class TimersPlugin extends Plugin ItemContainer container = itemContainerChanged.getItemContainer(); if (container == client.getItemContainer(InventoryID.EQUIPMENT)) { - Item[] items = container.getItems(); - int weaponIdx = EquipmentInventorySlot.WEAPON.getSlotIdx(); + Item weapon = container.getItem(EquipmentInventorySlot.WEAPON.getSlotIdx()); - if (items == null || weaponIdx >= items.length) - { - removeGameTimer(STAFF_OF_THE_DEAD); - return; - } - - Item weapon = items[weaponIdx]; if (weapon == null) { removeGameTimer(STAFF_OF_THE_DEAD); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java index a769cc3784..c5eea10375 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/itemcharges/ItemChargePluginTest.java @@ -31,9 +31,7 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.util.concurrent.ScheduledExecutorService; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; -import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.InventoryID; -import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.api.ItemID; import net.runelite.api.events.ChatMessage; @@ -134,10 +132,7 @@ public class ItemChargePluginTest // Create equipment inventory with ring of forging ItemContainer equipmentItemContainer = mock(ItemContainer.class); when(client.getItemContainer(eq(InventoryID.EQUIPMENT))).thenReturn(equipmentItemContainer); - Item[] items = new Item[EquipmentInventorySlot.RING.getSlotIdx() + 1]; - when(equipmentItemContainer.getItems()).thenReturn(items); - Item ring = new Item(ItemID.RING_OF_FORGING, 1); - items[EquipmentInventorySlot.RING.getSlotIdx()] = ring; + when(equipmentItemContainer.contains(ItemID.RING_OF_FORGING)).thenReturn(true); // Run message chatMessage = new ChatMessage(null, ChatMessageType.GAMEMESSAGE, "", USED_RING_OF_FORGING, "", 0); itemChargePlugin.onChatMessage(chatMessage); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java index b3826df992..9b96f02643 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/itemstats/ItemStatOverlayTest.java @@ -32,7 +32,6 @@ import java.awt.Color; import net.runelite.api.Client; import net.runelite.api.EquipmentInventorySlot; import net.runelite.api.InventoryID; -import net.runelite.api.Item; import net.runelite.api.ItemContainer; import net.runelite.client.game.ItemManager; import net.runelite.client.util.Text; @@ -129,7 +128,6 @@ public class ItemStatOverlayTest { // Empty equipment (fully unarmed) final ItemContainer equipment = mock(ItemContainer.class); - when(equipment.getItems()).thenReturn(new Item[0]); when(client.getItemContainer(InventoryID.EQUIPMENT)).thenReturn(equipment); String tooltip; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java index c090e7e865..e25f75b6cf 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java @@ -86,9 +86,7 @@ public class SpecialCounterPluginTest // Set up spec weapon ItemContainer equipment = mock(ItemContainer.class); - Item[] items = new Item[EquipmentInventorySlot.WEAPON.getSlotIdx() + 1]; - items[EquipmentInventorySlot.WEAPON.getSlotIdx()] = new Item(ItemID.BANDOS_GODSWORD, 1); - when(equipment.getItems()).thenReturn(items); + when(equipment.getItem(EquipmentInventorySlot.WEAPON.getSlotIdx())).thenReturn(new Item(ItemID.BANDOS_GODSWORD, 1)); when(client.getItemContainer(InventoryID.EQUIPMENT)).thenReturn(equipment); // Set up special attack energy