Jump to content

Selecting ALL npcs or ground items.


sonda

Recommended Posts

How would I go about selecting all of the nearby same npcs or geounditems , specifically - I want to drawmodel of all of the al-Kharid warriors && arrows on the ground 

 currently I’m using npcs.closest(“al-Kharid warrior”) and the same for the ground items and it works great and all but it only selects (obviously) the closest to me. When two are the same distance away it just jumps between both. 

Link to comment
Share on other sites

8 hours ago, sonda said:

More specifically

npcs.getAll(“al-kharid warrior”);

does not work the same as closest, what am I doing wrong ?

It's because getall will scan the whole area and check for npcs of that name. It'll then add it to a list which is far different from just using npc.closest(). 

If you want to highlight all the monsters/ground items you simply have to loop through the list in onPaint and draw their models/tiles and what not. 

Just make sure to null check! Else you'll be in for a treat :3

  • Like 1
Link to comment
Share on other sites

4 hours ago, Satire said:

It's because getall will scan the whole area and check for npcs of that name. It'll then add it to a list which is far different from just using npc.closest(). 

If you want to highlight all the monsters/ground items you simply have to loop through the list in onPaint and draw their models/tiles and what not. 

Just make sure to null check! Else you'll be in for a treat :3

not null checking is the best feeling ever, don't you just love when the game freezes?

Link to comment
Share on other sites

13 hours ago, sonda said:

How would I go about selecting all of the nearby same npcs or geounditems , specifically - I want to drawmodel of all of the al-Kharid warriors && arrows on the ground 

 currently I’m using npcs.closest(“al-Kharid warrior”) and the same for the ground items and it works great and all but it only selects (obviously) the closest to me. When two are the same distance away it just jumps between both. 

 

12 hours ago, dreameo said:

Try this:


List<NPC> t = getNpcs().getAll().stream().filter((n) -> n.getName().equals("al-kharid warrior")).collect(Collectors.toList());

I suggest tho doing it out long way before doing this one ^.

 

Simplest way would be:

List<NPC> warriors = getNpcs().filter(new NameFilter<>("Al-Kharid warrior"));

 

  • Like 3
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...