From 8e4d4b07b5661d633c0ad45e9fe4a2f410da28ce Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 19 Dec 2018 18:38:27 -0500 Subject: [PATCH] slayer plugin: fix npe from getTransformedComposition returning null Prefer checking if slayer targets is not empty before doing task lookup. Introduced in c8105908c05452187b75f060e030fbdbed4d3368 --- .../runelite/client/plugins/slayer/SlayerPlugin.java | 10 +++++++--- .../client/plugins/slayer/TargetWeaknessOverlay.java | 5 +++-- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index 538a6e5302..61def6ea13 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -562,10 +562,14 @@ public class SlayerPlugin extends Plugin if (name.contains(target)) { NPCComposition composition = npc.getTransformedComposition(); - List actions = Arrays.asList(composition.getActions()); - if (composition != null && (actions.contains("Attack") || actions.contains("Pick"))) //Pick action is for zygomite-fungi + + if (composition != null) { - return true; + List actions = Arrays.asList(composition.getActions()); + if (actions.contains("Attack") || actions.contains("Pick")) //Pick action is for zygomite-fungi + { + return true; + } } } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java index af61ddfd13..5521380e57 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/TargetWeaknessOverlay.java @@ -65,7 +65,9 @@ class TargetWeaknessOverlay extends Overlay @Override public Dimension render(Graphics2D graphics) { - if (!config.weaknessPrompt()) + final List targets = plugin.getHighlightedTargets(); + + if (targets.isEmpty() || !config.weaknessPrompt()) { return null; } @@ -84,7 +86,6 @@ class TargetWeaknessOverlay extends Overlay return null; } - final List targets = plugin.getHighlightedTargets(); for (NPC target : targets) { final int currentHealth = calculateHealth(target);