From efc37e00d5b6948cf0f14c29a1e520cf4e77aedd Mon Sep 17 00:00:00 2001 From: dekvall Date: Wed, 7 Aug 2019 20:07:16 +0200 Subject: [PATCH 1/4] Add Nullable to Actor::getName --- runelite-api/src/main/java/net/runelite/api/Actor.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Actor.java b/runelite-api/src/main/java/net/runelite/api/Actor.java index a736b32fa4..2b35102832 100644 --- a/runelite-api/src/main/java/net/runelite/api/Actor.java +++ b/runelite-api/src/main/java/net/runelite/api/Actor.java @@ -50,6 +50,7 @@ public interface Actor extends Renderable * * @return the name */ + @Nullable String getName(); /** From 85a5eb0cf96d8d33a88522ee215515060523cf5b Mon Sep 17 00:00:00 2001 From: dekvall Date: Wed, 7 Aug 2019 20:25:23 +0200 Subject: [PATCH 2/4] Fix NPE in groundmarker plugin Right-clicking the void in puro-puro sets the selectedSceneTile to null. --- .../src/main/java/net/runelite/api/Client.java | 1 + .../plugins/groundmarkers/GroundMarkerPlugin.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 95cf40931a..0773f61357 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -418,6 +418,7 @@ public interface Client extends GameEngine * * @return the selected tile */ + @Nullable Tile getSelectedSceneTile(); /** diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java index d9b1a1cac5..af3dae8f87 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/groundmarkers/GroundMarkerPlugin.java @@ -209,12 +209,18 @@ public class GroundMarkerPlugin extends Plugin { if (hotKeyPressed && event.getOption().equals(WALK_HERE)) { + final Tile selectedSceneTile = client.getSelectedSceneTile(); + + if (selectedSceneTile == null) + { + return; + } + MenuEntry[] menuEntries = client.getMenuEntries(); menuEntries = Arrays.copyOf(menuEntries, menuEntries.length + 1); - MenuEntry menuEntry = menuEntries[menuEntries.length - 1] = new MenuEntry(); - final WorldPoint worldPoint = WorldPoint.fromLocalInstance(client, client.getSelectedSceneTile().getLocalLocation()); + final WorldPoint worldPoint = WorldPoint.fromLocalInstance(client, selectedSceneTile.getLocalLocation()); final int regionId = worldPoint.getRegionID(); final GroundMarkerPoint point = new GroundMarkerPoint(regionId, worldPoint.getRegionX(), worldPoint.getRegionY(), client.getPlane(), config.markerColor()); From 0c76f473ec97b7f1cbba6f468da71aa4bdc2b9c1 Mon Sep 17 00:00:00 2001 From: dekvall Date: Thu, 8 Aug 2019 00:44:28 +0200 Subject: [PATCH 3/4] Add Nullable to Client::getLocalPlayer At startup on loginscreen this method returns null --- runelite-api/src/main/java/net/runelite/api/Client.java | 1 + 1 file changed, 1 insertion(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 0773f61357..4376159063 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -338,6 +338,7 @@ public interface Client extends GameEngine * * @return the logged in player */ + @Nullable Player getLocalPlayer(); /** From 9fe8e8347e8468771b1283373284ecc3467e1206 Mon Sep 17 00:00:00 2001 From: dekvall Date: Thu, 8 Aug 2019 00:47:24 +0200 Subject: [PATCH 4/4] Add Nullable to widget dragging methods The docs say both return null if no item is dragged --- runelite-api/src/main/java/net/runelite/api/Client.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 4376159063..7cc3e97f8b 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -434,6 +434,7 @@ public interface Client extends GameEngine * * @return the dragged widget, null if not dragging any widget */ + @Nullable Widget getDraggedWidget(); /** @@ -444,6 +445,7 @@ public interface Client extends GameEngine * * @return the dragged on widget, null if not dragging any widget */ + @Nullable Widget getDraggedOnWidget(); /**