From db917454e873aa11511ab73f6808a6570b636aed Mon Sep 17 00:00:00 2001 From: Jordan Atwood Date: Tue, 23 Jun 2020 21:49:16 -0700 Subject: [PATCH] menuentryswapper: Fix birdhouse swap --- .../MenuEntrySwapperPlugin.java | 2 +- .../MenuEntrySwapperPluginTest.java | 31 +++++++++++++++++++ 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java index 59d971e57c..6353eebe11 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPlugin.java @@ -252,7 +252,7 @@ public class MenuEntrySwapperPlugin extends Plugin swap("pick-up", "chase", config::swapChase); - swap("interact", "birdhouse", "empty", config::swapBirdhouseEmpty); + swap("interact", target -> target.endsWith("birdhouse"), "empty", config::swapBirdhouseEmpty); swap("enter", "the gauntlet", "enter-corrupted", config::swapGauntlet); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPluginTest.java index 851e09c6f5..b1f77c708a 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/menuentryswapper/MenuEntrySwapperPluginTest.java @@ -366,4 +366,35 @@ public class MenuEntrySwapperPluginTest menu("Deposit-All", "Rune arrow", MenuAction.CC_OP, 8), }, argumentCaptor.getValue()); } + + @Test + public void testBirdhouse() + { + when(config.swapBirdhouseEmpty()).thenReturn(true); + + entries = new MenuEntry[]{ + menu("Cancel", "", MenuAction.CANCEL), + menu("Examine", "Redwood birdhouse", MenuAction.EXAMINE_OBJECT), + menu("Walk here", "", MenuAction.WALK), + + menu("Empty", "Redwood birdhouse", MenuAction.GAME_OBJECT_THIRD_OPTION), + menu("Seeds", "Redwood birdhouse", MenuAction.GAME_OBJECT_SECOND_OPTION), + menu("Interact", "Redwood birdhouse", MenuAction.GAME_OBJECT_FIRST_OPTION), + }; + + menuEntrySwapperPlugin.onClientTick(new ClientTick()); + + ArgumentCaptor argumentCaptor = ArgumentCaptor.forClass(MenuEntry[].class); + verify(client).setMenuEntries(argumentCaptor.capture()); + + assertArrayEquals(new MenuEntry[]{ + menu("Cancel", "", MenuAction.CANCEL), + menu("Examine", "Redwood birdhouse", MenuAction.EXAMINE_OBJECT), + menu("Walk here", "", MenuAction.WALK), + + menu("Interact", "Redwood birdhouse", MenuAction.GAME_OBJECT_FIRST_OPTION), + menu("Seeds", "Redwood birdhouse", MenuAction.GAME_OBJECT_SECOND_OPTION), + menu("Empty", "Redwood birdhouse", MenuAction.GAME_OBJECT_THIRD_OPTION), + }, argumentCaptor.getValue()); + } } \ No newline at end of file