sonda Posted October 28, 2017 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.
sonda Posted October 28, 2017 Author 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.
sonda Posted October 28, 2017 Author Posted October 28, 2017 More specifically npcs.getAll(“al-kharid warrior”); does not work the same as closest, what am I doing wrong ?
dreameo Posted October 29, 2017 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
Satire Posted October 29, 2017 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
atoo Posted October 29, 2017 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?
Explv Posted October 29, 2017 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