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;