Use npc indices to iterate local npcs

This commit is contained in:
Adam
2017-10-17 10:38:41 -04:00
parent c3e8cc0131
commit 10a494a2b7
6 changed files with 34 additions and 26 deletions

View File

@@ -25,6 +25,7 @@
package net.runelite.api;
import java.awt.Canvas;
import java.util.List;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
@@ -35,9 +36,7 @@ public interface Client
Player[] getCachedPlayers();
NPC getNpc(int idx);
NPC[] getCachedNPCs();
List<NPC> getNpcs();
int getBoostedSkillLevel(Skill skill);

View File

@@ -27,16 +27,13 @@ package net.runelite.api.queries;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import java.util.Arrays;
import java.util.Objects;
public class NPCQuery extends ActorQuery<NPC, NPCQuery>
{
@Override
public NPC[] result(Client client)
{
return Arrays.stream(client.getCachedNPCs())
.filter(Objects::nonNull)
return client.getNpcs().stream()
.filter(predicate)
.toArray(NPC[]::new);
}