player-indicators: don't decorate non-player custom menu options
Splits the RUNELITE menu action into two actions: RUNELITE - general menu items. RUNELITE_PLAYER - menu items which target a player and have its identifier set to a player index. Then the player indicators plugin is changed to only decorate RUNELITE_PLAYER menu items.
This commit is contained in:
@@ -272,6 +272,11 @@ public enum MenuAction
|
|||||||
* Menu action for configuring runelite overlays.
|
* Menu action for configuring runelite overlays.
|
||||||
*/
|
*/
|
||||||
RUNELITE_OVERLAY_CONFIG(1502),
|
RUNELITE_OVERLAY_CONFIG(1502),
|
||||||
|
/**
|
||||||
|
* Menu action injected by runelite for menu items which target
|
||||||
|
* a player and have its identifier set to a player index.
|
||||||
|
*/
|
||||||
|
RUNELITE_PLAYER(1503),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Menu action triggered when the id is not defined in this class.
|
* Menu action triggered when the id is not defined in this class.
|
||||||
|
|||||||
@@ -253,9 +253,10 @@ public class MenuManager
|
|||||||
@Subscribe
|
@Subscribe
|
||||||
public void onMenuOptionClicked(MenuOptionClicked event)
|
public void onMenuOptionClicked(MenuOptionClicked event)
|
||||||
{
|
{
|
||||||
if (event.getMenuAction() != MenuAction.RUNELITE)
|
if (event.getMenuAction() != MenuAction.RUNELITE
|
||||||
|
&& event.getMenuAction() != MenuAction.RUNELITE_PLAYER)
|
||||||
{
|
{
|
||||||
return; // not a player menu
|
return; // not a managed widget option or custom player option
|
||||||
}
|
}
|
||||||
|
|
||||||
int widgetId = event.getWidgetId();
|
int widgetId = event.getWidgetId();
|
||||||
@@ -294,7 +295,7 @@ public class MenuManager
|
|||||||
{
|
{
|
||||||
client.getPlayerOptions()[playerOptionIndex] = menuText;
|
client.getPlayerOptions()[playerOptionIndex] = menuText;
|
||||||
client.getPlayerOptionsPriorities()[playerOptionIndex] = true;
|
client.getPlayerOptionsPriorities()[playerOptionIndex] = true;
|
||||||
client.getPlayerMenuTypes()[playerOptionIndex] = MenuAction.RUNELITE.getId();
|
client.getPlayerMenuTypes()[playerOptionIndex] = MenuAction.RUNELITE_PLAYER.getId();
|
||||||
|
|
||||||
playerMenuIndexMap.put(playerOptionIndex, menuText);
|
playerMenuIndexMap.put(playerOptionIndex, menuText);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ public class PlayerIndicatorsPlugin extends Plugin
|
|||||||
|| type == PLAYER_SIXTH_OPTION.getId()
|
|| type == PLAYER_SIXTH_OPTION.getId()
|
||||||
|| type == PLAYER_SEVENTH_OPTION.getId()
|
|| type == PLAYER_SEVENTH_OPTION.getId()
|
||||||
|| type == PLAYER_EIGTH_OPTION.getId()
|
|| type == PLAYER_EIGTH_OPTION.getId()
|
||||||
|| type == RUNELITE.getId())
|
|| type == RUNELITE_PLAYER.getId())
|
||||||
{
|
{
|
||||||
Player[] players = client.getCachedPlayers();
|
Player[] players = client.getCachedPlayers();
|
||||||
Player player = null;
|
Player player = null;
|
||||||
|
|||||||
@@ -67,7 +67,7 @@ public class MenuManagerTest
|
|||||||
public void testPlayerMenuOptionClicked()
|
public void testPlayerMenuOptionClicked()
|
||||||
{
|
{
|
||||||
MenuOptionClicked event = new MenuOptionClicked();
|
MenuOptionClicked event = new MenuOptionClicked();
|
||||||
event.setMenuAction(MenuAction.RUNELITE);
|
event.setMenuAction(MenuAction.RUNELITE_PLAYER);
|
||||||
event.setMenuTarget("username<col=40ff00> (level-42)");
|
event.setMenuTarget("username<col=40ff00> (level-42)");
|
||||||
|
|
||||||
menuManager.onMenuOptionClicked(event);
|
menuManager.onMenuOptionClicked(event);
|
||||||
@@ -82,7 +82,7 @@ public class MenuManagerTest
|
|||||||
public void testPlayerMenuOptionWithBountyHunterEmblemClicked()
|
public void testPlayerMenuOptionWithBountyHunterEmblemClicked()
|
||||||
{
|
{
|
||||||
MenuOptionClicked event = new MenuOptionClicked();
|
MenuOptionClicked event = new MenuOptionClicked();
|
||||||
event.setMenuAction(MenuAction.RUNELITE);
|
event.setMenuAction(MenuAction.RUNELITE_PLAYER);
|
||||||
event.setMenuTarget("username<img=20>5<col=40ff00> (level-42)");
|
event.setMenuTarget("username<img=20>5<col=40ff00> (level-42)");
|
||||||
|
|
||||||
menuManager.onMenuOptionClicked(event);
|
menuManager.onMenuOptionClicked(event);
|
||||||
|
|||||||
Reference in New Issue
Block a user