From 87c6811819921b17689068be9aa202696df27983 Mon Sep 17 00:00:00 2001 From: BenDol Date: Thu, 6 Sep 2018 10:08:12 +1200 Subject: [PATCH] defaultworld: add option to use last world as default --- .../defaultworld/DefaultWorldConfig.java | 32 ++++++++++++++++++- .../defaultworld/DefaultWorldPlugin.java | 7 +++- 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java index 480d4c891d..3a750f2e42 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldConfig.java @@ -28,9 +28,11 @@ import net.runelite.client.config.Config; import net.runelite.client.config.ConfigGroup; import net.runelite.client.config.ConfigItem; -@ConfigGroup("defaultworld") +@ConfigGroup(DefaultWorldConfig.GROUP) public interface DefaultWorldConfig extends Config { + final String GROUP = "defaultworld"; + @ConfigItem( keyName = "defaultWorld", name = "Default world", @@ -40,4 +42,32 @@ public interface DefaultWorldConfig extends Config { return 0; } + + @ConfigItem( + keyName = "useLastWorld", + name = "Use Last World", + description = "Use the last world you used as the default" + ) + default boolean useLastWorld() + { + return false; + } + + @ConfigItem( + keyName = "lastWorld", + name = "", + description = "", + hidden = true + ) + default int lastWorld() + { + return 0; + } + + @ConfigItem( + keyName = "lastWorld", + name = "", + description = "" + ) + void lastWorld(int lastWorld); } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java index 279d7abf49..1f97074772 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/defaultworld/DefaultWorldPlugin.java @@ -91,6 +91,11 @@ public class DefaultWorldPlugin extends Plugin @Subscribe public void onGameStateChanged(GameStateChanged event) { + if (event.getGameState() == GameState.LOGGED_IN) + { + config.lastWorld(client.getWorld()); + } + applyWorld(); } @@ -155,7 +160,7 @@ public class DefaultWorldPlugin extends Plugin log.debug("Stored old world {}", worldCache); } - final int newWorld = config.getWorld(); + final int newWorld = !config.useLastWorld() ? config.getWorld() : config.lastWorld(); changeWorld(newWorld); } }