Tooltip Hider (#440)
* Tooltip Hider Adds options for hiding certain tooltips to the mouse highlight plugin
This commit is contained in:
@@ -561,6 +561,7 @@ public class WidgetID
|
||||
static final int SPELL_TEXT = 28;
|
||||
static final int AUTO_RETALIATE = 29;
|
||||
static final int SPECIAL_ATTACK_BAR = 34;
|
||||
static final int TOOLTIP = 41;
|
||||
}
|
||||
|
||||
static class VolcanicMine
|
||||
@@ -886,6 +887,8 @@ public class WidgetID
|
||||
static final int ANNAKARL_TELEPORT = 96;
|
||||
static final int GHORROCK_TELEPORT = 97;
|
||||
static final int EDGEVILLE_HOME_TELEPORT = 98;
|
||||
static final int TOOLTIP = 188;
|
||||
|
||||
|
||||
// LUNAR SPELLS
|
||||
static final int LUNAR_HOME_TELEPORT = 99;
|
||||
|
||||
@@ -324,6 +324,7 @@ public enum WidgetInfo
|
||||
COMBAT_SPELL_TEXT(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.SPELL_TEXT),
|
||||
COMBAT_AUTO_RETALIATE(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.AUTO_RETALIATE),
|
||||
COMBAT_SPECIAL_ATTACK(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.SPECIAL_ATTACK_BAR),
|
||||
COMBAT_TOOLTIP(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.TOOLTIP),
|
||||
|
||||
DIALOG_OPTION(WidgetID.DIALOG_OPTION_GROUP_ID, 0),
|
||||
|
||||
@@ -653,7 +654,7 @@ public enum WidgetInfo
|
||||
SPELL_SPIN_FLAX(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SPIN_FLAX),
|
||||
SPELL_OURANIA_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.OURANIA_TELEPORT),
|
||||
/* END OF LUNAR SPELL BOOK WIDGETS*/
|
||||
|
||||
SPELL_TOOLTIP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TOOLTIP),
|
||||
/* ARCEUUS SPELL BOOK WIDGETS*/
|
||||
SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT),
|
||||
/* END OF ARCEUUS SPELL BOOK WIDGETS*/
|
||||
|
||||
@@ -52,4 +52,16 @@ public interface MouseHighlightConfig extends Config
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(position = 2, keyName = "hideSpells", name = "Spellbook", description = "Hides vanilla client tooltips in the spellbook")
|
||||
default boolean shouldHideSpells()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
@ConfigItem(position = 3, keyName = "hideCombat", name = "Combat", description = "Hides vanilla client tooltips in the combat menu")
|
||||
default boolean shouldHideCombat()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,7 +26,16 @@ package net.runelite.client.plugins.mousehighlight;
|
||||
|
||||
import com.google.inject.Provides;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.api.events.GameStateChanged;
|
||||
import net.runelite.api.events.GameTick;
|
||||
import net.runelite.api.events.WidgetLoaded;
|
||||
import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetID;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.eventbus.Subscribe;
|
||||
import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
import net.runelite.client.ui.overlay.OverlayManager;
|
||||
@@ -34,10 +43,15 @@ import net.runelite.client.ui.overlay.OverlayManager;
|
||||
@PluginDescriptor(
|
||||
name = "Mouse Tooltips",
|
||||
description = "Render default actions as a tooltip",
|
||||
tags = {"actions", "overlay"}
|
||||
tags = {"actions", "overlay", "tooltip", "hide"}
|
||||
)
|
||||
public class MouseHighlightPlugin extends Plugin
|
||||
{
|
||||
@Inject
|
||||
MouseHighlightConfig config;
|
||||
@Inject
|
||||
private Client client;
|
||||
|
||||
@Inject
|
||||
private OverlayManager overlayManager;
|
||||
|
||||
@@ -53,12 +67,89 @@ public class MouseHighlightPlugin extends Plugin
|
||||
@Override
|
||||
protected void startUp() throws Exception
|
||||
{
|
||||
adjustTips();
|
||||
overlayManager.add(overlay);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void shutDown() throws Exception
|
||||
{
|
||||
resetTips();
|
||||
overlayManager.remove(overlay);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameStateChanged(GameStateChanged event)
|
||||
{
|
||||
if (event.getGameState() == GameState.LOGGED_IN)
|
||||
{
|
||||
adjustTips();
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onWidgetLoaded(WidgetLoaded event)
|
||||
{
|
||||
if (event.getGroupId() == WidgetID.SPELLBOOK_GROUP_ID || event.getGroupId() == WidgetID.COMBAT_GROUP_ID)
|
||||
{
|
||||
adjustTips();
|
||||
}
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
public void onGameTick(GameTick event)
|
||||
{
|
||||
adjustTips();
|
||||
}
|
||||
|
||||
private void adjustTips()
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
setTipHidden(WidgetInfo.SPELL_TOOLTIP, config.shouldHideSpells());
|
||||
setTipHidden(WidgetInfo.COMBAT_TOOLTIP, config.shouldHideCombat());
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//swallow
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void resetTips()
|
||||
{
|
||||
if (client.getGameState() != GameState.LOGGED_IN)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
setTipHidden(WidgetInfo.SPELL_TOOLTIP, false);
|
||||
setTipHidden(WidgetInfo.COMBAT_TOOLTIP, false);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
//swallow
|
||||
}
|
||||
}
|
||||
|
||||
private void setTipHidden(WidgetInfo widgetInfo, boolean hidden)
|
||||
{
|
||||
Widget widget = client.getWidget(widgetInfo);
|
||||
|
||||
if (widget == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
widget.setHidden(hidden);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user