diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 9ce0e4678b..4f626cc142 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -188,6 +188,7 @@ public class WidgetID static class Viewport { + static final int MINIMAP_WIDGET = 17; static final int FIXED_VIEWPORT = 17; static final int RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX = 12; static final int RESIZABLE_VIEWPORT_BOTTOM_LINE = 12; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index 77d911193e..5c783df6cb 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -109,6 +109,7 @@ public enum WidgetInfo LOGIN_CLICK_TO_PLAY_SCREEN(WidgetID.LOGIN_CLICK_TO_PLAY_GROUP_ID, 0), FIXED_VIEWPORT(WidgetID.FIXED_VIEWPORT_GROUP_ID, WidgetID.Viewport.FIXED_VIEWPORT), + MINIMAP_WIDGET(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_WIDGET), RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX), RESIZABLE_VIEWPORT_BOTTOM_LINE(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.RESIZABLE_VIEWPORT_BOTTOM_LINE), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapConfig.java index 886943f925..d1e2afa7ae 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapConfig.java @@ -94,4 +94,14 @@ public interface MinimapConfig extends Config { return new Color(170, 0, 190); } + + @ConfigItem( + keyName = "hideMinimap", + name = "Hide minimap", + description = "Do not show the minimap on screen (Resizable only)" + ) + default boolean hideMinimap() + { + return false; + } } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java index 149ed95d83..54adc239d5 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java @@ -34,6 +34,9 @@ import net.runelite.api.GameState; import net.runelite.api.SpritePixels; import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.GameStateChanged; +import net.runelite.api.events.WidgetHiddenChanged; +import net.runelite.api.widgets.Widget; +import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; @@ -62,6 +65,13 @@ public class MinimapPlugin extends Plugin @Override protected void startUp() throws Exception { + Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); + + if (minimapWidget != null) + { + minimapWidget.setHidden(config.hideMinimap()); + } + storeOriginalDots(); replaceMapDots(); } @@ -69,6 +79,13 @@ public class MinimapPlugin extends Plugin @Override protected void shutDown() throws Exception { + Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); + + if (minimapWidget != null) + { + minimapWidget.setHidden(false); + } + restoreOriginalDots(); } @@ -126,9 +143,31 @@ public class MinimapPlugin extends Plugin return; } + if (event.getKey().equals("hideMinimap")) + { + Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); + + if (minimapWidget != null) + { + minimapWidget.setHidden(config.hideMinimap()); + } + return; + } + replaceMapDots(); } + @Subscribe + public void onWidgetHiddenChange(WidgetHiddenChanged event) + { + Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); + + if (event.getWidget() == minimapWidget) + { + minimapWidget.setHidden(config.hideMinimap()); + } + } + private void replaceMapDots() { SpritePixels[] mapDots = client.getMapDots();