Tooltip Hider (#440)

* Tooltip Hider

Adds options for hiding certain tooltips to the mouse highlight plugin
This commit is contained in:
GROUNDBOI
2019-05-30 01:07:22 -04:00
committed by Ganom
parent 2a291f4021
commit 4fef4c7328
4 changed files with 109 additions and 2 deletions

View File

@@ -561,6 +561,7 @@ public class WidgetID
static final int SPELL_TEXT = 28; static final int SPELL_TEXT = 28;
static final int AUTO_RETALIATE = 29; static final int AUTO_RETALIATE = 29;
static final int SPECIAL_ATTACK_BAR = 34; static final int SPECIAL_ATTACK_BAR = 34;
static final int TOOLTIP = 41;
} }
static class VolcanicMine static class VolcanicMine
@@ -886,6 +887,8 @@ public class WidgetID
static final int ANNAKARL_TELEPORT = 96; static final int ANNAKARL_TELEPORT = 96;
static final int GHORROCK_TELEPORT = 97; static final int GHORROCK_TELEPORT = 97;
static final int EDGEVILLE_HOME_TELEPORT = 98; static final int EDGEVILLE_HOME_TELEPORT = 98;
static final int TOOLTIP = 188;
// LUNAR SPELLS // LUNAR SPELLS
static final int LUNAR_HOME_TELEPORT = 99; static final int LUNAR_HOME_TELEPORT = 99;

View File

@@ -324,6 +324,7 @@ public enum WidgetInfo
COMBAT_SPELL_TEXT(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.SPELL_TEXT), COMBAT_SPELL_TEXT(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.SPELL_TEXT),
COMBAT_AUTO_RETALIATE(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.AUTO_RETALIATE), COMBAT_AUTO_RETALIATE(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.AUTO_RETALIATE),
COMBAT_SPECIAL_ATTACK(WidgetID.COMBAT_GROUP_ID, WidgetID.Combat.SPECIAL_ATTACK_BAR), 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), 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_SPIN_FLAX(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.SPIN_FLAX),
SPELL_OURANIA_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.OURANIA_TELEPORT), SPELL_OURANIA_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.OURANIA_TELEPORT),
/* END OF LUNAR SPELL BOOK WIDGETS*/ /* END OF LUNAR SPELL BOOK WIDGETS*/
SPELL_TOOLTIP(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.TOOLTIP),
/* ARCEUUS SPELL BOOK WIDGETS*/ /* ARCEUUS SPELL BOOK WIDGETS*/
SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT), SPELL_ARCEUUS_HOME_TELEPORT(WidgetID.SPELLBOOK_GROUP_ID, WidgetID.SpellBook.ARCEUUS_HOME_TELEPORT),
/* END OF ARCEUUS SPELL BOOK WIDGETS*/ /* END OF ARCEUUS SPELL BOOK WIDGETS*/

View File

@@ -52,4 +52,16 @@ public interface MouseHighlightConfig extends Config
{ {
return true; 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;
}
} }

View File

@@ -26,7 +26,16 @@ package net.runelite.client.plugins.mousehighlight;
import com.google.inject.Provides; import com.google.inject.Provides;
import javax.inject.Inject; 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.config.ConfigManager;
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;
@@ -34,10 +43,15 @@ import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor( @PluginDescriptor(
name = "Mouse Tooltips", name = "Mouse Tooltips",
description = "Render default actions as a tooltip", description = "Render default actions as a tooltip",
tags = {"actions", "overlay"} tags = {"actions", "overlay", "tooltip", "hide"}
) )
public class MouseHighlightPlugin extends Plugin public class MouseHighlightPlugin extends Plugin
{ {
@Inject
MouseHighlightConfig config;
@Inject
private Client client;
@Inject @Inject
private OverlayManager overlayManager; private OverlayManager overlayManager;
@@ -53,12 +67,89 @@ public class MouseHighlightPlugin extends Plugin
@Override @Override
protected void startUp() throws Exception protected void startUp() throws Exception
{ {
adjustTips();
overlayManager.add(overlay); overlayManager.add(overlay);
} }
@Override @Override
protected void shutDown() throws Exception protected void shutDown() throws Exception
{ {
resetTips();
overlayManager.remove(overlay); 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);
}
} }