diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml
index b2d8a0e721..d038be7c43 100644
--- a/runelite-api/pom.xml
+++ b/runelite-api/pom.xml
@@ -120,6 +120,7 @@
net/runelite/api/SoundEffectVolume.class
net/runelite/api/SpriteID.class
net/runelite/api/StructID.class
+ net/runelite/api/Varbits.class
diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java
index eaebe80f26..c86ea79529 100644
--- a/runelite-api/src/main/java/net/runelite/api/Client.java
+++ b/runelite-api/src/main/java/net/runelite/api/Client.java
@@ -32,6 +32,7 @@ import java.util.List;
import java.util.Map;
import javax.annotation.Nonnull;
import javax.annotation.Nullable;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.annotations.VisibleForDevtools;
import net.runelite.api.annotations.VisibleForExternalPlugins;
import net.runelite.api.clan.ClanChannel;
@@ -773,12 +774,12 @@ public interface Client extends OAuthApi, GameEngine
int getVar(VarPlayer varPlayer);
/**
- * Gets a value corresponding to the passed variable.
+ * Gets a value corresponding to the passed varbit.
*
- * @param varbit the variable
+ * @param varbit the varbit id
* @return the value
*/
- int getVar(Varbits varbit);
+ int getVar(@Varbit int varbit);
/**
* Gets an int value corresponding to the passed variable.
@@ -812,7 +813,7 @@ public interface Client extends OAuthApi, GameEngine
* @return the value
*/
@VisibleForExternalPlugins
- int getVarbitValue(int varbitId);
+ int getVarbitValue(@Varbit int varbitId);
/**
* Gets the value of a given VarClientInt
@@ -843,12 +844,12 @@ public interface Client extends OAuthApi, GameEngine
void setVar(VarClientInt varClientStr, int value);
/**
- * Sets the value of a given variable.
+ * Sets the value of a varbit
*
- * @param varbit the variable
+ * @param varbit the varbit id
* @param value the new value
*/
- void setVarbit(Varbits varbit, int value);
+ void setVarbit(@Varbit int varbit, int value);
/**
* Gets the varbit composition for a given varbit id
@@ -866,10 +867,10 @@ public interface Client extends OAuthApi, GameEngine
* @param varps passed varbits
* @param varbitId the variable ID
* @return the value
- * @see Varbits#id
+ * @see Varbits
*/
@VisibleForDevtools
- int getVarbitValue(int[] varps, int varbitId);
+ int getVarbitValue(int[] varps, @Varbit int varbitId);
/**
* Sets the value of a given variable.
@@ -877,10 +878,10 @@ public interface Client extends OAuthApi, GameEngine
* @param varps passed varbits
* @param varbit the variable
* @param value the value
- * @see Varbits#id
+ * @see Varbits
*/
@VisibleForDevtools
- void setVarbitValue(int[] varps, int varbit, int value);
+ void setVarbitValue(int[] varps, @Varbit int varbit, int value);
/**
* Mark the given varp as changed, causing var listeners to be
diff --git a/runelite-api/src/main/java/net/runelite/api/Prayer.java b/runelite-api/src/main/java/net/runelite/api/Prayer.java
index 69d835a7c7..71f21e418f 100644
--- a/runelite-api/src/main/java/net/runelite/api/Prayer.java
+++ b/runelite-api/src/main/java/net/runelite/api/Prayer.java
@@ -24,6 +24,8 @@
*/
package net.runelite.api;
+import net.runelite.api.annotations.Varbit;
+
/**
* An enumeration of different prayer spells.
*/
@@ -146,11 +148,10 @@ public enum Prayer
*/
AUGURY(Varbits.PRAYER_AUGURY, 40.0);
- private final Varbits varbit;
-
+ private final int varbit;
private final double drainRate;
- Prayer(Varbits varbit, double drainRate)
+ Prayer(@Varbit int varbit, double drainRate)
{
this.varbit = varbit;
this.drainRate = drainRate;
@@ -161,7 +162,8 @@ public enum Prayer
*
* @return the prayer active varbit
*/
- public Varbits getVarbit()
+ @Varbit
+ public int getVarbit()
{
return varbit;
}
diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java
index 4154e2dded..de77227613 100644
--- a/runelite-api/src/main/java/net/runelite/api/Varbits.java
+++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java
@@ -24,201 +24,196 @@
*/
package net.runelite.api;
-import lombok.AllArgsConstructor;
-import lombok.Getter;
-
/**
* Server controlled "content-developer" integers.
*
* @see VarPlayer
- *
+ *
* These differ from a {@link VarPlayer} in that VarBits can be
* less than 32 bits. One or more VarBits can be assigned to a
* backing VarPlayer, each with a static range of bits that it is
* allowed to access. This allows a more compact representation
* of small values, like booleans
*/
-@AllArgsConstructor
-@Getter
-public enum Varbits
+public final class Varbits
{
/*
* If chatbox is transparent or not
*/
- TRANSPARENT_CHATBOX(4608),
+ public static final int TRANSPARENT_CHATBOX = 4608;
/*
* If the player has an active stamina potion effect or not
*/
- RUN_SLOWED_DEPLETION_ACTIVE(25),
+ public static final int RUN_SLOWED_DEPLETION_ACTIVE = 25;
/**
* If scrollbar in resizable mode chat is on the left
*/
- CHAT_SCROLLBAR_ON_LEFT(6374),
+ public static final int CHAT_SCROLLBAR_ON_LEFT = 6374;
/**
* Runepouch
*/
- RUNE_POUCH_RUNE1(29),
- RUNE_POUCH_RUNE2(1622),
- RUNE_POUCH_RUNE3(1623),
- RUNE_POUCH_AMOUNT1(1624),
- RUNE_POUCH_AMOUNT2(1625),
- RUNE_POUCH_AMOUNT3(1626),
+ public static final int RUNE_POUCH_RUNE1 = 29;
+ public static final int RUNE_POUCH_RUNE2 = 1622;
+ public static final int RUNE_POUCH_RUNE3 = 1623;
+ public static final int RUNE_POUCH_AMOUNT1 = 1624;
+ public static final int RUNE_POUCH_AMOUNT2 = 1625;
+ public static final int RUNE_POUCH_AMOUNT3 = 1626;
/**
* Prayers
*/
- QUICK_PRAYER(4103),
- PRAYER_THICK_SKIN(4104),
- PRAYER_BURST_OF_STRENGTH(4105),
- PRAYER_CLARITY_OF_THOUGHT(4106),
- PRAYER_SHARP_EYE(4122),
- PRAYER_MYSTIC_WILL(4123),
- PRAYER_ROCK_SKIN(4107),
- PRAYER_SUPERHUMAN_STRENGTH(4108),
- PRAYER_IMPROVED_REFLEXES(4109),
- PRAYER_RAPID_RESTORE(4110),
- PRAYER_RAPID_HEAL(4111),
- PRAYER_PROTECT_ITEM(4112),
- PRAYER_HAWK_EYE(4124),
- PRAYER_MYSTIC_LORE(4125),
- PRAYER_STEEL_SKIN(4113),
- PRAYER_ULTIMATE_STRENGTH(4114),
- PRAYER_INCREDIBLE_REFLEXES(4115),
- PRAYER_PROTECT_FROM_MAGIC(4116),
- PRAYER_PROTECT_FROM_MISSILES(4117),
- PRAYER_PROTECT_FROM_MELEE(4118),
- PRAYER_EAGLE_EYE(4126),
- PRAYER_MYSTIC_MIGHT(4127),
- PRAYER_RETRIBUTION(4119),
- PRAYER_REDEMPTION(4120),
- PRAYER_SMITE(4121),
- PRAYER_CHIVALRY(4128),
- PRAYER_PIETY(4129),
- PRAYER_PRESERVE(5466),
- PRAYER_RIGOUR(5464),
- PRAYER_AUGURY(5465),
+ public static final int QUICK_PRAYER = 4103;
+ public static final int PRAYER_THICK_SKIN = 4104;
+ public static final int PRAYER_BURST_OF_STRENGTH = 4105;
+ public static final int PRAYER_CLARITY_OF_THOUGHT = 4106;
+ public static final int PRAYER_SHARP_EYE = 4122;
+ public static final int PRAYER_MYSTIC_WILL = 4123;
+ public static final int PRAYER_ROCK_SKIN = 4107;
+ public static final int PRAYER_SUPERHUMAN_STRENGTH = 4108;
+ public static final int PRAYER_IMPROVED_REFLEXES = 4109;
+ public static final int PRAYER_RAPID_RESTORE = 4110;
+ public static final int PRAYER_RAPID_HEAL = 4111;
+ public static final int PRAYER_PROTECT_ITEM = 4112;
+ public static final int PRAYER_HAWK_EYE = 4124;
+ public static final int PRAYER_MYSTIC_LORE = 4125;
+ public static final int PRAYER_STEEL_SKIN = 4113;
+ public static final int PRAYER_ULTIMATE_STRENGTH = 4114;
+ public static final int PRAYER_INCREDIBLE_REFLEXES = 4115;
+ public static final int PRAYER_PROTECT_FROM_MAGIC = 4116;
+ public static final int PRAYER_PROTECT_FROM_MISSILES = 4117;
+ public static final int PRAYER_PROTECT_FROM_MELEE = 4118;
+ public static final int PRAYER_EAGLE_EYE = 4126;
+ public static final int PRAYER_MYSTIC_MIGHT = 4127;
+ public static final int PRAYER_RETRIBUTION = 4119;
+ public static final int PRAYER_REDEMPTION = 4120;
+ public static final int PRAYER_SMITE = 4121;
+ public static final int PRAYER_CHIVALRY = 4128;
+ public static final int PRAYER_PIETY = 4129;
+ public static final int PRAYER_PRESERVE = 5466;
+ public static final int PRAYER_RIGOUR = 5464;
+ public static final int PRAYER_AUGURY = 5465;
/**
* Diary Entries
*/
- DIARY_ARDOUGNE_EASY(4458),
- DIARY_ARDOUGNE_MEDIUM(4459),
- DIARY_ARDOUGNE_HARD(4460),
- DIARY_ARDOUGNE_ELITE(4461),
+ public static final int DIARY_ARDOUGNE_EASY = 4458;
+ public static final int DIARY_ARDOUGNE_MEDIUM = 4459;
+ public static final int DIARY_ARDOUGNE_HARD = 4460;
+ public static final int DIARY_ARDOUGNE_ELITE = 4461;
- DIARY_DESERT_EASY(4483),
- DIARY_DESERT_MEDIUM(4484),
- DIARY_DESERT_HARD(4485),
- DIARY_DESERT_ELITE(4486),
+ public static final int DIARY_DESERT_EASY = 4483;
+ public static final int DIARY_DESERT_MEDIUM = 4484;
+ public static final int DIARY_DESERT_HARD = 4485;
+ public static final int DIARY_DESERT_ELITE = 4486;
- DIARY_FALADOR_EASY(4462),
- DIARY_FALADOR_MEDIUM(4463),
- DIARY_FALADOR_HARD(4464),
- DIARY_FALADOR_ELITE(4465),
+ public static final int DIARY_FALADOR_EASY = 4462;
+ public static final int DIARY_FALADOR_MEDIUM = 4463;
+ public static final int DIARY_FALADOR_HARD = 4464;
+ public static final int DIARY_FALADOR_ELITE = 4465;
- DIARY_FREMENNIK_EASY(4491),
- DIARY_FREMENNIK_MEDIUM(4492),
- DIARY_FREMENNIK_HARD(4493),
- DIARY_FREMENNIK_ELITE(4494),
+ public static final int DIARY_FREMENNIK_EASY = 4491;
+ public static final int DIARY_FREMENNIK_MEDIUM = 4492;
+ public static final int DIARY_FREMENNIK_HARD = 4493;
+ public static final int DIARY_FREMENNIK_ELITE = 4494;
- DIARY_KANDARIN_EASY(4475),
- DIARY_KANDARIN_MEDIUM(4476),
- DIARY_KANDARIN_HARD(4477),
- DIARY_KANDARIN_ELITE(4478),
+ public static final int DIARY_KANDARIN_EASY = 4475;
+ public static final int DIARY_KANDARIN_MEDIUM = 4476;
+ public static final int DIARY_KANDARIN_HARD = 4477;
+ public static final int DIARY_KANDARIN_ELITE = 4478;
- DIARY_KARAMJA_EASY(3578),
- DIARY_KARAMJA_MEDIUM(3599),
- DIARY_KARAMJA_HARD(3611),
- DIARY_KARAMJA_ELITE(4566),
+ public static final int DIARY_KARAMJA_EASY = 3578;
+ public static final int DIARY_KARAMJA_MEDIUM = 3599;
+ public static final int DIARY_KARAMJA_HARD = 3611;
+ public static final int DIARY_KARAMJA_ELITE = 4566;
- DIARY_KOUREND_EASY(7925),
- DIARY_KOUREND_MEDIUM(7926),
- DIARY_KOUREND_HARD(7927),
- DIARY_KOUREND_ELITE(7928),
+ public static final int DIARY_KOUREND_EASY = 7925;
+ public static final int DIARY_KOUREND_MEDIUM = 7926;
+ public static final int DIARY_KOUREND_HARD = 7927;
+ public static final int DIARY_KOUREND_ELITE = 7928;
- DIARY_LUMBRIDGE_EASY(4495),
- DIARY_LUMBRIDGE_MEDIUM(4496),
- DIARY_LUMBRIDGE_HARD(4497),
- DIARY_LUMBRIDGE_ELITE(4498),
+ public static final int DIARY_LUMBRIDGE_EASY = 4495;
+ public static final int DIARY_LUMBRIDGE_MEDIUM = 4496;
+ public static final int DIARY_LUMBRIDGE_HARD = 4497;
+ public static final int DIARY_LUMBRIDGE_ELITE = 4498;
- DIARY_MORYTANIA_EASY(4487),
- DIARY_MORYTANIA_MEDIUM(4488),
- DIARY_MORYTANIA_HARD(4489),
- DIARY_MORYTANIA_ELITE(4490),
+ public static final int DIARY_MORYTANIA_EASY = 4487;
+ public static final int DIARY_MORYTANIA_MEDIUM = 4488;
+ public static final int DIARY_MORYTANIA_HARD = 4489;
+ public static final int DIARY_MORYTANIA_ELITE = 4490;
- DIARY_VARROCK_EASY(4479),
- DIARY_VARROCK_MEDIUM(4480),
- DIARY_VARROCK_HARD(4481),
- DIARY_VARROCK_ELITE(4482),
+ public static final int DIARY_VARROCK_EASY = 4479;
+ public static final int DIARY_VARROCK_MEDIUM = 4480;
+ public static final int DIARY_VARROCK_HARD = 4481;
+ public static final int DIARY_VARROCK_ELITE = 4482;
- DIARY_WESTERN_EASY(4471),
- DIARY_WESTERN_MEDIUM(4472),
- DIARY_WESTERN_HARD(4473),
- DIARY_WESTERN_ELITE(4474),
+ public static final int DIARY_WESTERN_EASY = 4471;
+ public static final int DIARY_WESTERN_MEDIUM = 4472;
+ public static final int DIARY_WESTERN_HARD = 4473;
+ public static final int DIARY_WESTERN_ELITE = 4474;
- DIARY_WILDERNESS_EASY(4466),
- DIARY_WILDERNESS_MEDIUM(4467),
- DIARY_WILDERNESS_HARD(4468),
- DIARY_WILDERNESS_ELITE(4469),
+ public static final int DIARY_WILDERNESS_EASY = 4466;
+ public static final int DIARY_WILDERNESS_MEDIUM = 4467;
+ public static final int DIARY_WILDERNESS_HARD = 4468;
+ public static final int DIARY_WILDERNESS_ELITE = 4469;
/**
* Kourend house favours
*/
- KOUREND_FAVOR_ARCEUUS(4896),
- KOUREND_FAVOR_HOSIDIUS(4895),
- KOUREND_FAVOR_LOVAKENGJ(4898),
- KOUREND_FAVOR_PISCARILIUS(4899),
- KOUREND_FAVOR_SHAYZIEN(4894),
+ public static final int KOUREND_FAVOR_ARCEUUS = 4896;
+ public static final int KOUREND_FAVOR_HOSIDIUS = 4895;
+ public static final int KOUREND_FAVOR_LOVAKENGJ = 4898;
+ public static final int KOUREND_FAVOR_PISCARILIUS = 4899;
+ public static final int KOUREND_FAVOR_SHAYZIEN = 4894;
/**
* Equipped weapon type
*/
- EQUIPPED_WEAPON_TYPE(357),
+ public static final int EQUIPPED_WEAPON_TYPE = 357;
/**
* Defensive casting mode
*/
- DEFENSIVE_CASTING_MODE(2668),
+ public static final int DEFENSIVE_CASTING_MODE = 2668;
/**
* Options
*/
- SIDE_PANELS(4607),
+ public static final int SIDE_PANELS = 4607;
/**
* Herbiboar Trails
*/
- HB_TRAIL_31303(5737),
- HB_TRAIL_31306(5738),
- HB_TRAIL_31309(5739),
- HB_TRAIL_31312(5740),
- HB_TRAIL_31315(5741),
- HB_TRAIL_31318(5742),
- HB_TRAIL_31321(5743),
- HB_TRAIL_31324(5744),
- HB_TRAIL_31327(5745),
- HB_TRAIL_31330(5746),
+ public static final int HB_TRAIL_31303 = 5737;
+ public static final int HB_TRAIL_31306 = 5738;
+ public static final int HB_TRAIL_31309 = 5739;
+ public static final int HB_TRAIL_31312 = 5740;
+ public static final int HB_TRAIL_31315 = 5741;
+ public static final int HB_TRAIL_31318 = 5742;
+ public static final int HB_TRAIL_31321 = 5743;
+ public static final int HB_TRAIL_31324 = 5744;
+ public static final int HB_TRAIL_31327 = 5745;
+ public static final int HB_TRAIL_31330 = 5746;
- HB_TRAIL_31333(5768),
- HB_TRAIL_31336(5769),
- HB_TRAIL_31339(5770),
- HB_TRAIL_31342(5771),
- HB_TRAIL_31345(5772),
- HB_TRAIL_31348(5773),
- HB_TRAIL_31351(5774),
- HB_TRAIL_31354(5775),
- HB_TRAIL_31357(5776),
- HB_TRAIL_31360(5777),
+ public static final int HB_TRAIL_31333 = 5768;
+ public static final int HB_TRAIL_31336 = 5769;
+ public static final int HB_TRAIL_31339 = 5770;
+ public static final int HB_TRAIL_31342 = 5771;
+ public static final int HB_TRAIL_31345 = 5772;
+ public static final int HB_TRAIL_31348 = 5773;
+ public static final int HB_TRAIL_31351 = 5774;
+ public static final int HB_TRAIL_31354 = 5775;
+ public static final int HB_TRAIL_31357 = 5776;
+ public static final int HB_TRAIL_31360 = 5777;
- HB_TRAIL_31363(5747),
- HB_TRAIL_31366(5748),
- HB_TRAIL_31369(5749),
- HB_TRAIL_31372(5750),
+ public static final int HB_TRAIL_31363 = 5747;
+ public static final int HB_TRAIL_31366 = 5748;
+ public static final int HB_TRAIL_31369 = 5749;
+ public static final int HB_TRAIL_31372 = 5750;
- HB_FINISH(5766),
+ public static final int HB_FINISH = 5766;
/**
* Started hunting Herbiboar.
@@ -226,432 +221,424 @@ public enum Varbits
* NOTE: This value remains at 0 even after starting a Herbiboar trail up until searching the first object along the
* hunting path.
*/
- HB_STARTED(5767),
+ public static final int HB_STARTED = 5767;
/**
* Barbarian Assault
*/
- IN_GAME_BA(3923),
- BA_GC(4768),
+ public static final int IN_GAME_BA = 3923;
+ public static final int BA_GC = 4768;
/**
* 0 = Outside wilderness
* 1 = In wilderness
*/
- IN_WILDERNESS(5963),
+ public static final int IN_WILDERNESS = 5963;
/**
* Fishing Trawler
* FISHING_TRAWLER_ACTIVITY Expected values: 0-255
*/
- FISHING_TRAWLER_ACTIVITY(3377),
+ public static final int FISHING_TRAWLER_ACTIVITY = 3377;
/**
* Blast Furnace Bar Dispenser
- *
+ *
* These are the expected values:
- * 0 = No bars being processed
- * 1 = Ores are being processed on the conveyor belt, bar dispenser cannot be checked
- * 2 = Bars are cooling down
- * 3 = Bars can be collected
+ * 0 = No bars being processed
+ * 1 = Ores are being processed on the conveyor belt, bar dispenser cannot be checked
+ * 2 = Bars are cooling down
+ * 3 = Bars can be collected
*/
- BAR_DISPENSER(936),
+ public static final int BAR_DISPENSER = 936;
/**
* Motherlode mine sack
*/
- SACK_NUMBER(5558),
- SACK_UPGRADED(5556),
+ public static final int SACK_NUMBER = 5558;
+ public static final int SACK_UPGRADED = 5556;
/**
* Experience tracker
- *
+ *
* EXPERIENCE_TRACKER_POSITION expected values:
- * 0 = Right
- * 1 = Middle
- * 2 = Left
+ * 0 = Right
+ * 1 = Middle
+ * 2 = Left
*/
- EXPERIENCE_TRACKER_POSITION(4692),
- EXPERIENCE_TRACKER_COUNTER(4697),
- EXPERIENCE_TRACKER_PROGRESS_BAR(4698),
+ public static final int EXPERIENCE_TRACKER_POSITION = 4692;
+ public static final int EXPERIENCE_TRACKER_COUNTER = 4697;
+ public static final int EXPERIENCE_TRACKER_PROGRESS_BAR = 4698;
/**
* Experience drop color
*/
- EXPERIENCE_DROP_COLOR(4695),
+ public static final int EXPERIENCE_DROP_COLOR = 4695;
/**
* Tithe Farm
*/
- TITHE_FARM_SACK_AMOUNT(4900),
- TITHE_FARM_SACK_ICON(5370),
- TITHE_FARM_POINTS(4893),
-
+ public static final int TITHE_FARM_SACK_AMOUNT = 4900;
+ public static final int TITHE_FARM_SACK_ICON = 5370;
+ public static final int TITHE_FARM_POINTS = 4893;
+
/**
* Blast Mine
*/
- BLAST_MINE_COAL(4924),
- BLAST_MINE_GOLD(4925),
- BLAST_MINE_MITHRIL(4926),
- BLAST_MINE_ADAMANTITE(4921),
- BLAST_MINE_RUNITE(4922),
+ public static final int BLAST_MINE_COAL = 4924;
+ public static final int BLAST_MINE_GOLD = 4925;
+ public static final int BLAST_MINE_MITHRIL = 4926;
+ public static final int BLAST_MINE_ADAMANTITE = 4921;
+ public static final int BLAST_MINE_RUNITE = 4922;
/**
* Raids
*/
- IN_RAID(5432),
- TOTAL_POINTS(5431),
- PERSONAL_POINTS(5422),
- RAID_PARTY_SIZE(5424),
+ public static final int IN_RAID = 5432;
+ public static final int TOTAL_POINTS = 5431;
+ public static final int PERSONAL_POINTS = 5422;
+ public static final int RAID_PARTY_SIZE = 5424;
// 0 = raid not started, >0 = raid started
- RAID_STATE(5425),
+ public static final int RAID_STATE = 5425;
/**
* Making Friends with My Arm fire pits
- *
+ *
* Expected values:
- * 0 = Not built
- * 1 = Built
+ * 0 = Not built
+ * 1 = Built
*/
- FIRE_PIT_GIANT_MOLE(6532),
- FIRE_PIT_LUMBRIDGE_SWAMP(6533),
- FIRE_PIT_MOS_LE_HARMLESS(6534),
+ public static final int FIRE_PIT_GIANT_MOLE = 6532;
+ public static final int FIRE_PIT_LUMBRIDGE_SWAMP = 6533;
+ public static final int FIRE_PIT_MOS_LE_HARMLESS = 6534;
/**
* Theatre of Blood 1=In Party, 2=Inside/Spectator, 3=Dead Spectating
*/
- THEATRE_OF_BLOOD(6440),
+ public static final int THEATRE_OF_BLOOD = 6440;
/**
* Nightmare Zone
*/
- NMZ_ABSORPTION(3956),
- NMZ_POINTS(3949),
+ public static final int NMZ_ABSORPTION = 3956;
+ public static final int NMZ_POINTS = 3949;
/**
* Blast Furnace
*/
- BLAST_FURNACE_COPPER_ORE(959),
- BLAST_FURNACE_TIN_ORE(950),
- BLAST_FURNACE_IRON_ORE(951),
- BLAST_FURNACE_COAL(949),
- BLAST_FURNACE_MITHRIL_ORE(952),
- BLAST_FURNACE_ADAMANTITE_ORE(953),
- BLAST_FURNACE_RUNITE_ORE(954),
- BLAST_FURNACE_SILVER_ORE(956),
- BLAST_FURNACE_GOLD_ORE(955),
+ public static final int BLAST_FURNACE_COPPER_ORE = 959;
+ public static final int BLAST_FURNACE_TIN_ORE = 950;
+ public static final int BLAST_FURNACE_IRON_ORE = 951;
+ public static final int BLAST_FURNACE_COAL = 949;
+ public static final int BLAST_FURNACE_MITHRIL_ORE = 952;
+ public static final int BLAST_FURNACE_ADAMANTITE_ORE = 953;
+ public static final int BLAST_FURNACE_RUNITE_ORE = 954;
+ public static final int BLAST_FURNACE_SILVER_ORE = 956;
+ public static final int BLAST_FURNACE_GOLD_ORE = 955;
- BLAST_FURNACE_BRONZE_BAR(941),
- BLAST_FURNACE_IRON_BAR(942),
- BLAST_FURNACE_STEEL_BAR(943),
- BLAST_FURNACE_MITHRIL_BAR(944),
- BLAST_FURNACE_ADAMANTITE_BAR(945),
- BLAST_FURNACE_RUNITE_BAR(946),
- BLAST_FURNACE_SILVER_BAR(948),
- BLAST_FURNACE_GOLD_BAR(947),
+ public static final int BLAST_FURNACE_BRONZE_BAR = 941;
+ public static final int BLAST_FURNACE_IRON_BAR = 942;
+ public static final int BLAST_FURNACE_STEEL_BAR = 943;
+ public static final int BLAST_FURNACE_MITHRIL_BAR = 944;
+ public static final int BLAST_FURNACE_ADAMANTITE_BAR = 945;
+ public static final int BLAST_FURNACE_RUNITE_BAR = 946;
+ public static final int BLAST_FURNACE_SILVER_BAR = 948;
+ public static final int BLAST_FURNACE_GOLD_BAR = 947;
- BLAST_FURNACE_COFFER(5357),
+ public static final int BLAST_FURNACE_COFFER = 5357;
/**
* Pyramid plunder
*/
- PYRAMID_PLUNDER_ROOM_LOCATION(2365),
- PYRAMID_PLUNDER_TIMER(2375),
- PYRAMID_PLUNDER_THIEVING_LEVEL(2376),
- PYRAMID_PLUNDER_ROOM(2377),
+ public static final int PYRAMID_PLUNDER_ROOM_LOCATION = 2365;
+ public static final int PYRAMID_PLUNDER_TIMER = 2375;
+ public static final int PYRAMID_PLUNDER_THIEVING_LEVEL = 2376;
+ public static final int PYRAMID_PLUNDER_ROOM = 2377;
/**
* Barrows
*/
- BARROWS_KILLED_AHRIM(457),
- BARROWS_KILLED_DHAROK(458),
- BARROWS_KILLED_GUTHAN(459),
- BARROWS_KILLED_KARIL(460),
- BARROWS_KILLED_TORAG(461),
- BARROWS_KILLED_VERAC(462),
- BARROWS_REWARD_POTENTIAL(463),
- BARROWS_NPCS_SLAIN(464),
+ public static final int BARROWS_KILLED_AHRIM = 457;
+ public static final int BARROWS_KILLED_DHAROK = 458;
+ public static final int BARROWS_KILLED_GUTHAN = 459;
+ public static final int BARROWS_KILLED_KARIL = 460;
+ public static final int BARROWS_KILLED_TORAG = 461;
+ public static final int BARROWS_KILLED_VERAC = 462;
+ public static final int BARROWS_REWARD_POTENTIAL = 463;
+ public static final int BARROWS_NPCS_SLAIN = 464;
/**
* Spicy stew ingredients
*/
- SPICY_STEW_RED_SPICES(1879),
- SPICY_STEW_YELLOW_SPICES(1880),
- SPICY_STEW_BROWN_SPICES(1881),
- SPICY_STEW_ORANGE_SPICES(1882),
+ public static final int SPICY_STEW_RED_SPICES = 1879;
+ public static final int SPICY_STEW_YELLOW_SPICES = 1880;
+ public static final int SPICY_STEW_BROWN_SPICES = 1881;
+ public static final int SPICY_STEW_ORANGE_SPICES = 1882;
/**
* Multicombat area
*/
- MULTICOMBAT_AREA(4605),
+ public static final int MULTICOMBAT_AREA = 4605;
/**
* Kingdom of Miscellania Management
* Kingdom Approval is represented as a 7-bit unsigned integer; 127 corresponds to 100% approval
*/
- KINGDOM_APPROVAL(72),
- KINGDOM_COFFER(74),
+ public static final int KINGDOM_APPROVAL = 72;
+ public static final int KINGDOM_COFFER = 74;
/**
* The Hand in the Sand quest status
*/
- QUEST_THE_HAND_IN_THE_SAND(1527),
+ public static final int QUEST_THE_HAND_IN_THE_SAND = 1527;
/**
- * Daily Tasks (Collection availability)
+ * Daily Tasks =Collection availability)
*/
- DAILY_HERB_BOXES_COLLECTED(3961),
- DAILY_STAVES_COLLECTED(4539),
- DAILY_ESSENCE_COLLECTED(4547),
- DAILY_RUNES_COLLECTED(4540),
- DAILY_SAND_COLLECTED(4549),
- DAILY_FLAX_STATE(4559),
- DAILY_ARROWS_STATE(4563),
+ public static final int DAILY_HERB_BOXES_COLLECTED = 3961;
+ public static final int DAILY_STAVES_COLLECTED = 4539;
+ public static final int DAILY_ESSENCE_COLLECTED = 4547;
+ public static final int DAILY_RUNES_COLLECTED = 4540;
+ public static final int DAILY_SAND_COLLECTED = 4549;
+ public static final int DAILY_FLAX_STATE = 4559;
+ public static final int DAILY_ARROWS_STATE = 4563;
/**
* This varbit tracks how much bonemeal has been redeemed from Robin
* The player gets 13 for each diary completed above and including Medium, for a maxiumum of 39
- */
- DAILY_BONEMEAL_STATE(4543),
+ */
+ public static final int DAILY_BONEMEAL_STATE = 4543;
- DAILY_DYNAMITE_COLLECTED(7939),
+ public static final int DAILY_DYNAMITE_COLLECTED = 7939;
/**
* Fairy Ring
*/
- FAIR_RING_LAST_DESTINATION(5374),
- FAIRY_RING_DIAL_ADCB(3985), //Left dial
- FAIRY_RIGH_DIAL_ILJK(3986), //Middle dial
- FAIRY_RING_DIAL_PSRQ(3987), //Right dial
+ public static final int FAIR_RING_LAST_DESTINATION = 5374;
+ public static final int FAIRY_RING_DIAL_ADCB = 3985; //Left dial
+ public static final int FAIRY_RIGH_DIAL_ILJK = 3986; //Middle dial
+ public static final int FAIRY_RING_DIAL_PSRQ = 3987; //Right dial
/**
* Transmog controllers for farming
*/
- FARMING_4771(4771),
- FARMING_4772(4772),
- FARMING_4773(4773),
- FARMING_4774(4774),
- FARMING_4775(4775),
- FARMING_7904(7904),
- FARMING_7905(7905),
- FARMING_7906(7906),
- FARMING_7907(7907),
- FARMING_7908(7908),
- FARMING_7909(7909),
- FARMING_7910(7910),
- FARMING_7911(7911),
- FARMING_7912(7912),
+ public static final int FARMING_4771 = 4771;
+ public static final int FARMING_4772 = 4772;
+ public static final int FARMING_4773 = 4773;
+ public static final int FARMING_4774 = 4774;
+ public static final int FARMING_4775 = 4775;
+ public static final int FARMING_7904 = 7904;
+ public static final int FARMING_7905 = 7905;
+ public static final int FARMING_7906 = 7906;
+ public static final int FARMING_7907 = 7907;
+ public static final int FARMING_7908 = 7908;
+ public static final int FARMING_7909 = 7909;
+ public static final int FARMING_7910 = 7910;
+ public static final int FARMING_7911 = 7911;
+ public static final int FARMING_7912 = 7912;
/**
* Transmog controllers for grapes
*/
- GRAPES_4953(4953),
- GRAPES_4954(4954),
- GRAPES_4955(4955),
- GRAPES_4956(4956),
- GRAPES_4957(4957),
- GRAPES_4958(4958),
- GRAPES_4959(4959),
- GRAPES_4960(4960),
- GRAPES_4961(4961),
- GRAPES_4962(4962),
- GRAPES_4963(4963),
- GRAPES_4964(4964),
+ public static final int GRAPES_4953 = 4953;
+ public static final int GRAPES_4954 = 4954;
+ public static final int GRAPES_4955 = 4955;
+ public static final int GRAPES_4956 = 4956;
+ public static final int GRAPES_4957 = 4957;
+ public static final int GRAPES_4958 = 4958;
+ public static final int GRAPES_4959 = 4959;
+ public static final int GRAPES_4960 = 4960;
+ public static final int GRAPES_4961 = 4961;
+ public static final int GRAPES_4962 = 4962;
+ public static final int GRAPES_4963 = 4963;
+ public static final int GRAPES_4964 = 4964;
/**
* Automatically weed farming patches
*/
- AUTOWEED(5557),
+ public static final int AUTOWEED = 5557;
/**
* The varbit that stores the players {@code AccountType}.
*/
- ACCOUNT_TYPE(1777),
+ public static final int ACCOUNT_TYPE = 1777;
/**
* The varbit that stores the oxygen percentage for player
*/
- OXYGEN_LEVEL(5811),
+ public static final int OXYGEN_LEVEL = 5811;
/**
* Drift net status
- *
+ *
* Expected values
- * 0 = Unset
- * 1 = Set up
- * 2 = Caught some fish
- * 3 = Full
+ * 0 = Unset
+ * 1 = Set up
+ * 2 = Caught some fish
+ * 3 = Full
*/
- NORTH_NET_STATUS(5812),
- SOUTH_NET_STATUS(5814),
+ public static final int NORTH_NET_STATUS = 5812;
+ public static final int SOUTH_NET_STATUS = 5814;
/**
* Drift net catch count
*/
- NORTH_NET_CATCH_COUNT(5813),
- SOUTH_NET_CATCH_COUNT(5815),
+ public static final int NORTH_NET_CATCH_COUNT = 5813;
+ public static final int SOUTH_NET_CATCH_COUNT = 5815;
/**
* Drift net collect interface
- *
+ *
* Expected values:
- * 0 = Not open
- * 1 = North interface open
- * 2 = South interface open
+ * 0 = Not open
+ * 1 = North interface open
+ * 2 = South interface open
*/
- DRIFT_NET_COLLECT(5933),
+ public static final int DRIFT_NET_COLLECT = 5933;
/**
* Corp beast damage
*/
- CORP_DAMAGE(999),
+ public static final int CORP_DAMAGE = 999;
/**
* Toggleable slayer unlocks
*/
- SUPERIOR_ENABLED(5362),
- FOSSIL_ISLAND_WYVERN_DISABLE(6251),
+ public static final int SUPERIOR_ENABLED = 5362;
+ public static final int FOSSIL_ISLAND_WYVERN_DISABLE = 6251;
- BANK_REARRANGE_MODE(3959),
- CURRENT_BANK_TAB(4150),
+ public static final int BANK_REARRANGE_MODE = 3959;
+ public static final int CURRENT_BANK_TAB = 4150;
- WORLDHOPPER_FAVROITE_1(4597),
- WORLDHOPPER_FAVROITE_2(4598),
+ public static final int WORLDHOPPER_FAVROITE_1 = 4597;
+ public static final int WORLDHOPPER_FAVROITE_2 = 4598;
/**
* Vengeance is active
*/
- VENGEANCE_ACTIVE(2450),
+ public static final int VENGEANCE_ACTIVE = 2450;
/**
* Spell cooldowns
*/
- VENGEANCE_COOLDOWN(2451),
- CORRUPTION_COOLDOWN(12288),
+ public static final int VENGEANCE_COOLDOWN = 2451;
+ public static final int CORRUPTION_COOLDOWN = 12288;
/**
* Imbued Heart cooldown
* Number of game tick remaining on cooldown in intervals of 10; for a value X there are 10 * X game ticks remaining.
* The heart regains its power once this reaches 0.
*/
- IMBUED_HEART_COOLDOWN(5361),
+ public static final int IMBUED_HEART_COOLDOWN = 5361;
/**
* Amount of items in each bank tab
*/
- BANK_TAB_ONE_COUNT(4171),
- BANK_TAB_TWO_COUNT(4172),
- BANK_TAB_THREE_COUNT(4173),
- BANK_TAB_FOUR_COUNT(4174),
- BANK_TAB_FIVE_COUNT(4175),
- BANK_TAB_SIX_COUNT(4176),
- BANK_TAB_SEVEN_COUNT(4177),
- BANK_TAB_EIGHT_COUNT(4178),
- BANK_TAB_NINE_COUNT(4179),
+ public static final int BANK_TAB_ONE_COUNT = 4171;
+ public static final int BANK_TAB_TWO_COUNT = 4172;
+ public static final int BANK_TAB_THREE_COUNT = 4173;
+ public static final int BANK_TAB_FOUR_COUNT = 4174;
+ public static final int BANK_TAB_FIVE_COUNT = 4175;
+ public static final int BANK_TAB_SIX_COUNT = 4176;
+ public static final int BANK_TAB_SEVEN_COUNT = 4177;
+ public static final int BANK_TAB_EIGHT_COUNT = 4178;
+ public static final int BANK_TAB_NINE_COUNT = 4179;
/**
* Type of GE offer currently being created
* 0 = buy
* 1 = sell
*/
- GE_OFFER_CREATION_TYPE(4397),
+ public static final int GE_OFFER_CREATION_TYPE = 4397;
/**
* The active tab within the quest interface
*/
- QUEST_TAB(8168),
+ public static final int QUEST_TAB = 8168;
/**
* Explorer ring
*/
- EXPLORER_RING_ALCHTYPE(5398),
- EXPLORER_RING_TELEPORTS(4552),
- EXPLORER_RING_ALCHS(4554),
- EXPLORER_RING_RUNENERGY(4553),
+ public static final int EXPLORER_RING_ALCHTYPE = 5398;
+ public static final int EXPLORER_RING_TELEPORTS = 4552;
+ public static final int EXPLORER_RING_ALCHS = 4554;
+ public static final int EXPLORER_RING_RUNENERGY = 4553;
- WINTERTODT_TIMER(7980),
+ public static final int WINTERTODT_TIMER = 7980;
/**
* League relics
*/
- LEAGUE_RELIC_1(10049),
- LEAGUE_RELIC_2(10050),
- LEAGUE_RELIC_3(10051),
- LEAGUE_RELIC_4(10052),
- LEAGUE_RELIC_5(10053),
- LEAGUE_RELIC_6(11696),
+ public static final int LEAGUE_RELIC_1 = 10049;
+ public static final int LEAGUE_RELIC_2 = 10050;
+ public static final int LEAGUE_RELIC_3 = 10051;
+ public static final int LEAGUE_RELIC_4 = 10052;
+ public static final int LEAGUE_RELIC_5 = 10053;
+ public static final int LEAGUE_RELIC_6 = 11696;
/**
* Muted volume restore values
*/
- MUTED_MUSIC_VOLUME(9666),
- MUTED_SOUND_EFFECT_VOLUME(9674),
- MUTED_AREA_EFFECT_VOLUME(9675),
+ public static final int MUTED_MUSIC_VOLUME = 9666;
+ public static final int MUTED_SOUND_EFFECT_VOLUME = 9674;
+ public static final int MUTED_AREA_EFFECT_VOLUME = 9675;
/**
* Parasite infection status during nightmare of ashihama bossfight
- *
+ *
* 0 = not infected
* 1 = infected
- *
*/
- PARASITE(10151),
+ public static final int PARASITE = 10151;
/**
* Whether the vanilla wiki entity lookup is displayed under the minimap
- *
+ *
* 0 = Enabled
* 1 = Disabled
- *
*/
- WIKI_ENTITY_LOOKUP(10113),
+ public static final int WIKI_ENTITY_LOOKUP = 10113;
/**
* Whether the Special Attack orb is disabled due to being in a PvP area
- *
- * 0 = Enabled (player is not in PvP)
- * 1 = Disabled (player in in PvP)
+ *
+ * 0 = Enabled =player is not in PvP)
+ * 1 = Disabled =player in in PvP)
*
* @see The OSRS Wiki's Minimap page
*/
- PVP_SPEC_ORB(8121),
+ public static final int PVP_SPEC_ORB = 8121;
/**
* Collection Log notification settings whenever a new item is added
- *
+ *
* 0 = no notification
* 1 = chat notification only
* 2 = popup notification only
* 3 = chat and popup
*/
- COLLECTION_LOG_NOTIFICATION(11959),
+ public static final int COLLECTION_LOG_NOTIFICATION = 11959;
/**
* Combat Achievements popup settings whenever a new task is completed
- *
+ *
* 0 = popup notification enabled
* 1 = popup notification disabled
*/
- COMBAT_ACHIEVEMENTS_POPUP(12455),
+ public static final int COMBAT_ACHIEVEMENTS_POPUP = 12455;
/**
* Show boss health overlay setting
* 0 = on
* 1 = off
*/
- BOSS_HEALTH_OVERLAY(12389),
+ public static final int BOSS_HEALTH_OVERLAY = 12389;
/**
* Whether the PVP kill-death stats widget should be drawn while in the wilderness or in PVP worlds.
- *
+ *
* 0 = Disabled
* 1 = Enabled
*/
- SHOW_PVP_KDR_STATS(4143),
- ;
-
- /**
- * The raw varbit ID.
- */
- private final int id;
+ public static final int SHOW_PVP_KDR_STATS = 4143;
}
diff --git a/runelite-api/src/main/java/net/runelite/api/annotations/Varbit.java b/runelite-api/src/main/java/net/runelite/api/annotations/Varbit.java
new file mode 100644
index 0000000000..a348f7af57
--- /dev/null
+++ b/runelite-api/src/main/java/net/runelite/api/annotations/Varbit.java
@@ -0,0 +1,38 @@
+/*
+ * Copyright (c) 2022, Adam
+ * 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.api.annotations;
+
+import java.lang.annotation.Documented;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import net.runelite.api.Varbits;
+import org.intellij.lang.annotations.MagicConstant;
+
+@MagicConstant(valuesFromClass = Varbits.class)
+@Documented
+@Retention(RetentionPolicy.SOURCE)
+public @interface Varbit
+{
+}
diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml
index 8a9fa08a26..8306dafc27 100644
--- a/runelite-client/pom.xml
+++ b/runelite-client/pom.xml
@@ -136,6 +136,12 @@
com.google.code.findbugs
jsr305
+
+ org.jetbrains
+ annotations
+ 23.0.0
+ provided
+
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java
index ef608a2be5..0ab665d90f 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/achievementdiary/FavourRequirement.java
@@ -28,6 +28,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.runelite.api.Client;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
@RequiredArgsConstructor
@Getter
@@ -37,7 +38,6 @@ public class FavourRequirement implements Requirement
* An enumeration of Kourend house favour the player can earn.
*/
@RequiredArgsConstructor
- @Getter
public enum Favour
{
ARCEUUS("Arceuus", Varbits.KOUREND_FAVOR_ARCEUUS),
@@ -46,8 +46,10 @@ public class FavourRequirement implements Requirement
PISCARILIUS("Piscarilius", Varbits.KOUREND_FAVOR_PISCARILIUS),
SHAYZIEN("Shayzien", Varbits.KOUREND_FAVOR_SHAYZIEN);
+ @Getter
private final String name;
- private final Varbits varbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int varbit;
}
private final Favour house;
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrothers.java b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrothers.java
index ed180fe59e..74dcdd7984 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrothers.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/barrows/BarrowsBrothers.java
@@ -27,6 +27,7 @@ package net.runelite.client.plugins.barrows;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.WorldPoint;
@RequiredArgsConstructor
@@ -42,5 +43,6 @@ enum BarrowsBrothers
private final String name;
private final WorldPoint location;
- private final Varbits killedVarbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int killedVarbit;
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BarsOres.java b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BarsOres.java
index 5f681d56c5..796014af66 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BarsOres.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/blastfurnace/BarsOres.java
@@ -28,6 +28,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter;
import net.runelite.api.ItemID;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
@AllArgsConstructor
@Getter
@@ -51,6 +52,7 @@ enum BarsOres
SILVER_BAR(Varbits.BLAST_FURNACE_SILVER_BAR, ItemID.SILVER_BAR),
GOLD_BAR(Varbits.BLAST_FURNACE_GOLD_BAR, ItemID.GOLD_BAR);
- private final Varbits varbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int varbit;
private final int itemID;
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java
index 382f77aa52..4be7a8868f 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollOverlay.java
@@ -113,7 +113,7 @@ public class ClueScrollOverlay extends OverlayPanel
}
if (clue.isRequiresLight()
- && ((clue.getHasFirePit() == null || client.getVar(clue.getHasFirePit()) != 1)
+ && ((clue.getFirePitVarbitId() == -1 || client.getVar(clue.getFirePitVarbitId()) != 1)
&& (inventoryItems == null || !HAS_LIGHT.fulfilledBy(inventoryItems))
&& (equippedItems == null || !HAS_LIGHT.fulfilledBy(equippedItems))))
{
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java
index ac333a0e6b..69498436ca 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/ClueScrollPlugin.java
@@ -145,10 +145,10 @@ public class ClueScrollPlugin extends Plugin
private static final Color HIGHLIGHT_HOVER_BORDER_COLOR = HIGHLIGHT_BORDER_COLOR.darker();
private static final Color HIGHLIGHT_FILL_COLOR = new Color(0, 255, 0, 20);
private static final String CLUE_TAG_NAME = "clue";
- private static final Varbits[] RUNEPOUCH_AMOUNT_VARBITS = {
+ private static final int[] RUNEPOUCH_AMOUNT_VARBITS = {
Varbits.RUNE_POUCH_AMOUNT1, Varbits.RUNE_POUCH_AMOUNT2, Varbits.RUNE_POUCH_AMOUNT3
};
- private static final Varbits[] RUNEPOUCH_RUNE_VARBITS = {
+ private static final int[] RUNEPOUCH_RUNE_VARBITS = {
Varbits.RUNE_POUCH_RUNE1, Varbits.RUNE_POUCH_RUNE2, Varbits.RUNE_POUCH_RUNE3
};
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ClueScroll.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ClueScroll.java
index 2f3cdd79e5..960784336f 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ClueScroll.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/ClueScroll.java
@@ -28,7 +28,7 @@ import java.awt.Graphics2D;
import lombok.AccessLevel;
import lombok.Getter;
import lombok.Setter;
-import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
import net.runelite.client.ui.overlay.components.PanelComponent;
@@ -43,8 +43,8 @@ public abstract class ClueScroll
private boolean requiresLight;
@Setter(AccessLevel.PROTECTED)
- @Getter(AccessLevel.PUBLIC)
- private Varbits hasFirePit;
+ @Getter(onMethod_ = {@Varbit}, value = AccessLevel.PUBLIC)
+ private int firePitVarbitId = -1;
@Setter(AccessLevel.PROTECTED)
@Getter(AccessLevel.PUBLIC)
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java
index 6b9cf11999..2f55fd4d79 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CoordinateClue.java
@@ -32,14 +32,21 @@ import javax.annotation.Nullable;
import lombok.Getter;
import lombok.NonNull;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.ANCIENT_WIZARDS;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.ARMADYLEAN_GUARD;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.ARMADYLEAN_OR_BANDOSIAN_GUARD;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.BANDOSIAN_GUARD;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.BRASSICAN_MAGE;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.SARADOMIN_WIZARD;
+import static net.runelite.client.plugins.cluescrolls.clues.Enemy.ZAMORAK_WIZARD;
import net.runelite.client.ui.overlay.OverlayUtil;
import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent;
-import static net.runelite.client.plugins.cluescrolls.clues.Enemy.*;
@Getter
public class CoordinateClue extends ClueScroll implements TextClueScroll, LocationClueScroll
@@ -49,7 +56,8 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
{
private final String directions;
private final boolean lightRequired;
- private final Varbits lightSource;
+ @Getter(onMethod_ = {@Varbit})
+ private final int lightSourceVarbitId;
private final Enemy enemy;
private CoordinateClueInfo(@NonNull String directions)
@@ -62,15 +70,15 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
this.directions = directions;
this.enemy = enemy;
this.lightRequired = false;
- this.lightSource = null;
+ this.lightSourceVarbitId = -1;
}
- private CoordinateClueInfo(@Nonnull String directions, Enemy enemy, boolean lightRequired, Varbits lightSource)
+ private CoordinateClueInfo(@Nonnull String directions, Enemy enemy, boolean lightRequired, @Varbit int lightSourceVarbitId)
{
this.directions = directions;
this.enemy = enemy;
this.lightRequired = lightRequired;
- this.lightSource = lightSource;
+ this.lightSourceVarbitId = lightSourceVarbitId;
}
}
@@ -257,7 +265,7 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
final CoordinateClueInfo clueInfo = CLUES.get(location);
if (clueInfo != null)
{
- setHasFirePit(clueInfo.getLightSource());
+ setFirePitVarbitId(clueInfo.getLightSourceVarbitId());
setRequiresLight(clueInfo.lightRequired);
setEnemy(clueInfo.getEnemy());
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java
index a76d50b556..8a83cd8bac 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/EmoteClue.java
@@ -41,6 +41,7 @@ import static net.runelite.api.ItemID.*;
import net.runelite.api.Perspective;
import net.runelite.api.ScriptID;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_CONTENT_COLOR;
@@ -253,11 +254,11 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu
this.itemRequirements = itemRequirements;
}
- private EmoteClue(String text, String locationName, @Nullable STASHUnit stashUnit, WorldPoint location, Emote firstEmote, Emote secondEmote, @Nonnull Varbits firePit, @Nonnull ItemRequirement... itemRequirements)
+ private EmoteClue(String text, String locationName, @Nullable STASHUnit stashUnit, WorldPoint location, Emote firstEmote, Emote secondEmote, @Varbit int firePitVarbitId, @Nonnull ItemRequirement... itemRequirements)
{
this(text, locationName, stashUnit, location, firstEmote, secondEmote, itemRequirements);
setRequiresLight(true);
- setHasFirePit(firePit);
+ setFirePitVarbitId(firePitVarbitId);
}
@Override
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java
index a64b4dcc1b..af80cefd00 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java
@@ -25,6 +25,7 @@
package net.runelite.client.plugins.devtools;
import com.google.common.collect.HashMultimap;
+import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Multimap;
import com.google.inject.Inject;
import java.awt.BorderLayout;
@@ -32,6 +33,7 @@ import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener;
+import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
import java.util.Objects;
@@ -45,6 +47,7 @@ import javax.swing.JScrollPane;
import javax.swing.SwingUtilities;
import javax.swing.border.CompoundBorder;
import lombok.Getter;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.IndexDataBase;
import net.runelite.api.VarClientInt;
@@ -62,6 +65,7 @@ import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.DynamicGridLayout;
import net.runelite.client.ui.FontManager;
+@Slf4j
class VarInspector extends DevToolsFrame
{
@Getter
@@ -84,6 +88,26 @@ class VarInspector extends DevToolsFrame
private final static int MAX_LOG_ENTRIES = 10_000;
private static final int VARBITS_ARCHIVE_ID = 14;
+ private static final Map VARBIT_NAMES;
+
+ static
+ {
+ ImmutableMap.Builder builder = new ImmutableMap.Builder<>();
+
+ try
+ {
+ for (Field f : Varbits.class.getDeclaredFields())
+ {
+ builder.put(f.getInt(null), f.getName());
+ }
+ }
+ catch (IllegalAccessException ex)
+ {
+ log.error("error setting up varbit names", ex);
+ }
+
+ VARBIT_NAMES = builder.build();
+ }
private final Client client;
private final ClientThread clientThread;
@@ -218,15 +242,7 @@ class VarInspector extends DevToolsFrame
// Example: 4101 collides with 4104-4129
client.setVarbitValue(oldVarps2, i, neew);
- String name = Integer.toString(i);
- for (Varbits varbit : Varbits.values())
- {
- if (varbit.getId() == i)
- {
- name = String.format("%s(%d)", varbit.name(), i);
- break;
- }
- }
+ final String name = VARBIT_NAMES.getOrDefault(i, Integer.toString(i));
addVarLog(VarType.VARBIT, name, old, neew);
}
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/driftnet/DriftNet.java b/runelite-client/src/main/java/net/runelite/client/plugins/driftnet/DriftNet.java
index 99dd0356e1..87c20e192e 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/driftnet/DriftNet.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/driftnet/DriftNet.java
@@ -27,10 +27,11 @@ package net.runelite.client.plugins.driftnet;
import java.util.Set;
import lombok.Data;
+import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
import net.runelite.api.GameObject;
-import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.WorldPoint;
@Data
@@ -38,8 +39,10 @@ import net.runelite.api.coords.WorldPoint;
class DriftNet
{
private final int objectId;
- private final Varbits statusVarbit;
- private final Varbits countVarbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int statusVarbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int countVarbit;
private final Set adjacentTiles;
private GameObject net;
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java
index 7936730ff3..ce1a67eda6 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/HerbiboarPlugin.java
@@ -199,7 +199,7 @@ public class HerbiboarPlugin extends Plugin
{
for (TrailToSpot trail : spot.getTrails())
{
- int value = client.getVar(trail.getVarbit());
+ int value = client.getVar(trail.getVarbitId());
if (value == trail.getValue())
{
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/TrailToSpot.java b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/TrailToSpot.java
index 17c0b923cb..126ee06d75 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/TrailToSpot.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/herbiboars/TrailToSpot.java
@@ -27,8 +27,9 @@ package net.runelite.client.plugins.herbiboars;
import com.google.common.collect.ImmutableSet;
import java.util.Set;
+import lombok.Getter;
import lombok.Value;
-import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
/**
* A representation of a trail of footsteps which appears when hunting for the Herbiboar.
@@ -42,9 +43,10 @@ class TrailToSpot
* equal to that of {@link TrailToSpot#getValue()}. Once the next object along the trail has been searched, this
* Varbit's value will be greater than that of {@link TrailToSpot#getValue()}.
*/
- private final Varbits varbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int varbitId;
/**
- * The cutoff reference value to compare against the value of {@link TrailToSpot#getVarbit()} to determine its state
+ * The cutoff reference value to compare against the value of {@link TrailToSpot#getVarbitId()} ()} to determine its state
* along the current trail.
*/
private final int value;
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java
index f116825347..a5bace7d42 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/music/MusicPlugin.java
@@ -59,6 +59,7 @@ import net.runelite.api.StructID;
import net.runelite.api.VarClientInt;
import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.events.AreaSoundEffectPlayed;
import net.runelite.api.events.BeforeRender;
import net.runelite.api.events.ClientTick;
@@ -783,7 +784,8 @@ public class MusicPlugin extends Plugin
@Getter
private final String name;
private final VarPlayer var;
- private final Varbits mutedVar;
+ @Varbit
+ private final int mutedVarbitId;
private final IntSupplier getter;
private final Consumer setter;
private final IntConsumer volumeChanger;
@@ -797,14 +799,14 @@ public class MusicPlugin extends Plugin
private Slider windowSlider;
Channel(String name,
- VarPlayer var, Varbits mutedVar,
+ VarPlayer var, @Varbit int mutedVarbitId,
IntSupplier getter, Consumer setter,
IntConsumer volumeChanger, int max,
WidgetInfo sideRoot)
{
this.name = name;
this.var = var;
- this.mutedVar = mutedVar;
+ this.mutedVarbitId = mutedVarbitId;
this.getter = getter;
this.setter = setter;
this.volumeChanger = volumeChanger;
@@ -824,7 +826,7 @@ public class MusicPlugin extends Plugin
int raw = client.getVar(var);
if (raw == 0)
{
- raw = -client.getVar(mutedVar);
+ raw = -client.getVar(mutedVarbitId);
}
value = raw * this.max / 100;
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java
index 962e47d413..812c700a4c 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/runepouch/RunepouchOverlay.java
@@ -33,6 +33,7 @@ import net.runelite.api.Client;
import net.runelite.api.ItemID;
import net.runelite.api.Point;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.api.widgets.WidgetItem;
import net.runelite.client.game.ItemManager;
import net.runelite.client.game.RunepouchRune;
@@ -47,12 +48,10 @@ import net.runelite.client.util.ColorUtil;
public class RunepouchOverlay extends WidgetItemOverlay
{
- private static final Varbits[] AMOUNT_VARBITS =
- {
+ private static final int[] AMOUNT_VARBITS = {
Varbits.RUNE_POUCH_AMOUNT1, Varbits.RUNE_POUCH_AMOUNT2, Varbits.RUNE_POUCH_AMOUNT3
};
- private static final Varbits[] RUNE_VARBITS =
- {
+ private static final int[] RUNE_VARBITS = {
Varbits.RUNE_POUCH_RUNE1, Varbits.RUNE_POUCH_RUNE2, Varbits.RUNE_POUCH_RUNE3
};
private static final Dimension IMAGE_SIZE = new Dimension(11, 11);
@@ -60,16 +59,15 @@ public class RunepouchOverlay extends WidgetItemOverlay
private final Client client;
private final RunepouchConfig config;
private final TooltipManager tooltipManager;
+ private final ItemManager itemManager;
@Inject
- private ItemManager itemManager;
-
- @Inject
- RunepouchOverlay(Client client, RunepouchConfig config, TooltipManager tooltipManager)
+ RunepouchOverlay(Client client, RunepouchConfig config, TooltipManager tooltipManager, ItemManager itemManager)
{
this.tooltipManager = tooltipManager;
this.client = client;
this.config = config;
+ this.itemManager = itemManager;
showOnInventory();
showOnBank();
}
@@ -91,15 +89,14 @@ public class RunepouchOverlay extends WidgetItemOverlay
for (int i = 0; i < AMOUNT_VARBITS.length; i++)
{
- Varbits amountVarbit = AMOUNT_VARBITS[i];
-
+ @Varbit int amountVarbit = AMOUNT_VARBITS[i];
int amount = client.getVar(amountVarbit);
if (amount <= 0)
{
continue;
}
- Varbits runeVarbit = RUNE_VARBITS[i];
+ @Varbit int runeVarbit = RUNE_VARBITS[i];
int runeId = client.getVar(runeVarbit);
RunepouchRune rune = RunepouchRune.getRune(runeId);
if (rune == null)
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerUnlock.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerUnlock.java
index 992f27a339..e59e670de2 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerUnlock.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerUnlock.java
@@ -27,6 +27,7 @@ package net.runelite.client.plugins.slayer;
import net.runelite.api.Client;
import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
/**
* Unlockables in the slayer interface
@@ -87,17 +88,19 @@ enum SlayerUnlock
VAMPYRE_EXTEND(49),
VAMPYRE_UNLOCK(50);
- private final Varbits toggleVarbit;
+ @Varbit
+ private final int toggleVarbit;
SlayerUnlock(int index)
{
- this(index, null);
+ assert index == ordinal();
+ this.toggleVarbit = -1;
}
- SlayerUnlock(int index, Varbits toggleVarbit)
+ SlayerUnlock(int index, @Varbit int varbit)
{
assert index == ordinal();
- this.toggleVarbit = toggleVarbit;
+ this.toggleVarbit = varbit;
}
/**
@@ -116,7 +119,7 @@ enum SlayerUnlock
{
if (isOwned(client))
{
- if (toggleVarbit == null)
+ if (toggleVarbit == -1)
{
return true;
}
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingPatch.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingPatch.java
index 25b29ba01f..835f17e463 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingPatch.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingPatch.java
@@ -28,7 +28,7 @@ import lombok.AccessLevel;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import lombok.Setter;
-import net.runelite.api.Varbits;
+import net.runelite.api.annotations.Varbit;
import net.runelite.client.plugins.timetracking.TimeTrackingConfig;
@RequiredArgsConstructor(
@@ -40,16 +40,17 @@ class FarmingPatch
@Setter(AccessLevel.PACKAGE)
private FarmingRegion region;
private final String name;
- private final Varbits varbit;
+ @Getter(onMethod_ = {@Varbit})
+ private final int varbit;
private final PatchImplementation implementation;
String configKey()
{
- return region.getRegionID() + "." + varbit.getId();
+ return region.getRegionID() + "." + varbit;
}
String notifyConfigKey()
{
- return TimeTrackingConfig.NOTIFY + "." + region.getRegionID() + "." + varbit.getId();
+ return TimeTrackingConfig.NOTIFY + "." + region.getRegionID() + "." + varbit;
}
}
\ No newline at end of file
diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingTracker.java b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingTracker.java
index 965ad11b59..baa5103762 100644
--- a/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingTracker.java
+++ b/runelite-client/src/main/java/net/runelite/client/plugins/timetracking/farming/FarmingTracker.java
@@ -144,7 +144,7 @@ public class FarmingTracker
for (FarmingPatch patch : region.getPatches())
{
// Write the config value if it doesn't match what is current, or it is more than 5 minutes old
- Varbits varbit = patch.getVarbit();
+ int varbit = patch.getVarbit();
String key = patch.configKey();
String strVarbit = Integer.toString(client.getVar(varbit));
String storedValue = configManager.getRSProfileConfiguration(TimeTrackingConfig.CONFIG_GROUP, key);
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/timers/TimersPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/timers/TimersPluginTest.java
index 62bd1d38ae..72cb6c1021 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/timers/TimersPluginTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/timers/TimersPluginTest.java
@@ -454,7 +454,6 @@ public class TimersPluginTest
public void testCorruptionCooldown()
{
when(timersConfig.showArceuusCooldown()).thenReturn(true);
- when(client.getVar(any(Varbits.class))).thenReturn(0);
when(client.getVar(Varbits.CORRUPTION_COOLDOWN)).thenReturn(1);
timersPlugin.onVarbitChanged(new VarbitChanged());
diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/timetracking/farming/FarmingContractManagerTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/timetracking/farming/FarmingContractManagerTest.java
index 3d3c4ad454..4c405bd4de 100644
--- a/runelite-client/src/test/java/net/runelite/client/plugins/timetracking/farming/FarmingContractManagerTest.java
+++ b/runelite-client/src/test/java/net/runelite/client/plugins/timetracking/farming/FarmingContractManagerTest.java
@@ -28,7 +28,7 @@ import com.google.inject.Guice;
import com.google.inject.testing.fieldbinder.Bind;
import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.time.Instant;
-import java.util.EnumMap;
+import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ScheduledExecutorService;
import javax.inject.Inject;
@@ -53,7 +53,7 @@ import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class FarmingContractManagerTest
{
- private Map farmingGuildPatches = new EnumMap<>(Varbits.class);
+ private Map farmingGuildPatches = new HashMap<>();
@Inject
private FarmingContractManager farmingContractManager;