test_class.declarator: client
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	Client client;
test_class.type: Client
test_class.var_name: client
test_class.declarator: configManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ConfigManager configManager;
test_class.type: ConfigManager
test_class.var_name: configManager
test_class.declarator: itemManager
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	ItemManager itemManager;
test_class.type: ItemManager
test_class.var_name: itemManager
test_class.declarator: config
test_class.modifier: @Mock
  	@Bind
test_class.original_string: @Mock
  	@Bind
  	MenuEntrySwapperConfig config;
test_class.type: MenuEntrySwapperConfig
test_class.var_name: config
test_class.declarator: menuEntrySwapperPlugin
test_class.modifier: @Inject
test_class.original_string: @Inject
  	MenuEntrySwapperPlugin menuEntrySwapperPlugin;
test_class.type: MenuEntrySwapperPlugin
test_class.var_name: menuEntrySwapperPlugin
test_class.declarator: entries
test_class.modifier: private
test_class.original_string: private MenuEntry[] entries;
test_class.type: MenuEntry[]
test_class.var_name: entries
test_class.file: runelite-client/src/test/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPluginTest.java
test_class.identifier: MenuEntrySwapperPluginTest
test_case.body: @Test
  	public void testTeleport()
  	{
  		when(config.swapTeleportSpell()).thenReturn(true);
  		when(client.isKeyPressed(KeyCode.KC_SHIFT)).thenReturn(true);
  
  		// Cast -> Grand Exchange
  		entries = new MenuEntry[]{
  			menu("Cancel", "", MenuAction.CANCEL),
  
  			menu("Configure", "Varrock Teleport", MenuAction.WIDGET_THIRD_OPTION),
  			menu("Grand Exchange", "Varrock Teleport", MenuAction.WIDGET_SECOND_OPTION),
  			menu("Cast", "Varrock Teleport", MenuAction.WIDGET_FIRST_OPTION),
  		};
  
  		menuEntrySwapperPlugin.onClientTick(new ClientTick());
  
  		ArgumentCaptor<MenuEntry[]> argumentCaptor = ArgumentCaptor.forClass(MenuEntry[].class);
  		verify(client).setMenuEntries(argumentCaptor.capture());
  
  		assertArrayEquals(new MenuEntry[]{
  			menu("Cancel", "", MenuAction.CANCEL),
  
  			menu("Configure", "Varrock Teleport", MenuAction.WIDGET_THIRD_OPTION),
  			menu("Cast", "Varrock Teleport", MenuAction.WIDGET_FIRST_OPTION),
  			menu("Grand Exchange", "Varrock Teleport", MenuAction.WIDGET_SECOND_OPTION),
  		}, argumentCaptor.getValue());
  
  		clearInvocations(client);
  
  		// Grand Exchange -> Cast
  		entries = new MenuEntry[]{
  			menu("Cancel", "", MenuAction.CANCEL),
  
  			menu("Configure", "Varrock Teleport", MenuAction.WIDGET_THIRD_OPTION),
  			menu("Cast", "Varrock Teleport", MenuAction.WIDGET_SECOND_OPTION),
  			menu("Grand Exchange", "Varrock Teleport", MenuAction.WIDGET_FIRST_OPTION),
  		};
  
  		menuEntrySwapperPlugin.onClientTick(new ClientTick());
  
  		argumentCaptor = ArgumentCaptor.forClass(MenuEntry[].class);
  		verify(client).setMenuEntries(argumentCaptor.capture());
  
  		assertArrayEquals(new MenuEntry[]{
  			menu("Cancel", "", MenuAction.CANCEL),
  
  			menu("Configure", "Varrock Teleport", MenuAction.WIDGET_THIRD_OPTION),
  			menu("Grand Exchange", "Varrock Teleport", MenuAction.WIDGET_FIRST_OPTION),
  			menu("Cast", "Varrock Teleport", MenuAction.WIDGET_SECOND_OPTION),
  		}, argumentCaptor.getValue());
  	}
test_case.class_method_signature: MenuEntrySwapperPluginTest.testTeleport()
test_case.full_signature: @Test public void testTeleport()
test_case.identifier: testTeleport
test_case.invocations: thenReturn when swapTeleportSpell thenReturn when isKeyPressed menu menu menu menu onClientTick forClass setMenuEntries verify capture assertArrayEquals menu menu menu menu getValue clearInvocations menu menu menu menu onClientTick forClass setMenuEntries verify capture assertArrayEquals menu menu menu menu getValue
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testTeleport()
focal_class.declarator: CONFIGURE = "Configure"
focal_class.modifier: private static final
focal_class.original_string: private static final String CONFIGURE = "Configure";
focal_class.type: String
focal_class.var_name: CONFIGURE
focal_class.declarator: SAVE = "Save"
focal_class.modifier: private static final
focal_class.original_string: private static final String SAVE = "Save";
focal_class.type: String
focal_class.var_name: SAVE
focal_class.declarator: RESET = "Reset"
focal_class.modifier: private static final
focal_class.original_string: private static final String RESET = "Reset";
focal_class.type: String
focal_class.var_name: RESET
focal_class.declarator: MENU_TARGET = "Shift-click"
focal_class.modifier: private static final
focal_class.original_string: private static final String MENU_TARGET = "Shift-click";
focal_class.type: String
focal_class.var_name: MENU_TARGET
focal_class.declarator: SHIFTCLICK_CONFIG_GROUP = "shiftclick"
focal_class.modifier: private static final
focal_class.original_string: private static final String SHIFTCLICK_CONFIG_GROUP = "shiftclick";
focal_class.type: String
focal_class.var_name: SHIFTCLICK_CONFIG_GROUP
focal_class.declarator: ITEM_KEY_PREFIX = "item_"
focal_class.modifier: private static final
focal_class.original_string: private static final String ITEM_KEY_PREFIX = "item_";
focal_class.type: String
focal_class.var_name: ITEM_KEY_PREFIX
focal_class.declarator: FIXED_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
  		MENU_TARGET, WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB)
focal_class.modifier: private static final
focal_class.original_string: private static final WidgetMenuOption FIXED_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
  		MENU_TARGET, WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB);
focal_class.type: WidgetMenuOption
focal_class.var_name: FIXED_INVENTORY_TAB_CONFIGURE
focal_class.declarator: FIXED_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
  		MENU_TARGET, WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB)
focal_class.modifier: private static final
focal_class.original_string: private static final WidgetMenuOption FIXED_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
  		MENU_TARGET, WidgetInfo.FIXED_VIEWPORT_INVENTORY_TAB);
focal_class.type: WidgetMenuOption
focal_class.var_name: FIXED_INVENTORY_TAB_SAVE
focal_class.declarator: RESIZABLE_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_INVENTORY_TAB)
focal_class.modifier: private static final
focal_class.original_string: private static final WidgetMenuOption RESIZABLE_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_INVENTORY_TAB);
focal_class.type: WidgetMenuOption
focal_class.var_name: RESIZABLE_INVENTORY_TAB_CONFIGURE
focal_class.declarator: RESIZABLE_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_INVENTORY_TAB)
focal_class.modifier: private static final
focal_class.original_string: private static final WidgetMenuOption RESIZABLE_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_INVENTORY_TAB);
focal_class.type: WidgetMenuOption
focal_class.var_name: RESIZABLE_INVENTORY_TAB_SAVE
focal_class.declarator: RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_TAB)
focal_class.modifier: private static final
focal_class.original_string: private static final WidgetMenuOption RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_CONFIGURE = new WidgetMenuOption(CONFIGURE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_TAB);
focal_class.type: WidgetMenuOption
focal_class.var_name: RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_CONFIGURE
focal_class.declarator: RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_TAB)
focal_class.modifier: private static final
focal_class.original_string: private static final WidgetMenuOption RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_SAVE = new WidgetMenuOption(SAVE,
  		MENU_TARGET, WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_INVENTORY_TAB);
focal_class.type: WidgetMenuOption
focal_class.var_name: RESIZABLE_BOTTOM_LINE_INVENTORY_TAB_SAVE
focal_class.declarator: NPC_MENU_TYPES = ImmutableSet.of(
  		MenuAction.NPC_FIRST_OPTION,
  		MenuAction.NPC_SECOND_OPTION,
  		MenuAction.NPC_THIRD_OPTION,
  		MenuAction.NPC_FOURTH_OPTION,
  		MenuAction.NPC_FIFTH_OPTION,
  		MenuAction.EXAMINE_NPC)
focal_class.modifier: private static final
focal_class.original_string: private static final Set<MenuAction> NPC_MENU_TYPES = ImmutableSet.of(
  		MenuAction.NPC_FIRST_OPTION,
  		MenuAction.NPC_SECOND_OPTION,
  		MenuAction.NPC_THIRD_OPTION,
  		MenuAction.NPC_FOURTH_OPTION,
  		MenuAction.NPC_FIFTH_OPTION,
  		MenuAction.EXAMINE_NPC);
focal_class.type: Set<MenuAction>
focal_class.var_name: NPC_MENU_TYPES
focal_class.declarator: ESSENCE_MINE_NPCS = ImmutableSet.of(
  		"aubury",
  		"wizard sedridor",
  		"wizard distentor",
  		"wizard cromperty",
  		"brimstail"
  	)
focal_class.modifier: private static final
focal_class.original_string: private static final Set<String> ESSENCE_MINE_NPCS = ImmutableSet.of(
  		"aubury",
  		"wizard sedridor",
  		"wizard distentor",
  		"wizard cromperty",
  		"brimstail"
  	);
focal_class.type: Set<String>
focal_class.var_name: ESSENCE_MINE_NPCS
focal_class.declarator: client
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private Client client;
focal_class.type: Client
focal_class.var_name: client
focal_class.declarator: clientThread
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ClientThread clientThread;
focal_class.type: ClientThread
focal_class.var_name: clientThread
focal_class.declarator: config
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private MenuEntrySwapperConfig config;
focal_class.type: MenuEntrySwapperConfig
focal_class.var_name: config
focal_class.declarator: configManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ConfigManager configManager;
focal_class.type: ConfigManager
focal_class.var_name: configManager
focal_class.declarator: keyManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private KeyManager keyManager;
focal_class.type: KeyManager
focal_class.var_name: keyManager
focal_class.declarator: menuManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private MenuManager menuManager;
focal_class.type: MenuManager
focal_class.var_name: menuManager
focal_class.declarator: itemManager
focal_class.modifier: @Inject
  	private
focal_class.original_string: @Inject
  	private ItemManager itemManager;
focal_class.type: ItemManager
focal_class.var_name: itemManager
focal_class.declarator: configuringShiftClick = false
focal_class.modifier: @Getter
  	private
focal_class.original_string: @Getter
  	private boolean configuringShiftClick = false;
focal_class.type: boolean
focal_class.var_name: configuringShiftClick
focal_class.declarator: swaps = LinkedHashMultimap.create()
focal_class.modifier: private final
focal_class.original_string: private final Multimap<String, Swap> swaps = LinkedHashMultimap.create();
focal_class.type: Multimap<String, Swap>
focal_class.var_name: swaps
focal_class.declarator: optionIndexes = ArrayListMultimap.create()
focal_class.modifier: private final
focal_class.original_string: private final ArrayListMultimap<String, Integer> optionIndexes = ArrayListMultimap.create();
focal_class.type: ArrayListMultimap<String, Integer>
focal_class.var_name: optionIndexes
focal_class.file: runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java
focal_class.identifier: MenuEntrySwapperPlugin
focal_class.class_method_signature: MenuEntrySwapperPlugin.provideConfig(ConfigManager configManager)
focal_class.full_signature: @Provides MenuEntrySwapperConfig provideConfig(ConfigManager configManager)
focal_class.identifier: provideConfig
focal_class.modifiers: @Provides
focal_class.parameters: (ConfigManager configManager)
focal_class.return: MenuEntrySwapperConfig
focal_class.signature: MenuEntrySwapperConfig provideConfig(ConfigManager configManager)
focal_class.class_method_signature: MenuEntrySwapperPlugin.startUp()
focal_class.full_signature: @Override public void startUp()
focal_class.identifier: startUp
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void startUp()
focal_class.class_method_signature: MenuEntrySwapperPlugin.shutDown()
focal_class.full_signature: @Override public void shutDown()
focal_class.identifier: shutDown
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void shutDown()
focal_class.class_method_signature: MenuEntrySwapperPlugin.setupSwaps()
focal_class.full_signature: @VisibleForTesting void setupSwaps()
focal_class.identifier: setupSwaps
focal_class.modifiers: @VisibleForTesting
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void setupSwaps()
focal_class.class_method_signature: MenuEntrySwapperPlugin.swap(String option, String swappedOption, Supplier<Boolean> enabled)
focal_class.full_signature: private void swap(String option, String swappedOption, Supplier<Boolean> enabled)
focal_class.identifier: swap
focal_class.modifiers: private
focal_class.parameters: (String option, String swappedOption, Supplier<Boolean> enabled)
focal_class.return: void
focal_class.signature: void swap(String option, String swappedOption, Supplier<Boolean> enabled)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swap(String option, String target, String swappedOption, Supplier<Boolean> enabled)
focal_class.full_signature: private void swap(String option, String target, String swappedOption, Supplier<Boolean> enabled)
focal_class.identifier: swap
focal_class.modifiers: private
focal_class.parameters: (String option, String target, String swappedOption, Supplier<Boolean> enabled)
focal_class.return: void
focal_class.signature: void swap(String option, String target, String swappedOption, Supplier<Boolean> enabled)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swap(String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.full_signature: private void swap(String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.identifier: swap
focal_class.modifiers: private
focal_class.parameters: (String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.return: void
focal_class.signature: void swap(String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swapContains(String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.full_signature: private void swapContains(String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.identifier: swapContains
focal_class.modifiers: private
focal_class.parameters: (String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.return: void
focal_class.signature: void swapContains(String option, Predicate<String> targetPredicate, String swappedOption, Supplier<Boolean> enabled)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swapTeleport(String option, String swappedOption)
focal_class.full_signature: private void swapTeleport(String option, String swappedOption)
focal_class.identifier: swapTeleport
focal_class.modifiers: private
focal_class.parameters: (String option, String swappedOption)
focal_class.return: void
focal_class.signature: void swapTeleport(String option, String swappedOption)
focal_class.class_method_signature: MenuEntrySwapperPlugin.onConfigChanged(ConfigChanged event)
focal_class.full_signature: @Subscribe public void onConfigChanged(ConfigChanged event)
focal_class.identifier: onConfigChanged
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ConfigChanged event)
focal_class.return: void
focal_class.signature: void onConfigChanged(ConfigChanged event)
focal_class.class_method_signature: MenuEntrySwapperPlugin.resetItemCompositionCache()
focal_class.full_signature: private void resetItemCompositionCache()
focal_class.identifier: resetItemCompositionCache
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void resetItemCompositionCache()
focal_class.class_method_signature: MenuEntrySwapperPlugin.getSwapConfig(int itemId)
focal_class.full_signature: private Integer getSwapConfig(int itemId)
focal_class.identifier: getSwapConfig
focal_class.modifiers: private
focal_class.parameters: (int itemId)
focal_class.return: Integer
focal_class.signature: Integer getSwapConfig(int itemId)
focal_class.class_method_signature: MenuEntrySwapperPlugin.setSwapConfig(int itemId, int index)
focal_class.full_signature: private void setSwapConfig(int itemId, int index)
focal_class.identifier: setSwapConfig
focal_class.modifiers: private
focal_class.parameters: (int itemId, int index)
focal_class.return: void
focal_class.signature: void setSwapConfig(int itemId, int index)
focal_class.class_method_signature: MenuEntrySwapperPlugin.unsetSwapConfig(int itemId)
focal_class.full_signature: private void unsetSwapConfig(int itemId)
focal_class.identifier: unsetSwapConfig
focal_class.modifiers: private
focal_class.parameters: (int itemId)
focal_class.return: void
focal_class.signature: void unsetSwapConfig(int itemId)
focal_class.class_method_signature: MenuEntrySwapperPlugin.enableCustomization()
focal_class.full_signature: private void enableCustomization()
focal_class.identifier: enableCustomization
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void enableCustomization()
focal_class.class_method_signature: MenuEntrySwapperPlugin.disableCustomization()
focal_class.full_signature: private void disableCustomization()
focal_class.identifier: disableCustomization
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void disableCustomization()
focal_class.class_method_signature: MenuEntrySwapperPlugin.onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
focal_class.full_signature: @Subscribe public void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
focal_class.identifier: onWidgetMenuOptionClicked
focal_class.modifiers: @Subscribe public
focal_class.parameters: (WidgetMenuOptionClicked event)
focal_class.return: void
focal_class.signature: void onWidgetMenuOptionClicked(WidgetMenuOptionClicked event)
focal_class.class_method_signature: MenuEntrySwapperPlugin.onMenuOpened(MenuOpened event)
focal_class.full_signature: @Subscribe public void onMenuOpened(MenuOpened event)
focal_class.identifier: onMenuOpened
focal_class.modifiers: @Subscribe public
focal_class.parameters: (MenuOpened event)
focal_class.return: void
focal_class.signature: void onMenuOpened(MenuOpened event)
focal_class.class_method_signature: MenuEntrySwapperPlugin.onMenuEntryAdded(MenuEntryAdded menuEntryAdded)
focal_class.full_signature: @Subscribe public void onMenuEntryAdded(MenuEntryAdded menuEntryAdded)
focal_class.identifier: onMenuEntryAdded
focal_class.modifiers: @Subscribe public
focal_class.parameters: (MenuEntryAdded menuEntryAdded)
focal_class.return: void
focal_class.signature: void onMenuEntryAdded(MenuEntryAdded menuEntryAdded)
focal_class.class_method_signature: MenuEntrySwapperPlugin.bankModeSwap(int entryTypeId, int entryIdentifier)
focal_class.full_signature: private void bankModeSwap(int entryTypeId, int entryIdentifier)
focal_class.identifier: bankModeSwap
focal_class.modifiers: private
focal_class.parameters: (int entryTypeId, int entryIdentifier)
focal_class.return: void
focal_class.signature: void bankModeSwap(int entryTypeId, int entryIdentifier)
focal_class.class_method_signature: MenuEntrySwapperPlugin.onMenuOptionClicked(MenuOptionClicked event)
focal_class.full_signature: @Subscribe public void onMenuOptionClicked(MenuOptionClicked event)
focal_class.identifier: onMenuOptionClicked
focal_class.modifiers: @Subscribe public
focal_class.parameters: (MenuOptionClicked event)
focal_class.return: void
focal_class.signature: void onMenuOptionClicked(MenuOptionClicked event)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swapMenuEntry(int index, MenuEntry menuEntry)
focal_class.full_signature: private void swapMenuEntry(int index, MenuEntry menuEntry)
focal_class.identifier: swapMenuEntry
focal_class.modifiers: private
focal_class.parameters: (int index, MenuEntry menuEntry)
focal_class.return: void
focal_class.signature: void swapMenuEntry(int index, MenuEntry menuEntry)
focal_class.class_method_signature: MenuEntrySwapperPlugin.onClientTick(ClientTick clientTick)
focal_class.full_signature: @Subscribe public void onClientTick(ClientTick clientTick)
focal_class.identifier: onClientTick
focal_class.modifiers: @Subscribe public
focal_class.parameters: (ClientTick clientTick)
focal_class.return: void
focal_class.signature: void onClientTick(ClientTick clientTick)
focal_class.class_method_signature: MenuEntrySwapperPlugin.onPostItemComposition(PostItemComposition event)
focal_class.full_signature: @Subscribe public void onPostItemComposition(PostItemComposition event)
focal_class.identifier: onPostItemComposition
focal_class.modifiers: @Subscribe public
focal_class.parameters: (PostItemComposition event)
focal_class.return: void
focal_class.signature: void onPostItemComposition(PostItemComposition event)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swap(String option, String target, int index, boolean strict)
focal_class.full_signature: private boolean swap(String option, String target, int index, boolean strict)
focal_class.identifier: swap
focal_class.modifiers: private
focal_class.parameters: (String option, String target, int index, boolean strict)
focal_class.return: boolean
focal_class.signature: boolean swap(String option, String target, int index, boolean strict)
focal_class.class_method_signature: MenuEntrySwapperPlugin.findIndex(MenuEntry[] entries, int limit, String option, String target, boolean strict)
focal_class.full_signature: private int findIndex(MenuEntry[] entries, int limit, String option, String target, boolean strict)
focal_class.identifier: findIndex
focal_class.modifiers: private
focal_class.parameters: (MenuEntry[] entries, int limit, String option, String target, boolean strict)
focal_class.return: int
focal_class.signature: int findIndex(MenuEntry[] entries, int limit, String option, String target, boolean strict)
focal_class.class_method_signature: MenuEntrySwapperPlugin.swap(ArrayListMultimap<String, Integer> optionIndexes, MenuEntry[] entries, int index1, int index2)
focal_class.full_signature: private void swap(ArrayListMultimap<String, Integer> optionIndexes, MenuEntry[] entries, int index1, int index2)
focal_class.identifier: swap
focal_class.modifiers: private
focal_class.parameters: (ArrayListMultimap<String, Integer> optionIndexes, MenuEntry[] entries, int index1, int index2)
focal_class.return: void
focal_class.signature: void swap(ArrayListMultimap<String, Integer> optionIndexes, MenuEntry[] entries, int index1, int index2)
focal_class.class_method_signature: MenuEntrySwapperPlugin.sortedInsert(List<T> list, T value)
focal_class.full_signature: private static void sortedInsert(List<T> list, T value)
focal_class.identifier: sortedInsert
focal_class.modifiers: private static
focal_class.parameters: (List<T> list, T value)
focal_class.return: void
focal_class.signature: void sortedInsert(List<T> list, T value)
focal_class.class_method_signature: MenuEntrySwapperPlugin.removeShiftClickCustomizationMenus()
focal_class.full_signature: private void removeShiftClickCustomizationMenus()
focal_class.identifier: removeShiftClickCustomizationMenus
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeShiftClickCustomizationMenus()
focal_class.class_method_signature: MenuEntrySwapperPlugin.refreshShiftClickCustomizationMenus()
focal_class.full_signature: private void refreshShiftClickCustomizationMenus()
focal_class.identifier: refreshShiftClickCustomizationMenus
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void refreshShiftClickCustomizationMenus()
focal_class.class_method_signature: MenuEntrySwapperPlugin.shiftModifier()
focal_class.full_signature: private boolean shiftModifier()
focal_class.identifier: shiftModifier
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean shiftModifier()
focal_class.superclass: extends Plugin
focal_method.body: @Subscribe
  	public void onClientTick(ClientTick clientTick)
  	{
  		// The menu is not rebuilt when it is open, so don't swap or else it will
  		// repeatedly swap entries
  		if (client.getGameState() != GameState.LOGGED_IN || client.isMenuOpen())
  		{
  			return;
  		}
  
  		MenuEntry[] menuEntries = client.getMenuEntries();
  
  		// Build option map for quick lookup in findIndex
  		int idx = 0;
  		optionIndexes.clear();
  		for (MenuEntry entry : menuEntries)
  		{
  			String option = Text.removeTags(entry.getOption()).toLowerCase();
  			optionIndexes.put(option, idx++);
  		}
  
  		// Perform swaps
  		idx = 0;
  		for (MenuEntry entry : menuEntries)
  		{
  			swapMenuEntry(idx++, entry);
  		}
  	}
focal_method.class_method_signature: MenuEntrySwapperPlugin.onClientTick(ClientTick clientTick)
focal_method.full_signature: @Subscribe public void onClientTick(ClientTick clientTick)
focal_method.identifier: onClientTick
focal_method.invocations: getGameState isMenuOpen getMenuEntries clear toLowerCase removeTags getOption put swapMenuEntry
focal_method.modifiers: @Subscribe public
focal_method.parameters: (ClientTick clientTick)
focal_method.return: void
focal_method.signature: void onClientTick(ClientTick clientTick)