Skip to content

Commit d4f1779

Browse files
authored
Deprecation fixes (#190)
1 parent d935825 commit d4f1779

2 files changed

Lines changed: 26 additions & 10 deletions

File tree

src/main/java/com/botdetector/BotDetectorPlugin.java

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@
8282
import net.runelite.api.MessageNode;
8383
import net.runelite.api.Player;
8484
import net.runelite.api.WorldType;
85+
import net.runelite.api.WorldView;
8586
import net.runelite.api.coords.WorldPoint;
8687
import net.runelite.api.events.ChatMessage;
8788
import net.runelite.api.events.CommandExecuted;
@@ -1002,6 +1003,12 @@ private void onMenuOpened(MenuOpened event)
10021003
return;
10031004
}
10041005

1006+
final WorldView wv = client.getTopLevelWorldView();
1007+
if (wv == null)
1008+
{
1009+
return;
1010+
}
1011+
10051012
boolean changeReportOption = config.applyPredictColorsOnReportOption();
10061013
// Do this once when the menu opens
10071014
// Avoids having to loop the menu entries on every 'added' event
@@ -1017,7 +1024,7 @@ private void onMenuOpened(MenuOpened event)
10171024
if (type == MenuAction.RUNELITE_PLAYER.getId()
10181025
&& entry.getOption().equals(PREDICT_OPTION))
10191026
{
1020-
Player player = client.getCachedPlayers()[entry.getIdentifier()];
1027+
Player player = wv.players().byIndex(entry.getIdentifier());
10211028
if (player != null)
10221029
{
10231030
entry.setOption(getPredictOption(player.getName()));
@@ -1028,7 +1035,7 @@ private void onMenuOpened(MenuOpened event)
10281035
if (changeReportOption && entry.getOption().equals(REPORT_OPTION)
10291036
&& (PLAYER_MENU_ACTIONS.contains(entry.getType()) || entry.getType() == MenuAction.CC_OP_LOW_PRIORITY))
10301037
{
1031-
Player player = client.getCachedPlayers()[entry.getIdentifier()];
1038+
Player player = wv.players().byIndex(entry.getIdentifier());
10321039
if (player != null)
10331040
{
10341041
entry.setOption(getReportOption(player.getName()));
@@ -1050,8 +1057,13 @@ private void onMenuOptionClicked(MenuOptionClicked event)
10501057
if (event.getMenuAction() == MenuAction.RUNELITE_PLAYER
10511058
|| PLAYER_MENU_ACTIONS.contains(event.getMenuAction()))
10521059
{
1053-
Player player = client.getCachedPlayers()[event.getId()];
1060+
WorldView wv = client.getTopLevelWorldView();
1061+
if (wv == null)
1062+
{
1063+
return;
1064+
}
10541065

1066+
Player player = wv.players().byIndex(event.getId());
10551067
if (player == null)
10561068
{
10571069
return;

src/main/java/com/botdetector/ui/NameAutocompleter.java

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import net.runelite.api.Nameable;
5050
import net.runelite.api.NameableContainer;
5151
import net.runelite.api.Player;
52+
import net.runelite.api.WorldView;
5253

5354
@Slf4j
5455
@Singleton
@@ -241,13 +242,16 @@ private boolean findAutocompleteName(String nameStart)
241242
// Search cached players if a friend wasn't found
242243
if (!autocompleteName.isPresent())
243244
{
244-
final Player[] cachedPlayers = client.getCachedPlayers();
245-
autocompleteName = Arrays.stream(cachedPlayers)
246-
.filter(Objects::nonNull)
247-
.map(Player::getName)
248-
.filter(Objects::nonNull)
249-
.filter(n -> pattern.matcher(n).matches())
250-
.findFirst();
245+
final WorldView wv = client.getTopLevelWorldView();
246+
if (wv != null)
247+
{
248+
autocompleteName = wv.players().stream()
249+
.filter(Objects::nonNull)
250+
.map(Player::getName)
251+
.filter(Objects::nonNull)
252+
.filter(n -> pattern.matcher(n).matches())
253+
.findFirst();
254+
}
251255
}
252256

253257
if (autocompleteName.isPresent())

0 commit comments

Comments
 (0)