sonda Posted October 28, 2017 Share Posted October 28, 2017 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. Quote Link to comment Share on other sites More sharing options...
Chris Posted October 28, 2017 Share Posted October 28, 2017 getAll() Quote Link to comment Share on other sites More sharing options...
sonda Posted October 28, 2017 Author Share Posted October 28, 2017 Yea, I seen that in the api and I tried using it - but I don’t properly know how to I guess. Quote Link to comment Share on other sites More sharing options...
sonda Posted October 28, 2017 Author Share Posted October 28, 2017 More specifically npcs.getAll(“al-kharid warrior”); does not work the same as closest, what am I doing wrong ? Quote Link to comment Share on other sites More sharing options...
dreameo Posted October 29, 2017 Share Posted October 29, 2017 (edited) 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 ^. Edited October 29, 2017 by dreameo 1 Quote Link to comment Share on other sites More sharing options...
Satire Posted October 29, 2017 Share Posted October 29, 2017 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 1 Quote Link to comment Share on other sites More sharing options...
atoo Posted October 29, 2017 Share Posted October 29, 2017 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? Quote Link to comment Share on other sites More sharing options...
Explv Posted October 29, 2017 Share Posted October 29, 2017 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")); 3 Quote Link to comment Share on other sites More sharing options...