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 a7e39ffc5d..d6d193c325 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1637,63 +1637,6 @@ public interface Client extends GameEngine */ void setHideSpecificPlayers(List names); - /** - * Get the list of NPC indices that are currently hidden - * - * @return all of the current hidden NPC Indices - */ - List getHiddenNpcIndices(); - - /** - * If an NPC index is in this List then do not render it - * - * @param npcIndices the npc indices to hide - */ - void setHiddenNpcIndices(List npcIndices); - - /** - * Increments the counter for how many times this npc has been selected to be hidden on death - * - * @param name npc name - */ - void addHiddenNpcDeath(String name); - - /** - * Decrements the counter for how many times this npc has been selected to be hidden on death - * - * @param name npc name - */ - void removeHiddenNpcDeath(String name); - - /** - * Increments the counter for how many times this npc has been selected to be hidden - * - * @param name npc name - */ - void addHiddenNpcName(String name); - - /** - * Decrements the counter for how many times this npc has been selected to be hidden - * - * @param name npc name - */ - void removeHiddenNpcName(String name); - - /** - * Sets whether or not other players are hidden. - * - * @param state the new player hidden state - */ - void setPlayersHidden(boolean state); - - /** - * Sets whether 2D sprites (ie. overhead prayers, PK skull) related to - * the other players are hidden. - * - * @param state the new player 2D hidden state - */ - void setPlayersHidden2D(boolean state); - /** * Sets whether projectiles are hidden. * diff --git a/runelite-client/src/main/java/com/openosrs/client/game/XpDropEvent.java b/runelite-client/src/main/java/com/openosrs/client/game/XpDropEvent.java deleted file mode 100644 index 10926db81f..0000000000 --- a/runelite-client/src/main/java/com/openosrs/client/game/XpDropEvent.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.openosrs.client.game; - -import lombok.Data; -import net.runelite.api.Skill; - -@Data -public class XpDropEvent -{ - private Skill skill; - private int exp; -} diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java index 26e0c470c7..6263518015 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java @@ -39,7 +39,6 @@ import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; -import java.util.concurrent.CopyOnWriteArrayList; import javax.inject.Inject; import net.runelite.api.ChatLineBuffer; import net.runelite.api.ChatMessageType; @@ -131,14 +130,6 @@ public class FriendsChatPlugin extends Plugin private int joinedTick; private boolean kickConfirmed = false; - - private static final CopyOnWriteArrayList clanMembers = new CopyOnWriteArrayList<>(); - - @SuppressWarnings("unchecked") - public static CopyOnWriteArrayList getClanMembers() - { - return (CopyOnWriteArrayList) clanMembers.clone(); - } @Provides FriendsChatConfig getConfig(ConfigManager configManager) diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderBridgeMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderBridgeMixin.java index 3238d1ef38..54745afbf2 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderBridgeMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderBridgeMixin.java @@ -25,9 +25,6 @@ */ package net.runelite.mixins; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Set; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; import net.runelite.rs.api.RSClient; @@ -41,12 +38,6 @@ public abstract class EntityHiderBridgeMixin implements RSClient @Inject public static boolean isHidingEntities; - @Inject - public static boolean hidePlayers; - - @Inject - public static boolean hidePlayers2D; - @Inject public static boolean hideOthers; @@ -86,21 +77,9 @@ public abstract class EntityHiderBridgeMixin implements RSClient @Inject public static boolean hideDeadNPCs; - @Inject - public static Set blacklistDeadNpcs = new HashSet<>(); - @Inject public static List hideSpecificPlayers = new ArrayList<>(); - @Inject - public static HashMap hiddenNpcsDeath = new HashMap<>(); - - @Inject - public static HashMap hiddenNpcsName = new HashMap<>(); - - @Inject - public static List hiddenNpcIndices = new ArrayList<>(); - @Inject @Override public void setIsHidingEntities(boolean state) @@ -205,95 +184,4 @@ public abstract class EntityHiderBridgeMixin implements RSClient { hideDeadNPCs = state; } - - @Inject - @Override - public void addHiddenNpcDeath(String npc) - { - npc = npc.toLowerCase(); - int i = hiddenNpcsDeath.getOrDefault(npc, 0); - if (i == Integer.MAX_VALUE) - { - throw new RuntimeException("NPC death " + npc + " has been hidden Integer.MAX_VALUE times, is something wrong?"); - } - - hiddenNpcsDeath.put(npc, ++i); - } - - @Inject - @Override - public void removeHiddenNpcDeath(String npc) - { - npc = npc.toLowerCase(); - int i = hiddenNpcsDeath.getOrDefault(npc, 0); - if (i == 0) - { - return; - } - - hiddenNpcsDeath.put(npc, --i); - } - - @Inject - @Override - public void setBlacklistDeadNpcs(Set blacklist) - { - blacklistDeadNpcs = blacklist; - } - - @Inject - @Override - public void addHiddenNpcName(String npc) - { - npc = npc.toLowerCase(); - int i = hiddenNpcsName.getOrDefault(npc, 0); - if (i == Integer.MAX_VALUE) - { - throw new RuntimeException("NPC name " + npc + " has been hidden Integer.MAX_VALUE times, is something wrong?"); - } - - hiddenNpcsName.put(npc, ++i); - } - - @Inject - @Override - public void removeHiddenNpcName(String npc) - { - npc = npc.toLowerCase(); - int i = hiddenNpcsName.getOrDefault(npc, 0); - if (i == 0) - { - return; - } - - hiddenNpcsName.put(npc, --i); - } - - @Inject - @Override - public void setPlayersHidden(boolean state) - { - hidePlayers = state; - } - - @Inject - @Override - public void setPlayersHidden2D(boolean state) - { - hidePlayers2D = state; - } - - @Inject - @Override - public void setHiddenNpcIndices(List npcIndices) - { - hiddenNpcIndices = npcIndices; - } - - @Inject - @Override - public List getHiddenNpcIndices() - { - return hiddenNpcIndices; - } } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java index 65ac82d094..6a07951e73 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/EntityHiderMixin.java @@ -25,10 +25,7 @@ */ package net.runelite.mixins; -import java.util.HashMap; -import java.util.Set; import net.runelite.api.mixins.*; -import net.runelite.api.util.Text; import net.runelite.rs.api.*; import java.util.List; @@ -42,12 +39,6 @@ public abstract class EntityHiderMixin implements RSScene @Shadow("isHidingEntities") private static boolean isHidingEntities; - @Shadow("hidePlayers") - private static boolean hidePlayers; - - @Shadow("hidePlayers2D") - private static boolean hidePlayers2D; - @Shadow("hideOthers") private static boolean hideOthers; @@ -72,18 +63,9 @@ public abstract class EntityHiderMixin implements RSScene @Shadow("hideNPCs") private static boolean hideNPCs; - @Shadow("hiddenNpcsName") - private static HashMap hiddenNpcsName; - - @Shadow("hiddenNpcsDeath") - private static HashMap hiddenNpcsDeath; - @Shadow("hideSpecificPlayers") private static List hideSpecificPlayers; - @Shadow("blacklistDeadNpcs") - private static Set blacklistDeadNpcs; - @Shadow("hideNPCs2D") private static boolean hideNPCs2D; @@ -99,9 +81,6 @@ public abstract class EntityHiderMixin implements RSScene @Shadow("hideDeadNPCs") private static boolean hideDeadNPCs; - @Shadow("hiddenNpcIndices") - private static List hiddenNpcIndices; - @Copy("newGameObject") @Replace("newGameObject") boolean copy$addEntityMarker(int var1, int var2, int var3, int var4, int var5, int x, int y, int var8, RSRenderable entity, int var10, boolean var11, long var12, int var13) @@ -143,10 +122,17 @@ public abstract class EntityHiderMixin implements RSScene if (entity instanceof RSPlayer) { - boolean local = drawingUI ? hideLocalPlayer2D : hideLocalPlayer; - boolean other = drawingUI ? hidePlayers2D : hidePlayers; - boolean isLocalPlayer = entity == client.getLocalPlayer(); RSPlayer player = (RSPlayer) entity; + RSPlayer local = client.getLocalPlayer(); + if (player.getName() == null) + { + return true; + } + + if (player == local) + { + return drawingUI ? !hideLocalPlayer2D : !hideLocalPlayer; + } for (String name : hideSpecificPlayers) { @@ -159,37 +145,33 @@ public abstract class EntityHiderMixin implements RSScene } } - if (isLocalPlayer ? local : other) + if (hideAttackers && player.getInteracting() == local) { - if (!hideAttackers) - { - if (player.getInteracting() == client.getLocalPlayer()) - { - return true; - } - } - - if (player.getName() == null) - { - // player.isFriend() and player.isClanMember() npe when the player has a null name - return false; - } - - return (!hideFriends && player.isFriend()) || - (!isLocalPlayer && !hideClanMates && player.isFriendsChatMember()); + return false; } - + + if (player.isFriend()) + { + return !hideFriends; + } + + if (player.isFriendsChatMember()) + { + return !hideClanMates; + } + if (client.getFriendManager().isIgnored(player.getRsName())) { return !hideIgnores; } - + + return drawingUI ? !hideOthers2D : !hideOthers; } else if (entity instanceof RSNPC) { RSNPC npc = (RSNPC) entity; - if (npc.getInteracting() == client.getLocalPlayer() && hideAttackers) + if (npc.isDead() && hideDeadNPCs) { return false; } @@ -199,31 +181,11 @@ public abstract class EntityHiderMixin implements RSScene return false; } - if (hideDeadNPCs && npc.getHealthRatio() == 0 && !blacklistDeadNpcs.contains(npc.getId())) + if (npc.getInteracting() == client.getLocalPlayer() && hideAttackers) { return false; } - if (npc.getName() != null && - hiddenNpcsName.getOrDefault(Text.standardize(npc.getName().toLowerCase()), 0) > 0) - { - return false; - } - - if (npc.getName() != null && npc.getHealthRatio() == 0 && - hiddenNpcsDeath.getOrDefault(Text.standardize(npc.getName().toLowerCase()), 0) > 0) - { - return false; - } - - for (Integer index : hiddenNpcIndices) - { - if (index != null && npc.getIndex() == index) - { - return false; - } - } - return drawingUI ? !hideNPCs2D : !hideNPCs; } else if (entity instanceof RSProjectile)