entity hider: add option to hide ignored players

This is diabled in pvp to avoid abuse. This additionally allows the
"hide" options to be set without hiding others now.
This commit is contained in:
Adam
2021-02-13 09:50:12 -05:00
parent 5545b9d0ad
commit 77757229a5
3 changed files with 45 additions and 48 deletions

View File

@@ -1475,7 +1475,7 @@ public interface Client extends GameEngine
* *
* @param state the new player hidden state * @param state the new player hidden state
*/ */
void setPlayersHidden(boolean state); void setOthersHidden(boolean state);
/** /**
* Sets whether 2D sprites related to the other players are hidden. * Sets whether 2D sprites related to the other players are hidden.
@@ -1483,7 +1483,7 @@ public interface Client extends GameEngine
* *
* @param state the new player 2D hidden state * @param state the new player 2D hidden state
*/ */
void setPlayersHidden2D(boolean state); void setOthersHidden2D(boolean state);
/** /**
* Sets whether or not friends are hidden. * Sets whether or not friends are hidden.
@@ -1499,6 +1499,13 @@ public interface Client extends GameEngine
*/ */
void setFriendsChatMembersHidden(boolean state); void setFriendsChatMembersHidden(boolean state);
/**
* Sets whether or not ignored players are hidden.
*
* @param state the new ignored player hidden state
*/
void setIgnoresHidden(boolean state);
/** /**
* Sets whether the local player is hidden. * Sets whether the local player is hidden.
* *

View File

@@ -29,16 +29,18 @@ import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem; import net.runelite.client.config.ConfigItem;
@ConfigGroup("entityhider") @ConfigGroup(EntityHiderConfig.GROUP)
public interface EntityHiderConfig extends Config public interface EntityHiderConfig extends Config
{ {
String GROUP = "entityhider";
@ConfigItem( @ConfigItem(
position = 1, position = 1,
keyName = "hidePlayers", keyName = "hidePlayers",
name = "Hide Players", name = "Hide Others",
description = "Configures whether or not players are hidden" description = "Configures whether or not other players are hidden"
) )
default boolean hidePlayers() default boolean hideOthers()
{ {
return true; return true;
} }
@@ -46,10 +48,10 @@ public interface EntityHiderConfig extends Config
@ConfigItem( @ConfigItem(
position = 2, position = 2,
keyName = "hidePlayers2D", keyName = "hidePlayers2D",
name = "Hide Players 2D", name = "Hide Others 2D",
description = "Configures whether or not players 2D elements are hidden" description = "Configures whether or not other players 2D elements are hidden"
) )
default boolean hidePlayers2D() default boolean hideOthers2D()
{ {
return true; return true;
} }
@@ -78,6 +80,17 @@ public interface EntityHiderConfig extends Config
@ConfigItem( @ConfigItem(
position = 5, position = 5,
keyName = "hideIgnores",
name = "Hide Ignores",
description = "Configures whether or not ignored players are hidden"
)
default boolean hideIgnores()
{
return false;
}
@ConfigItem(
position = 6,
keyName = "hideLocalPlayer", keyName = "hideLocalPlayer",
name = "Hide Local Player", name = "Hide Local Player",
description = "Configures whether or not the local player is hidden" description = "Configures whether or not the local player is hidden"
@@ -88,7 +101,7 @@ public interface EntityHiderConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 6, position = 7,
keyName = "hideLocalPlayer2D", keyName = "hideLocalPlayer2D",
name = "Hide Local Player 2D", name = "Hide Local Player 2D",
description = "Configures whether or not the local player's 2D elements are hidden" description = "Configures whether or not the local player's 2D elements are hidden"
@@ -99,7 +112,7 @@ public interface EntityHiderConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 7, position = 8,
keyName = "hideNPCs", keyName = "hideNPCs",
name = "Hide NPCs", name = "Hide NPCs",
description = "Configures whether or not NPCs are hidden" description = "Configures whether or not NPCs are hidden"
@@ -110,7 +123,7 @@ public interface EntityHiderConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 8, position = 9,
keyName = "hideNPCs2D", keyName = "hideNPCs2D",
name = "Hide NPCs 2D", name = "Hide NPCs 2D",
description = "Configures whether or not NPCs 2D elements are hidden" description = "Configures whether or not NPCs 2D elements are hidden"
@@ -121,7 +134,7 @@ public interface EntityHiderConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 9, position = 10,
keyName = "hidePets", keyName = "hidePets",
name = "Hide Pets", name = "Hide Pets",
description = "Configures whether or not other player pets are hidden" description = "Configures whether or not other player pets are hidden"
@@ -132,7 +145,7 @@ public interface EntityHiderConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 10, position = 11,
keyName = "hideAttackers", keyName = "hideAttackers",
name = "Hide Attackers", name = "Hide Attackers",
description = "Configures whether or not NPCs/players attacking you are hidden" description = "Configures whether or not NPCs/players attacking you are hidden"
@@ -143,7 +156,7 @@ public interface EntityHiderConfig extends Config
} }
@ConfigItem( @ConfigItem(
position = 11, position = 12,
keyName = "hideProjectiles", keyName = "hideProjectiles",
name = "Hide Projectiles", name = "Hide Projectiles",
description = "Configures whether or not projectiles are hidden" description = "Configures whether or not projectiles are hidden"

View File

@@ -28,13 +28,9 @@ package net.runelite.client.plugins.entityhider;
import com.google.inject.Provides; import com.google.inject.Provides;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.Player;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe; import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ConfigChanged;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
@@ -67,27 +63,22 @@ public class EntityHiderPlugin extends Plugin
@Subscribe @Subscribe
public void onConfigChanged(ConfigChanged e) public void onConfigChanged(ConfigChanged e)
{ {
updateConfig(); if (e.getGroup().equals(EntityHiderConfig.GROUP))
}
@Subscribe
public void onGameStateChanged(GameStateChanged event)
{
if (event.getGameState() == GameState.LOGGED_IN)
{ {
client.setIsHidingEntities(isPlayerRegionAllowed()); updateConfig();
} }
} }
private void updateConfig() private void updateConfig()
{ {
client.setIsHidingEntities(isPlayerRegionAllowed()); client.setIsHidingEntities(true);
client.setPlayersHidden(config.hidePlayers()); client.setOthersHidden(config.hideOthers());
client.setPlayersHidden2D(config.hidePlayers2D()); client.setOthersHidden2D(config.hideOthers2D());
client.setFriendsHidden(config.hideFriends()); client.setFriendsHidden(config.hideFriends());
client.setFriendsChatMembersHidden(config.hideFriendsChatMembers()); client.setFriendsChatMembersHidden(config.hideFriendsChatMembers());
client.setIgnoresHidden(config.hideIgnores());
client.setLocalPlayerHidden(config.hideLocalPlayer()); client.setLocalPlayerHidden(config.hideLocalPlayer());
client.setLocalPlayerHidden2D(config.hideLocalPlayer2D()); client.setLocalPlayerHidden2D(config.hideLocalPlayer2D());
@@ -107,11 +98,12 @@ public class EntityHiderPlugin extends Plugin
{ {
client.setIsHidingEntities(false); client.setIsHidingEntities(false);
client.setPlayersHidden(false); client.setOthersHidden(false);
client.setPlayersHidden2D(false); client.setOthersHidden2D(false);
client.setFriendsHidden(false); client.setFriendsHidden(false);
client.setFriendsChatMembersHidden(false); client.setFriendsChatMembersHidden(false);
client.setIgnoresHidden(false);
client.setLocalPlayerHidden(false); client.setLocalPlayerHidden(false);
client.setLocalPlayerHidden2D(false); client.setLocalPlayerHidden2D(false);
@@ -125,19 +117,4 @@ public class EntityHiderPlugin extends Plugin
client.setProjectilesHidden(false); client.setProjectilesHidden(false);
} }
private boolean isPlayerRegionAllowed()
{
final Player localPlayer = client.getLocalPlayer();
if (localPlayer == null)
{
return true;
}
final int playerRegionID = WorldPoint.fromLocalInstance(client, localPlayer.getLocalLocation()).getRegionID();
// 9520 = Castle Wars
return playerRegionID != 9520;
}
} }