From acfb7c631da003805d9b41a249c519c3daa63ebf Mon Sep 17 00:00:00 2001 From: Adam Date: Wed, 8 Jun 2022 16:34:13 -0400 Subject: [PATCH] entity hider: add option to hide dead npcs --- .../client/plugins/entityhider/EntityHiderConfig.java | 11 +++++++++++ .../client/plugins/entityhider/EntityHiderPlugin.java | 8 ++++++++ 2 files changed, 19 insertions(+) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java index 139e3ef835..b554fd352d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderConfig.java @@ -176,4 +176,15 @@ public interface EntityHiderConfig extends Config { return false; } + + @ConfigItem( + position = 14, + keyName = "hideDeadNpcs", + name = "Hide Dead NPCs", + description = "Hides NPCs when their health reaches 0" + ) + default boolean hideDeadNpcs() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java index a8754571e4..ee63182d03 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/entityhider/EntityHiderPlugin.java @@ -68,6 +68,7 @@ public class EntityHiderPlugin extends Plugin private boolean hideLocalPlayer2D; private boolean hideNPCs; private boolean hideNPCs2D; + private boolean hideDeadNpcs; private boolean hidePets; private boolean hideAttackers; private boolean hideProjectiles; @@ -118,6 +119,7 @@ public class EntityHiderPlugin extends Plugin hideNPCs = config.hideNPCs(); hideNPCs2D = config.hideNPCs2D(); + hideDeadNpcs = config.hideDeadNpcs(); hidePets = config.hidePets(); @@ -187,6 +189,12 @@ public class EntityHiderPlugin extends Plugin return !hidePets; } + // dead npcs can also be interacting so prioritize it over the interacting check + if (npc.isDead() && hideDeadNpcs) + { + return false; + } + if (npc.getInteracting() == client.getLocalPlayer()) { boolean b = hideAttackers;