npc indicators: fix consuming tag menu clicks on non-npcs

This commit is contained in:
Kamiel
2018-06-21 16:59:06 +02:00
committed by Adam
parent d60b395d5c
commit b45a749ba8

View File

@@ -26,6 +26,7 @@
package net.runelite.client.plugins.npchighlight;
import com.google.common.base.Splitter;
import com.google.common.collect.ImmutableList;
import com.google.common.eventbus.Subscribe;
import com.google.inject.Provides;
import java.time.Instant;
@@ -44,6 +45,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.GraphicID;
import net.runelite.api.GraphicsObject;
import net.runelite.api.MenuAction;
import net.runelite.api.NPC;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ConfigChanged;
@@ -71,6 +73,9 @@ public class NpcIndicatorsPlugin extends Plugin
// Option added to NPC menu
private static final String TAG = "Tag";
private static final List<MenuAction> NPC_MENU_ACTIONS = ImmutableList.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION,
MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION);
// Regex for splitting the hidden items in the config.
private static final Splitter COMMA_SPLITTER = Splitter.on(Pattern.compile("\\s*,\\s*")).trimResults();
@@ -238,12 +243,15 @@ public class NpcIndicatorsPlugin extends Plugin
}
@Subscribe
public void onMenuObjectClicked(MenuOptionClicked click)
public void onMenuOptionClicked(MenuOptionClicked click)
{
if (click.getMenuOption().equals(TAG))
if (!config.isTagEnabled())
{
click.consume();
return;
}
if (click.getMenuOption().equals(TAG) && NPC_MENU_ACTIONS.contains(click.getMenuAction()))
{
final int id = click.getId();
final boolean removed = npcTags.remove(id);
final NPC[] cachedNPCs = client.getCachedNPCs();
@@ -262,6 +270,8 @@ public class NpcIndicatorsPlugin extends Plugin
npcTags.add(id);
highlightedNpcs.add(npc);
}
click.consume();
}
}
}