Fix fishing plugin inventory/equipment check
Check both inventory and equipment when receiving item container change events instead of hiding overlay if item is not contained in all item containers. Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -44,6 +44,7 @@ import net.runelite.api.ChatMessageType;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.InventoryID;
|
import net.runelite.api.InventoryID;
|
||||||
import net.runelite.api.Item;
|
import net.runelite.api.Item;
|
||||||
|
import net.runelite.api.ItemContainer;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import net.runelite.api.NPC;
|
import net.runelite.api.NPC;
|
||||||
import net.runelite.api.coords.LocalPoint;
|
import net.runelite.api.coords.LocalPoint;
|
||||||
@@ -128,62 +129,15 @@ public class FishingPlugin extends Plugin
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onItemContainerChanged(ItemContainerChanged event)
|
public void onItemContainerChanged(ItemContainerChanged event)
|
||||||
{
|
{
|
||||||
boolean showOverlays = false;
|
if (event.getItemContainer() != client.getItemContainer(InventoryID.INVENTORY)
|
||||||
|
&& event.getItemContainer() != client.getItemContainer(InventoryID.EQUIPMENT))
|
||||||
if (session.getLastFishCaught() != null)
|
|
||||||
{
|
{
|
||||||
showOverlays = true;
|
return;
|
||||||
}
|
}
|
||||||
else if (event.getItemContainer() == client.getItemContainer(InventoryID.INVENTORY))
|
|
||||||
{
|
|
||||||
for (Item item : event.getItemContainer().getItems())
|
|
||||||
{
|
|
||||||
if (item == null)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (item.getId())
|
final boolean showOverlays = session.getLastFishCaught() != null
|
||||||
{
|
|| canPlayerFish(client.getItemContainer(InventoryID.INVENTORY))
|
||||||
case ItemID.DRAGON_HARPOON:
|
|| canPlayerFish(client.getItemContainer(InventoryID.EQUIPMENT));
|
||||||
case ItemID.INFERNAL_HARPOON:
|
|
||||||
case ItemID.INFERNAL_HARPOON_UNCHARGED:
|
|
||||||
case ItemID.HARPOON:
|
|
||||||
case ItemID.BARBTAIL_HARPOON:
|
|
||||||
case ItemID.BIG_FISHING_NET:
|
|
||||||
case ItemID.SMALL_FISHING_NET:
|
|
||||||
case ItemID.SMALL_FISHING_NET_6209:
|
|
||||||
case ItemID.FISHING_ROD:
|
|
||||||
case ItemID.FLY_FISHING_ROD:
|
|
||||||
case ItemID.BARBARIAN_ROD:
|
|
||||||
case ItemID.OILY_FISHING_ROD:
|
|
||||||
case ItemID.LOBSTER_POT:
|
|
||||||
case ItemID.KARAMBWAN_VESSEL:
|
|
||||||
case ItemID.KARAMBWAN_VESSEL_3159:
|
|
||||||
showOverlays = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT))
|
|
||||||
{
|
|
||||||
for (Item item : event.getItemContainer().getItems())
|
|
||||||
{
|
|
||||||
if (item == null)
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (item.getId())
|
|
||||||
{
|
|
||||||
case ItemID.DRAGON_HARPOON:
|
|
||||||
case ItemID.INFERNAL_HARPOON:
|
|
||||||
case ItemID.INFERNAL_HARPOON_UNCHARGED:
|
|
||||||
showOverlays = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (showOverlays)
|
if (showOverlays)
|
||||||
{
|
{
|
||||||
@@ -219,6 +173,43 @@ public class FishingPlugin extends Plugin
|
|||||||
updateConfig();
|
updateConfig();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean canPlayerFish(final ItemContainer itemContainer)
|
||||||
|
{
|
||||||
|
if (itemContainer == null)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Item item : itemContainer.getItems())
|
||||||
|
{
|
||||||
|
if (item == null)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
switch (item.getId())
|
||||||
|
{
|
||||||
|
case ItemID.DRAGON_HARPOON:
|
||||||
|
case ItemID.INFERNAL_HARPOON:
|
||||||
|
case ItemID.INFERNAL_HARPOON_UNCHARGED:
|
||||||
|
case ItemID.HARPOON:
|
||||||
|
case ItemID.BARBTAIL_HARPOON:
|
||||||
|
case ItemID.BIG_FISHING_NET:
|
||||||
|
case ItemID.SMALL_FISHING_NET:
|
||||||
|
case ItemID.SMALL_FISHING_NET_6209:
|
||||||
|
case ItemID.FISHING_ROD:
|
||||||
|
case ItemID.FLY_FISHING_ROD:
|
||||||
|
case ItemID.BARBARIAN_ROD:
|
||||||
|
case ItemID.OILY_FISHING_ROD:
|
||||||
|
case ItemID.LOBSTER_POT:
|
||||||
|
case ItemID.KARAMBWAN_VESSEL:
|
||||||
|
case ItemID.KARAMBWAN_VESSEL_3159:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
private void updateConfig()
|
private void updateConfig()
|
||||||
{
|
{
|
||||||
spotIds.clear();
|
spotIds.clear();
|
||||||
|
|||||||
Reference in New Issue
Block a user