hide prayers update + new worldtypes (#756)

* hide prayers update + new worldtypes

hide prayers now accomodates high risk worlds and will remove protect item as you cant use it.

new worldtypes: Deadman & High Risk

* Update HidePrayersPlugin.java
This commit is contained in:
Kyleeld
2019-06-26 06:06:10 +01:00
committed by James
parent cef947a885
commit a6895a6a6f
2 changed files with 31 additions and 25 deletions

View File

@@ -62,6 +62,16 @@ public enum WorldType
PVP, PVP,
SEASONAL_DEADMAN SEASONAL_DEADMAN
); );
private static final EnumSet<WorldType> DEADMAN_WORLD_TYPES = EnumSet.of(
DEADMAN,
DEADMAN_TOURNAMENT,
SEASONAL_DEADMAN
);
private static final EnumSet<WorldType> HIGHRISK_WORLD_TYPES = EnumSet.of(
HIGH_RISK
);
/** /**
* Create enum set of world types from mask. * Create enum set of world types from mask.
@@ -103,10 +113,10 @@ public enum WorldType
} }
/** /**
* Checks whether a world having a {@link Collection} of {@link WorldType}s is a PVP world. * Checks whether a world having a {@link Collection} of {@link WorldType}s is a PVP/DEADMAN/HIGHRISK world.
* *
* @param worldTypes A {@link Collection} of {@link WorldType}s describing the given world. * @param worldTypes A {@link Collection} of {@link WorldType}s describing the given world.
* @return True if the given worldtypes of the world are a PVP world, false otherwise. * @return True if the given worldtypes of the world are a PVP/DEADMAN/HIGHRISK world, false otherwise.
* @see Client#getWorldType() * @see Client#getWorldType()
*/ */
public static boolean isPvpWorld(final Collection<WorldType> worldTypes) public static boolean isPvpWorld(final Collection<WorldType> worldTypes)
@@ -114,13 +124,13 @@ public enum WorldType
return worldTypes.stream().anyMatch(PVP_WORLD_TYPES::contains); return worldTypes.stream().anyMatch(PVP_WORLD_TYPES::contains);
} }
/**
* Checks to see if a collection of WorlTypes is a Deadman Mode World
* @param worldTypes The List of world types for a world
* @return true if it is deadman, false otherwise
*/
public static boolean isDeadmanWorld(final Collection<WorldType> worldTypes) public static boolean isDeadmanWorld(final Collection<WorldType> worldTypes)
{ {
return worldTypes.stream().anyMatch(EnumSet.of(DEADMAN, DEADMAN_TOURNAMENT, SEASONAL_DEADMAN)::contains); return worldTypes.stream().anyMatch(DEADMAN_WORLD_TYPES::contains);
}
public static boolean isHighRiskWorld(final Collection<WorldType> worldTypes)
{
return worldTypes.stream().anyMatch(HIGHRISK_WORLD_TYPES::contains);
} }
} }

View File

@@ -36,7 +36,9 @@ import javax.inject.Inject;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.GameState; import net.runelite.api.GameState;
import net.runelite.api.HashTable; import net.runelite.api.HashTable;
import net.runelite.api.Skill;
import net.runelite.api.WidgetNode; import net.runelite.api.WidgetNode;
import net.runelite.api.WorldType;
import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetLoaded; import net.runelite.api.events.WidgetLoaded;
@@ -120,6 +122,7 @@ public class HidePrayersPlugin extends Plugin
{ {
if (event.getGameState() == GameState.LOGGED_IN) if (event.getGameState() == GameState.LOGGED_IN)
{ {
reallyHidePrayers();
hidePrayers(); hidePrayers();
} }
} }
@@ -506,9 +509,19 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(9).setHidden(false); // Rapid Heal prayerWidgets.get(9).setHidden(false); // Rapid Heal
} }
if (WorldType.isHighRiskWorld(client.getWorldType()) || client.getRealSkillLevel(Skill.PRAYER) <= 24)
{
prayerWidgets.get(10).setHidden(true); // Protect Item
}
else
{
prayerWidgets.get(10).setHidden(false); // Protect Item
}
switch (config.pvpprayers()) switch (config.pvpprayers())
{ {
case DISABLED: case DISABLED:
reallyHidePrayers();
break; break;
case PRAY1: case PRAY1:
prayerWidgets.get(0).setHidden(false); // Thick Skin prayerWidgets.get(0).setHidden(false); // Thick Skin
@@ -521,30 +534,21 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(6).setHidden(false); // Super Human Strength prayerWidgets.get(6).setHidden(false); // Super Human Strength
break; break;
case PRAY16: 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: case PRAY25:
prayerWidgets.get(3).setHidden(false); // Sharp Eye prayerWidgets.get(3).setHidden(false); // Sharp Eye
prayerWidgets.get(4).setHidden(false); // Mystic Will prayerWidgets.get(4).setHidden(false); // Mystic Will
prayerWidgets.get(5).setHidden(false); // Rock Skin prayerWidgets.get(5).setHidden(false); // Rock Skin
prayerWidgets.get(6).setHidden(false); // Super Human Strength prayerWidgets.get(6).setHidden(false); // Super Human Strength
prayerWidgets.get(7).setHidden(false); // Improved Reflexed prayerWidgets.get(7).setHidden(false); // Improved Reflexed
prayerWidgets.get(10).setHidden(false); // Protect Item
break; break;
case PRAY31: case PRAY31:
prayerWidgets.get(7).setHidden(false); // Improved Reflexed prayerWidgets.get(7).setHidden(false); // Improved Reflexed
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(11).setHidden(false); // Hawk Eye prayerWidgets.get(11).setHidden(false); // Hawk Eye
prayerWidgets.get(12).setHidden(false); // Mystic Lore prayerWidgets.get(12).setHidden(false); // Mystic Lore
prayerWidgets.get(13).setHidden(false); // Steel Skin prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength prayerWidgets.get(14).setHidden(false); // Ultimate Strength
break; break;
case PRAY43: case PRAY43:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(11).setHidden(false); // Hawk Eye prayerWidgets.get(11).setHidden(false); // Hawk Eye
prayerWidgets.get(12).setHidden(false); // Mystic Lore prayerWidgets.get(12).setHidden(false); // Mystic Lore
prayerWidgets.get(13).setHidden(false); // Steel Skin prayerWidgets.get(13).setHidden(false); // Steel Skin
@@ -555,7 +559,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(18).setHidden(false); // Protect from Melee prayerWidgets.get(18).setHidden(false); // Protect from Melee
break; break;
case PRAY44: case PRAY44:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(12).setHidden(false); // Mystic Lore prayerWidgets.get(12).setHidden(false); // Mystic Lore
prayerWidgets.get(13).setHidden(false); // Steel Skin prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength prayerWidgets.get(14).setHidden(false); // Ultimate Strength
@@ -566,7 +569,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(19).setHidden(false); // Eagle Eye prayerWidgets.get(19).setHidden(false); // Eagle Eye
break; break;
case PRAY45: case PRAY45:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(13).setHidden(false); // Steel Skin prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
@@ -577,7 +579,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(20).setHidden(false); // Mystic Might prayerWidgets.get(20).setHidden(false); // Mystic Might
break; break;
case PRAY52: case PRAY52:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(13).setHidden(false); // Steel Skin prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
@@ -590,7 +591,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(23).setHidden(false); // Smite prayerWidgets.get(23).setHidden(false); // Smite
break; break;
case PRAY55: case PRAY55:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(13).setHidden(false); // Steel Skin prayerWidgets.get(13).setHidden(false); // Steel Skin
prayerWidgets.get(14).setHidden(false); // Ultimate Strength prayerWidgets.get(14).setHidden(false); // Ultimate Strength
prayerWidgets.get(15).setHidden(false); // Incredible Reflexes prayerWidgets.get(15).setHidden(false); // Incredible Reflexes
@@ -604,7 +604,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(24).setHidden(false); // Preserve prayerWidgets.get(24).setHidden(false); // Preserve
break; break;
case PRAY60: case PRAY60:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee prayerWidgets.get(18).setHidden(false); // Protect from Melee
@@ -616,7 +615,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(25).setHidden(false); // Chivalry prayerWidgets.get(25).setHidden(false); // Chivalry
break; break;
case PRAY70: case PRAY70:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee prayerWidgets.get(18).setHidden(false); // Protect from Melee
@@ -628,7 +626,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(26).setHidden(false); // Piety prayerWidgets.get(26).setHidden(false); // Piety
break; break;
case PRAY74: case PRAY74:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee prayerWidgets.get(18).setHidden(false); // Protect from Melee
@@ -640,7 +637,6 @@ public class HidePrayersPlugin extends Plugin
prayerWidgets.get(27).setHidden(false); // Rigour prayerWidgets.get(27).setHidden(false); // Rigour
break; break;
case PRAY77: case PRAY77:
prayerWidgets.get(10).setHidden(false); // Protect Item
prayerWidgets.get(16).setHidden(false); // Protect from Magic prayerWidgets.get(16).setHidden(false); // Protect from Magic
prayerWidgets.get(17).setHidden(false); // Protect from Range prayerWidgets.get(17).setHidden(false); // Protect from Range
prayerWidgets.get(18).setHidden(false); // Protect from Melee prayerWidgets.get(18).setHidden(false); // Protect from Melee