Hide Prayers Rework, Eternal Slayer Ring Swap added, and Colorize Menus off by default. (#426)

* plugin bring up

reworked and rewrote hide prayers to be under 1 plugin.

unhiding a certain prayer type (individual, pvm or pvp) will hide the other prayer types so no conflict.

added eternal slayer ring to menu entry swapper

playerindicators colourized menu turned off by default.

* Update HidePrayersPlugin.java

* fixed

* fixes 422

fixes #422

* fixes #427

fixes #427

* Sorry kyle (#430)

* Sorry kyle

* Sorry Kyle vol2

* UNhide individual

* UNhide individual
This commit is contained in:
Kyleeld
2019-05-29 01:07:27 +01:00
committed by Ganom
parent 0dfca13a3f
commit 44aa6d2e04
22 changed files with 1730 additions and 1759 deletions

View File

@@ -36,7 +36,7 @@ public interface XpDropConfig extends Config
{
NONE,
ABOVE_OPPONENT,
IN_XP_DROP
IN_XP_DROP;
}
@ConfigItem(
@@ -100,7 +100,7 @@ public interface XpDropConfig extends Config
description = "Show what you hit next to the XP drop",
position = 5
)
default DamageMode showDamage()
default DamageMode showdamage()
{
return DamageMode.NONE;
}

View File

@@ -113,7 +113,7 @@ public class XpDropPlugin extends Plugin
@Override
protected void startUp() throws Exception
{
damageMode = config.showDamage();
damageMode = config.showdamage();
if (damageMode == XpDropConfig.DamageMode.ABOVE_OPPONENT)
{
@@ -138,7 +138,7 @@ public class XpDropPlugin extends Plugin
if (damageMode != XpDropConfig.DamageMode.ABOVE_OPPONENT)
{
damageMode = config.showDamage();
damageMode = config.showdamage();
if (damageMode == XpDropConfig.DamageMode.ABOVE_OPPONENT)
{
@@ -147,7 +147,7 @@ public class XpDropPlugin extends Plugin
}
else
{
damageMode = config.showDamage();
damageMode = config.showdamage();
if (damageMode != XpDropConfig.DamageMode.ABOVE_OPPONENT)
{
@@ -343,7 +343,7 @@ public class XpDropPlugin extends Plugin
@Subscribe
public void onScriptCallbackEvent(ScriptCallbackEvent e)
{
if (config.showDamage() == XpDropConfig.DamageMode.NONE)
if (config.showdamage() == XpDropConfig.DamageMode.NONE)
{
return;
}

View File

@@ -0,0 +1,726 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
import net.runelite.client.plugins.hideprayers.util.Armadyl;
import net.runelite.client.plugins.hideprayers.util.Bandos;
import net.runelite.client.plugins.hideprayers.util.Barrows;
import net.runelite.client.plugins.hideprayers.util.Cerberus;
import net.runelite.client.plugins.hideprayers.util.PVPPrayers;
import net.runelite.client.plugins.hideprayers.util.Saradomin;
import net.runelite.client.plugins.hideprayers.util.Vorkath;
import net.runelite.client.plugins.hideprayers.util.Zamorak;
import net.runelite.client.plugins.hideprayers.util.Zulrah;
@ConfigGroup("hideprayers")
public interface HidePrayersConfig extends Config
{
@ConfigItem(
position = 0,
keyName = "showindividualprayers",
name = "Hide Individual Prayers",
description = "Hide/Show Prayers.",
group = "Individual Prayers",
disabledBy = "getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean showindividualprayers()
{
return false;
}
@ConfigItem(
position = 1,
keyName = "HideTHICK_SKIN",
name = "Hide Thick Skin",
description = "Hide/Show Thick Skin",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideTHICK_SKIN()
{
return false;
}
@ConfigItem(
position = 2,
keyName = "HideBURST_OF_STRENGTH",
name = "Hide Burst of Strength",
description = "Hide/Show Burst of Strength",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideBURST_OF_STRENGTH()
{
return false;
}
@ConfigItem(
position = 3,
keyName = "HideCLARITY_OF_THOUGHT",
name = "Hide Clarity of Thought",
description = "Hide/Show Clarity of Thought",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideCLARITY_OF_THOUGHT()
{
return false;
}
@ConfigItem(
position = 4,
keyName = "HideSHARP_EYE",
name = "Hide Sharp Eye",
description = "Hide/Show Sharp Eye",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideSHARP_EYE()
{
return false;
}
@ConfigItem(
position = 5,
keyName = "HideMYSTIC_WILL",
name = "Hide Mystic Will",
description = "Hide/Show Mystic Will",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideMYSTIC_WILL()
{
return false;
}
@ConfigItem(
position = 6,
keyName = "HideROCK_SKIN",
name = "Hide Rock Skin",
description = "Hide/Show Rock Skin",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideROCK_SKIN()
{
return false;
}
@ConfigItem(
position = 7,
keyName = "HideSUPERHUMAN_STRENGTH",
name = "Hide Super Human Strength",
description = "Hide/Show Super Human Strength",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideSUPERHUMAN_STRENGTH()
{
return false;
}
@ConfigItem(
position = 8,
keyName = "HideIMPROVED_REFLEXES",
name = "Hide Improved_Reflexes",
description = "Hide/Show Improved_Reflexes",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideIMPROVED_REFLEXES()
{
return false;
}
@ConfigItem(
position = 9,
keyName = "HideRapidRestore",
name = "Hide Rapid Restore",
description = "Hide/Show Rapid Restore",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideRapidRestore()
{
return false;
}
@ConfigItem(
position = 10,
keyName = "HideRapidHeal",
name = "Hide Rapid Heal",
description = "Hide/Show Rapid Heal",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideRapidHeal()
{
return false;
}
@ConfigItem(
position = 11,
keyName = "HideProtectItem",
name = "Hide Protect Item",
description = "Hide/Show Protect Item",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideProtectItem()
{
return false;
}
@ConfigItem(
position = 12,
keyName = "HideHAWK_EYE",
name = "Hide Hawk Eye",
description = "Hide/Show Hawk Eye",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideHAWK_EYE()
{
return false;
}
@ConfigItem(
position = 13,
keyName = "HideMYSTIC_LORE",
name = "Hide Mystic Lore",
description = "Hide/Show Mystic Lore",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideMYSTIC_LORE()
{
return false;
}
@ConfigItem(
position = 14,
keyName = "HideSteelSkin",
name = "Hide Steel Skin",
description = "Hide/Show Steel skin",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideSteelSkin()
{
return false;
}
@ConfigItem(
position = 15,
keyName = "HideUltimateStrength",
name = "Hide Ultimate Strength",
description = "Hide/Show Ultimate strength",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideUltimateStrength()
{
return false;
}
@ConfigItem(
position = 16,
keyName = "HideIncredibleReflex",
name = "Hide Incredible Reflex",
description = "Hide/Show Incredible Reflex",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideIncredibleReflex()
{
return false;
}
@ConfigItem(
position = 17,
keyName = "HidePTFMagic",
name = "Hide Protect From Magic",
description = "Hide/Show Protect From Magic",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HidePTFMagic()
{
return false;
}
@ConfigItem(
position = 18,
keyName = "HidePTFRange",
name = "Hide Protect From Range",
description = "Hide/Show Protect from Range",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HidePTFRange()
{
return false;
}
@ConfigItem(
position = 19,
keyName = "HidePTFMelee",
name = "Hide Protect From Melee",
description = "Hide/Show Protect From Melee",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HidePTFMelee()
{
return false;
}
@ConfigItem(
position = 20,
keyName = "HideEagle",
name = "Hide Eagle Eye",
description = "Hide/Show Eagle Eye",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideEagle()
{
return false;
}
@ConfigItem(
position = 19,
keyName = "HideMystic",
name = "Hide Mystic Might",
description = "Hide/Show Mystic Might",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideMystic()
{
return false;
}
@ConfigItem(
position = 21,
keyName = "HideRETRIBUTION",
name = "Hide Retribution",
description = "Hide/Show Retribution",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideRETRIBUTION()
{
return false;
}
@ConfigItem(
position = 22,
keyName = "HideRedemption",
name = "Hide Redemption",
description = "Hide/Show Redemption",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideRedemption()
{
return false;
}
@ConfigItem(
position = 23,
keyName = "HideSmite",
name = "Hide Smite",
description = "Hide/Show Smite",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideSmite()
{
return false;
}
@ConfigItem(
position = 24,
keyName = "HidePreserve",
name = "Hide Preserve",
description = "Hide/Show Preserve",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HidePreserve()
{
return false;
}
@ConfigItem(
position = 25,
keyName = "HideChivalry",
name = "Hide Chivalry",
description = "Hide/Show Chivalry",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideChivalry()
{
return false;
}
@ConfigItem(
position = 26,
keyName = "HidePiety",
name = "Hide Piety",
description = "Hide/Show Piety",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HidePiety()
{
return false;
}
@ConfigItem(
position = 27,
keyName = "HideRigour",
name = "Hide Rigour",
description = "Hide/Show Rigour",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideRigour()
{
return false;
}
@ConfigItem(
position = 28,
keyName = "HideAugury",
name = "Hide Augury",
description = "Hide/Show Augury",
group = "Individual Prayers",
hidden = true,
unhide = "showindividualprayers"
)
default boolean HideAugury()
{
return false;
}
// ----------------------------------------------------------- //
@ConfigItem(
position = 29,
keyName = "getarmadylprayers",
name = "enable Armadyl Prayers",
description = "Shows prayers for Armadyl",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers"
)
default boolean getarmadylprayers()
{
return false;
}
@ConfigItem(
position = 30,
keyName = "armadyl",
name = "Armadyl",
description = "Shows prayers for Armadyl",
group = "PVM Prayers",
hidden = true,
unhide = "getarmadylprayers"
)
default Armadyl armadyl()
{
return Armadyl.DISABLED;
}
@ConfigItem(
position = 31,
keyName = "getbarrowsprayers",
name = "enable Barrows Prayers",
description = "Shows prayers for Barrows",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getarmadylprayers"
)
default boolean getbarrowsprayers()
{
return false;
}
@ConfigItem(
position = 32,
keyName = "barrows",
name = "Barrows",
description = "Shows prayers for Barrows",
group = "PVM Prayers",
hidden = true,
unhide = "getbarrowsprayers"
)
default Barrows barrows()
{
return Barrows.DISABLED;
}
@ConfigItem(
position = 33,
keyName = "getbandosprayers",
name = "enable Bandos Prayers",
description = "Shows prayers for Bandos",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getbandosprayers()
{
return false;
}
@ConfigItem(
position = 34,
keyName = "bandos",
name = "Bandos",
description = "Shows prayers for Bandos",
group = "PVM Prayers",
hidden = true,
unhide = "getbandosprayers"
)
default Bandos bandos()
{
return Bandos.DISABLED;
}
@ConfigItem(
position = 35,
keyName = "getcerberusprayers",
name = "enable Cerberus Prayers",
description = "Shows prayers for Cerberus",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getvorkathprayers || getsaradominprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getcerberusprayers()
{
return false;
}
@ConfigItem(
position = 36,
keyName = "cerberus",
name = "Cerberus",
description = "Shows prayers for Cerberus",
group = "PVM Prayers",
hidden = true,
unhide = "getcerberusprayers"
)
default Cerberus cerberus()
{
return Cerberus.DISABLED;
}
@ConfigItem(
position = 37,
keyName = "getsaradominprayers",
name = "enable Saradomin Prayers",
description = "Shows prayers for Saradomin",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getvorkathprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getsaradominprayers()
{
return false;
}
@ConfigItem(
position = 38,
keyName = "saradomin",
name = "Saradomin",
description = "Shows prayers for Saradomin",
group = "PVM Prayers",
hidden = true,
unhide = "getsaradominprayers"
)
default Saradomin saradomin()
{
return Saradomin.DISABLED;
}
@ConfigItem(
position = 39,
keyName = "getvorkathprayers",
name = "enable Vorkath Prayers",
description = "Shows prayers for Vorkath",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getzamorakprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getvorkathprayers()
{
return false;
}
@ConfigItem(
position = 40,
keyName = "vorkath",
name = "Vorkath",
description = "Shows prayers for Vorkath",
group = "PVM Prayers",
hidden = true,
unhide = "getvorkathprayers"
)
default Vorkath vorkath()
{
return Vorkath.DISABLED;
}
@ConfigItem(
position = 41,
keyName = "getzamorakprayers",
name = "enable Zamorak Prayers",
description = "Shows prayers for Zamorak",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzulrahprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getzamorakprayers()
{
return false;
}
@ConfigItem(
position = 42,
keyName = "zamorak",
name = "Zamorak",
description = "Shows prayers for Zamorak",
group = "PVM Prayers",
hidden = true,
unhide = "getzamorakprayers"
)
default Zamorak zamorak()
{
return Zamorak.DISABLED;
}
@ConfigItem(
position = 43,
keyName = "getzulrahprayers",
name = "enable Zulrah Prayers",
description = "Shows prayers for Zulrah",
group = "PVM Prayers",
disabledBy = "showindividualprayers || getpvpprayers || HideRapidHealRestore || getzamorakprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getzulrahprayers()
{
return false;
}
@ConfigItem(
position = 44,
keyName = "zulrah",
name = "Zulrah",
description = "Shows prayers for Zulrah",
group = "PVM Prayers",
hidden = true,
unhide = "getzulrahprayers"
)
default Zulrah zulrah()
{
return Zulrah.DISABLED;
}
// ----------------------------------------------------------- //
@ConfigItem(
position = 45,
keyName = "getpvpprayers",
name = "enable PVP Prayers",
description = "Shows prayers based on prayer build",
group = "PVP Prayers",
disabledBy = "showindividualprayers || getzulrahprayers || getzamorakprayers || getvorkathprayers || getsaradominprayers || getcerberusprayers || getbandosprayers || getbarrowsprayers || getarmadylprayers"
)
default boolean getpvpprayers()
{
return false;
}
@ConfigItem(
position = 46,
keyName = "pvpprayers",
name = "PVP Prayers",
description = "Shows prayers based on prayer build",
group = "PVP Prayers",
hidden = true,
unhide = "getpvpprayers"
)
default PVPPrayers pvpprayers()
{
return PVPPrayers.DISABLED;
}
@ConfigItem(
position = 47,
keyName = "HideRapidHealRestore",
name = "Hide Rapid Heal and Rapid Restore",
description = "Hides the Rapid Heal and Rapid Restore prayers",
group = "PVP Prayers",
hidden = true,
unhide = "getpvpprayers"
)
default boolean HideRapidHealRestore()
{
return false;
}
}

View File

@@ -0,0 +1,659 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
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.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
@PluginDescriptor
(
name = "Show/Hide Prayers",
description = "Hides specific Prayers.",
enabledByDefault = false,
type = PluginType.UTILITY
)
public class HidePrayersPlugin extends Plugin
{
private static final List<WidgetInfo> PRAYER_WIDGET_INFO_LIST = ImmutableList.of(
WidgetInfo.PRAYER_THICK_SKIN, //0
WidgetInfo.PRAYER_BURST_OF_STRENGTH, //1
WidgetInfo.PRAYER_CLARITY_OF_THOUGHT, //2
WidgetInfo.PRAYER_SHARP_EYE, //3
WidgetInfo.PRAYER_MYSTIC_WILL, //4
WidgetInfo.PRAYER_ROCK_SKIN, //5
WidgetInfo.PRAYER_SUPERHUMAN_STRENGTH, //6
WidgetInfo.PRAYER_IMPROVED_REFLEXES, //7
WidgetInfo.PRAYER_RAPID_RESTORE, //8
WidgetInfo.PRAYER_RAPID_HEAL, //9
WidgetInfo.PRAYER_PROTECT_ITEM, //10
WidgetInfo.PRAYER_HAWK_EYE, //11
WidgetInfo.PRAYER_MYSTIC_LORE, //12
WidgetInfo.PRAYER_STEEL_SKIN, //13
WidgetInfo.PRAYER_ULTIMATE_STRENGTH, //14
WidgetInfo.PRAYER_INCREDIBLE_REFLEXES, //15
WidgetInfo.PRAYER_PROTECT_FROM_MAGIC, //16
WidgetInfo.PRAYER_PROTECT_FROM_MISSILES, //17
WidgetInfo.PRAYER_PROTECT_FROM_MELEE, //18
WidgetInfo.PRAYER_EAGLE_EYE, //19
WidgetInfo.PRAYER_MYSTIC_MIGHT, //20
WidgetInfo.PRAYER_RETRIBUTION, //21
WidgetInfo.PRAYER_REDEMPTION, //22
WidgetInfo.PRAYER_SMITE, //23
WidgetInfo.PRAYER_PRESERVE, //24
WidgetInfo.PRAYER_CHIVALRY, //25
WidgetInfo.PRAYER_PIETY, //26
WidgetInfo.PRAYER_RIGOUR, //27
WidgetInfo.PRAYER_AUGURY //28
);
@Inject
private Client client;
@Inject
private HidePrayersConfig config;
@Provides
HidePrayersConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(HidePrayersConfig.class);
}
@Override
protected void startUp() throws Exception
{
hidePrayers();
}
@Override
protected void shutDown() throws Exception
{
restorePrayers();
}
@Subscribe
public void onGameStateChanged(GameStateChanged event)
{
if (event.getGameState() == GameState.LOGGED_IN)
{
hidePrayers();
}
}
@Subscribe
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("hideprayers"))
{
hidePrayers();
}
}
@Subscribe
public void onWidgetLoaded(WidgetLoaded event)
{
if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
hidePrayers();
}
}
private PrayerTabStates getPrayerTabState()
{
HashTable<WidgetNode> componentTable = client.getComponentTable();
for (WidgetNode widgetNode : componentTable.getNodes())
{
if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID)
{
return PrayerTabStates.PRAYERS;
}
else if (widgetNode.getId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
return PrayerTabStates.QUICK_PRAYERS;
}
}
return PrayerTabStates.NONE;
}
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (Widget w : prayerWidgets)
{
w.setHidden(false);
}
}
}
private void reallyHidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (Widget w : prayerWidgets)
{
w.setHidden(true);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
if ( !config.showindividualprayers()
&& !config.getarmadylprayers()
&& !config.getbarrowsprayers()
&& !config.getbandosprayers()
&& !config.getcerberusprayers()
&& !config.getsaradominprayers()
&& !config.getvorkathprayers()
&& !config.getzamorakprayers()
&& !config.getzulrahprayers()
&& !config.getpvpprayers())
{
restorePrayers();
return;
}
reallyHidePrayers();
if (config.showindividualprayers())
{
prayerWidgets.get(0).setHidden(!config.HideTHICK_SKIN()); // Thick Skin
prayerWidgets.get(1).setHidden(!config.HideBURST_OF_STRENGTH()); // Burst of Strength
prayerWidgets.get(2).setHidden(!config.HideCLARITY_OF_THOUGHT()); // Clarity of Thought
prayerWidgets.get(3).setHidden(!config.HideSHARP_EYE()); // Sharp Eye
prayerWidgets.get(4).setHidden(!config.HideMYSTIC_WILL()); // Mystic Will
prayerWidgets.get(5).setHidden(!config.HideROCK_SKIN()); // Rock Skin
prayerWidgets.get(6).setHidden(!config.HideSUPERHUMAN_STRENGTH()); // Super Human Strength
prayerWidgets.get(7).setHidden(!config.HideIMPROVED_REFLEXES()); // Improved_Reflexes
prayerWidgets.get(8).setHidden(!config.HideRapidRestore()); // Rapid Restore
prayerWidgets.get(9).setHidden(!config.HideRapidHeal()); // Rapid Heal
prayerWidgets.get(10).setHidden(!config.HideProtectItem()); // Protect Item
prayerWidgets.get(11).setHidden(!config.HideHAWK_EYE()); // Hawk Eye
prayerWidgets.get(12).setHidden(!config.HideMYSTIC_LORE()); // Mystic Lore
prayerWidgets.get(13).setHidden(!config.HideSteelSkin()); // Steel Skin
prayerWidgets.get(14).setHidden(!config.HideUltimateStrength()); // Ultimate Strength
prayerWidgets.get(15).setHidden(!config.HideIncredibleReflex()); // Incredible Reflexes
prayerWidgets.get(16).setHidden(!config.HidePTFMagic()); // Protect from Magic
prayerWidgets.get(17).setHidden(!config.HidePTFRange()); // Protect from Range
prayerWidgets.get(18).setHidden(!config.HidePTFMelee()); // Protect from Melee
prayerWidgets.get(19).setHidden(!config.HideEagle()); // eagle eye
prayerWidgets.get(20).setHidden(!config.HideMystic()); // Mystic Might
prayerWidgets.get(21).setHidden(!config.HideRETRIBUTION()); // Retribution
prayerWidgets.get(22).setHidden(!config.HideRedemption()); // Redemption
prayerWidgets.get(23).setHidden(!config.HideSmite()); // Smite
prayerWidgets.get(24).setHidden(!config.HidePreserve()); // Preserve
prayerWidgets.get(25).setHidden(!config.HideChivalry()); // Chivalry
prayerWidgets.get(26).setHidden(!config.HidePiety()); // Piety
prayerWidgets.get(27).setHidden(!config.HideRigour()); // Rigour
prayerWidgets.get(28).setHidden(!config.HideAugury()); // Augury
}
else if (config.getarmadylprayers())
{
switch (config.armadyl())
{
case DISABLED:
break;
case ARMADYL_CHEAP:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(19).setHidden(false); // eagle eye
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case ARMADYL_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(27).setHidden(false); // Rigour
break;
}
}
else if (config.getbandosprayers())
{
switch (config.bandos())
{
case DISABLED:
break;
case BANDOS_CHEAP:
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflex
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case BANDOS_EXPENSIVE:
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
break;
}
}
else if (config.getbarrowsprayers())
{
switch (config.barrows())
{
case DISABLED:
break;
case BARROWS_CHEAP:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // eagle eye
prayerWidgets.get(20).setHidden(false); // mystic might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case BARROWS_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(27).setHidden(false); // Rigour
prayerWidgets.get(28).setHidden(false); // Augury
break;
}
}
else if (config.getcerberusprayers())
{
switch (config.cerberus())
{
case DISABLED:
break;
case CERBERUS_CHEAP:
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflex
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case CERBERUS_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
break;
case CERBERUS_CHEAP_RANGE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // eagle eye
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case CERBERUS_EXPENSIVE_RANGE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(27).setHidden(false); // Rigour
break;
}
}
else if (config.getsaradominprayers())
{
switch (config.saradomin())
{
case DISABLED:
break;
case SARDOMIN_CHEAP:
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflex
prayerWidgets.get(16).setHidden(false); // Protect from magic
prayerWidgets.get(19).setHidden(false); // eagle eye
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case SARADOMIN_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
prayerWidgets.get(27).setHidden(false); // Rigour
break;
}
}
else if (config.getvorkathprayers())
{
switch (config.vorkath())
{
case DISABLED:
break;
case VORKATH_CHEAP:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(19).setHidden(false); // eagle eye
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case VORKATH_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(27).setHidden(false); // Rigour
break;
}
}
else if (config.getzamorakprayers())
{
switch (config.zamorak())
{
case DISABLED:
break;
case ZAMORAK_CHEAP:
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflex
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case ZAMORAK_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
break;
}
}
else if (config.getzulrahprayers())
{
switch (config.zulrah())
{
case DISABLED:
break;
case ZULRAH_CHEAP:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(19).setHidden(false); // eagle eye
prayerWidgets.get(20).setHidden(false); // mystic might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case ZULRAH_EXPENSIVE:
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(27).setHidden(false); // Rigour
prayerWidgets.get(28).setHidden(false); // Augury
break;
}
}
else if (config.getpvpprayers())
{
if (config.HideRapidHealRestore())
{
prayerWidgets.get(8).setHidden(true); // Rapid Restore
prayerWidgets.get(9).setHidden(true); // Rapid Heal
}
else
{
prayerWidgets.get(8).setHidden(false); // Rapid Restore
prayerWidgets.get(9).setHidden(false); // Rapid Heal
}
switch (config.pvpprayers())
{
case DISABLED:
break;
case PRAY1:
prayerWidgets.get(0).setHidden(false); // Thick Skin
break;
case PRAY13:
prayerWidgets.get(0).setHidden(false); // Thick Skin
prayerWidgets.get(3).setHidden(false); // Sharp Eye
prayerWidgets.get(4).setHidden(false); // Mystic Will
prayerWidgets.get(5).setHidden(false); // Rock Skin
prayerWidgets.get(6).setHidden(false); // Super Human Strength
break;
case PRAY16:
prayerWidgets.get(3).setHidden(false); // Sharp Eye
prayerWidgets.get(4).setHidden(false); // Mystic Will
prayerWidgets.get(5).setHidden(false); // Rock Skin
prayerWidgets.get(6).setHidden(false); // Super Human Strength
prayerWidgets.get(7).setHidden(false); // Improved Reflexed
break;
case PRAY25:
prayerWidgets.get(3).setHidden(false); // Sharp Eye
prayerWidgets.get(4).setHidden(false); // Mystic Will
prayerWidgets.get(5).setHidden(false); // Rock Skin
prayerWidgets.get(6).setHidden(false); // Super Human Strength
prayerWidgets.get(7).setHidden(false); // Improved Reflexed
prayerWidgets.get(10).setHidden(false); // Protect Item
break;
case PRAY31:
prayerWidgets.get(7).setHidden(false); // Improved Reflexed
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(11).setHidden(false); // Hawk Eye
prayerWidgets.get(12).setHidden(false); // Mystic Lore
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
break;
case PRAY43:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(11).setHidden(false); // Hawk Eye
prayerWidgets.get(12).setHidden(false); // Mystic Lore
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
break;
case PRAY44:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(12).setHidden(false); // Mystic Lore
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // Eagle Eye
break;
case PRAY45:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // Eagle Eye
prayerWidgets.get(20).setHidden(false); // Mystic Might
break;
case PRAY52:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // Eagle Eye
prayerWidgets.get(20).setHidden(false); // Mystic Might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(23).setHidden(false); // Smite
break;
case PRAY55:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // Eagle Eye
prayerWidgets.get(20).setHidden(false); // Mystic Might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(23).setHidden(false); // Smite
prayerWidgets.get(24).setHidden(false); // Preserve
break;
case PRAY60:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // Eagle Eye
prayerWidgets.get(20).setHidden(false); // Mystic Might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(23).setHidden(false); // Smite
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(25).setHidden(false); // Chivalry
break;
case PRAY70:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(19).setHidden(false); // Eagle Eye
prayerWidgets.get(20).setHidden(false); // Mystic Might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(23).setHidden(false); // Smite
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
break;
case PRAY74:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(20).setHidden(false); // Mystic Might
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(23).setHidden(false); // Smite
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
prayerWidgets.get(27).setHidden(false); // Rigour
break;
case PRAY77:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee
prayerWidgets.get(22).setHidden(false); // Redemption
prayerWidgets.get(23).setHidden(false); // Smite
prayerWidgets.get(24).setHidden(false); // Preserve
prayerWidgets.get(26).setHidden(false); // Piety
prayerWidgets.get(27).setHidden(false); // Rigour
prayerWidgets.get(28).setHidden(false); // Augury
break;
}
}
}
}
}

View File

@@ -1,397 +0,0 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.INDIVIDUAL;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
@ConfigGroup("hideprayersINDIVIDUAL")
public interface HidePrayersINDIVIDUALConfig extends Config
{
@ConfigItem
(
position = 0,
keyName = "pk prayers",
name = "Hide Prayers",
description = "Hide/Show Prayers."
)
default boolean showINDIVIDUALPrayers()
{
return false;
}
@ConfigItem
(
position = 1,
keyName = "thickskin",
name = "Hide Thick Skin",
description = "Hide/Show Thick Skin"
)
default boolean HideTHICK_SKIN()
{
return false;
}
@ConfigItem
(
position = 2,
keyName = "burstofstrength",
name = "Hide Burst of Strength",
description = "Hide/Show Burst of Strength"
)
default boolean HideBURST_OF_STRENGTH()
{
return false;
}
@ConfigItem
(
position = 3,
keyName = "clarityofthought",
name = "Hide Clarity of Thought",
description = "Hide/Show Clarity of Thought"
)
default boolean HideCLARITY_OF_THOUGHT()
{
return false;
}
@ConfigItem
(
position = 4,
keyName = "sharpeye",
name = "Hide Sharp Eye",
description = "Hide/Show Sharp Eye"
)
default boolean HideSHARP_EYE()
{
return false;
}
@ConfigItem
(
position = 5,
keyName = "mysticwill",
name = "Hide Mystic Will",
description = "Hide/Show Mystic Will"
)
default boolean HideMYSTIC_WILL()
{
return false;
}
@ConfigItem
(
position = 6,
keyName = "rockskin",
name = "Hide Rock Skin",
description = "Hide/Show Rock Skin"
)
default boolean HideROCK_SKIN()
{
return false;
}
@ConfigItem
(
position = 7,
keyName = "superhumanstrength",
name = "Hide Super Human Strength",
description = "Hide/Show Super Human Strength"
)
default boolean HideSUPERHUMAN_STRENGTH()
{
return false;
}
@ConfigItem
(
position = 8,
keyName = "improvedreflexes",
name = "Hide Improved_Reflexes",
description = "Hide/Show Improved_Reflexes"
)
default boolean HideIMPROVED_REFLEXES()
{
return false;
}
@ConfigItem
(
position = 9,
keyName = "rapidrestore",
name = "Hide Rapid Restore",
description = "Hide/Show Rapid Restore"
)
default boolean HideRapidRestore()
{
return false;
}
@ConfigItem
(
position = 10,
keyName = "rapidheal",
name = "Hide Rapid Heal",
description = "Hide/Show Rapid Heal"
)
default boolean HideRapidHeal()
{
return false;
}
@ConfigItem
(
position = 11,
keyName = "protectitem",
name = "Hide Protect Item",
description = "Hide/Show Protect Item"
)
default boolean HideProtectItem()
{
return false;
}
@ConfigItem
(
position = 12,
keyName = "hawkeye",
name = "Hide Hawk Eye",
description = "Hide/Show Hawk Eye"
)
default boolean HideHAWK_EYE()
{
return false;
}
@ConfigItem
(
position = 13,
keyName = "mysticlore",
name = "Hide Mystic Lore",
description = "Hide/Show Mystic Lore"
)
default boolean HideMYSTIC_LORE()
{
return false;
}
@ConfigItem
(
position = 14,
keyName = "steelskin",
name = "Hide Steel Skin",
description = "Hide/Show Steel skin"
)
default boolean HideSteelSkin()
{
return false;
}
@ConfigItem
(
position = 15,
keyName = "ultimatestrength",
name = "Hide Ultimate Strength",
description = "Hide/Show Ultimate strength"
)
default boolean HideUltimateStrength()
{
return false;
}
@ConfigItem
(
position = 16,
keyName = "incrediblereflex",
name = "Hide Incredible Reflex",
description = "Hide/Show Incredible Reflex"
)
default boolean HideIncredibleReflex()
{
return false;
}
@ConfigItem
(
position = 17,
keyName = "PTFMagic",
name = "Hide Protect From Magic",
description = "Hide/Show Protect From Magic"
)
default boolean HidePTFMagic()
{
return false;
}
@ConfigItem
(
position = 18,
keyName = "PTFRange",
name = "Hide Protect From Range",
description = "Hide/Show Protect from Range"
)
default boolean HidePTFRange()
{
return false;
}
@ConfigItem
(
position = 19,
keyName = "PTFMelee",
name = "Hide Protect From Melee",
description = "Hide/Show Protect From Melee"
)
default boolean HidePTFMelee()
{
return false;
}
@ConfigItem
(
position = 20,
keyName = "eagle",
name = "Hide Eagle Eye",
description = "Hide/Show Eagle Eye"
)
default boolean HideEagle()
{
return false;
}
@ConfigItem
(
position = 19,
keyName = "mystic",
name = "Hide Mystic Might",
description = "Hide/Show Mystic Might"
)
default boolean HideMystic()
{
return false;
}
@ConfigItem
(
position = 21,
keyName = "Retribution",
name = "Hide Retribution",
description = "Hide/Show Retribution"
)
default boolean HideRETRIBUTION()
{
return false;
}
@ConfigItem
(
position = 22,
keyName = "redemption",
name = "Hide Redemption",
description = "Hide/Show Redemption"
)
default boolean HideRedemption()
{
return false;
}
@ConfigItem
(
position = 23,
keyName = "smite",
name = "Hide Smite",
description = "Hide/Show Smite"
)
default boolean HideSmite()
{
return false;
}
@ConfigItem
(
position = 24,
keyName = "preserve",
name = "Hide Preserve",
description = "Hide/Show Preserve"
)
default boolean HidePreserve()
{
return false;
}
@ConfigItem
(
position = 25,
keyName = "Chivalry",
name = "Hide Chivalry",
description = "Hide/Show Chivalry"
)
default boolean HideChivalry()
{
return false;
}
@ConfigItem
(
position = 26,
keyName = "Piety",
name = "Hide Piety",
description = "Hide/Show Piety"
)
default boolean HidePiety()
{
return false;
}
@ConfigItem
(
position = 27,
keyName = "Rigour",
name = "Hide Rigour",
description = "Hide/Show Rigour"
)
default boolean HideRigour()
{
return false;
}
@ConfigItem
(
position = 28,
keyName = "Augury",
name = "Hide Augury",
description = "Hide/Show Augury"
)
default boolean HideAugury()
{
return false;
}
}

View File

@@ -1,437 +0,0 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.INDIVIDUAL;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.Prayer;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
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.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
@PluginDescriptor
(
name = "Show/Hide INDIVIDUAL Prayers",
description = "Hides specific Prayers in the Prayer tab individually.",
enabledByDefault = false,
type = PluginType.UTILITY
)
public class HidePrayersINDIVIDUALPlugin extends Plugin
{
private static final int PRAYER_COUNT = Prayer.values().length;
private static final List<WidgetInfo> PRAYER_WIDGET_INFO_LIST = ImmutableList.of
(
WidgetInfo.PRAYER_THICK_SKIN, //0
WidgetInfo.PRAYER_BURST_OF_STRENGTH, //1
WidgetInfo.PRAYER_CLARITY_OF_THOUGHT, //2
WidgetInfo.PRAYER_SHARP_EYE, //3
WidgetInfo.PRAYER_MYSTIC_WILL, //4
WidgetInfo.PRAYER_ROCK_SKIN, //5
WidgetInfo.PRAYER_SUPERHUMAN_STRENGTH, //6
WidgetInfo.PRAYER_IMPROVED_REFLEXES, //7
WidgetInfo.PRAYER_RAPID_RESTORE, //8
WidgetInfo.PRAYER_RAPID_HEAL, //9
WidgetInfo.PRAYER_PROTECT_ITEM, //10
WidgetInfo.PRAYER_HAWK_EYE, //11
WidgetInfo.PRAYER_MYSTIC_LORE, //12
WidgetInfo.PRAYER_STEEL_SKIN, //13
WidgetInfo.PRAYER_ULTIMATE_STRENGTH, //14
WidgetInfo.PRAYER_INCREDIBLE_REFLEXES, //15
WidgetInfo.PRAYER_PROTECT_FROM_MAGIC, //16
WidgetInfo.PRAYER_PROTECT_FROM_MISSILES, //17
WidgetInfo.PRAYER_PROTECT_FROM_MELEE, //18
WidgetInfo.PRAYER_EAGLE_EYE, //19
WidgetInfo.PRAYER_MYSTIC_MIGHT, //20
WidgetInfo.PRAYER_RETRIBUTION, //21
WidgetInfo.PRAYER_REDEMPTION, //22
WidgetInfo.PRAYER_SMITE, //23
WidgetInfo.PRAYER_PRESERVE, //24
WidgetInfo.PRAYER_CHIVALRY, //25
WidgetInfo.PRAYER_PIETY, //26
WidgetInfo.PRAYER_RIGOUR, //27
WidgetInfo.PRAYER_AUGURY //28
);
@Inject
private Client client;
@Inject
private HidePrayersINDIVIDUALConfig config;
@Inject
private ConfigManager configManager;
@Provides
HidePrayersINDIVIDUALConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(HidePrayersINDIVIDUALConfig.class);
}
@Override
protected void startUp() throws Exception
{
hidePrayers();
configManager.setConfiguration("runelite", "hideprayerspvmplugin", false);
configManager.setConfiguration("runelite", "hideprayerspvpplugin", false);
}
@Override
protected void shutDown() throws Exception
{
restorePrayers();
}
@Subscribe
public void onGameStateChanged(GameStateChanged event)
{
if (event.getGameState() == GameState.LOGGED_IN)
{
hidePrayers();
}
}
@Subscribe
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("hideprayersINDIVIDUAL"))
{
hidePrayers();
}
}
@Subscribe
public void onWidgetLoaded(WidgetLoaded event)
{
if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
hidePrayers();
}
}
private PrayerTabStates getPrayerTabState()
{
HashTable<WidgetNode> componentTable = client.getComponentTable();
for (WidgetNode widgetNode : componentTable.getNodes())
{
if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID)
{
return PrayerTabStates.PRAYERS;
}
else if (widgetNode.getId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
return PrayerTabStates.QUICK_PRAYERS;
}
}
return PrayerTabStates.NONE;
}
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
Prayer prayer = Prayer.values()[index];
Widget prayerWidget = prayerWidgets.get(prayer.ordinal());
if (!config.showINDIVIDUALPrayers()
&& !config.HideTHICK_SKIN()
&& !config.HideBURST_OF_STRENGTH()
&& !config.HideCLARITY_OF_THOUGHT()
&& !config.HideSHARP_EYE()
&& !config.HideMYSTIC_WILL()
&& !config.HideROCK_SKIN()
&& !config.HideSUPERHUMAN_STRENGTH()
&& !config.HideIMPROVED_REFLEXES()
&& !config.HideRapidRestore()
&& !config.HideRapidHeal()
&& !config.HideProtectItem()
&& !config.HideHAWK_EYE()
&& !config.HideMYSTIC_LORE()
&& !config.HideSteelSkin()
&& !config.HideUltimateStrength()
&& !config.HideIncredibleReflex()
&& !config.HidePTFMagic()
&& !config.HidePTFRange()
&& !config.HidePTFMelee()
&& !config.HideEagle()
&& !config.HideMystic()
&& !config.HideRETRIBUTION()
&& !config.HideRedemption()
&& !config.HideSmite()
&& !config.HidePreserve()
&& !config.HideChivalry()
&& !config.HidePiety()
&& !config.HideRigour()
&& !config.HideAugury())
{
prayerWidget.setHidden(false);
}
if (config.showINDIVIDUALPrayers())
{
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[0].ordinal()).setHidden(false); // Thick Skin
prayerWidgets.get(Prayer.values()[1].ordinal()).setHidden(false); // Burst of Strength
prayerWidgets.get(Prayer.values()[2].ordinal()).setHidden(false); // Clarity of Thought
prayerWidgets.get(Prayer.values()[3].ordinal()).setHidden(false); // Sharp Eye
prayerWidgets.get(Prayer.values()[4].ordinal()).setHidden(false); // Mystic Will
prayerWidgets.get(Prayer.values()[5].ordinal()).setHidden(false); // Rock Skin
prayerWidgets.get(Prayer.values()[6].ordinal()).setHidden(false); // Super Human Strength
prayerWidgets.get(Prayer.values()[7].ordinal()).setHidden(false); // Improved Reflexed
prayerWidgets.get(Prayer.values()[8].ordinal()).setHidden(false); // Rapid Restore
prayerWidgets.get(Prayer.values()[9].ordinal()).setHidden(false); // Rapid Heal
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[11].ordinal()).setHidden(false); // Hawk Eye
prayerWidgets.get(Prayer.values()[12].ordinal()).setHidden(false); // Mystic Lore
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false); // Incredible Reflexes
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
prayerWidgets.get(Prayer.values()[21].ordinal()).setHidden(false); // Retribution
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false); // Preserve
prayerWidgets.get(Prayer.values()[25].ordinal()).setHidden(false); // Chivalry
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false); // Piety
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false); // Rigour
prayerWidgets.get(Prayer.values()[28].ordinal()).setHidden(false); // Augury
if (config.HideTHICK_SKIN())
{
prayerWidgets.get(Prayer.values()[0].ordinal()).setHidden(true); // Thick Skin
}
if (config.HideBURST_OF_STRENGTH())
{
prayerWidgets.get(Prayer.values()[1].ordinal()).setHidden(true); // Burst of Strength
}
if (config.HideCLARITY_OF_THOUGHT())
{
prayerWidgets.get(Prayer.values()[2].ordinal()).setHidden(true); // Clarity of Thought
}
if (config.HideSHARP_EYE())
{
prayerWidgets.get(Prayer.values()[3].ordinal()).setHidden(true); // Thick Skin
}
if (config.HideMYSTIC_WILL())
{
prayerWidgets.get(Prayer.values()[4].ordinal()).setHidden(true); // Mystic Will
}
if (config.HideROCK_SKIN())
{
prayerWidgets.get(Prayer.values()[5].ordinal()).setHidden(true); // Rock Skin
}
if (config.HideSUPERHUMAN_STRENGTH())
{
prayerWidgets.get(Prayer.values()[6].ordinal()).setHidden(true); // Super Human Strength
}
if (config.HideIMPROVED_REFLEXES())
{
prayerWidgets.get(Prayer.values()[7].ordinal()).setHidden(true); // Improved_Reflexes
}
if (config.HideRapidRestore())
{
prayerWidgets.get(Prayer.values()[8].ordinal()).setHidden(true); // Rapid Restore
}
if (config.HideRapidHeal())
{
prayerWidgets.get(Prayer.values()[9].ordinal()).setHidden(true); // Rapid Heal
}
if (config.HideProtectItem())
{
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(true); // Protect Item
}
if (config.HideHAWK_EYE())
{
prayerWidgets.get(Prayer.values()[11].ordinal()).setHidden(true); // Hawk Eye
}
if (config.HideMYSTIC_LORE())
{
prayerWidgets.get(Prayer.values()[12].ordinal()).setHidden(true); // Mystic Lore
}
if (config.HideSteelSkin())
{
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(true); // Steel Skin
}
if (config.HideUltimateStrength())
{
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(true); // Ultimate Strength
}
if (config.HideIncredibleReflex())
{
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(true); // Incredible Reflexes
}
if (config.HidePTFMagic())
{
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(true); // Protect from Magic
}
if (config.HidePTFRange())
{
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(true); // Protect from Range
}
if (config.HidePTFMelee())
{
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(true); // Protect from Melee
}
if (config.HideEagle())
{
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(true); // eagle eye
}
if (config.HideMystic())
{
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(true); // Mystic Might
}
if (config.HideRETRIBUTION())
{
prayerWidgets.get(Prayer.values()[21].ordinal()).setHidden(true); // Retribution
}
if (config.HideRedemption())
{
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(true); // Redemption
}
if (config.HideSmite())
{
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(true); // Smite
}
if (config.HidePreserve())
{
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(true); // Preserve
}
if (config.HideChivalry())
{
prayerWidgets.get(Prayer.values()[25].ordinal()).setHidden(true); // Chivalry
}
if (config.HidePiety())
{
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(true); // Piety
}
if (config.HideRigour())
{
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(true); // Rigour
}
if (config.HideAugury())
{
prayerWidgets.get(Prayer.values()[28].ordinal()).setHidden(true); // Augury
}
}
}
}
}
}

View File

@@ -1,48 +0,0 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.PVM;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
@ConfigGroup("hideprayersPVM")
public interface HidePrayersPVMConfig extends Config
{
@ConfigItem
(
position = 0,
keyName = "PVMPrayers",
name = "PVM Prayers",
description = "Shows prayers based on prayer build"
)
default PVMPrayers PVMPrayers()
{
return PVMPrayers.DISABLED;
}
}

View File

@@ -1,391 +0,0 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.PVM;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.Prayer;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
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.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
@PluginDescriptor
(
name = "Show/Hide PVM Prayers",
description = "Hides specific Prayers in the Prayer tab for PVM.",
enabledByDefault = false,
type = PluginType.PVM
)
public class HidePrayersPVMPlugin extends Plugin
{
private static final int PRAYER_COUNT = Prayer.values().length;
private static final List<WidgetInfo> PRAYER_WIDGET_INFO_LIST = ImmutableList.of
(
WidgetInfo.PRAYER_THICK_SKIN, //0
WidgetInfo.PRAYER_BURST_OF_STRENGTH, //1
WidgetInfo.PRAYER_CLARITY_OF_THOUGHT, //2
WidgetInfo.PRAYER_SHARP_EYE, //3
WidgetInfo.PRAYER_MYSTIC_WILL, //4
WidgetInfo.PRAYER_ROCK_SKIN, //5
WidgetInfo.PRAYER_SUPERHUMAN_STRENGTH, //6
WidgetInfo.PRAYER_IMPROVED_REFLEXES, //7
WidgetInfo.PRAYER_RAPID_RESTORE, //8
WidgetInfo.PRAYER_RAPID_HEAL, //9
WidgetInfo.PRAYER_PROTECT_ITEM, //10
WidgetInfo.PRAYER_HAWK_EYE, //11
WidgetInfo.PRAYER_MYSTIC_LORE, //12
WidgetInfo.PRAYER_STEEL_SKIN, //13
WidgetInfo.PRAYER_ULTIMATE_STRENGTH, //14
WidgetInfo.PRAYER_INCREDIBLE_REFLEXES, //15
WidgetInfo.PRAYER_PROTECT_FROM_MAGIC, //16
WidgetInfo.PRAYER_PROTECT_FROM_MISSILES, //17
WidgetInfo.PRAYER_PROTECT_FROM_MELEE, //18
WidgetInfo.PRAYER_EAGLE_EYE, //19
WidgetInfo.PRAYER_MYSTIC_MIGHT, //20
WidgetInfo.PRAYER_RETRIBUTION, //21
WidgetInfo.PRAYER_REDEMPTION, //22
WidgetInfo.PRAYER_SMITE, //23
WidgetInfo.PRAYER_PRESERVE, //24
WidgetInfo.PRAYER_CHIVALRY, //25
WidgetInfo.PRAYER_PIETY, //26
WidgetInfo.PRAYER_RIGOUR, //27
WidgetInfo.PRAYER_AUGURY //28
);
@Inject
private Client client;
@Inject
private HidePrayersPVMConfig config;
@Inject
private ConfigManager configManager;
@Provides
HidePrayersPVMConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(HidePrayersPVMConfig.class);
}
@Override
protected void startUp() throws Exception
{
hidePrayers();
configManager.setConfiguration("runelite", "hideprayersindividualplugin", false);
configManager.setConfiguration("runelite", "hideprayerspvpplugin", false);
}
@Override
protected void shutDown() throws Exception
{
restorePrayers();
}
@Subscribe
public void onGameStateChanged(GameStateChanged event)
{
if (event.getGameState() == GameState.LOGGED_IN)
{
hidePrayers();
}
}
@Subscribe
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("hideprayersPVM"))
{
hidePrayers();
}
}
@Subscribe
public void onWidgetLoaded(WidgetLoaded event)
{
if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
hidePrayers();
}
}
private PrayerTabStates getPrayerTabState()
{
HashTable<WidgetNode> componentTable = client.getComponentTable();
for (WidgetNode widgetNode : componentTable.getNodes())
{
if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID)
{
return PrayerTabStates.PRAYERS;
}
else if (widgetNode.getId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
return PrayerTabStates.QUICK_PRAYERS;
}
}
return PrayerTabStates.NONE;
}
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
Prayer prayer = Prayer.values()[index];
Widget prayerWidget = prayerWidgets.get(prayer.ordinal());
switch (config.PVMPrayers())
{
case DISABLED:
prayerWidget.setHidden(false);
break;
case ARMADYL_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false);// eagle eye
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case ARMADYL_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false);// Rigour
break;
case BANDOS_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false);// Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false);// Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false);// Incredible Reflex
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case BANDOS_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false);// Piety
break;
case BARROWS_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false);// eagle eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false);// mystic might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case BARROWS_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false);// Rigour
prayerWidgets.get(Prayer.values()[28].ordinal()).setHidden(false);// Augury
break;
case CERBERUS_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false);// Steel PVM
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false);// Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false);// Incredible Reflex
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case CERBERUS_CHEAP_RANGE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false);// eagle eye
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case CERBERUS_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false);// Piety
break;
case CERBERUS_EXPENSIVE_RANGE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false);// Rigour
break;
case SARADOMIN_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false);// Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false);// Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false);// Incredible Reflex
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from magic
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false);// eagle eye
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case SARADOMIN_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false);// Piety
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false);// Rigour
break;
case VORKATH_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false);// eagle eye
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case VORKATH_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false);// Rigour
break;
case ZAMORAK_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false);// Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false);// Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false);// Incredible Reflex
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case ZAMORAK_EXPENSIVE:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false);// Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false);// Piety
break;
case ZULRAH_CHEAP:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false);// eagle eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false);// mystic might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
break;
case ZULRAH_EXPENSIVE:
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false);// Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false);// Protect from Range
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false);// Redemption
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false);// Preserve
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false);// Rigour
prayerWidgets.get(Prayer.values()[28].ordinal()).setHidden(false);// Augury
break;
}
}
}
}
}

View File

@@ -1,60 +0,0 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.PVP;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
@ConfigGroup("hideprayersPVP")
public interface HidePrayersPVPConfig extends Config
{
@ConfigItem
(
position = 0,
keyName = "CombatPrayers",
name = "Combat Prayers",
description = "Shows prayers based on prayer build"
)
default CombatPrayers CombatPrayers()
{
return CombatPrayers.DISABLED;
}
@ConfigItem
(
position = 1,
keyName = "HideRapidHealRestore",
name = "Hide Rapid Heal and Rapid Restore",
description = "Hides the Rapid Heal and Rapid Restore prayers"
)
default boolean HideRapidHealRestore()
{
return false;
}
}

View File

@@ -1,396 +0,0 @@
/*
* Copyright (c) 2018, https://runelitepl.us
* Copyright (c) 2019, Kyle <https://github.com/kyleeld>
* Copyright (c) 2018, Raiever <https://github.com/Raieverr>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.PVP;
import com.google.common.collect.ImmutableList;
import com.google.inject.Provides;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.HashTable;
import net.runelite.api.Prayer;
import net.runelite.api.WidgetNode;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
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.plugins.PluginType;
import net.runelite.client.plugins.hideprayers.util.PrayerTabStates;
@PluginDescriptor
(
name = "Show/Hide PVP Prayers",
description = "Hides specific Prayers in the Prayer tab for PVP.",
enabledByDefault = false,
type = PluginType.PVP
)
public class HidePrayersPVPPlugin extends Plugin
{
private static final int PRAYER_COUNT = Prayer.values().length;
private static final List<WidgetInfo> PRAYER_WIDGET_INFO_LIST = ImmutableList.of
(
WidgetInfo.PRAYER_THICK_SKIN, //0
WidgetInfo.PRAYER_BURST_OF_STRENGTH, //1
WidgetInfo.PRAYER_CLARITY_OF_THOUGHT, //2
WidgetInfo.PRAYER_SHARP_EYE, //3
WidgetInfo.PRAYER_MYSTIC_WILL, //4
WidgetInfo.PRAYER_ROCK_SKIN, //5
WidgetInfo.PRAYER_SUPERHUMAN_STRENGTH, //6
WidgetInfo.PRAYER_IMPROVED_REFLEXES, //7
WidgetInfo.PRAYER_RAPID_RESTORE, //8
WidgetInfo.PRAYER_RAPID_HEAL, //9
WidgetInfo.PRAYER_PROTECT_ITEM, //10
WidgetInfo.PRAYER_HAWK_EYE, //11
WidgetInfo.PRAYER_MYSTIC_LORE, //12
WidgetInfo.PRAYER_STEEL_SKIN, //13
WidgetInfo.PRAYER_ULTIMATE_STRENGTH, //14
WidgetInfo.PRAYER_INCREDIBLE_REFLEXES, //15
WidgetInfo.PRAYER_PROTECT_FROM_MAGIC, //16
WidgetInfo.PRAYER_PROTECT_FROM_MISSILES, //17
WidgetInfo.PRAYER_PROTECT_FROM_MELEE, //18
WidgetInfo.PRAYER_EAGLE_EYE, //19
WidgetInfo.PRAYER_MYSTIC_MIGHT, //20
WidgetInfo.PRAYER_RETRIBUTION, //21
WidgetInfo.PRAYER_REDEMPTION, //22
WidgetInfo.PRAYER_SMITE, //23
WidgetInfo.PRAYER_PRESERVE, //24
WidgetInfo.PRAYER_CHIVALRY, //25
WidgetInfo.PRAYER_PIETY, //26
WidgetInfo.PRAYER_RIGOUR, //27
WidgetInfo.PRAYER_AUGURY //28
);
@Inject
private Client client;
@Inject
private HidePrayersPVPConfig config;
@Inject
private ConfigManager configManager;
@Provides
HidePrayersPVPConfig provideConfig(ConfigManager configManager)
{
return configManager.getConfig(HidePrayersPVPConfig.class);
}
@Override
protected void startUp() throws Exception
{
hidePrayers();
configManager.setConfiguration("runelite", "hideprayerspvmplugin", false);
configManager.setConfiguration("runelite", "hideprayersindividualplugin", false);
}
@Override
protected void shutDown() throws Exception
{
restorePrayers();
}
@Subscribe
public void onGameStateChanged(GameStateChanged event)
{
if (event.getGameState() == GameState.LOGGED_IN)
{
hidePrayers();
}
}
@Subscribe
public void onConfigChanged(ConfigChanged event)
{
if (event.getGroup().equals("hideprayersPVP"))
{
hidePrayers();
}
}
@Subscribe
public void onWidgetLoaded(WidgetLoaded event)
{
if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
hidePrayers();
}
}
private PrayerTabStates getPrayerTabState()
{
HashTable<WidgetNode> componentTable = client.getComponentTable();
for (WidgetNode widgetNode : componentTable.getNodes())
{
if (widgetNode.getId() == WidgetID.PRAYER_GROUP_ID)
{
return PrayerTabStates.PRAYERS;
}
else if (widgetNode.getId() == WidgetID.QUICK_PRAYERS_GROUP_ID)
{
return PrayerTabStates.QUICK_PRAYERS;
}
}
return PrayerTabStates.NONE;
}
private void restorePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
prayerWidgets.get(Prayer.values()[index].ordinal()).setHidden(false);
}
}
}
private void hidePrayers()
{
if (client.getGameState() != GameState.LOGGED_IN)
{
return;
}
PrayerTabStates prayerTabState = getPrayerTabState();
if (prayerTabState == PrayerTabStates.PRAYERS)
{
List<Widget> prayerWidgets = PRAYER_WIDGET_INFO_LIST.stream().map(client::getWidget)
.filter(Objects::nonNull).collect(Collectors.toList());
if (prayerWidgets.size() != PRAYER_WIDGET_INFO_LIST.size())
{
return;
}
for (int index = 0; index < PRAYER_COUNT; index++)
{
Prayer prayer = Prayer.values()[index];
Widget prayerWidget = prayerWidgets.get(prayer.ordinal());
if (config.HideRapidHealRestore())
{
prayerWidgets.get(Prayer.values()[8].ordinal()).setHidden(true); // Rapid Restore
prayerWidgets.get(Prayer.values()[9].ordinal()).setHidden(true); // Rapid Heal
}
else
{
prayerWidgets.get(Prayer.values()[8].ordinal()).setHidden(false); // Rapid Restore
prayerWidgets.get(Prayer.values()[9].ordinal()).setHidden(false); // Rapid Heal
}
switch (config.CombatPrayers())
{
case DISABLED:
prayerWidget.setHidden(false);
break;
case PRAY1:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[0].ordinal()).setHidden(false); // Thick Skin
break;
case PRAY13:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[0].ordinal()).setHidden(false); // Thick Skin
prayerWidgets.get(Prayer.values()[3].ordinal()).setHidden(false); // Sharp Eye
prayerWidgets.get(Prayer.values()[4].ordinal()).setHidden(false); // Mystic Will
prayerWidgets.get(Prayer.values()[5].ordinal()).setHidden(false); // Rock Skin
prayerWidgets.get(Prayer.values()[6].ordinal()).setHidden(false); // Super Human Strength
break;
case PRAY16:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[3].ordinal()).setHidden(false); // Sharp Eye
prayerWidgets.get(Prayer.values()[4].ordinal()).setHidden(false); // Mystic Will
prayerWidgets.get(Prayer.values()[5].ordinal()).setHidden(false); // Rock Skin
prayerWidgets.get(Prayer.values()[6].ordinal()).setHidden(false); // Super Human Strength
prayerWidgets.get(Prayer.values()[7].ordinal()).setHidden(false); // Improved Reflexed
break;
case PRAY25:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[3].ordinal()).setHidden(false); // Sharp Eye
prayerWidgets.get(Prayer.values()[4].ordinal()).setHidden(false); // Mystic Will
prayerWidgets.get(Prayer.values()[5].ordinal()).setHidden(false); // Rock Skin
prayerWidgets.get(Prayer.values()[6].ordinal()).setHidden(false); // Super Human Strength
prayerWidgets.get(Prayer.values()[7].ordinal()).setHidden(false); // Improved Reflexed
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
break;
case PRAY31:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[7].ordinal()).setHidden(false); // Improved Reflexed
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[11].ordinal()).setHidden(false); // Hawk Eye
prayerWidgets.get(Prayer.values()[12].ordinal()).setHidden(false); // Mystic Lore
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
break;
case PRAY43:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[11].ordinal()).setHidden(false); // Hawk Eye
prayerWidgets.get(Prayer.values()[12].ordinal()).setHidden(false); // Mystic Lore
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false); // Incredible Reflexes
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
break;
case PRAY44:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[12].ordinal()).setHidden(false); // Mystic Lore
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false); // Incredible Reflexes
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
break;
case PRAY45:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false); // Incredible Reflexes
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
break;
case PRAY52:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false); // Incredible Reflexes
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
break;
case PRAY55:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[13].ordinal()).setHidden(false); // Steel Skin
prayerWidgets.get(Prayer.values()[14].ordinal()).setHidden(false); // Ultimate Strength
prayerWidgets.get(Prayer.values()[15].ordinal()).setHidden(false); // Incredible Reflexes
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false); // Preserve
break;
case PRAY60:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false); // Preserve
prayerWidgets.get(Prayer.values()[25].ordinal()).setHidden(false); // Chivalry
break;
case PRAY70:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[19].ordinal()).setHidden(false); // Eagle Eye
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false); // Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false); // Piety
break;
case PRAY74:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[20].ordinal()).setHidden(false); // Mystic Might
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false); // Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false); // Piety
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false); // Rigour
break;
case PRAY77:
prayerWidget.setHidden(true);
prayerWidgets.get(Prayer.values()[10].ordinal()).setHidden(false); // Protect Item
prayerWidgets.get(Prayer.values()[16].ordinal()).setHidden(false); // Protect from Magic
prayerWidgets.get(Prayer.values()[17].ordinal()).setHidden(false); // Protect from Range
prayerWidgets.get(Prayer.values()[18].ordinal()).setHidden(false); // Protect from Melee
prayerWidgets.get(Prayer.values()[22].ordinal()).setHidden(false); // Redemption
prayerWidgets.get(Prayer.values()[23].ordinal()).setHidden(false); // Smite
prayerWidgets.get(Prayer.values()[24].ordinal()).setHidden(false); // Preserve
prayerWidgets.get(Prayer.values()[26].ordinal()).setHidden(false); // Piety
prayerWidgets.get(Prayer.values()[27].ordinal()).setHidden(false); // Rigour
prayerWidgets.get(Prayer.values()[28].ordinal()).setHidden(false); // Augury
break;
}
}
}
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Armadyl
{
DISABLED("Disabled"),
ARMADYL_CHEAP("Eagle eye"),
ARMADYL_EXPENSIVE("Rigour");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Bandos
{
DISABLED("Disabled"),
BANDOS_CHEAP("Low LVL Melee"),
BANDOS_EXPENSIVE("Piety");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Barrows
{
DISABLED("Disabled"),
BARROWS_CHEAP("Eagle/Mystic"),
BARROWS_EXPENSIVE("Augury/Rigour");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -24,34 +24,20 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.PVM;
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum PVMPrayers
public enum Cerberus
{
DISABLED("Disabled"),
ARMADYL_CHEAP("Eagle eye"),
ARMADYL_EXPENSIVE("Rigour"),
BANDOS_CHEAP("Low LVL Melee"),
BANDOS_EXPENSIVE("Piety"),
BARROWS_CHEAP("Eagle/Mystic"),
BARROWS_EXPENSIVE("Augury/Rigour"),
CERBERUS_CHEAP("Low LVL Melee"),
CERBERUS_EXPENSIVE("Melee Piety"),
CERBERUS_CHEAP_RANGE("Range Eagle Eye"),
CERBERUS_EXPENSIVE_RANGE("Range Rigour"),
SARADOMIN_CHEAP("Melee/Eagle"),
SARADOMIN_EXPENSIVE("Piety/Rigour"),
VORKATH_CHEAP("Eagle Eye"),
VORKATH_EXPENSIVE("Rigour"),
ZAMORAK_CHEAP("Low LVL Melee"),
ZAMORAK_EXPENSIVE("Piety"),
ZULRAH_CHEAP("Eagle/Mystic"),
ZULRAH_EXPENSIVE("Augury/Rigour");
CERBERUS_EXPENSIVE_RANGE("Range Rigour");
private String name;
@@ -60,4 +46,4 @@ public enum PVMPrayers
{
return getName();
}
}
}

View File

@@ -24,14 +24,13 @@
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.PVP;
package net.runelite.client.plugins.hideprayers.util;;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum CombatPrayers
public enum PVPPrayers
{
DISABLED("Disabled"),
PRAY1("1 prayer build"),

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Saradomin
{
DISABLED("Disabled"),
SARDOMIN_CHEAP("Melee/Eagle"),
SARADOMIN_EXPENSIVE("Piety/Rigour");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Vorkath
{
DISABLED("Disabled"),
VORKATH_CHEAP("Eagle Eye"),
VORKATH_EXPENSIVE("Rigour");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Zamorak
{
DISABLED("Disabled"),
ZAMORAK_CHEAP("Low LVL Melee"),
ZAMORAK_EXPENSIVE("Piety");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Lotto <https://github.com/devLotto>
* Copyright (c) 2018, Raqes <j.raqes@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.hideprayers.util;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Zulrah
{
DISABLED("Disabled"),
ZULRAH_CHEAP("Eagle/Mystic"),
ZULRAH_EXPENSIVE("Augury/Rigour");
private String name;
@Override
public String toString()
{
return getName();
}
}

View File

@@ -1347,6 +1347,7 @@ public class MenuEntrySwapperPlugin extends Plugin
if (config.getSlayerRing())
{
menuManager.addSwap("remove", "slayer ring", config.getSlayerRingMode().toString());
menuManager.addSwap("remove", "slayer ring (eternal)", config.getSlayerRingMode().toString());
}
if (config.getXericsTalisman())

View File

@@ -185,7 +185,7 @@ public interface PlayerIndicatorsConfig extends Config
)
default boolean colorPlayerMenu()
{
return true;
return false;
}
@ConfigItem(

View File

@@ -114,7 +114,7 @@ public class ThievingPlugin extends Plugin
final String message = event.getMessage();
if (message.startsWith("You pick") || message.startsWith("You steal"))
if (message.startsWith("You pickpocket") || message.startsWith("You pick-pocket") || message.startsWith("You steal") || message.startsWith("You successfully pick-pocket") || message.startsWith("You successfully pick") || message.startsWith("You successfully steal"))
{
if (session == null)
{
@@ -125,7 +125,7 @@ public class ThievingPlugin extends Plugin
session.hasSucceeded();
}
else if (message.startsWith("You fail to pick"))
else if (message.startsWith("You fail to pickpocket") || message.startsWith("You fail to pick-pocket") || message.startsWith("You fail to steal"))
{
if (session == null)
{