test_class.declarator: client
test_class.modifier: @Mock
  	@Bind
  	private
test_class.original_string: @Mock
  	@Bind
  	private Client client;
test_class.type: Client
test_class.var_name: client
test_class.declarator: executorService
test_class.modifier: @Mock
  	@Bind
  	private
test_class.original_string: @Mock
  	@Bind
  	private ScheduledExecutorService executorService;
test_class.type: ScheduledExecutorService
test_class.var_name: executorService
test_class.declarator: npcIndicatorsConfig
test_class.modifier: @Mock
  	@Bind
  	private
test_class.original_string: @Mock
  	@Bind
  	private NpcIndicatorsConfig npcIndicatorsConfig;
test_class.type: NpcIndicatorsConfig
test_class.var_name: npcIndicatorsConfig
test_class.declarator: npcIndicatorsPlugin
test_class.modifier: @Inject
  	private
test_class.original_string: @Inject
  	private NpcIndicatorsPlugin npcIndicatorsPlugin;
test_class.type: NpcIndicatorsPlugin
test_class.var_name: npcIndicatorsPlugin
test_class.declarator: overlayManager
test_class.modifier: @Mock
  	@Bind
  	private
test_class.original_string: @Mock
  	@Bind
  	private OverlayManager overlayManager;
test_class.type: OverlayManager
test_class.var_name: overlayManager
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPluginTest.java
test_class.identifier: NpcIndicatorsPluginTest
test_case.body: @Test
  	public void getHighlights()
  	{
  		when(npcIndicatorsConfig.getNpcToHighlight()).thenReturn("goblin, , zulrah   , *wyvern, ,");
  		final List<String> highlightedNpcs = npcIndicatorsPlugin.getHighlights();
  		assertEquals("Length of parsed NPCs is incorrect", 3, highlightedNpcs.size());
  
  		final Iterator<String> iterator = highlightedNpcs.iterator();
  		assertEquals("goblin", iterator.next());
  		assertEquals("zulrah", iterator.next());
  		assertEquals("*wyvern", iterator.next());
  	}
test_case.class_method_signature: NpcIndicatorsPluginTest.getHighlights()
test_case.full_signature: @Test public void getHighlights()
test_case.identifier: getHighlights
test_case.invocations: thenReturn when getNpcToHighlight getHighlights assertEquals size iterator assertEquals next assertEquals next assertEquals next
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void getHighlights()
focal_class.declarator: MAX_ACTOR_VIEW_RANGE = 15
focal_class.modifier: private static final
focal_class.original_string: private static final int MAX_ACTOR_VIEW_RANGE = 15;
focal_class.type: int
focal_class.var_name: MAX_ACTOR_VIEW_RANGE
focal_class.declarator: TAG = "Tag"
focal_class.modifier: private static final
focal_class.original_string: private static final String TAG = "Tag";
focal_class.type: String
focal_class.var_name: TAG
focal_class.declarator: UNTAG = "Un-tag"
focal_class.modifier: private static final
focal_class.original_string: private static final String UNTAG = "Un-tag";
focal_class.type: String
focal_class.var_name: UNTAG
focal_class.declarator: TAG_ALL = "Tag-All"
focal_class.modifier: private static final
focal_class.original_string: private static final String TAG_ALL = "Tag-All";
focal_class.type: String
focal_class.var_name: TAG_ALL
focal_class.declarator: UNTAG_ALL = "Un-tag-All"
focal_class.modifier: private static final
focal_class.original_string: private static final String UNTAG_ALL = "Un-tag-All";
focal_class.type: String
focal_class.var_name: UNTAG_ALL
focal_class.declarator: NPC_MENU_ACTIONS = ImmutableSet.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION,
  		MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION, MenuAction.SPELL_CAST_ON_NPC,
  		MenuAction.ITEM_USE_ON_NPC)
focal_class.modifier: private static final
focal_class.original_string: private static final Set<MenuAction> NPC_MENU_ACTIONS = ImmutableSet.of(MenuAction.NPC_FIRST_OPTION, MenuAction.NPC_SECOND_OPTION,
  		MenuAction.NPC_THIRD_OPTION, MenuAction.NPC_FOURTH_OPTION, MenuAction.NPC_FIFTH_OPTION, MenuAction.SPELL_CAST_ON_NPC,
  		MenuAction.ITEM_USE_ON_NPC);
focal_class.type: Set<MenuAction>
focal_class.var_name: NPC_MENU_ACTIONS
focal_class.declarator: client
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Client client;
focal_class.type: Client
focal_class.var_name: client
focal_class.declarator: config
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private NpcIndicatorsConfig config;
focal_class.type: NpcIndicatorsConfig
focal_class.var_name: config
focal_class.declarator: overlayManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private OverlayManager overlayManager;
focal_class.type: OverlayManager
focal_class.var_name: overlayManager
focal_class.declarator: npcSceneOverlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private NpcSceneOverlay npcSceneOverlay;
focal_class.type: NpcSceneOverlay
focal_class.var_name: npcSceneOverlay
focal_class.declarator: npcMinimapOverlay
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private NpcMinimapOverlay npcMinimapOverlay;
focal_class.type: NpcMinimapOverlay
focal_class.var_name: npcMinimapOverlay
focal_class.declarator: keyManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private KeyManager keyManager;
focal_class.type: KeyManager
focal_class.var_name: keyManager
focal_class.declarator: clientThread
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ClientThread clientThread;
focal_class.type: ClientThread
focal_class.var_name: clientThread
focal_class.declarator: highlightedNpcs = new HashSet<>()
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private final
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private final Set<NPC> highlightedNpcs = new HashSet<>();
focal_class.type: Set<NPC>
focal_class.var_name: highlightedNpcs
focal_class.declarator: deadNpcsToDisplay = new HashMap<>()
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private final
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private final Map<Integer, MemorizedNpc> deadNpcsToDisplay = new HashMap<>();
focal_class.type: Map<Integer, MemorizedNpc>
focal_class.var_name: deadNpcsToDisplay
focal_class.declarator: lastTickUpdate
focal_class.modifier: @Getter(AccessLevel.PACKAGE)
  	private
focal_class.original_string: @Getter(AccessLevel.PACKAGE)
  	private Instant lastTickUpdate;
focal_class.type: Instant
focal_class.var_name: lastTickUpdate
focal_class.declarator: memorizedNpcs = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<Integer, MemorizedNpc> memorizedNpcs = new HashMap<>();
focal_class.type: Map<Integer, MemorizedNpc>
focal_class.var_name: memorizedNpcs
focal_class.declarator: highlights = new ArrayList<>()
focal_class.modifier: private
focal_class.original_string: private List<String> highlights = new ArrayList<>();
focal_class.type: List<String>
focal_class.var_name: highlights
focal_class.declarator: npcTags = new HashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<Integer> npcTags = new HashSet<>();
focal_class.type: Set<Integer>
focal_class.var_name: npcTags
focal_class.declarator: spawnedNpcsThisTick = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<NPC> spawnedNpcsThisTick = new ArrayList<>();
focal_class.type: List<NPC>
focal_class.var_name: spawnedNpcsThisTick
focal_class.declarator: despawnedNpcsThisTick = new ArrayList<>()
focal_class.modifier: private final
focal_class.original_string: private final List<NPC> despawnedNpcsThisTick = new ArrayList<>();
focal_class.type: List<NPC>
focal_class.var_name: despawnedNpcsThisTick
focal_class.declarator: teleportGraphicsObjectSpawnedThisTick = new HashSet<>()
focal_class.modifier: private final
focal_class.original_string: private final Set<WorldPoint> teleportGraphicsObjectSpawnedThisTick = new HashSet<>();
focal_class.type: Set<WorldPoint>
focal_class.var_name: teleportGraphicsObjectSpawnedThisTick
focal_class.declarator: lastPlayerLocation
focal_class.modifier: private
focal_class.original_string: private WorldPoint lastPlayerLocation;
focal_class.type: WorldPoint
focal_class.var_name: lastPlayerLocation
focal_class.declarator: skipNextSpawnCheck = false
focal_class.modifier: private
focal_class.original_string: private boolean skipNextSpawnCheck = false;
focal_class.type: boolean
focal_class.var_name: skipNextSpawnCheck
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java
focal_class.identifier: NpcIndicatorsPlugin
focal_class.class_method_signature: NpcIndicatorsPlugin.provideConfig(ConfigManager configManager)
focal_class.full_signature: @Provides NpcIndicatorsConfig provideConfig(ConfigManager configManager)
focal_class.identifier: provideConfig
focal_class.modifiers: @Provides
focal_class.parameters: (ConfigManager configManager)
focal_class.return: NpcIndicatorsConfig
focal_class.signature: NpcIndicatorsConfig provideConfig(ConfigManager configManager)
focal_class.class_method_signature: NpcIndicatorsPlugin.startUp()
focal_class.full_signature: @Override protected void startUp()
focal_class.identifier: startUp
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void startUp()
focal_class.class_method_signature: NpcIndicatorsPlugin.shutDown()
focal_class.full_signature: @Override protected void shutDown()
focal_class.identifier: shutDown
focal_class.modifiers: @Override protected
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutDown()
focal_class.class_method_signature: NpcIndicatorsPlugin.onGameStateChanged(GameStateChanged event)
focal_class.full_signature: @Subscribe public void onGameStateChanged(GameStateChanged event)
focal_class.identifier: onGameStateChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GameStateChanged event)
focal_class.return: void
focal_class.signature: void onGameStateChanged(GameStateChanged event)
focal_class.class_method_signature: NpcIndicatorsPlugin.onConfigChanged(ConfigChanged configChanged)
focal_class.full_signature: @Subscribe public void onConfigChanged(ConfigChanged configChanged)
focal_class.identifier: onConfigChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ConfigChanged configChanged)
focal_class.return: void
focal_class.signature: void onConfigChanged(ConfigChanged configChanged)
focal_class.class_method_signature: NpcIndicatorsPlugin.onMenuEntryAdded(MenuEntryAdded event)
focal_class.full_signature: @Subscribe public void onMenuEntryAdded(MenuEntryAdded event)
focal_class.identifier: onMenuEntryAdded
focal_class.modifiers: @Subscribe public
focal_class.parameters: (MenuEntryAdded event)
focal_class.return: void
focal_class.signature: void onMenuEntryAdded(MenuEntryAdded event)
focal_class.class_method_signature: NpcIndicatorsPlugin.onMenuOptionClicked(MenuOptionClicked click)
focal_class.full_signature: @Subscribe public void onMenuOptionClicked(MenuOptionClicked click)
focal_class.identifier: onMenuOptionClicked
focal_class.modifiers: @Subscribe public
focal_class.parameters: (MenuOptionClicked click)
focal_class.return: void
focal_class.signature: void onMenuOptionClicked(MenuOptionClicked click)
focal_class.class_method_signature: NpcIndicatorsPlugin.onNpcSpawned(NpcSpawned npcSpawned)
focal_class.full_signature: @Subscribe public void onNpcSpawned(NpcSpawned npcSpawned)
focal_class.identifier: onNpcSpawned
focal_class.modifiers: @Subscribe public
focal_class.parameters: (NpcSpawned npcSpawned)
focal_class.return: void
focal_class.signature: void onNpcSpawned(NpcSpawned npcSpawned)
focal_class.class_method_signature: NpcIndicatorsPlugin.onNpcDespawned(NpcDespawned npcDespawned)
focal_class.full_signature: @Subscribe public void onNpcDespawned(NpcDespawned npcDespawned)
focal_class.identifier: onNpcDespawned
focal_class.modifiers: @Subscribe public
focal_class.parameters: (NpcDespawned npcDespawned)
focal_class.return: void
focal_class.signature: void onNpcDespawned(NpcDespawned npcDespawned)
focal_class.class_method_signature: NpcIndicatorsPlugin.onGraphicsObjectCreated(GraphicsObjectCreated event)
focal_class.full_signature: @Subscribe public void onGraphicsObjectCreated(GraphicsObjectCreated event)
focal_class.identifier: onGraphicsObjectCreated
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GraphicsObjectCreated event)
focal_class.return: void
focal_class.signature: void onGraphicsObjectCreated(GraphicsObjectCreated event)
focal_class.class_method_signature: NpcIndicatorsPlugin.onGameTick(GameTick event)
focal_class.full_signature: @Subscribe public void onGameTick(GameTick event)
focal_class.identifier: onGameTick
focal_class.modifiers: @Subscribe public
focal_class.parameters: (GameTick event)
focal_class.return: void
focal_class.signature: void onGameTick(GameTick event)
focal_class.class_method_signature: NpcIndicatorsPlugin.updateNpcsToHighlight(String npc)
focal_class.full_signature: private void updateNpcsToHighlight(String npc)
focal_class.identifier: updateNpcsToHighlight
focal_class.modifiers: private
focal_class.parameters: (String npc)
focal_class.return: void
focal_class.signature: void updateNpcsToHighlight(String npc)
focal_class.class_method_signature: NpcIndicatorsPlugin.isInViewRange(WorldPoint wp1, WorldPoint wp2)
focal_class.full_signature: private static boolean isInViewRange(WorldPoint wp1, WorldPoint wp2)
focal_class.identifier: isInViewRange
focal_class.modifiers: private static
focal_class.parameters: (WorldPoint wp1, WorldPoint wp2)
focal_class.return: boolean
focal_class.signature: boolean isInViewRange(WorldPoint wp1, WorldPoint wp2)
focal_class.class_method_signature: NpcIndicatorsPlugin.getWorldLocationBehind(NPC npc)
focal_class.full_signature: private static WorldPoint getWorldLocationBehind(NPC npc)
focal_class.identifier: getWorldLocationBehind
focal_class.modifiers: private static
focal_class.parameters: (NPC npc)
focal_class.return: WorldPoint
focal_class.signature: WorldPoint getWorldLocationBehind(NPC npc)
focal_class.class_method_signature: NpcIndicatorsPlugin.memorizeNpc(NPC npc)
focal_class.full_signature: private void memorizeNpc(NPC npc)
focal_class.identifier: memorizeNpc
focal_class.modifiers: private
focal_class.parameters: (NPC npc)
focal_class.return: void
focal_class.signature: void memorizeNpc(NPC npc)
focal_class.class_method_signature: NpcIndicatorsPlugin.removeOldHighlightedRespawns()
focal_class.full_signature: private void removeOldHighlightedRespawns()
focal_class.identifier: removeOldHighlightedRespawns
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeOldHighlightedRespawns()
focal_class.class_method_signature: NpcIndicatorsPlugin.getHighlights()
focal_class.full_signature: @VisibleForTesting List<String> getHighlights()
focal_class.identifier: getHighlights
focal_class.modifiers: @VisibleForTesting
focal_class.parameters: ()
focal_class.return: List<String>
focal_class.signature: List<String> getHighlights()
focal_class.class_method_signature: NpcIndicatorsPlugin.rebuildAllNpcs()
focal_class.full_signature: @VisibleForTesting void rebuildAllNpcs()
focal_class.identifier: rebuildAllNpcs
focal_class.modifiers: @VisibleForTesting
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void rebuildAllNpcs()
focal_class.class_method_signature: NpcIndicatorsPlugin.highlightMatchesNPCName(String npcName)
focal_class.full_signature: private boolean highlightMatchesNPCName(String npcName)
focal_class.identifier: highlightMatchesNPCName
focal_class.modifiers: private
focal_class.parameters: (String npcName)
focal_class.return: boolean
focal_class.signature: boolean highlightMatchesNPCName(String npcName)
focal_class.class_method_signature: NpcIndicatorsPlugin.validateSpawnedNpcs()
focal_class.full_signature: private void validateSpawnedNpcs()
focal_class.identifier: validateSpawnedNpcs
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void validateSpawnedNpcs()
focal_class.superclass: extends Plugin
focal_method.body: @VisibleForTesting
  	List<String> getHighlights()
  	{
  		final String configNpcs = config.getNpcToHighlight();
  
  		if (configNpcs.isEmpty())
  		{
  			return Collections.emptyList();
  		}
  
  		return Text.fromCSV(configNpcs);
  	}
focal_method.class_method_signature: NpcIndicatorsPlugin.getHighlights()
focal_method.full_signature: @VisibleForTesting List<String> getHighlights()
focal_method.identifier: getHighlights
focal_method.invocations: getNpcToHighlight isEmpty emptyList fromCSV
focal_method.modifiers: @VisibleForTesting
focal_method.parameters: ()
focal_method.return: List<String>
focal_method.signature: List<String> getHighlights()