Add configure option to many overlays

This commit is contained in:
Adam
2019-01-14 19:45:47 -05:00
parent 59caa6bcac
commit 10782b5ea4
45 changed files with 128 additions and 3 deletions

View File

@@ -52,6 +52,7 @@ class AgilityOverlay extends Overlay
@Inject @Inject
private AgilityOverlay(Client client, AgilityPlugin plugin, AgilityConfig config) private AgilityOverlay(Client client, AgilityPlugin plugin, AgilityConfig config)
{ {
super(plugin);
setPosition(OverlayPosition.DYNAMIC); setPosition(OverlayPosition.DYNAMIC);
setLayer(OverlayLayer.ABOVE_SCENE); setLayer(OverlayLayer.ABOVE_SCENE);
this.client = client; this.client = client;

View File

@@ -37,6 +37,7 @@ import net.runelite.api.Client;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET; import static net.runelite.api.ItemID.AGILITY_ARENA_TICKET;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Player; import net.runelite.api.Player;
import static net.runelite.api.Skill.AGILITY; import static net.runelite.api.Skill.AGILITY;
import net.runelite.api.Tile; import net.runelite.api.Tile;
@@ -67,6 +68,7 @@ import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
@PluginDescriptor( @PluginDescriptor(
@@ -126,11 +128,15 @@ public class AgilityPlugin extends Plugin
{ {
overlayManager.add(agilityOverlay); overlayManager.add(agilityOverlay);
overlayManager.add(lapCounterOverlay); overlayManager.add(lapCounterOverlay);
overlayManager.addMenu(lapCounterOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Agility overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(lapCounterOverlay, OPTION_CONFIGURE);
overlayManager.remove(agilityOverlay); overlayManager.remove(agilityOverlay);
overlayManager.remove(lapCounterOverlay); overlayManager.remove(lapCounterOverlay);
marksOfGrace.clear(); marksOfGrace.clear();

View File

@@ -42,6 +42,7 @@ class AttackStylesOverlay extends Overlay
@Inject @Inject
private AttackStylesOverlay(AttackStylesPlugin plugin, AttackStylesConfig config) private AttackStylesOverlay(AttackStylesPlugin plugin, AttackStylesConfig config)
{ {
super(plugin);
setPosition(OverlayPosition.ABOVE_CHATBOX_RIGHT); setPosition(OverlayPosition.ABOVE_CHATBOX_RIGHT);
this.plugin = plugin; this.plugin = plugin;
this.config = config; this.config = config;

View File

@@ -33,6 +33,7 @@ import java.util.Set;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.VarPlayer; import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
@@ -54,6 +55,7 @@ import static net.runelite.client.plugins.attackstyles.AttackStyle.CASTING;
import static net.runelite.client.plugins.attackstyles.AttackStyle.DEFENSIVE_CASTING; import static net.runelite.client.plugins.attackstyles.AttackStyle.DEFENSIVE_CASTING;
import static net.runelite.client.plugins.attackstyles.AttackStyle.OTHER; import static net.runelite.client.plugins.attackstyles.AttackStyle.OTHER;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Attack Styles", name = "Attack Styles",
@@ -96,6 +98,8 @@ public class AttackStylesPlugin extends Plugin
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Attack style overlay");
if (client.getGameState() == GameState.LOGGED_IN) if (client.getGameState() == GameState.LOGGED_IN)
{ {
clientThread.invoke(this::start); clientThread.invoke(this::start);
@@ -123,6 +127,7 @@ public class AttackStylesPlugin extends Plugin
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
hideWarnedStyles(false); hideWarnedStyles(false);
processWidgets(); processWidgets();

View File

@@ -51,6 +51,7 @@ class BarbarianAssaultOverlay extends Overlay
@Inject @Inject
private BarbarianAssaultOverlay(Client client, BarbarianAssaultPlugin plugin, BarbarianAssaultConfig config) private BarbarianAssaultOverlay(Client client, BarbarianAssaultPlugin plugin, BarbarianAssaultConfig config)
{ {
super(plugin);
setPosition(OverlayPosition.DYNAMIC); setPosition(OverlayPosition.DYNAMIC);
setLayer(OverlayLayer.ABOVE_WIDGETS); setLayer(OverlayLayer.ABOVE_WIDGETS);
this.client = client; this.client = client;

View File

@@ -32,6 +32,7 @@ import javax.inject.Inject;
import net.runelite.api.ChatMessageType; import net.runelite.api.ChatMessageType;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
@@ -51,6 +52,7 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.util.ImageUtil; import net.runelite.client.util.ImageUtil;
@PluginDescriptor( @PluginDescriptor(
@@ -99,11 +101,14 @@ public class BarbarianAssaultPlugin extends Plugin
.deriveFont(Font.BOLD, 24); .deriveFont(Font.BOLD, 24);
clockImage = ImageUtil.getResourceStreamFromClass(getClass(), "clock.png"); clockImage = ImageUtil.getResourceStreamFromClass(getClass(), "clock.png");
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "B.A. overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
gameTime = null; gameTime = null;
currentWave = START_WAVE; currentWave = START_WAVE;

View File

@@ -44,8 +44,9 @@ public class BarrowsBrotherSlainOverlay extends Overlay
private final PanelComponent panelComponent = new PanelComponent(); private final PanelComponent panelComponent = new PanelComponent();
@Inject @Inject
private BarrowsBrotherSlainOverlay(Client client) private BarrowsBrotherSlainOverlay(BarrowsPlugin plugin, Client client)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
setPriority(OverlayPriority.LOW); setPriority(OverlayPriority.LOW);
this.client = client; this.client = client;

View File

@@ -38,6 +38,7 @@ import net.runelite.api.GameState;
import net.runelite.api.InventoryID; import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.NullObjectID; import net.runelite.api.NullObjectID;
import net.runelite.api.ObjectID; import net.runelite.api.ObjectID;
import net.runelite.api.WallObject; import net.runelite.api.WallObject;
@@ -60,6 +61,7 @@ import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.util.StackFormatter; import net.runelite.client.util.StackFormatter;
@PluginDescriptor( @PluginDescriptor(
@@ -119,11 +121,14 @@ public class BarrowsPlugin extends Plugin
{ {
overlayManager.add(barrowsOverlay); overlayManager.add(barrowsOverlay);
overlayManager.add(brotherOverlay); overlayManager.add(brotherOverlay);
overlayManager.addMenu(brotherOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Barrows overlay");
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.removeMenu(brotherOverlay, OPTION_CONFIGURE);
overlayManager.remove(barrowsOverlay); overlayManager.remove(barrowsOverlay);
overlayManager.remove(brotherOverlay); overlayManager.remove(brotherOverlay);
walls.clear(); walls.clear();

View File

@@ -46,6 +46,7 @@ class BlastFurnaceCofferOverlay extends Overlay
@Inject @Inject
private BlastFurnaceCofferOverlay(Client client, BlastFurnacePlugin plugin) private BlastFurnaceCofferOverlay(Client client, BlastFurnacePlugin plugin)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;

View File

@@ -47,6 +47,7 @@ class BlastFurnaceOverlay extends Overlay
@Inject @Inject
BlastFurnaceOverlay(Client client, BlastFurnacePlugin plugin) BlastFurnaceOverlay(Client client, BlastFurnacePlugin plugin)
{ {
super(plugin);
this.plugin = plugin; this.plugin = plugin;
this.client = client; this.client = client;
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);

View File

@@ -30,6 +30,7 @@ import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.GameObject; import net.runelite.api.GameObject;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import static net.runelite.api.NullObjectID.NULL_9092; import static net.runelite.api.NullObjectID.NULL_9092;
import static net.runelite.api.ObjectID.CONVEYOR_BELT; import static net.runelite.api.ObjectID.CONVEYOR_BELT;
import net.runelite.api.events.GameObjectDespawned; import net.runelite.api.events.GameObjectDespawned;
@@ -40,6 +41,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Blast Furnace", name = "Blast Furnace",
@@ -74,11 +76,15 @@ public class BlastFurnacePlugin extends Plugin
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(cofferOverlay); overlayManager.add(cofferOverlay);
overlayManager.add(clickBoxOverlay); overlayManager.add(clickBoxOverlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Blast furnace overlay");
overlayManager.addMenu(cofferOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Coffer overlay");
} }
@Override @Override
protected void shutDown() protected void shutDown()
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.removeMenu(cofferOverlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(cofferOverlay); overlayManager.remove(cofferOverlay);
overlayManager.remove(clickBoxOverlay); overlayManager.remove(clickBoxOverlay);

View File

@@ -47,8 +47,9 @@ class BlastMineOreCountOverlay extends Overlay
private final PanelComponent panelComponent = new PanelComponent(); private final PanelComponent panelComponent = new PanelComponent();
@Inject @Inject
private BlastMineOreCountOverlay(Client client, BlastMinePluginConfig config, ItemManager itemManager) private BlastMineOreCountOverlay(BlastMinePlugin plugin, Client client, BlastMinePluginConfig config, ItemManager itemManager)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.config = config; this.config = config;

View File

@@ -32,6 +32,7 @@ import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameObject; import net.runelite.api.GameObject;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.GameObjectSpawned; import net.runelite.api.events.GameObjectSpawned;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
@@ -43,6 +44,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Blast Mine", name = "Blast Mine",
@@ -77,11 +79,13 @@ public class BlastMinePlugin extends Plugin
{ {
overlayManager.add(blastMineRockOverlay); overlayManager.add(blastMineRockOverlay);
overlayManager.add(blastMineOreCountOverlay); overlayManager.add(blastMineOreCountOverlay);
overlayManager.addMenu(blastMineOreCountOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Blast mine overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(blastMineOreCountOverlay, OPTION_CONFIGURE);
overlayManager.remove(blastMineRockOverlay); overlayManager.remove(blastMineRockOverlay);
overlayManager.remove(blastMineOreCountOverlay); overlayManager.remove(blastMineOreCountOverlay);
final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE); final Widget blastMineWidget = client.getWidget(WidgetInfo.BLAST_MINE);

View File

@@ -47,6 +47,7 @@ class BoostsOverlay extends Overlay
@Inject @Inject
private BoostsOverlay(Client client, BoostsConfig config, BoostsPlugin plugin) private BoostsOverlay(Client client, BoostsConfig config, BoostsPlugin plugin)
{ {
super(plugin);
this.plugin = plugin; this.plugin = plugin;
this.client = client; this.client = client;
this.config = config; this.config = config;

View File

@@ -33,6 +33,7 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Prayer; import net.runelite.api.Prayer;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.events.BoostedLevelChanged; import net.runelite.api.events.BoostedLevelChanged;
@@ -46,6 +47,7 @@ import net.runelite.client.game.SkillIconManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.util.ImageUtil; import net.runelite.client.util.ImageUtil;
@@ -111,6 +113,8 @@ public class BoostsPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(boostsOverlay); overlayManager.add(boostsOverlay);
overlayManager.addMenu(boostsOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Boosts overlay");
updateShownSkills(); updateShownSkills();
updateBoostedStats(); updateBoostedStats();
Arrays.fill(lastSkillLevels, -1); Arrays.fill(lastSkillLevels, -1);
@@ -131,6 +135,7 @@ public class BoostsPlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(boostsOverlay, OPTION_CONFIGURE);
overlayManager.remove(boostsOverlay); overlayManager.remove(boostsOverlay);
infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator); infoBoxManager.removeIf(t -> t instanceof BoostIndicator || t instanceof StatChangeIndicator);
preserveBeenActive = false; preserveBeenActive = false;

View File

@@ -44,6 +44,7 @@ public class CerberusOverlay extends Overlay
@Inject @Inject
CerberusOverlay(final CerberusPlugin plugin, final SkillIconManager iconManager) CerberusOverlay(final CerberusPlugin plugin, final SkillIconManager iconManager)
{ {
super(plugin);
this.plugin = plugin; this.plugin = plugin;
this.iconManager = iconManager; this.iconManager = iconManager;
setPosition(OverlayPosition.BOTTOM_RIGHT); setPosition(OverlayPosition.BOTTOM_RIGHT);

View File

@@ -32,6 +32,7 @@ import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
@@ -41,6 +42,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Cerberus", name = "Cerberus",
@@ -63,11 +65,13 @@ public class CerberusPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Cerberus overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
ghosts.clear(); ghosts.clear();
} }

View File

@@ -46,6 +46,7 @@ public class ClueScrollOverlay extends Overlay
@Inject @Inject
public ClueScrollOverlay(ClueScrollPlugin plugin) public ClueScrollOverlay(ClueScrollPlugin plugin)
{ {
super(plugin);
this.plugin = plugin; this.plugin = plugin;
setPriority(OverlayPriority.LOW); setPriority(OverlayPriority.LOW);
} }

View File

@@ -46,6 +46,7 @@ import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemComposition; import net.runelite.api.ItemComposition;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.ObjectComposition; import net.runelite.api.ObjectComposition;
import net.runelite.api.Scene; import net.runelite.api.Scene;
@@ -84,6 +85,7 @@ import net.runelite.client.plugins.cluescrolls.clues.ObjectClueScroll;
import net.runelite.client.plugins.cluescrolls.clues.TextClueScroll; import net.runelite.client.plugins.cluescrolls.clues.TextClueScroll;
import net.runelite.client.plugins.cluescrolls.clues.ThreeStepCrypticClue; import net.runelite.client.plugins.cluescrolls.clues.ThreeStepCrypticClue;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.worldmap.WorldMapPointManager; import net.runelite.client.ui.overlay.worldmap.WorldMapPointManager;
import net.runelite.client.util.ImageUtil; import net.runelite.client.util.ImageUtil;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -161,11 +163,13 @@ public class ClueScrollPlugin extends Plugin
overlayManager.add(clueScrollOverlay); overlayManager.add(clueScrollOverlay);
overlayManager.add(clueScrollEmoteOverlay); overlayManager.add(clueScrollEmoteOverlay);
overlayManager.add(clueScrollWorldOverlay); overlayManager.add(clueScrollWorldOverlay);
overlayManager.addMenu(clueScrollOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Cluescroll overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(clueScrollOverlay, OPTION_CONFIGURE);
overlayManager.remove(clueScrollOverlay); overlayManager.remove(clueScrollOverlay);
overlayManager.remove(clueScrollEmoteOverlay); overlayManager.remove(clueScrollEmoteOverlay);
overlayManager.remove(clueScrollWorldOverlay); overlayManager.remove(clueScrollWorldOverlay);

View File

@@ -57,6 +57,7 @@ class CookingOverlay extends Overlay
@Inject @Inject
private CookingOverlay(Client client, CookingPlugin plugin, CookingConfig config, XpTrackerService xpTrackerService) private CookingOverlay(Client client, CookingPlugin plugin, CookingConfig config, XpTrackerService xpTrackerService)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;

View File

@@ -32,6 +32,7 @@ import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import com.google.inject.Provides; import com.google.inject.Provides;
import net.runelite.api.ChatMessageType; import net.runelite.api.ChatMessageType;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
@@ -41,6 +42,7 @@ import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Cooking", name = "Cooking",
@@ -73,11 +75,13 @@ public class CookingPlugin extends Plugin
{ {
session = null; session = null;
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Cooking overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
session = null; session = null;
} }

View File

@@ -54,6 +54,7 @@ class CorpDamageOverlay extends Overlay
@Inject @Inject
private CorpDamageOverlay(Client client, CorpPlugin corpPlugin, CorpConfig config) private CorpDamageOverlay(Client client, CorpPlugin corpPlugin, CorpConfig config)
{ {
super(corpPlugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
setLayer(OverlayLayer.UNDER_WIDGETS); setLayer(OverlayLayer.UNDER_WIDGETS);
setPriority(OverlayPriority.LOW); setPriority(OverlayPriority.LOW);

View File

@@ -37,6 +37,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.MenuAction; import net.runelite.api.MenuAction;
import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET; import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.MenuEntry; import net.runelite.api.MenuEntry;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.NpcID; import net.runelite.api.NpcID;
@@ -56,6 +57,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Corporeal Beast", name = "Corporeal Beast",
@@ -112,11 +114,13 @@ public class CorpPlugin extends Plugin
{ {
overlayManager.add(corpOverlay); overlayManager.add(corpOverlay);
overlayManager.add(coreOverlay); overlayManager.add(coreOverlay);
overlayManager.addMenu(corpOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Corp overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(corpOverlay, OPTION_CONFIGURE);
overlayManager.remove(corpOverlay); overlayManager.remove(corpOverlay);
overlayManager.remove(coreOverlay); overlayManager.remove(coreOverlay);

View File

@@ -51,6 +51,7 @@ class FishingOverlay extends Overlay
@Inject @Inject
public FishingOverlay(Client client, FishingPlugin plugin, FishingConfig config, XpTrackerService xpTrackerService) public FishingOverlay(Client client, FishingPlugin plugin, FishingConfig config, XpTrackerService xpTrackerService)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;

View File

@@ -46,6 +46,7 @@ import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.NPC; import net.runelite.api.NPC;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
@@ -64,6 +65,7 @@ import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.util.QueryRunner; import net.runelite.client.util.QueryRunner;
@PluginDescriptor( @PluginDescriptor(
@@ -131,6 +133,7 @@ public class FishingPlugin extends Plugin
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(spotOverlay); overlayManager.add(spotOverlay);
overlayManager.add(fishingSpotMinimapOverlay); overlayManager.add(fishingSpotMinimapOverlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Fishing overlay");
} }
@Override @Override
@@ -138,6 +141,7 @@ public class FishingPlugin extends Plugin
{ {
spotOverlay.setHidden(true); spotOverlay.setHidden(true);
fishingSpotMinimapOverlay.setHidden(true); fishingSpotMinimapOverlay.setHidden(true);
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(spotOverlay); overlayManager.remove(spotOverlay);
overlayManager.remove(fishingSpotMinimapOverlay); overlayManager.remove(fishingSpotMinimapOverlay);

View File

@@ -52,8 +52,9 @@ class InventoryViewerOverlay extends Overlay
private final PanelComponent panelComponent = new PanelComponent(); private final PanelComponent panelComponent = new PanelComponent();
@Inject @Inject
private InventoryViewerOverlay(Client client, ItemManager itemManager) private InventoryViewerOverlay(InventoryViewerPlugin plugin, Client client, ItemManager itemManager)
{ {
super(plugin);
setPosition(OverlayPosition.BOTTOM_RIGHT); setPosition(OverlayPosition.BOTTOM_RIGHT);
panelComponent.setWrapping(4); panelComponent.setWrapping(4);
panelComponent.setGap(new Point(6, 4)); panelComponent.setGap(new Point(6, 4));

View File

@@ -24,10 +24,12 @@
*/ */
package net.runelite.client.plugins.inventoryviewer; package net.runelite.client.plugins.inventoryviewer;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Inventory Viewer", name = "Inventory Viewer",
@@ -47,11 +49,13 @@ public class InventoryViewerPlugin extends Plugin
public void startUp() public void startUp()
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Inventory viewer overlay");
} }
@Override @Override
public void shutDown() public void shutDown()
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }
} }

View File

@@ -57,6 +57,7 @@ class MotherlodeOverlay extends Overlay
@Inject @Inject
MotherlodeOverlay(Client client, MotherlodePlugin plugin, MotherlodeConfig config) MotherlodeOverlay(Client client, MotherlodePlugin plugin, MotherlodeConfig config)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;

View File

@@ -44,6 +44,7 @@ import net.runelite.api.InventoryID;
import net.runelite.api.Item; import net.runelite.api.Item;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import static net.runelite.api.ObjectID.ORE_VEIN_26661; import static net.runelite.api.ObjectID.ORE_VEIN_26661;
import static net.runelite.api.ObjectID.ORE_VEIN_26662; import static net.runelite.api.ObjectID.ORE_VEIN_26662;
import static net.runelite.api.ObjectID.ORE_VEIN_26663; import static net.runelite.api.ObjectID.ORE_VEIN_26663;
@@ -72,6 +73,7 @@ import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Motherlode Mine", name = "Motherlode Mine",
@@ -149,6 +151,9 @@ public class MotherlodePlugin extends Plugin
overlayManager.add(motherlodeGemOverlay); overlayManager.add(motherlodeGemOverlay);
overlayManager.add(motherlodeSackOverlay); overlayManager.add(motherlodeSackOverlay);
overlayManager.addMenu(motherlodeGemOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Gem overlay");
overlayManager.addMenu(motherlodeSackOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Sack overlay");
session = new MotherlodeSession(); session = new MotherlodeSession();
inMlm = checkInMlm(); inMlm = checkInMlm();
@@ -161,6 +166,8 @@ public class MotherlodePlugin extends Plugin
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(motherlodeGemOverlay, OPTION_CONFIGURE);
overlayManager.removeMenu(motherlodeSackOverlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(rocksOverlay); overlayManager.remove(rocksOverlay);
overlayManager.remove(motherlodeGemOverlay); overlayManager.remove(motherlodeGemOverlay);

View File

@@ -52,6 +52,7 @@ class MotherlodeSackOverlay extends Overlay
@Inject @Inject
MotherlodeSackOverlay(Client client, MotherlodeConfig config, MotherlodePlugin plugin) MotherlodeSackOverlay(Client client, MotherlodeConfig config, MotherlodePlugin plugin)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.config = config; this.config = config;

View File

@@ -60,6 +60,7 @@ class NightmareZoneOverlay extends Overlay
InfoBoxManager infoBoxManager, InfoBoxManager infoBoxManager,
ItemManager itemManager) ItemManager itemManager)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
setPriority(OverlayPriority.LOW); setPriority(OverlayPriority.LOW);
this.client = client; this.client = client;

View File

@@ -29,6 +29,7 @@ import java.util.Arrays;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.ChatMessageType; import net.runelite.api.ChatMessageType;
import net.runelite.api.Client; import net.runelite.api.Client;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
@@ -39,6 +40,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@PluginDescriptor( @PluginDescriptor(
@@ -73,12 +75,14 @@ public class NightmareZonePlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "NMZ overlay");
overlay.removeAbsorptionCounter(); overlay.removeAbsorptionCounter();
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlay.removeAbsorptionCounter(); overlay.removeAbsorptionCounter();
} }

View File

@@ -76,6 +76,7 @@ class OpponentInfoOverlay extends Overlay
HiscoreManager hiscoreManager, HiscoreManager hiscoreManager,
NPCManager npcManager) NPCManager npcManager)
{ {
super(opponentInfoPlugin);
this.client = client; this.client = client;
this.opponentInfoPlugin = opponentInfoPlugin; this.opponentInfoPlugin = opponentInfoPlugin;
this.opponentInfoConfig = opponentInfoConfig; this.opponentInfoConfig = opponentInfoConfig;

View File

@@ -35,6 +35,7 @@ import lombok.Getter;
import net.runelite.api.Actor; import net.runelite.api.Actor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.WorldType; import net.runelite.api.WorldType;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick; import net.runelite.api.events.GameTick;
@@ -44,6 +45,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.http.api.hiscore.HiscoreEndpoint; import net.runelite.http.api.hiscore.HiscoreEndpoint;
@PluginDescriptor( @PluginDescriptor(
@@ -89,11 +91,15 @@ public class OpponentInfoPlugin extends Plugin
{ {
overlayManager.add(opponentInfoOverlay); overlayManager.add(opponentInfoOverlay);
overlayManager.add(playerComparisonOverlay); overlayManager.add(playerComparisonOverlay);
overlayManager.addMenu(opponentInfoOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Opponent info overlay");
overlayManager.addMenu(playerComparisonOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Opponent info overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(opponentInfoOverlay, OPTION_CONFIGURE);
overlayManager.removeMenu(playerComparisonOverlay, OPTION_CONFIGURE);
lastOpponent = null; lastOpponent = null;
lastTime = null; lastTime = null;
overlayManager.remove(opponentInfoOverlay); overlayManager.remove(opponentInfoOverlay);

View File

@@ -83,6 +83,7 @@ class PlayerComparisonOverlay extends Overlay
@Inject @Inject
private PlayerComparisonOverlay(Client client, OpponentInfoPlugin opponentInfoPlugin, OpponentInfoConfig config, HiscoreManager hiscoreManager) private PlayerComparisonOverlay(Client client, OpponentInfoPlugin opponentInfoPlugin, OpponentInfoConfig config, HiscoreManager hiscoreManager)
{ {
super(opponentInfoPlugin);
this.client = client; this.client = client;
this.opponentInfoPlugin = opponentInfoPlugin; this.opponentInfoPlugin = opponentInfoPlugin;
this.config = config; this.config = config;

View File

@@ -53,6 +53,7 @@ public class RaidsOverlay extends Overlay
@Inject @Inject
private RaidsOverlay(Client client, RaidsPlugin plugin, RaidsConfig config) private RaidsOverlay(Client client, RaidsPlugin plugin, RaidsConfig config)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
setPriority(OverlayPriority.LOW); setPriority(OverlayPriority.LOW);
this.client = client; this.client = client;

View File

@@ -39,6 +39,7 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.InstanceTemplates; import net.runelite.api.InstanceTemplates;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.NullObjectID; import net.runelite.api.NullObjectID;
import static net.runelite.api.Perspective.SCENE_SIZE; import static net.runelite.api.Perspective.SCENE_SIZE;
import net.runelite.api.Point; import net.runelite.api.Point;
@@ -66,6 +67,7 @@ import net.runelite.client.plugins.raids.solver.Layout;
import net.runelite.client.plugins.raids.solver.LayoutSolver; import net.runelite.client.plugins.raids.solver.LayoutSolver;
import net.runelite.client.plugins.raids.solver.RotationSolver; import net.runelite.client.plugins.raids.solver.RotationSolver;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
import net.runelite.client.util.Text; import net.runelite.client.util.Text;
@@ -153,6 +155,8 @@ public class RaidsPlugin extends Plugin
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(pointsOverlay); overlayManager.add(pointsOverlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Raids overlay");
overlayManager.addMenu(pointsOverlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Raids overlay");
updateLists(); updateLists();
clientThread.invokeLater(() -> checkRaidPresence(true)); clientThread.invokeLater(() -> checkRaidPresence(true));
} }
@@ -162,6 +166,8 @@ public class RaidsPlugin extends Plugin
{ {
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(pointsOverlay); overlayManager.remove(pointsOverlay);
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.removeMenu(pointsOverlay, OPTION_CONFIGURE);
infoBoxManager.removeInfoBox(timer); infoBoxManager.removeInfoBox(timer);
inRaidChambers = false; inRaidChambers = false;
raid = null; raid = null;

View File

@@ -46,6 +46,7 @@ public class TeamCapesOverlay extends Overlay
@Inject @Inject
private TeamCapesOverlay(TeamCapesPlugin plugin, TeamCapesConfig config, ItemManager manager) private TeamCapesOverlay(TeamCapesPlugin plugin, TeamCapesConfig config, ItemManager manager)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
setPriority(OverlayPriority.LOW); setPriority(OverlayPriority.LOW);
this.plugin = plugin; this.plugin = plugin;

View File

@@ -35,12 +35,14 @@ import java.util.stream.Collectors;
import javax.inject.Inject; import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.client.config.ConfigManager; import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Team Capes", name = "Team Capes",
@@ -72,11 +74,13 @@ public class TeamCapesPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Teamcapes overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
teams.clear(); teams.clear();
} }

View File

@@ -43,6 +43,7 @@ class WintertodtOverlay extends Overlay
@Inject @Inject
private WintertodtOverlay(WintertodtPlugin plugin) private WintertodtOverlay(WintertodtPlugin plugin)
{ {
super(plugin);
this.plugin = plugin; this.plugin = plugin;
setPosition(OverlayPosition.BOTTOM_LEFT); setPosition(OverlayPosition.BOTTOM_LEFT);
} }

View File

@@ -54,6 +54,7 @@ import net.runelite.api.Item;
import net.runelite.api.ItemContainer; import net.runelite.api.ItemContainer;
import static net.runelite.api.ItemID.BRUMA_KINDLING; import static net.runelite.api.ItemID.BRUMA_KINDLING;
import static net.runelite.api.ItemID.BRUMA_ROOT; import static net.runelite.api.ItemID.BRUMA_ROOT;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.MessageNode; import net.runelite.api.MessageNode;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.AnimationChanged;
@@ -67,6 +68,7 @@ import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ColorUtil;
@PluginDescriptor( @PluginDescriptor(
@@ -128,11 +130,13 @@ public class WintertodtPlugin extends Plugin
{ {
reset(); reset();
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Wintertodt overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
reset(); reset();
} }

View File

@@ -48,6 +48,7 @@ class WoodcuttingOverlay extends Overlay
@Inject @Inject
private WoodcuttingOverlay(Client client, WoodcuttingPlugin plugin, WoodcuttingConfig config, XpTrackerService xpTrackerService) private WoodcuttingOverlay(Client client, WoodcuttingPlugin plugin, WoodcuttingConfig config, XpTrackerService xpTrackerService)
{ {
super(plugin);
setPosition(OverlayPosition.TOP_LEFT); setPosition(OverlayPosition.TOP_LEFT);
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;

View File

@@ -35,6 +35,7 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameObject; import net.runelite.api.GameObject;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Player; import net.runelite.api.Player;
import net.runelite.api.events.AnimationChanged; import net.runelite.api.events.AnimationChanged;
import net.runelite.api.events.ChatMessage; import net.runelite.api.events.ChatMessage;
@@ -51,6 +52,7 @@ import net.runelite.client.plugins.PluginDependency;
import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "Woodcutting", name = "Woodcutting",
@@ -98,11 +100,15 @@ public class WoodcuttingPlugin extends Plugin
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.add(treesOverlay); overlayManager.add(treesOverlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "Woodcutting overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
overlayManager.remove(treesOverlay); overlayManager.remove(treesOverlay);
treeObjects.clear(); treeObjects.clear();

View File

@@ -74,6 +74,7 @@ public class XpGlobesOverlay extends Overlay
XpTrackerService xpTrackerService, XpTrackerService xpTrackerService,
SkillIconManager iconManager) SkillIconManager iconManager)
{ {
super(plugin);
this.iconManager = iconManager; this.iconManager = iconManager;
this.client = client; this.client = client;
this.plugin = plugin; this.plugin = plugin;

View File

@@ -34,6 +34,7 @@ import javax.inject.Inject;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Experience; import net.runelite.api.Experience;
import static net.runelite.api.MenuAction.RUNELITE_OVERLAY_CONFIG;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
@@ -45,6 +46,7 @@ import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.plugins.xptracker.XpTrackerPlugin; import net.runelite.client.plugins.xptracker.XpTrackerPlugin;
import net.runelite.client.task.Schedule; import net.runelite.client.task.Schedule;
import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.OverlayManager;
import static net.runelite.client.ui.overlay.OverlayManager.OPTION_CONFIGURE;
@PluginDescriptor( @PluginDescriptor(
name = "XP Globes", name = "XP Globes",
@@ -84,11 +86,13 @@ public class XpGlobesPlugin extends Plugin
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
overlayManager.add(overlay); overlayManager.add(overlay);
overlayManager.addMenu(overlay, RUNELITE_OVERLAY_CONFIG, OPTION_CONFIGURE, "XP Globes overlay");
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
overlayManager.removeMenu(overlay, OPTION_CONFIGURE);
overlayManager.remove(overlay); overlayManager.remove(overlay);
} }