api: replace varbits enum with ints

This adds a Varbit magic constant annotation which is used now on
varbit parameters and fields.

This is roughly the same type-safety wise, with IDE support, but the ids
can be inlined by the compiler and it avoids having to have a large enum
class with many fields.
This commit is contained in:
Adam
2022-04-09 23:28:01 -04:00
parent b010e0481e
commit d129c49923
25 changed files with 476 additions and 403 deletions

View File

@@ -120,6 +120,7 @@
<exclude>net/runelite/api/SoundEffectVolume.class</exclude> <exclude>net/runelite/api/SoundEffectVolume.class</exclude>
<exclude>net/runelite/api/SpriteID.class</exclude> <exclude>net/runelite/api/SpriteID.class</exclude>
<exclude>net/runelite/api/StructID.class</exclude> <exclude>net/runelite/api/StructID.class</exclude>
<exclude>net/runelite/api/Varbits.class</exclude>
</excludes> </excludes>
</configuration> </configuration>
</execution> </execution>

View File

@@ -32,6 +32,7 @@ import java.util.List;
import java.util.Map; import java.util.Map;
import javax.annotation.Nonnull; import javax.annotation.Nonnull;
import javax.annotation.Nullable; import javax.annotation.Nullable;
import net.runelite.api.annotations.Varbit;
import net.runelite.api.annotations.VisibleForDevtools; import net.runelite.api.annotations.VisibleForDevtools;
import net.runelite.api.annotations.VisibleForExternalPlugins; import net.runelite.api.annotations.VisibleForExternalPlugins;
import net.runelite.api.clan.ClanChannel; import net.runelite.api.clan.ClanChannel;
@@ -773,12 +774,12 @@ public interface Client extends OAuthApi, GameEngine
int getVar(VarPlayer varPlayer); 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 * @return the value
*/ */
int getVar(Varbits varbit); int getVar(@Varbit int varbit);
/** /**
* Gets an int value corresponding to the passed variable. * Gets an int value corresponding to the passed variable.
@@ -812,7 +813,7 @@ public interface Client extends OAuthApi, GameEngine
* @return the value * @return the value
*/ */
@VisibleForExternalPlugins @VisibleForExternalPlugins
int getVarbitValue(int varbitId); int getVarbitValue(@Varbit int varbitId);
/** /**
* Gets the value of a given VarClientInt * Gets the value of a given VarClientInt
@@ -843,12 +844,12 @@ public interface Client extends OAuthApi, GameEngine
void setVar(VarClientInt varClientStr, int value); 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 * @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 * Gets the varbit composition for a given varbit id
@@ -866,10 +867,10 @@ public interface Client extends OAuthApi, GameEngine
* @param varps passed varbits * @param varps passed varbits
* @param varbitId the variable ID * @param varbitId the variable ID
* @return the value * @return the value
* @see Varbits#id * @see Varbits
*/ */
@VisibleForDevtools @VisibleForDevtools
int getVarbitValue(int[] varps, int varbitId); int getVarbitValue(int[] varps, @Varbit int varbitId);
/** /**
* Sets the value of a given variable. * Sets the value of a given variable.
@@ -877,10 +878,10 @@ public interface Client extends OAuthApi, GameEngine
* @param varps passed varbits * @param varps passed varbits
* @param varbit the variable * @param varbit the variable
* @param value the value * @param value the value
* @see Varbits#id * @see Varbits
*/ */
@VisibleForDevtools @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 * Mark the given varp as changed, causing var listeners to be

View File

@@ -24,6 +24,8 @@
*/ */
package net.runelite.api; package net.runelite.api;
import net.runelite.api.annotations.Varbit;
/** /**
* An enumeration of different prayer spells. * An enumeration of different prayer spells.
*/ */
@@ -146,11 +148,10 @@ public enum Prayer
*/ */
AUGURY(Varbits.PRAYER_AUGURY, 40.0); AUGURY(Varbits.PRAYER_AUGURY, 40.0);
private final Varbits varbit; private final int varbit;
private final double drainRate; private final double drainRate;
Prayer(Varbits varbit, double drainRate) Prayer(@Varbit int varbit, double drainRate)
{ {
this.varbit = varbit; this.varbit = varbit;
this.drainRate = drainRate; this.drainRate = drainRate;
@@ -161,7 +162,8 @@ public enum Prayer
* *
* @return the prayer active varbit * @return the prayer active varbit
*/ */
public Varbits getVarbit() @Varbit
public int getVarbit()
{ {
return varbit; return varbit;
} }

View File

@@ -24,201 +24,196 @@
*/ */
package net.runelite.api; package net.runelite.api;
import lombok.AllArgsConstructor;
import lombok.Getter;
/** /**
* Server controlled "content-developer" integers. * Server controlled "content-developer" integers.
* *
* @see VarPlayer * @see VarPlayer
* * <p>
* These differ from a {@link VarPlayer} in that VarBits can be * These differ from a {@link VarPlayer} in that VarBits can be
* less than 32 bits. One or more VarBits can be assigned to a * 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 * backing VarPlayer, each with a static range of bits that it is
* allowed to access. This allows a more compact representation * allowed to access. This allows a more compact representation
* of small values, like booleans * of small values, like booleans
*/ */
@AllArgsConstructor public final class Varbits
@Getter
public enum Varbits
{ {
/* /*
* If chatbox is transparent or not * 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 * 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 * 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 * Runepouch
*/ */
RUNE_POUCH_RUNE1(29), public static final int RUNE_POUCH_RUNE1 = 29;
RUNE_POUCH_RUNE2(1622), public static final int RUNE_POUCH_RUNE2 = 1622;
RUNE_POUCH_RUNE3(1623), public static final int RUNE_POUCH_RUNE3 = 1623;
RUNE_POUCH_AMOUNT1(1624), public static final int RUNE_POUCH_AMOUNT1 = 1624;
RUNE_POUCH_AMOUNT2(1625), public static final int RUNE_POUCH_AMOUNT2 = 1625;
RUNE_POUCH_AMOUNT3(1626), public static final int RUNE_POUCH_AMOUNT3 = 1626;
/** /**
* Prayers * Prayers
*/ */
QUICK_PRAYER(4103), public static final int QUICK_PRAYER = 4103;
PRAYER_THICK_SKIN(4104), public static final int PRAYER_THICK_SKIN = 4104;
PRAYER_BURST_OF_STRENGTH(4105), public static final int PRAYER_BURST_OF_STRENGTH = 4105;
PRAYER_CLARITY_OF_THOUGHT(4106), public static final int PRAYER_CLARITY_OF_THOUGHT = 4106;
PRAYER_SHARP_EYE(4122), public static final int PRAYER_SHARP_EYE = 4122;
PRAYER_MYSTIC_WILL(4123), public static final int PRAYER_MYSTIC_WILL = 4123;
PRAYER_ROCK_SKIN(4107), public static final int PRAYER_ROCK_SKIN = 4107;
PRAYER_SUPERHUMAN_STRENGTH(4108), public static final int PRAYER_SUPERHUMAN_STRENGTH = 4108;
PRAYER_IMPROVED_REFLEXES(4109), public static final int PRAYER_IMPROVED_REFLEXES = 4109;
PRAYER_RAPID_RESTORE(4110), public static final int PRAYER_RAPID_RESTORE = 4110;
PRAYER_RAPID_HEAL(4111), public static final int PRAYER_RAPID_HEAL = 4111;
PRAYER_PROTECT_ITEM(4112), public static final int PRAYER_PROTECT_ITEM = 4112;
PRAYER_HAWK_EYE(4124), public static final int PRAYER_HAWK_EYE = 4124;
PRAYER_MYSTIC_LORE(4125), public static final int PRAYER_MYSTIC_LORE = 4125;
PRAYER_STEEL_SKIN(4113), public static final int PRAYER_STEEL_SKIN = 4113;
PRAYER_ULTIMATE_STRENGTH(4114), public static final int PRAYER_ULTIMATE_STRENGTH = 4114;
PRAYER_INCREDIBLE_REFLEXES(4115), public static final int PRAYER_INCREDIBLE_REFLEXES = 4115;
PRAYER_PROTECT_FROM_MAGIC(4116), public static final int PRAYER_PROTECT_FROM_MAGIC = 4116;
PRAYER_PROTECT_FROM_MISSILES(4117), public static final int PRAYER_PROTECT_FROM_MISSILES = 4117;
PRAYER_PROTECT_FROM_MELEE(4118), public static final int PRAYER_PROTECT_FROM_MELEE = 4118;
PRAYER_EAGLE_EYE(4126), public static final int PRAYER_EAGLE_EYE = 4126;
PRAYER_MYSTIC_MIGHT(4127), public static final int PRAYER_MYSTIC_MIGHT = 4127;
PRAYER_RETRIBUTION(4119), public static final int PRAYER_RETRIBUTION = 4119;
PRAYER_REDEMPTION(4120), public static final int PRAYER_REDEMPTION = 4120;
PRAYER_SMITE(4121), public static final int PRAYER_SMITE = 4121;
PRAYER_CHIVALRY(4128), public static final int PRAYER_CHIVALRY = 4128;
PRAYER_PIETY(4129), public static final int PRAYER_PIETY = 4129;
PRAYER_PRESERVE(5466), public static final int PRAYER_PRESERVE = 5466;
PRAYER_RIGOUR(5464), public static final int PRAYER_RIGOUR = 5464;
PRAYER_AUGURY(5465), public static final int PRAYER_AUGURY = 5465;
/** /**
* Diary Entries * Diary Entries
*/ */
DIARY_ARDOUGNE_EASY(4458), public static final int DIARY_ARDOUGNE_EASY = 4458;
DIARY_ARDOUGNE_MEDIUM(4459), public static final int DIARY_ARDOUGNE_MEDIUM = 4459;
DIARY_ARDOUGNE_HARD(4460), public static final int DIARY_ARDOUGNE_HARD = 4460;
DIARY_ARDOUGNE_ELITE(4461), public static final int DIARY_ARDOUGNE_ELITE = 4461;
DIARY_DESERT_EASY(4483), public static final int DIARY_DESERT_EASY = 4483;
DIARY_DESERT_MEDIUM(4484), public static final int DIARY_DESERT_MEDIUM = 4484;
DIARY_DESERT_HARD(4485), public static final int DIARY_DESERT_HARD = 4485;
DIARY_DESERT_ELITE(4486), public static final int DIARY_DESERT_ELITE = 4486;
DIARY_FALADOR_EASY(4462), public static final int DIARY_FALADOR_EASY = 4462;
DIARY_FALADOR_MEDIUM(4463), public static final int DIARY_FALADOR_MEDIUM = 4463;
DIARY_FALADOR_HARD(4464), public static final int DIARY_FALADOR_HARD = 4464;
DIARY_FALADOR_ELITE(4465), public static final int DIARY_FALADOR_ELITE = 4465;
DIARY_FREMENNIK_EASY(4491), public static final int DIARY_FREMENNIK_EASY = 4491;
DIARY_FREMENNIK_MEDIUM(4492), public static final int DIARY_FREMENNIK_MEDIUM = 4492;
DIARY_FREMENNIK_HARD(4493), public static final int DIARY_FREMENNIK_HARD = 4493;
DIARY_FREMENNIK_ELITE(4494), public static final int DIARY_FREMENNIK_ELITE = 4494;
DIARY_KANDARIN_EASY(4475), public static final int DIARY_KANDARIN_EASY = 4475;
DIARY_KANDARIN_MEDIUM(4476), public static final int DIARY_KANDARIN_MEDIUM = 4476;
DIARY_KANDARIN_HARD(4477), public static final int DIARY_KANDARIN_HARD = 4477;
DIARY_KANDARIN_ELITE(4478), public static final int DIARY_KANDARIN_ELITE = 4478;
DIARY_KARAMJA_EASY(3578), public static final int DIARY_KARAMJA_EASY = 3578;
DIARY_KARAMJA_MEDIUM(3599), public static final int DIARY_KARAMJA_MEDIUM = 3599;
DIARY_KARAMJA_HARD(3611), public static final int DIARY_KARAMJA_HARD = 3611;
DIARY_KARAMJA_ELITE(4566), public static final int DIARY_KARAMJA_ELITE = 4566;
DIARY_KOUREND_EASY(7925), public static final int DIARY_KOUREND_EASY = 7925;
DIARY_KOUREND_MEDIUM(7926), public static final int DIARY_KOUREND_MEDIUM = 7926;
DIARY_KOUREND_HARD(7927), public static final int DIARY_KOUREND_HARD = 7927;
DIARY_KOUREND_ELITE(7928), public static final int DIARY_KOUREND_ELITE = 7928;
DIARY_LUMBRIDGE_EASY(4495), public static final int DIARY_LUMBRIDGE_EASY = 4495;
DIARY_LUMBRIDGE_MEDIUM(4496), public static final int DIARY_LUMBRIDGE_MEDIUM = 4496;
DIARY_LUMBRIDGE_HARD(4497), public static final int DIARY_LUMBRIDGE_HARD = 4497;
DIARY_LUMBRIDGE_ELITE(4498), public static final int DIARY_LUMBRIDGE_ELITE = 4498;
DIARY_MORYTANIA_EASY(4487), public static final int DIARY_MORYTANIA_EASY = 4487;
DIARY_MORYTANIA_MEDIUM(4488), public static final int DIARY_MORYTANIA_MEDIUM = 4488;
DIARY_MORYTANIA_HARD(4489), public static final int DIARY_MORYTANIA_HARD = 4489;
DIARY_MORYTANIA_ELITE(4490), public static final int DIARY_MORYTANIA_ELITE = 4490;
DIARY_VARROCK_EASY(4479), public static final int DIARY_VARROCK_EASY = 4479;
DIARY_VARROCK_MEDIUM(4480), public static final int DIARY_VARROCK_MEDIUM = 4480;
DIARY_VARROCK_HARD(4481), public static final int DIARY_VARROCK_HARD = 4481;
DIARY_VARROCK_ELITE(4482), public static final int DIARY_VARROCK_ELITE = 4482;
DIARY_WESTERN_EASY(4471), public static final int DIARY_WESTERN_EASY = 4471;
DIARY_WESTERN_MEDIUM(4472), public static final int DIARY_WESTERN_MEDIUM = 4472;
DIARY_WESTERN_HARD(4473), public static final int DIARY_WESTERN_HARD = 4473;
DIARY_WESTERN_ELITE(4474), public static final int DIARY_WESTERN_ELITE = 4474;
DIARY_WILDERNESS_EASY(4466), public static final int DIARY_WILDERNESS_EASY = 4466;
DIARY_WILDERNESS_MEDIUM(4467), public static final int DIARY_WILDERNESS_MEDIUM = 4467;
DIARY_WILDERNESS_HARD(4468), public static final int DIARY_WILDERNESS_HARD = 4468;
DIARY_WILDERNESS_ELITE(4469), public static final int DIARY_WILDERNESS_ELITE = 4469;
/** /**
* Kourend house favours * Kourend house favours
*/ */
KOUREND_FAVOR_ARCEUUS(4896), public static final int KOUREND_FAVOR_ARCEUUS = 4896;
KOUREND_FAVOR_HOSIDIUS(4895), public static final int KOUREND_FAVOR_HOSIDIUS = 4895;
KOUREND_FAVOR_LOVAKENGJ(4898), public static final int KOUREND_FAVOR_LOVAKENGJ = 4898;
KOUREND_FAVOR_PISCARILIUS(4899), public static final int KOUREND_FAVOR_PISCARILIUS = 4899;
KOUREND_FAVOR_SHAYZIEN(4894), public static final int KOUREND_FAVOR_SHAYZIEN = 4894;
/** /**
* Equipped weapon type * Equipped weapon type
*/ */
EQUIPPED_WEAPON_TYPE(357), public static final int EQUIPPED_WEAPON_TYPE = 357;
/** /**
* Defensive casting mode * Defensive casting mode
*/ */
DEFENSIVE_CASTING_MODE(2668), public static final int DEFENSIVE_CASTING_MODE = 2668;
/** /**
* Options * Options
*/ */
SIDE_PANELS(4607), public static final int SIDE_PANELS = 4607;
/** /**
* Herbiboar Trails * Herbiboar Trails
*/ */
HB_TRAIL_31303(5737), public static final int HB_TRAIL_31303 = 5737;
HB_TRAIL_31306(5738), public static final int HB_TRAIL_31306 = 5738;
HB_TRAIL_31309(5739), public static final int HB_TRAIL_31309 = 5739;
HB_TRAIL_31312(5740), public static final int HB_TRAIL_31312 = 5740;
HB_TRAIL_31315(5741), public static final int HB_TRAIL_31315 = 5741;
HB_TRAIL_31318(5742), public static final int HB_TRAIL_31318 = 5742;
HB_TRAIL_31321(5743), public static final int HB_TRAIL_31321 = 5743;
HB_TRAIL_31324(5744), public static final int HB_TRAIL_31324 = 5744;
HB_TRAIL_31327(5745), public static final int HB_TRAIL_31327 = 5745;
HB_TRAIL_31330(5746), public static final int HB_TRAIL_31330 = 5746;
HB_TRAIL_31333(5768), public static final int HB_TRAIL_31333 = 5768;
HB_TRAIL_31336(5769), public static final int HB_TRAIL_31336 = 5769;
HB_TRAIL_31339(5770), public static final int HB_TRAIL_31339 = 5770;
HB_TRAIL_31342(5771), public static final int HB_TRAIL_31342 = 5771;
HB_TRAIL_31345(5772), public static final int HB_TRAIL_31345 = 5772;
HB_TRAIL_31348(5773), public static final int HB_TRAIL_31348 = 5773;
HB_TRAIL_31351(5774), public static final int HB_TRAIL_31351 = 5774;
HB_TRAIL_31354(5775), public static final int HB_TRAIL_31354 = 5775;
HB_TRAIL_31357(5776), public static final int HB_TRAIL_31357 = 5776;
HB_TRAIL_31360(5777), public static final int HB_TRAIL_31360 = 5777;
HB_TRAIL_31363(5747), public static final int HB_TRAIL_31363 = 5747;
HB_TRAIL_31366(5748), public static final int HB_TRAIL_31366 = 5748;
HB_TRAIL_31369(5749), public static final int HB_TRAIL_31369 = 5749;
HB_TRAIL_31372(5750), public static final int HB_TRAIL_31372 = 5750;
HB_FINISH(5766), public static final int HB_FINISH = 5766;
/** /**
* Started hunting Herbiboar. * 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 * NOTE: This value remains at 0 even after starting a Herbiboar trail up until searching the first object along the
* hunting path. * hunting path.
*/ */
HB_STARTED(5767), public static final int HB_STARTED = 5767;
/** /**
* Barbarian Assault * Barbarian Assault
*/ */
IN_GAME_BA(3923), public static final int IN_GAME_BA = 3923;
BA_GC(4768), public static final int BA_GC = 4768;
/** /**
* 0 = Outside wilderness * 0 = Outside wilderness
* 1 = In wilderness * 1 = In wilderness
*/ */
IN_WILDERNESS(5963), public static final int IN_WILDERNESS = 5963;
/** /**
* Fishing Trawler * Fishing Trawler
* FISHING_TRAWLER_ACTIVITY Expected values: 0-255 * FISHING_TRAWLER_ACTIVITY Expected values: 0-255
*/ */
FISHING_TRAWLER_ACTIVITY(3377), public static final int FISHING_TRAWLER_ACTIVITY = 3377;
/** /**
* Blast Furnace Bar Dispenser * Blast Furnace Bar Dispenser
* * <p>
* These are the expected values: * These are the expected values:
* 0 = No bars being processed * 0 = No bars being processed
* 1 = Ores are being processed on the conveyor belt, bar dispenser cannot be checked * 1 = Ores are being processed on the conveyor belt, bar dispenser cannot be checked
* 2 = Bars are cooling down * 2 = Bars are cooling down
* 3 = Bars can be collected * 3 = Bars can be collected
*/ */
BAR_DISPENSER(936), public static final int BAR_DISPENSER = 936;
/** /**
* Motherlode mine sack * Motherlode mine sack
*/ */
SACK_NUMBER(5558), public static final int SACK_NUMBER = 5558;
SACK_UPGRADED(5556), public static final int SACK_UPGRADED = 5556;
/** /**
* Experience tracker * Experience tracker
* * <p>
* EXPERIENCE_TRACKER_POSITION expected values: * EXPERIENCE_TRACKER_POSITION expected values:
* 0 = Right * 0 = Right
* 1 = Middle * 1 = Middle
* 2 = Left * 2 = Left
*/ */
EXPERIENCE_TRACKER_POSITION(4692), public static final int EXPERIENCE_TRACKER_POSITION = 4692;
EXPERIENCE_TRACKER_COUNTER(4697), public static final int EXPERIENCE_TRACKER_COUNTER = 4697;
EXPERIENCE_TRACKER_PROGRESS_BAR(4698), public static final int EXPERIENCE_TRACKER_PROGRESS_BAR = 4698;
/** /**
* Experience drop color * Experience drop color
*/ */
EXPERIENCE_DROP_COLOR(4695), public static final int EXPERIENCE_DROP_COLOR = 4695;
/** /**
* Tithe Farm * Tithe Farm
*/ */
TITHE_FARM_SACK_AMOUNT(4900), public static final int TITHE_FARM_SACK_AMOUNT = 4900;
TITHE_FARM_SACK_ICON(5370), public static final int TITHE_FARM_SACK_ICON = 5370;
TITHE_FARM_POINTS(4893), public static final int TITHE_FARM_POINTS = 4893;
/** /**
* Blast Mine * Blast Mine
*/ */
BLAST_MINE_COAL(4924), public static final int BLAST_MINE_COAL = 4924;
BLAST_MINE_GOLD(4925), public static final int BLAST_MINE_GOLD = 4925;
BLAST_MINE_MITHRIL(4926), public static final int BLAST_MINE_MITHRIL = 4926;
BLAST_MINE_ADAMANTITE(4921), public static final int BLAST_MINE_ADAMANTITE = 4921;
BLAST_MINE_RUNITE(4922), public static final int BLAST_MINE_RUNITE = 4922;
/** /**
* Raids * Raids
*/ */
IN_RAID(5432), public static final int IN_RAID = 5432;
TOTAL_POINTS(5431), public static final int TOTAL_POINTS = 5431;
PERSONAL_POINTS(5422), public static final int PERSONAL_POINTS = 5422;
RAID_PARTY_SIZE(5424), public static final int RAID_PARTY_SIZE = 5424;
// 0 = raid not started, >0 = raid started // 0 = raid not started, >0 = raid started
RAID_STATE(5425), public static final int RAID_STATE = 5425;
/** /**
* Making Friends with My Arm fire pits * Making Friends with My Arm fire pits
* * <p>
* Expected values: * Expected values:
* 0 = Not built * 0 = Not built
* 1 = Built * 1 = Built
*/ */
FIRE_PIT_GIANT_MOLE(6532), public static final int FIRE_PIT_GIANT_MOLE = 6532;
FIRE_PIT_LUMBRIDGE_SWAMP(6533), public static final int FIRE_PIT_LUMBRIDGE_SWAMP = 6533;
FIRE_PIT_MOS_LE_HARMLESS(6534), 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 1=In Party, 2=Inside/Spectator, 3=Dead Spectating
*/ */
THEATRE_OF_BLOOD(6440), public static final int THEATRE_OF_BLOOD = 6440;
/** /**
* Nightmare Zone * Nightmare Zone
*/ */
NMZ_ABSORPTION(3956), public static final int NMZ_ABSORPTION = 3956;
NMZ_POINTS(3949), public static final int NMZ_POINTS = 3949;
/** /**
* Blast Furnace * Blast Furnace
*/ */
BLAST_FURNACE_COPPER_ORE(959), public static final int BLAST_FURNACE_COPPER_ORE = 959;
BLAST_FURNACE_TIN_ORE(950), public static final int BLAST_FURNACE_TIN_ORE = 950;
BLAST_FURNACE_IRON_ORE(951), public static final int BLAST_FURNACE_IRON_ORE = 951;
BLAST_FURNACE_COAL(949), public static final int BLAST_FURNACE_COAL = 949;
BLAST_FURNACE_MITHRIL_ORE(952), public static final int BLAST_FURNACE_MITHRIL_ORE = 952;
BLAST_FURNACE_ADAMANTITE_ORE(953), public static final int BLAST_FURNACE_ADAMANTITE_ORE = 953;
BLAST_FURNACE_RUNITE_ORE(954), public static final int BLAST_FURNACE_RUNITE_ORE = 954;
BLAST_FURNACE_SILVER_ORE(956), public static final int BLAST_FURNACE_SILVER_ORE = 956;
BLAST_FURNACE_GOLD_ORE(955), public static final int BLAST_FURNACE_GOLD_ORE = 955;
BLAST_FURNACE_BRONZE_BAR(941), public static final int BLAST_FURNACE_BRONZE_BAR = 941;
BLAST_FURNACE_IRON_BAR(942), public static final int BLAST_FURNACE_IRON_BAR = 942;
BLAST_FURNACE_STEEL_BAR(943), public static final int BLAST_FURNACE_STEEL_BAR = 943;
BLAST_FURNACE_MITHRIL_BAR(944), public static final int BLAST_FURNACE_MITHRIL_BAR = 944;
BLAST_FURNACE_ADAMANTITE_BAR(945), public static final int BLAST_FURNACE_ADAMANTITE_BAR = 945;
BLAST_FURNACE_RUNITE_BAR(946), public static final int BLAST_FURNACE_RUNITE_BAR = 946;
BLAST_FURNACE_SILVER_BAR(948), public static final int BLAST_FURNACE_SILVER_BAR = 948;
BLAST_FURNACE_GOLD_BAR(947), 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
*/ */
PYRAMID_PLUNDER_ROOM_LOCATION(2365), public static final int PYRAMID_PLUNDER_ROOM_LOCATION = 2365;
PYRAMID_PLUNDER_TIMER(2375), public static final int PYRAMID_PLUNDER_TIMER = 2375;
PYRAMID_PLUNDER_THIEVING_LEVEL(2376), public static final int PYRAMID_PLUNDER_THIEVING_LEVEL = 2376;
PYRAMID_PLUNDER_ROOM(2377), public static final int PYRAMID_PLUNDER_ROOM = 2377;
/** /**
* Barrows * Barrows
*/ */
BARROWS_KILLED_AHRIM(457), public static final int BARROWS_KILLED_AHRIM = 457;
BARROWS_KILLED_DHAROK(458), public static final int BARROWS_KILLED_DHAROK = 458;
BARROWS_KILLED_GUTHAN(459), public static final int BARROWS_KILLED_GUTHAN = 459;
BARROWS_KILLED_KARIL(460), public static final int BARROWS_KILLED_KARIL = 460;
BARROWS_KILLED_TORAG(461), public static final int BARROWS_KILLED_TORAG = 461;
BARROWS_KILLED_VERAC(462), public static final int BARROWS_KILLED_VERAC = 462;
BARROWS_REWARD_POTENTIAL(463), public static final int BARROWS_REWARD_POTENTIAL = 463;
BARROWS_NPCS_SLAIN(464), public static final int BARROWS_NPCS_SLAIN = 464;
/** /**
* Spicy stew ingredients * Spicy stew ingredients
*/ */
SPICY_STEW_RED_SPICES(1879), public static final int SPICY_STEW_RED_SPICES = 1879;
SPICY_STEW_YELLOW_SPICES(1880), public static final int SPICY_STEW_YELLOW_SPICES = 1880;
SPICY_STEW_BROWN_SPICES(1881), public static final int SPICY_STEW_BROWN_SPICES = 1881;
SPICY_STEW_ORANGE_SPICES(1882), public static final int SPICY_STEW_ORANGE_SPICES = 1882;
/** /**
* Multicombat area * Multicombat area
*/ */
MULTICOMBAT_AREA(4605), public static final int MULTICOMBAT_AREA = 4605;
/** /**
* Kingdom of Miscellania Management * Kingdom of Miscellania Management
* Kingdom Approval is represented as a 7-bit unsigned integer; 127 corresponds to 100% approval * Kingdom Approval is represented as a 7-bit unsigned integer; 127 corresponds to 100% approval
*/ */
KINGDOM_APPROVAL(72), public static final int KINGDOM_APPROVAL = 72;
KINGDOM_COFFER(74), public static final int KINGDOM_COFFER = 74;
/** /**
* The Hand in the Sand quest status * 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), public static final int DAILY_HERB_BOXES_COLLECTED = 3961;
DAILY_STAVES_COLLECTED(4539), public static final int DAILY_STAVES_COLLECTED = 4539;
DAILY_ESSENCE_COLLECTED(4547), public static final int DAILY_ESSENCE_COLLECTED = 4547;
DAILY_RUNES_COLLECTED(4540), public static final int DAILY_RUNES_COLLECTED = 4540;
DAILY_SAND_COLLECTED(4549), public static final int DAILY_SAND_COLLECTED = 4549;
DAILY_FLAX_STATE(4559), public static final int DAILY_FLAX_STATE = 4559;
DAILY_ARROWS_STATE(4563), public static final int DAILY_ARROWS_STATE = 4563;
/** /**
* This varbit tracks how much bonemeal has been redeemed from Robin * 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 * 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 * Fairy Ring
*/ */
FAIR_RING_LAST_DESTINATION(5374), public static final int FAIR_RING_LAST_DESTINATION = 5374;
FAIRY_RING_DIAL_ADCB(3985), //Left dial public static final int FAIRY_RING_DIAL_ADCB = 3985; //Left dial
FAIRY_RIGH_DIAL_ILJK(3986), //Middle dial public static final int FAIRY_RIGH_DIAL_ILJK = 3986; //Middle dial
FAIRY_RING_DIAL_PSRQ(3987), //Right dial public static final int FAIRY_RING_DIAL_PSRQ = 3987; //Right dial
/** /**
* Transmog controllers for farming * Transmog controllers for farming
*/ */
FARMING_4771(4771), public static final int FARMING_4771 = 4771;
FARMING_4772(4772), public static final int FARMING_4772 = 4772;
FARMING_4773(4773), public static final int FARMING_4773 = 4773;
FARMING_4774(4774), public static final int FARMING_4774 = 4774;
FARMING_4775(4775), public static final int FARMING_4775 = 4775;
FARMING_7904(7904), public static final int FARMING_7904 = 7904;
FARMING_7905(7905), public static final int FARMING_7905 = 7905;
FARMING_7906(7906), public static final int FARMING_7906 = 7906;
FARMING_7907(7907), public static final int FARMING_7907 = 7907;
FARMING_7908(7908), public static final int FARMING_7908 = 7908;
FARMING_7909(7909), public static final int FARMING_7909 = 7909;
FARMING_7910(7910), public static final int FARMING_7910 = 7910;
FARMING_7911(7911), public static final int FARMING_7911 = 7911;
FARMING_7912(7912), public static final int FARMING_7912 = 7912;
/** /**
* Transmog controllers for grapes * Transmog controllers for grapes
*/ */
GRAPES_4953(4953), public static final int GRAPES_4953 = 4953;
GRAPES_4954(4954), public static final int GRAPES_4954 = 4954;
GRAPES_4955(4955), public static final int GRAPES_4955 = 4955;
GRAPES_4956(4956), public static final int GRAPES_4956 = 4956;
GRAPES_4957(4957), public static final int GRAPES_4957 = 4957;
GRAPES_4958(4958), public static final int GRAPES_4958 = 4958;
GRAPES_4959(4959), public static final int GRAPES_4959 = 4959;
GRAPES_4960(4960), public static final int GRAPES_4960 = 4960;
GRAPES_4961(4961), public static final int GRAPES_4961 = 4961;
GRAPES_4962(4962), public static final int GRAPES_4962 = 4962;
GRAPES_4963(4963), public static final int GRAPES_4963 = 4963;
GRAPES_4964(4964), public static final int GRAPES_4964 = 4964;
/** /**
* Automatically weed farming patches * Automatically weed farming patches
*/ */
AUTOWEED(5557), public static final int AUTOWEED = 5557;
/** /**
* The varbit that stores the players {@code AccountType}. * 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 * The varbit that stores the oxygen percentage for player
*/ */
OXYGEN_LEVEL(5811), public static final int OXYGEN_LEVEL = 5811;
/** /**
* Drift net status * Drift net status
* * <p>
* Expected values * Expected values
* 0 = Unset * 0 = Unset
* 1 = Set up * 1 = Set up
* 2 = Caught some fish * 2 = Caught some fish
* 3 = Full * 3 = Full
*/ */
NORTH_NET_STATUS(5812), public static final int NORTH_NET_STATUS = 5812;
SOUTH_NET_STATUS(5814), public static final int SOUTH_NET_STATUS = 5814;
/** /**
* Drift net catch count * Drift net catch count
*/ */
NORTH_NET_CATCH_COUNT(5813), public static final int NORTH_NET_CATCH_COUNT = 5813;
SOUTH_NET_CATCH_COUNT(5815), public static final int SOUTH_NET_CATCH_COUNT = 5815;
/** /**
* Drift net collect interface * Drift net collect interface
* * <p>
* Expected values: * Expected values:
* 0 = Not open * 0 = Not open
* 1 = North interface open * 1 = North interface open
* 2 = South interface open * 2 = South interface open
*/ */
DRIFT_NET_COLLECT(5933), public static final int DRIFT_NET_COLLECT = 5933;
/** /**
* Corp beast damage * Corp beast damage
*/ */
CORP_DAMAGE(999), public static final int CORP_DAMAGE = 999;
/** /**
* Toggleable slayer unlocks * Toggleable slayer unlocks
*/ */
SUPERIOR_ENABLED(5362), public static final int SUPERIOR_ENABLED = 5362;
FOSSIL_ISLAND_WYVERN_DISABLE(6251), public static final int FOSSIL_ISLAND_WYVERN_DISABLE = 6251;
BANK_REARRANGE_MODE(3959), public static final int BANK_REARRANGE_MODE = 3959;
CURRENT_BANK_TAB(4150), public static final int CURRENT_BANK_TAB = 4150;
WORLDHOPPER_FAVROITE_1(4597), public static final int WORLDHOPPER_FAVROITE_1 = 4597;
WORLDHOPPER_FAVROITE_2(4598), public static final int WORLDHOPPER_FAVROITE_2 = 4598;
/** /**
* Vengeance is active * Vengeance is active
*/ */
VENGEANCE_ACTIVE(2450), public static final int VENGEANCE_ACTIVE = 2450;
/** /**
* Spell cooldowns * Spell cooldowns
*/ */
VENGEANCE_COOLDOWN(2451), public static final int VENGEANCE_COOLDOWN = 2451;
CORRUPTION_COOLDOWN(12288), public static final int CORRUPTION_COOLDOWN = 12288;
/** /**
* Imbued Heart cooldown * 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. * 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. * 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 * Amount of items in each bank tab
*/ */
BANK_TAB_ONE_COUNT(4171), public static final int BANK_TAB_ONE_COUNT = 4171;
BANK_TAB_TWO_COUNT(4172), public static final int BANK_TAB_TWO_COUNT = 4172;
BANK_TAB_THREE_COUNT(4173), public static final int BANK_TAB_THREE_COUNT = 4173;
BANK_TAB_FOUR_COUNT(4174), public static final int BANK_TAB_FOUR_COUNT = 4174;
BANK_TAB_FIVE_COUNT(4175), public static final int BANK_TAB_FIVE_COUNT = 4175;
BANK_TAB_SIX_COUNT(4176), public static final int BANK_TAB_SIX_COUNT = 4176;
BANK_TAB_SEVEN_COUNT(4177), public static final int BANK_TAB_SEVEN_COUNT = 4177;
BANK_TAB_EIGHT_COUNT(4178), public static final int BANK_TAB_EIGHT_COUNT = 4178;
BANK_TAB_NINE_COUNT(4179), public static final int BANK_TAB_NINE_COUNT = 4179;
/** /**
* Type of GE offer currently being created * Type of GE offer currently being created
* 0 = buy * 0 = buy
* 1 = sell * 1 = sell
*/ */
GE_OFFER_CREATION_TYPE(4397), public static final int GE_OFFER_CREATION_TYPE = 4397;
/** /**
* The active tab within the quest interface * The active tab within the quest interface
*/ */
QUEST_TAB(8168), public static final int QUEST_TAB = 8168;
/** /**
* Explorer ring * Explorer ring
*/ */
EXPLORER_RING_ALCHTYPE(5398), public static final int EXPLORER_RING_ALCHTYPE = 5398;
EXPLORER_RING_TELEPORTS(4552), public static final int EXPLORER_RING_TELEPORTS = 4552;
EXPLORER_RING_ALCHS(4554), public static final int EXPLORER_RING_ALCHS = 4554;
EXPLORER_RING_RUNENERGY(4553), public static final int EXPLORER_RING_RUNENERGY = 4553;
WINTERTODT_TIMER(7980), public static final int WINTERTODT_TIMER = 7980;
/** /**
* League relics * League relics
*/ */
LEAGUE_RELIC_1(10049), public static final int LEAGUE_RELIC_1 = 10049;
LEAGUE_RELIC_2(10050), public static final int LEAGUE_RELIC_2 = 10050;
LEAGUE_RELIC_3(10051), public static final int LEAGUE_RELIC_3 = 10051;
LEAGUE_RELIC_4(10052), public static final int LEAGUE_RELIC_4 = 10052;
LEAGUE_RELIC_5(10053), public static final int LEAGUE_RELIC_5 = 10053;
LEAGUE_RELIC_6(11696), public static final int LEAGUE_RELIC_6 = 11696;
/** /**
* Muted volume restore values * Muted volume restore values
*/ */
MUTED_MUSIC_VOLUME(9666), public static final int MUTED_MUSIC_VOLUME = 9666;
MUTED_SOUND_EFFECT_VOLUME(9674), public static final int MUTED_SOUND_EFFECT_VOLUME = 9674;
MUTED_AREA_EFFECT_VOLUME(9675), public static final int MUTED_AREA_EFFECT_VOLUME = 9675;
/** /**
* Parasite infection status during nightmare of ashihama bossfight * Parasite infection status during nightmare of ashihama bossfight
* * <p>
* 0 = not infected * 0 = not infected
* 1 = infected * 1 = infected
*
*/ */
PARASITE(10151), public static final int PARASITE = 10151;
/** /**
* Whether the vanilla wiki entity lookup is displayed under the minimap * Whether the vanilla wiki entity lookup is displayed under the minimap
* * <p>
* 0 = Enabled * 0 = Enabled
* 1 = Disabled * 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 * Whether the Special Attack orb is disabled due to being in a PvP area
* * <p>
* 0 = Enabled (player is not in PvP) * 0 = Enabled =player is not in PvP)
* 1 = Disabled (player in in PvP) * 1 = Disabled =player in in PvP)
* *
* @see <a href="https://oldschool.runescape.wiki/w/Minimap#Special_attack_orb">The OSRS Wiki's Minimap page</a> * @see <a href="https://oldschool.runescape.wiki/w/Minimap#Special_attack_orb">The OSRS Wiki's Minimap page</a>
*/ */
PVP_SPEC_ORB(8121), public static final int PVP_SPEC_ORB = 8121;
/** /**
* Collection Log notification settings whenever a new item is added * Collection Log notification settings whenever a new item is added
* * <p>
* 0 = no notification * 0 = no notification
* 1 = chat notification only * 1 = chat notification only
* 2 = popup notification only * 2 = popup notification only
* 3 = chat and popup * 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 * Combat Achievements popup settings whenever a new task is completed
* * <p>
* 0 = popup notification enabled * 0 = popup notification enabled
* 1 = popup notification disabled * 1 = popup notification disabled
*/ */
COMBAT_ACHIEVEMENTS_POPUP(12455), public static final int COMBAT_ACHIEVEMENTS_POPUP = 12455;
/** /**
* Show boss health overlay setting * Show boss health overlay setting
* 0 = on * 0 = on
* 1 = off * 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. * Whether the PVP kill-death stats widget should be drawn while in the wilderness or in PVP worlds.
* * <p>
* 0 = Disabled * 0 = Disabled
* 1 = Enabled * 1 = Enabled
*/ */
SHOW_PVP_KDR_STATS(4143), public static final int SHOW_PVP_KDR_STATS = 4143;
;
/**
* The raw varbit ID.
*/
private final int id;
} }

View File

@@ -0,0 +1,38 @@
/*
* Copyright (c) 2022, Adam <Adam@sigterm.info>
* 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
{
}

View File

@@ -136,6 +136,12 @@
<groupId>com.google.code.findbugs</groupId> <groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId> <artifactId>jsr305</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>23.0.0</version>
<scope>provided</scope>
</dependency>
<!-- JOGL --> <!-- JOGL -->
<dependency> <dependency>

View File

@@ -28,6 +28,7 @@ import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
@RequiredArgsConstructor @RequiredArgsConstructor
@Getter @Getter
@@ -37,7 +38,6 @@ public class FavourRequirement implements Requirement
* An enumeration of Kourend house favour the player can earn. * An enumeration of Kourend house favour the player can earn.
*/ */
@RequiredArgsConstructor @RequiredArgsConstructor
@Getter
public enum Favour public enum Favour
{ {
ARCEUUS("Arceuus", Varbits.KOUREND_FAVOR_ARCEUUS), ARCEUUS("Arceuus", Varbits.KOUREND_FAVOR_ARCEUUS),
@@ -46,8 +46,10 @@ public class FavourRequirement implements Requirement
PISCARILIUS("Piscarilius", Varbits.KOUREND_FAVOR_PISCARILIUS), PISCARILIUS("Piscarilius", Varbits.KOUREND_FAVOR_PISCARILIUS),
SHAYZIEN("Shayzien", Varbits.KOUREND_FAVOR_SHAYZIEN); SHAYZIEN("Shayzien", Varbits.KOUREND_FAVOR_SHAYZIEN);
@Getter
private final String name; private final String name;
private final Varbits varbit; @Getter(onMethod_ = {@Varbit})
private final int varbit;
} }
private final Favour house; private final Favour house;

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.barrows;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
@RequiredArgsConstructor @RequiredArgsConstructor
@@ -42,5 +43,6 @@ enum BarrowsBrothers
private final String name; private final String name;
private final WorldPoint location; private final WorldPoint location;
private final Varbits killedVarbit; @Getter(onMethod_ = {@Varbit})
private final int killedVarbit;
} }

View File

@@ -28,6 +28,7 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
@AllArgsConstructor @AllArgsConstructor
@Getter @Getter
@@ -51,6 +52,7 @@ enum BarsOres
SILVER_BAR(Varbits.BLAST_FURNACE_SILVER_BAR, ItemID.SILVER_BAR), SILVER_BAR(Varbits.BLAST_FURNACE_SILVER_BAR, ItemID.SILVER_BAR),
GOLD_BAR(Varbits.BLAST_FURNACE_GOLD_BAR, ItemID.GOLD_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; private final int itemID;
} }

View File

@@ -113,7 +113,7 @@ public class ClueScrollOverlay extends OverlayPanel
} }
if (clue.isRequiresLight() 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)) && (inventoryItems == null || !HAS_LIGHT.fulfilledBy(inventoryItems))
&& (equippedItems == null || !HAS_LIGHT.fulfilledBy(equippedItems)))) && (equippedItems == null || !HAS_LIGHT.fulfilledBy(equippedItems))))
{ {

View File

@@ -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_HOVER_BORDER_COLOR = HIGHLIGHT_BORDER_COLOR.darker();
private static final Color HIGHLIGHT_FILL_COLOR = new Color(0, 255, 0, 20); private static final Color HIGHLIGHT_FILL_COLOR = new Color(0, 255, 0, 20);
private static final String CLUE_TAG_NAME = "clue"; 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 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 Varbits.RUNE_POUCH_RUNE1, Varbits.RUNE_POUCH_RUNE2, Varbits.RUNE_POUCH_RUNE3
}; };

View File

@@ -28,7 +28,7 @@ import java.awt.Graphics2D;
import lombok.AccessLevel; import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import lombok.Setter; 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.plugins.cluescrolls.ClueScrollPlugin;
import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.PanelComponent;
@@ -43,8 +43,8 @@ public abstract class ClueScroll
private boolean requiresLight; private boolean requiresLight;
@Setter(AccessLevel.PROTECTED) @Setter(AccessLevel.PROTECTED)
@Getter(AccessLevel.PUBLIC) @Getter(onMethod_ = {@Varbit}, value = AccessLevel.PUBLIC)
private Varbits hasFirePit; private int firePitVarbitId = -1;
@Setter(AccessLevel.PROTECTED) @Setter(AccessLevel.PROTECTED)
@Getter(AccessLevel.PUBLIC) @Getter(AccessLevel.PUBLIC)

View File

@@ -32,14 +32,21 @@ import javax.annotation.Nullable;
import lombok.Getter; import lombok.Getter;
import lombok.NonNull; import lombok.NonNull;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin; 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.OverlayUtil;
import net.runelite.client.ui.overlay.components.LineComponent; import net.runelite.client.ui.overlay.components.LineComponent;
import net.runelite.client.ui.overlay.components.PanelComponent; import net.runelite.client.ui.overlay.components.PanelComponent;
import net.runelite.client.ui.overlay.components.TitleComponent; import net.runelite.client.ui.overlay.components.TitleComponent;
import static net.runelite.client.plugins.cluescrolls.clues.Enemy.*;
@Getter @Getter
public class CoordinateClue extends ClueScroll implements TextClueScroll, LocationClueScroll 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 String directions;
private final boolean lightRequired; private final boolean lightRequired;
private final Varbits lightSource; @Getter(onMethod_ = {@Varbit})
private final int lightSourceVarbitId;
private final Enemy enemy; private final Enemy enemy;
private CoordinateClueInfo(@NonNull String directions) private CoordinateClueInfo(@NonNull String directions)
@@ -62,15 +70,15 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
this.directions = directions; this.directions = directions;
this.enemy = enemy; this.enemy = enemy;
this.lightRequired = false; 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.directions = directions;
this.enemy = enemy; this.enemy = enemy;
this.lightRequired = lightRequired; 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); final CoordinateClueInfo clueInfo = CLUES.get(location);
if (clueInfo != null) if (clueInfo != null)
{ {
setHasFirePit(clueInfo.getLightSource()); setFirePitVarbitId(clueInfo.getLightSourceVarbitId());
setRequiresLight(clueInfo.lightRequired); setRequiresLight(clueInfo.lightRequired);
setEnemy(clueInfo.getEnemy()); setEnemy(clueInfo.getEnemy());
} }

View File

@@ -41,6 +41,7 @@ import static net.runelite.api.ItemID.*;
import net.runelite.api.Perspective; import net.runelite.api.Perspective;
import net.runelite.api.ScriptID; import net.runelite.api.ScriptID;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_CONTENT_COLOR; 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; 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); this(text, locationName, stashUnit, location, firstEmote, secondEmote, itemRequirements);
setRequiresLight(true); setRequiresLight(true);
setHasFirePit(firePit); setFirePitVarbitId(firePitVarbitId);
} }
@Override @Override

View File

@@ -25,6 +25,7 @@
package net.runelite.client.plugins.devtools; package net.runelite.client.plugins.devtools;
import com.google.common.collect.HashMultimap; import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.Multimap; import com.google.common.collect.Multimap;
import com.google.inject.Inject; import com.google.inject.Inject;
import java.awt.BorderLayout; import java.awt.BorderLayout;
@@ -32,6 +33,7 @@ import java.awt.Dimension;
import java.awt.FlowLayout; import java.awt.FlowLayout;
import java.awt.event.AdjustmentEvent; import java.awt.event.AdjustmentEvent;
import java.awt.event.AdjustmentListener; import java.awt.event.AdjustmentListener;
import java.lang.reflect.Field;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.Objects; import java.util.Objects;
@@ -45,6 +47,7 @@ import javax.swing.JScrollPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.border.CompoundBorder; import javax.swing.border.CompoundBorder;
import lombok.Getter; import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.IndexDataBase; import net.runelite.api.IndexDataBase;
import net.runelite.api.VarClientInt; 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.DynamicGridLayout;
import net.runelite.client.ui.FontManager; import net.runelite.client.ui.FontManager;
@Slf4j
class VarInspector extends DevToolsFrame class VarInspector extends DevToolsFrame
{ {
@Getter @Getter
@@ -84,6 +88,26 @@ class VarInspector extends DevToolsFrame
private final static int MAX_LOG_ENTRIES = 10_000; private final static int MAX_LOG_ENTRIES = 10_000;
private static final int VARBITS_ARCHIVE_ID = 14; private static final int VARBITS_ARCHIVE_ID = 14;
private static final Map<Integer, String> VARBIT_NAMES;
static
{
ImmutableMap.Builder<Integer, String> 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 Client client;
private final ClientThread clientThread; private final ClientThread clientThread;
@@ -218,15 +242,7 @@ class VarInspector extends DevToolsFrame
// Example: 4101 collides with 4104-4129 // Example: 4101 collides with 4104-4129
client.setVarbitValue(oldVarps2, i, neew); client.setVarbitValue(oldVarps2, i, neew);
String name = Integer.toString(i); final String name = VARBIT_NAMES.getOrDefault(i, Integer.toString(i));
for (Varbits varbit : Varbits.values())
{
if (varbit.getId() == i)
{
name = String.format("%s(%d)", varbit.name(), i);
break;
}
}
addVarLog(VarType.VARBIT, name, old, neew); addVarLog(VarType.VARBIT, name, old, neew);
} }
} }

View File

@@ -27,10 +27,11 @@ package net.runelite.client.plugins.driftnet;
import java.util.Set; import java.util.Set;
import lombok.Data; import lombok.Data;
import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.Setter; import lombok.Setter;
import net.runelite.api.GameObject; import net.runelite.api.GameObject;
import net.runelite.api.Varbits; import net.runelite.api.annotations.Varbit;
import net.runelite.api.coords.WorldPoint; import net.runelite.api.coords.WorldPoint;
@Data @Data
@@ -38,8 +39,10 @@ import net.runelite.api.coords.WorldPoint;
class DriftNet class DriftNet
{ {
private final int objectId; private final int objectId;
private final Varbits statusVarbit; @Getter(onMethod_ = {@Varbit})
private final Varbits countVarbit; private final int statusVarbit;
@Getter(onMethod_ = {@Varbit})
private final int countVarbit;
private final Set<WorldPoint> adjacentTiles; private final Set<WorldPoint> adjacentTiles;
private GameObject net; private GameObject net;

View File

@@ -199,7 +199,7 @@ public class HerbiboarPlugin extends Plugin
{ {
for (TrailToSpot trail : spot.getTrails()) for (TrailToSpot trail : spot.getTrails())
{ {
int value = client.getVar(trail.getVarbit()); int value = client.getVar(trail.getVarbitId());
if (value == trail.getValue()) if (value == trail.getValue())
{ {

View File

@@ -27,8 +27,9 @@ package net.runelite.client.plugins.herbiboars;
import com.google.common.collect.ImmutableSet; import com.google.common.collect.ImmutableSet;
import java.util.Set; import java.util.Set;
import lombok.Getter;
import lombok.Value; 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. * 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 * 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()}. * 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. * along the current trail.
*/ */
private final int value; private final int value;

View File

@@ -59,6 +59,7 @@ import net.runelite.api.StructID;
import net.runelite.api.VarClientInt; import net.runelite.api.VarClientInt;
import net.runelite.api.VarPlayer; import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
import net.runelite.api.events.AreaSoundEffectPlayed; import net.runelite.api.events.AreaSoundEffectPlayed;
import net.runelite.api.events.BeforeRender; import net.runelite.api.events.BeforeRender;
import net.runelite.api.events.ClientTick; import net.runelite.api.events.ClientTick;
@@ -783,7 +784,8 @@ public class MusicPlugin extends Plugin
@Getter @Getter
private final String name; private final String name;
private final VarPlayer var; private final VarPlayer var;
private final Varbits mutedVar; @Varbit
private final int mutedVarbitId;
private final IntSupplier getter; private final IntSupplier getter;
private final Consumer<Integer> setter; private final Consumer<Integer> setter;
private final IntConsumer volumeChanger; private final IntConsumer volumeChanger;
@@ -797,14 +799,14 @@ public class MusicPlugin extends Plugin
private Slider windowSlider; private Slider windowSlider;
Channel(String name, Channel(String name,
VarPlayer var, Varbits mutedVar, VarPlayer var, @Varbit int mutedVarbitId,
IntSupplier getter, Consumer<Integer> setter, IntSupplier getter, Consumer<Integer> setter,
IntConsumer volumeChanger, int max, IntConsumer volumeChanger, int max,
WidgetInfo sideRoot) WidgetInfo sideRoot)
{ {
this.name = name; this.name = name;
this.var = var; this.var = var;
this.mutedVar = mutedVar; this.mutedVarbitId = mutedVarbitId;
this.getter = getter; this.getter = getter;
this.setter = setter; this.setter = setter;
this.volumeChanger = volumeChanger; this.volumeChanger = volumeChanger;
@@ -824,7 +826,7 @@ public class MusicPlugin extends Plugin
int raw = client.getVar(var); int raw = client.getVar(var);
if (raw == 0) if (raw == 0)
{ {
raw = -client.getVar(mutedVar); raw = -client.getVar(mutedVarbitId);
} }
value = raw * this.max / 100; value = raw * this.max / 100;

View File

@@ -33,6 +33,7 @@ import net.runelite.api.Client;
import net.runelite.api.ItemID; import net.runelite.api.ItemID;
import net.runelite.api.Point; import net.runelite.api.Point;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
import net.runelite.api.widgets.WidgetItem; import net.runelite.api.widgets.WidgetItem;
import net.runelite.client.game.ItemManager; import net.runelite.client.game.ItemManager;
import net.runelite.client.game.RunepouchRune; import net.runelite.client.game.RunepouchRune;
@@ -47,12 +48,10 @@ import net.runelite.client.util.ColorUtil;
public class RunepouchOverlay extends WidgetItemOverlay 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 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 Varbits.RUNE_POUCH_RUNE1, Varbits.RUNE_POUCH_RUNE2, Varbits.RUNE_POUCH_RUNE3
}; };
private static final Dimension IMAGE_SIZE = new Dimension(11, 11); 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 Client client;
private final RunepouchConfig config; private final RunepouchConfig config;
private final TooltipManager tooltipManager; private final TooltipManager tooltipManager;
private final ItemManager itemManager;
@Inject @Inject
private ItemManager itemManager; RunepouchOverlay(Client client, RunepouchConfig config, TooltipManager tooltipManager, ItemManager itemManager)
@Inject
RunepouchOverlay(Client client, RunepouchConfig config, TooltipManager tooltipManager)
{ {
this.tooltipManager = tooltipManager; this.tooltipManager = tooltipManager;
this.client = client; this.client = client;
this.config = config; this.config = config;
this.itemManager = itemManager;
showOnInventory(); showOnInventory();
showOnBank(); showOnBank();
} }
@@ -91,15 +89,14 @@ public class RunepouchOverlay extends WidgetItemOverlay
for (int i = 0; i < AMOUNT_VARBITS.length; i++) 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); int amount = client.getVar(amountVarbit);
if (amount <= 0) if (amount <= 0)
{ {
continue; continue;
} }
Varbits runeVarbit = RUNE_VARBITS[i]; @Varbit int runeVarbit = RUNE_VARBITS[i];
int runeId = client.getVar(runeVarbit); int runeId = client.getVar(runeVarbit);
RunepouchRune rune = RunepouchRune.getRune(runeId); RunepouchRune rune = RunepouchRune.getRune(runeId);
if (rune == null) if (rune == null)

View File

@@ -27,6 +27,7 @@ package net.runelite.client.plugins.slayer;
import net.runelite.api.Client; import net.runelite.api.Client;
import net.runelite.api.VarPlayer; import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.annotations.Varbit;
/** /**
* Unlockables in the slayer interface * Unlockables in the slayer interface
@@ -87,17 +88,19 @@ enum SlayerUnlock
VAMPYRE_EXTEND(49), VAMPYRE_EXTEND(49),
VAMPYRE_UNLOCK(50); VAMPYRE_UNLOCK(50);
private final Varbits toggleVarbit; @Varbit
private final int toggleVarbit;
SlayerUnlock(int index) 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(); assert index == ordinal();
this.toggleVarbit = toggleVarbit; this.toggleVarbit = varbit;
} }
/** /**
@@ -116,7 +119,7 @@ enum SlayerUnlock
{ {
if (isOwned(client)) if (isOwned(client))
{ {
if (toggleVarbit == null) if (toggleVarbit == -1)
{ {
return true; return true;
} }

View File

@@ -28,7 +28,7 @@ import lombok.AccessLevel;
import lombok.Getter; import lombok.Getter;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import lombok.Setter; import lombok.Setter;
import net.runelite.api.Varbits; import net.runelite.api.annotations.Varbit;
import net.runelite.client.plugins.timetracking.TimeTrackingConfig; import net.runelite.client.plugins.timetracking.TimeTrackingConfig;
@RequiredArgsConstructor( @RequiredArgsConstructor(
@@ -40,16 +40,17 @@ class FarmingPatch
@Setter(AccessLevel.PACKAGE) @Setter(AccessLevel.PACKAGE)
private FarmingRegion region; private FarmingRegion region;
private final String name; private final String name;
private final Varbits varbit; @Getter(onMethod_ = {@Varbit})
private final int varbit;
private final PatchImplementation implementation; private final PatchImplementation implementation;
String configKey() String configKey()
{ {
return region.getRegionID() + "." + varbit.getId(); return region.getRegionID() + "." + varbit;
} }
String notifyConfigKey() String notifyConfigKey()
{ {
return TimeTrackingConfig.NOTIFY + "." + region.getRegionID() + "." + varbit.getId(); return TimeTrackingConfig.NOTIFY + "." + region.getRegionID() + "." + varbit;
} }
} }

View File

@@ -144,7 +144,7 @@ public class FarmingTracker
for (FarmingPatch patch : region.getPatches()) 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 // 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 key = patch.configKey();
String strVarbit = Integer.toString(client.getVar(varbit)); String strVarbit = Integer.toString(client.getVar(varbit));
String storedValue = configManager.getRSProfileConfiguration(TimeTrackingConfig.CONFIG_GROUP, key); String storedValue = configManager.getRSProfileConfiguration(TimeTrackingConfig.CONFIG_GROUP, key);

View File

@@ -454,7 +454,6 @@ public class TimersPluginTest
public void testCorruptionCooldown() public void testCorruptionCooldown()
{ {
when(timersConfig.showArceuusCooldown()).thenReturn(true); when(timersConfig.showArceuusCooldown()).thenReturn(true);
when(client.getVar(any(Varbits.class))).thenReturn(0);
when(client.getVar(Varbits.CORRUPTION_COOLDOWN)).thenReturn(1); when(client.getVar(Varbits.CORRUPTION_COOLDOWN)).thenReturn(1);
timersPlugin.onVarbitChanged(new VarbitChanged()); timersPlugin.onVarbitChanged(new VarbitChanged());

View File

@@ -28,7 +28,7 @@ import com.google.inject.Guice;
import com.google.inject.testing.fieldbinder.Bind; import com.google.inject.testing.fieldbinder.Bind;
import com.google.inject.testing.fieldbinder.BoundFieldModule; import com.google.inject.testing.fieldbinder.BoundFieldModule;
import java.time.Instant; import java.time.Instant;
import java.util.EnumMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.ScheduledExecutorService;
import javax.inject.Inject; import javax.inject.Inject;
@@ -53,7 +53,7 @@ import org.mockito.junit.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class) @RunWith(MockitoJUnitRunner.class)
public class FarmingContractManagerTest public class FarmingContractManagerTest
{ {
private Map<Varbits, FarmingPatch> farmingGuildPatches = new EnumMap<>(Varbits.class); private Map<Integer, FarmingPatch> farmingGuildPatches = new HashMap<>();
@Inject @Inject
private FarmingContractManager farmingContractManager; private FarmingContractManager farmingContractManager;