diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index 8459e7bcd5..77bacede3f 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -374,7 +374,27 @@ public class ConfigManager public List getConfigurationKeys(String prefix) { - return properties.keySet().stream().filter(v -> ((String) v).startsWith(prefix)).map(String.class::cast).collect(Collectors.toList()); + return properties.keySet().stream() + .map(String.class::cast) + .filter(k -> k.startsWith(prefix)) + .collect(Collectors.toList()); + } + + public List getRSProfileConfigurationKeys(String group, String profile, String keyPrefix) + { + if (profile == null) + { + return Collections.emptyList(); + } + + assert profile.startsWith(RSPROFILE_GROUP); + + String prefix = group + "." + profile + "." + keyPrefix; + return properties.keySet().stream() + .map(String.class::cast) + .filter(k -> k.startsWith(prefix)) + .map(k -> splitKey(k)[KEY_SPLITTER_KEY]) + .collect(Collectors.toList()); } public static String getWholeKey(String groupName, String profile, String key)