entityhider: add blacklist for hiding dead npcs. (#2231)

This commit is contained in:
Ganom
2020-01-16 09:01:32 -05:00
committed by Kyle
parent 8545e7f161
commit 7e1c211005
6 changed files with 64 additions and 8 deletions

View File

@@ -27,7 +27,9 @@ package net.runelite.mixins;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.Mixin;
import net.runelite.rs.api.RSClient;
@@ -83,6 +85,9 @@ public abstract class EntityHiderBridgeMixin implements RSClient
@Inject
public static List<String> hideSpecificPlayers = new ArrayList<>();
@Inject
public static Set<Integer> blacklistDeadNpcs = new HashSet<>();
@Inject
@Override
public void setIsHidingEntities(boolean state)
@@ -225,6 +230,13 @@ public abstract class EntityHiderBridgeMixin implements RSClient
hideSpecificPlayers = players;
}
@Inject
@Override
public void setBlacklistDeadNpcs(Set<Integer> blacklist)
{
blacklistDeadNpcs = blacklist;
}
@Inject
@Override
public void setPetsHidden(boolean state)

View File

@@ -27,6 +27,7 @@ package net.runelite.mixins;
import java.util.HashMap;
import java.util.List;
import java.util.Set;
import net.runelite.api.mixins.Copy;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.Mixin;
@@ -80,6 +81,9 @@ public abstract class EntityHiderMixin implements RSScene
@Shadow("hideSpecificPlayers")
private static List<String> hideSpecificPlayers;
@Shadow("blacklistDeadNpcs")
private static Set<Integer> blacklistDeadNpcs;
@Shadow("hideNPCs2D")
private static boolean hideNPCs2D;
@@ -199,7 +203,7 @@ public abstract class EntityHiderMixin implements RSScene
}
}
if (hideDeadNPCs && npc.getHealthRatio() == 0)
if (hideDeadNPCs && npc.getHealthRatio() == 0 && !blacklistDeadNpcs.contains(npc.getId()))
{
return false;
}