From 1c5bd185cd6922913df2faf563c4662365197ea9 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Mon, 19 Aug 2019 03:43:58 +0200 Subject: [PATCH 1/2] menuentryswapper: Fix dupe keys when migrating (alse filter walk here and cancel for now) --- .../menuentryswapper/MenuEntrySwapperPlugin.java | 11 +++++++++++ 1 file changed, 11 insertions(+) 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 8cccecddab..b9262faa6a 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 @@ -34,13 +34,16 @@ import com.google.common.collect.ImmutableSet; import com.google.common.collect.Sets; import com.google.inject.Provides; import java.util.ArrayList; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Set; +import java.util.stream.Collectors; import javax.inject.Inject; import javax.inject.Singleton; +import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InventoryID; @@ -109,6 +112,7 @@ import org.apache.commons.lang3.ArrayUtils; ) @Singleton @PluginDependency(PvpToolsPlugin.class) +@Slf4j public class MenuEntrySwapperPlugin extends Plugin { private static final String CONFIG_GROUP = "shiftclick"; @@ -487,6 +491,8 @@ public class MenuEntrySwapperPlugin extends Plugin public void onMenuEntryAdded(MenuEntryAdded event) { + log.info(String.valueOf(event)); + if (client.getGameState() != GameState.LOGGED_IN) { return; @@ -1685,5 +1691,10 @@ public class MenuEntrySwapperPlugin extends Plugin configManager.setConfiguration("menuentryswapper", "customSwaps", sb.toString()); } + + // Ugly band-aid i'm sorry + configManager.setConfiguration("menuentryswapper", "customSwaps", + Arrays.stream(config.customSwaps().split("\n")).distinct().filter(swap -> !"walk here".equals(swap.split(":")[0].trim().toLowerCase())).filter(swap -> !"cancel".equals(swap.split(":")[0].trim().toLowerCase())).collect(Collectors.joining("\n")) + ); } } \ No newline at end of file From 083c0f45423127ca1ed74d01c2811a89408cde84 Mon Sep 17 00:00:00 2001 From: Owain van Brakel Date: Mon, 19 Aug 2019 04:22:57 +0200 Subject: [PATCH 2/2] menuentryswapper: Don't add swaps without a target --- .../menuentryswapper/MenuEntrySwapperPlugin.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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 b9262faa6a..182a032b12 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 @@ -43,7 +43,6 @@ import java.util.Set; import java.util.stream.Collectors; import javax.inject.Inject; import javax.inject.Singleton; -import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; import net.runelite.api.GameState; import net.runelite.api.InventoryID; @@ -112,7 +111,6 @@ import org.apache.commons.lang3.ArrayUtils; ) @Singleton @PluginDependency(PvpToolsPlugin.class) -@Slf4j public class MenuEntrySwapperPlugin extends Plugin { private static final String CONFIG_GROUP = "shiftclick"; @@ -491,8 +489,6 @@ public class MenuEntrySwapperPlugin extends Plugin public void onMenuEntryAdded(MenuEntryAdded event) { - log.info(String.valueOf(event)); - if (client.getGameState() != GameState.LOGGED_IN) { return; @@ -1686,6 +1682,12 @@ public class MenuEntrySwapperPlugin extends Plugin for (Map.Entry entry : split.entrySet()) { + String val = entry.getValue(); + if (!val.contains(",")) + { + continue; + } + sb.append(entry.getValue()).append(":0\n"); }