Use npc indices to iterate local npcs
This commit is contained in:
@@ -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);
|
||||
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user