devtools: add get/set conf commands

This commit is contained in:
Adam
2020-02-15 20:02:43 -05:00
parent 09114ca83a
commit d347e3a088

View File

@@ -31,6 +31,7 @@ import com.google.common.primitives.Ints;
import com.google.inject.Provides;
import java.awt.image.BufferedImage;
import static java.lang.Math.min;
import java.util.Arrays;
import java.util.List;
import javax.inject.Inject;
import lombok.Getter;
@@ -48,6 +49,9 @@ import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.StatChanged;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.kit.KitType;
import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager;
import net.runelite.client.chat.QueuedMessage;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.EventBus;
import net.runelite.client.eventbus.Subscribe;
@@ -105,6 +109,12 @@ public class DevToolsPlugin extends Plugin
@Inject
private EventBus eventBus;
@Inject
private ConfigManager configManager;
@Inject
private ChatMessageManager chatMessageManager;
private DevToolsButton players;
private DevToolsButton npcs;
private DevToolsButton groundItems;
@@ -362,6 +372,50 @@ public class DevToolsPlugin extends Plugin
client.addChatMessage(ChatMessageType.GAMEMESSAGE, "", String.join(" ", args), "");
break;
}
case "setconf":
{
// setconf group.key name = value
String group = args[0];
String key = args[1], value = "";
for (int i = 2; i < args.length; ++i)
{
if (args[i].equals("="))
{
value = String.join(" ", Arrays.copyOfRange(args, i + 1, args.length));
break;
}
key += " " + args[i];
}
String current = configManager.getConfiguration(group, key);
final String message;
if (value.isEmpty())
{
configManager.unsetConfiguration(group, key);
message = String.format("Unset configuration %s.%s (was: %s)", group, key, current);
}
else
{
configManager.setConfiguration(group, key, value);
message = String.format("Set configuration %s.%s to %s (was: %s)", group, key, value, current);
}
chatMessageManager.queue(QueuedMessage.builder()
.type(ChatMessageType.GAMEMESSAGE)
.runeLiteFormattedMessage(new ChatMessageBuilder().append(message).build())
.build());
break;
}
case "getconf":
{
String group = args[0], key = String.join(" ", Arrays.copyOfRange(args, 1, args.length));
String value = configManager.getConfiguration(group, key);
final String message = String.format("%s.%s = %s", group, key, value);
chatMessageManager.queue(QueuedMessage.builder()
.type(ChatMessageType.GAMEMESSAGE)
.runeLiteFormattedMessage(new ChatMessageBuilder().append(message).build())
.build());
break;
}
}
}