Merge pull request #1772 from Owain94/1310-merge
project: Merge upstream
This commit is contained in:
@@ -532,7 +532,7 @@ public class MapImageDumper
|
|||||||
{
|
{
|
||||||
// this is a wall
|
// this is a wall
|
||||||
int hash = (localY << 7) + localX + (location.getId() << 14) + 0x4000_0000;
|
int hash = (localY << 7) + localX + (location.getId() << 14) + 0x4000_0000;
|
||||||
if (object.getAnInt2088() == 0)
|
if (object.getWallOrDoor() == 0)
|
||||||
{
|
{
|
||||||
hash -= Integer.MIN_VALUE;
|
hash -= Integer.MIN_VALUE;
|
||||||
}
|
}
|
||||||
@@ -645,7 +645,7 @@ public class MapImageDumper
|
|||||||
}
|
}
|
||||||
|
|
||||||
int hash = (localY << 7) + localX + (location.getId() << 14) + 0x4000_0000;
|
int hash = (localY << 7) + localX + (location.getId() << 14) + 0x4000_0000;
|
||||||
if (object.getAnInt2088() == 0)
|
if (object.getWallOrDoor() == 0)
|
||||||
{
|
{
|
||||||
hash -= Integer.MIN_VALUE;
|
hash -= Integer.MIN_VALUE;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,8 +33,8 @@ public class ObjectDefinition
|
|||||||
{
|
{
|
||||||
private int id;
|
private int id;
|
||||||
private short[] retextureToFind;
|
private short[] retextureToFind;
|
||||||
private int anInt2069 = 16;
|
private int decorDisplacement = 16;
|
||||||
private boolean isSolid = false;
|
private boolean isHollow = false;
|
||||||
private String name = "null";
|
private String name = "null";
|
||||||
private int[] objectModels;
|
private int[] objectModels;
|
||||||
private int[] objectTypes;
|
private int[] objectTypes;
|
||||||
@@ -46,8 +46,8 @@ public class ObjectDefinition
|
|||||||
private int anInt2083 = 0;
|
private int anInt2083 = 0;
|
||||||
private int[] anIntArray2084;
|
private int[] anIntArray2084;
|
||||||
private int offsetX = 0;
|
private int offsetX = 0;
|
||||||
private boolean nonFlatShading = false;
|
private boolean mergeNormals = false;
|
||||||
private int anInt2088 = -1;
|
private int wallOrDoor = -1;
|
||||||
private int animationID = -1;
|
private int animationID = -1;
|
||||||
private int varbitID = -1;
|
private int varbitID = -1;
|
||||||
private int ambient = 0;
|
private int ambient = 0;
|
||||||
@@ -56,20 +56,20 @@ public class ObjectDefinition
|
|||||||
private int interactType = 2;
|
private int interactType = 2;
|
||||||
private int mapSceneID = -1;
|
private int mapSceneID = -1;
|
||||||
private short[] recolorToReplace;
|
private short[] recolorToReplace;
|
||||||
private boolean aBool2097 = true;
|
private boolean shadow = true;
|
||||||
private int modelSizeX = 128;
|
private int modelSizeX = 128;
|
||||||
private int modelSizeHeight = 128;
|
private int modelSizeHeight = 128;
|
||||||
private int modelSizeY = 128;
|
private int modelSizeY = 128;
|
||||||
private int objectID;
|
private int objectID;
|
||||||
private int offsetHeight = 0;
|
private int offsetHeight = 0;
|
||||||
private int offsetY = 0;
|
private int offsetY = 0;
|
||||||
private boolean aBool2104 = false;
|
private boolean obstructsGround = false;
|
||||||
private int anInt2105 = -1;
|
private int contouredGround = -1;
|
||||||
private int anInt2106 = -1;
|
private int supportsItems = -1;
|
||||||
private int[] configChangeDest;
|
private int[] configChangeDest;
|
||||||
private boolean isRotated = false;
|
private boolean isRotated = false;
|
||||||
private int varpID = -1;
|
private int varpID = -1;
|
||||||
private int anInt2110 = -1;
|
private int ambientSoundId = -1;
|
||||||
private boolean aBool2111 = false;
|
private boolean aBool2111 = false;
|
||||||
private int anInt2112 = 0;
|
private int anInt2112 = 0;
|
||||||
private int anInt2113 = 0;
|
private int anInt2113 = 0;
|
||||||
|
|||||||
+17
-17
@@ -117,15 +117,15 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 19)
|
else if (opcode == 19)
|
||||||
{
|
{
|
||||||
def.setAnInt2088(is.readUnsignedByte());
|
def.setWallOrDoor(is.readUnsignedByte());
|
||||||
}
|
}
|
||||||
else if (opcode == 21)
|
else if (opcode == 21)
|
||||||
{
|
{
|
||||||
def.setAnInt2105(0);
|
def.setContouredGround(0);
|
||||||
}
|
}
|
||||||
else if (opcode == 22)
|
else if (opcode == 22)
|
||||||
{
|
{
|
||||||
def.setNonFlatShading(false);
|
def.setMergeNormals(true);
|
||||||
}
|
}
|
||||||
else if (opcode == 23)
|
else if (opcode == 23)
|
||||||
{
|
{
|
||||||
@@ -145,7 +145,7 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 28)
|
else if (opcode == 28)
|
||||||
{
|
{
|
||||||
def.setAnInt2069(is.readUnsignedByte());
|
def.setDecorDisplacement(is.readUnsignedByte());
|
||||||
}
|
}
|
||||||
else if (opcode == 29)
|
else if (opcode == 29)
|
||||||
{
|
{
|
||||||
@@ -153,7 +153,7 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 39)
|
else if (opcode == 39)
|
||||||
{
|
{
|
||||||
def.setContrast(is.readByte());
|
def.setContrast(is.readByte() * 25);
|
||||||
}
|
}
|
||||||
else if (opcode >= 30 && opcode < 35)
|
else if (opcode >= 30 && opcode < 35)
|
||||||
{
|
{
|
||||||
@@ -200,7 +200,7 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 64)
|
else if (opcode == 64)
|
||||||
{
|
{
|
||||||
def.setABool2097(false);
|
def.setShadow(false);
|
||||||
}
|
}
|
||||||
else if (opcode == 65)
|
else if (opcode == 65)
|
||||||
{
|
{
|
||||||
@@ -236,15 +236,15 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 73)
|
else if (opcode == 73)
|
||||||
{
|
{
|
||||||
def.setABool2104(true);
|
def.setObstructsGround(true);
|
||||||
}
|
}
|
||||||
else if (opcode == 74)
|
else if (opcode == 74)
|
||||||
{
|
{
|
||||||
def.setSolid(true);
|
def.setHollow(true);
|
||||||
}
|
}
|
||||||
else if (opcode == 75)
|
else if (opcode == 75)
|
||||||
{
|
{
|
||||||
def.setAnInt2106(is.readUnsignedByte());
|
def.setSupportsItems(is.readUnsignedByte());
|
||||||
}
|
}
|
||||||
else if (opcode == 77)
|
else if (opcode == 77)
|
||||||
{
|
{
|
||||||
@@ -280,7 +280,7 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 78)
|
else if (opcode == 78)
|
||||||
{
|
{
|
||||||
def.setAnInt2110(is.readUnsignedShort());
|
def.setAmbientSoundId(is.readUnsignedShort());
|
||||||
def.setAnInt2083(is.readUnsignedByte());
|
def.setAnInt2083(is.readUnsignedByte());
|
||||||
}
|
}
|
||||||
else if (opcode == 79)
|
else if (opcode == 79)
|
||||||
@@ -300,7 +300,7 @@ public class ObjectLoader
|
|||||||
}
|
}
|
||||||
else if (opcode == 81)
|
else if (opcode == 81)
|
||||||
{
|
{
|
||||||
def.setAnInt2105(is.readUnsignedByte() * 256);
|
def.setContouredGround(is.readUnsignedByte() * 256);
|
||||||
}
|
}
|
||||||
else if (opcode == 82)
|
else if (opcode == 82)
|
||||||
{
|
{
|
||||||
@@ -380,26 +380,26 @@ public class ObjectLoader
|
|||||||
|
|
||||||
private void post(ObjectDefinition def)
|
private void post(ObjectDefinition def)
|
||||||
{
|
{
|
||||||
if (def.getAnInt2088() == -1)
|
if (def.getWallOrDoor() == -1)
|
||||||
{
|
{
|
||||||
def.setAnInt2088(0);
|
def.setWallOrDoor(0);
|
||||||
if (def.getObjectModels() != null && (def.getObjectTypes() == null || def.getObjectTypes()[0] == 10))
|
if (def.getObjectModels() != null && (def.getObjectTypes() == null || def.getObjectTypes()[0] == 10))
|
||||||
{
|
{
|
||||||
def.setAnInt2088(1);
|
def.setWallOrDoor(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int var1 = 0; var1 < 5; ++var1)
|
for (int var1 = 0; var1 < 5; ++var1)
|
||||||
{
|
{
|
||||||
if (def.getActions()[var1] != null)
|
if (def.getActions()[var1] != null)
|
||||||
{
|
{
|
||||||
def.setAnInt2088(1);
|
def.setWallOrDoor(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (def.getAnInt2106() == -1)
|
if (def.getSupportsItems() == -1)
|
||||||
{
|
{
|
||||||
def.setAnInt2106(def.getInteractType() != 0 ? 1 : 0);
|
def.setSupportsItems(def.getInteractType() != 0 ? 1 : 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+15
-15
@@ -69,16 +69,16 @@ public class ObjectSaver
|
|||||||
{
|
{
|
||||||
out.writeByte(18);
|
out.writeByte(18);
|
||||||
}
|
}
|
||||||
if (obj.getAnInt2088() != -1)
|
if (obj.getWallOrDoor() != -1)
|
||||||
{
|
{
|
||||||
out.writeByte(19);
|
out.writeByte(19);
|
||||||
out.writeByte(obj.getAnInt2088());
|
out.writeByte(obj.getWallOrDoor());
|
||||||
}
|
}
|
||||||
if (obj.getAnInt2105() == 0)
|
if (obj.getContouredGround() == 0)
|
||||||
{
|
{
|
||||||
out.writeByte(21);
|
out.writeByte(21);
|
||||||
}
|
}
|
||||||
if (!obj.isNonFlatShading())
|
if (!obj.isMergeNormals())
|
||||||
{
|
{
|
||||||
out.writeByte(22);
|
out.writeByte(22);
|
||||||
}
|
}
|
||||||
@@ -96,11 +96,11 @@ public class ObjectSaver
|
|||||||
out.writeByte(27);
|
out.writeByte(27);
|
||||||
}
|
}
|
||||||
out.writeByte(28);
|
out.writeByte(28);
|
||||||
out.writeByte(obj.getAnInt2069());
|
out.writeByte(obj.getDecorDisplacement());
|
||||||
out.writeByte(29);
|
out.writeByte(29);
|
||||||
out.writeByte(obj.getAmbient());
|
out.writeByte(obj.getAmbient());
|
||||||
out.writeByte(39);
|
out.writeByte(39);
|
||||||
out.writeByte(obj.getContrast());
|
out.writeByte(obj.getContrast() / 25);
|
||||||
for (int i = 0; i < 5; ++i)
|
for (int i = 0; i < 5; ++i)
|
||||||
{
|
{
|
||||||
out.writeByte(30 + i);
|
out.writeByte(30 + i);
|
||||||
@@ -131,7 +131,7 @@ public class ObjectSaver
|
|||||||
{
|
{
|
||||||
out.writeByte(62);
|
out.writeByte(62);
|
||||||
}
|
}
|
||||||
if (!obj.isABool2097())
|
if (!obj.isShadow())
|
||||||
{
|
{
|
||||||
out.writeByte(64);
|
out.writeByte(64);
|
||||||
}
|
}
|
||||||
@@ -152,23 +152,23 @@ public class ObjectSaver
|
|||||||
out.writeShort(obj.getOffsetHeight());
|
out.writeShort(obj.getOffsetHeight());
|
||||||
out.writeByte(72);
|
out.writeByte(72);
|
||||||
out.writeShort(obj.getOffsetY());
|
out.writeShort(obj.getOffsetY());
|
||||||
if (obj.isABool2104())
|
if (obj.isObstructsGround())
|
||||||
{
|
{
|
||||||
out.writeByte(73);
|
out.writeByte(73);
|
||||||
}
|
}
|
||||||
if (obj.isSolid())
|
if (obj.isHollow())
|
||||||
{
|
{
|
||||||
out.writeByte(74);
|
out.writeByte(74);
|
||||||
}
|
}
|
||||||
if (obj.getAnInt2106() != -1)
|
if (obj.getSupportsItems() != -1)
|
||||||
{
|
{
|
||||||
out.writeByte(75);
|
out.writeByte(75);
|
||||||
out.writeByte(obj.getAnInt2106());
|
out.writeByte(obj.getSupportsItems());
|
||||||
}
|
}
|
||||||
if (obj.getAnInt2110() != -1)
|
if (obj.getAmbientSoundId() != -1)
|
||||||
{
|
{
|
||||||
out.writeByte(78);
|
out.writeByte(78);
|
||||||
out.writeShort(obj.getAnInt2110());
|
out.writeShort(obj.getAmbientSoundId());
|
||||||
out.writeByte(obj.getAnInt2083());
|
out.writeByte(obj.getAnInt2083());
|
||||||
}
|
}
|
||||||
if (obj.getAnIntArray2084() != null)
|
if (obj.getAnIntArray2084() != null)
|
||||||
@@ -183,10 +183,10 @@ public class ObjectSaver
|
|||||||
out.writeShort(i);
|
out.writeShort(i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (obj.getAnInt2105() != -1)
|
if (obj.getContouredGround() != -1)
|
||||||
{
|
{
|
||||||
out.writeByte(81);
|
out.writeByte(81);
|
||||||
out.writeByte(obj.getAnInt2105() / 256);
|
out.writeByte(obj.getContouredGround() / 256);
|
||||||
}
|
}
|
||||||
if (obj.getMapAreaId() != -1)
|
if (obj.getMapAreaId() != -1)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -6820,7 +6820,7 @@ public final class ItemID
|
|||||||
public static final int CURED_YAKHIDE = 10820;
|
public static final int CURED_YAKHIDE = 10820;
|
||||||
public static final int YAKHIDE_ARMOUR = 10822;
|
public static final int YAKHIDE_ARMOUR = 10822;
|
||||||
public static final int YAKHIDE_ARMOUR_10824 = 10824;
|
public static final int YAKHIDE_ARMOUR_10824 = 10824;
|
||||||
public static final int FREMENNIK_SHIELD_10826 = 10826;
|
public static final int NEITIZNOT_SHIELD = 10826;
|
||||||
public static final int HELM_OF_NEITIZNOT = 10828;
|
public static final int HELM_OF_NEITIZNOT = 10828;
|
||||||
public static final int DOCUMENTS = 10829;
|
public static final int DOCUMENTS = 10829;
|
||||||
public static final int ROYAL_DECREE = 10830;
|
public static final int ROYAL_DECREE = 10830;
|
||||||
@@ -11268,5 +11268,22 @@ public final class ItemID
|
|||||||
public static final int IMBUED_SARADOMIN_CAPE_L = 24248;
|
public static final int IMBUED_SARADOMIN_CAPE_L = 24248;
|
||||||
public static final int IMBUED_GUTHIX_CAPE_L = 24249;
|
public static final int IMBUED_GUTHIX_CAPE_L = 24249;
|
||||||
public static final int IMBUED_ZAMORAK_CAPE_L = 24250;
|
public static final int IMBUED_ZAMORAK_CAPE_L = 24250;
|
||||||
|
public static final int WILDERNESS_CRABS_TELEPORT = 24251;
|
||||||
|
public static final int CLUE_SCROLL_ELITE_24253 = 24253;
|
||||||
|
public static final int FANG = 24254;
|
||||||
|
public static final int VENOM_GLAND = 24255;
|
||||||
|
public static final int UNSEALED_LETTER = 24256;
|
||||||
|
public static final int UNSEALED_LETTER_24257 = 24257;
|
||||||
|
public static final int V_SIGIL = 24258;
|
||||||
|
public static final int V_SIGIL_E = 24259;
|
||||||
|
public static final int MOLTEN_GLASS_I = 24260;
|
||||||
|
public static final int LUNAR_GLASS = 24261;
|
||||||
|
public static final int POLISHING_ROCK = 24262;
|
||||||
|
public static final int BALLAD_OF_THE_BASILISK = 24263;
|
||||||
|
public static final int VS_SHIELD = 24265;
|
||||||
|
public static final int VS_SHIELD_24266 = 24266;
|
||||||
|
public static final int BASILISK_JAW = 24268;
|
||||||
|
public static final int NEITIZNOT_FACEGUARD = 24271;
|
||||||
|
public static final int BASILISK_KNIGHT = 24276;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3690,7 +3690,6 @@ public final class NpcID
|
|||||||
public static final int BUTTERFLY_3923 = 3923;
|
public static final int BUTTERFLY_3923 = 3923;
|
||||||
public static final int SIGLI_THE_HUNTSMAN = 3924;
|
public static final int SIGLI_THE_HUNTSMAN = 3924;
|
||||||
public static final int SWENSEN_THE_NAVIGATOR = 3925;
|
public static final int SWENSEN_THE_NAVIGATOR = 3925;
|
||||||
public static final int BRUNDT_THE_CHIEFTAIN = 3926;
|
|
||||||
public static final int GUARD_3928 = 3928;
|
public static final int GUARD_3928 = 3928;
|
||||||
public static final int GUARD_3929 = 3929;
|
public static final int GUARD_3929 = 3929;
|
||||||
public static final int TOWN_GUARD_3930 = 3930;
|
public static final int TOWN_GUARD_3930 = 3930;
|
||||||
@@ -6630,9 +6629,7 @@ public final class NpcID
|
|||||||
public static final int DOUBLE_AGENT_7312 = 7312;
|
public static final int DOUBLE_AGENT_7312 = 7312;
|
||||||
public static final int LISA = 7316;
|
public static final int LISA = 7316;
|
||||||
public static final int LISA_7317 = 7317;
|
public static final int LISA_7317 = 7317;
|
||||||
public static final int BEAR = 7318;
|
|
||||||
public static final int NESTY = 7321;
|
public static final int NESTY = 7321;
|
||||||
public static final int WILD_DOG_7322 = 7322;
|
|
||||||
public static final int FISHING_SPOT_7323 = 7323;
|
public static final int FISHING_SPOT_7323 = 7323;
|
||||||
public static final int HOLGART_7324 = 7324;
|
public static final int HOLGART_7324 = 7324;
|
||||||
public static final int RICK_7327 = 7327;
|
public static final int RICK_7327 = 7327;
|
||||||
@@ -7251,7 +7248,7 @@ public final class NpcID
|
|||||||
public static final int SIR_TIFFY_CASHIEN_8045 = 8045;
|
public static final int SIR_TIFFY_CASHIEN_8045 = 8045;
|
||||||
public static final int KING_LATHAS = 8046;
|
public static final int KING_LATHAS = 8046;
|
||||||
public static final int KING_ARTHUR_8047 = 8047;
|
public static final int KING_ARTHUR_8047 = 8047;
|
||||||
public static final int BRUNDT_THE_CHIEFTAIN_8048 = 8048;
|
public static final int BRUNDT_THE_CHIEFTAIN = 8048;
|
||||||
public static final int ONEIROMANCER_8049 = 8049;
|
public static final int ONEIROMANCER_8049 = 8049;
|
||||||
public static final int DENULTH_8050 = 8050;
|
public static final int DENULTH_8050 = 8050;
|
||||||
public static final int DUKE_HORACIO_8051 = 8051;
|
public static final int DUKE_HORACIO_8051 = 8051;
|
||||||
@@ -8281,5 +8278,45 @@ public final class NpcID
|
|||||||
public static final int TOY_MOUSE = 9254;
|
public static final int TOY_MOUSE = 9254;
|
||||||
public static final int TOY_MOUSE_9255 = 9255;
|
public static final int TOY_MOUSE_9255 = 9255;
|
||||||
public static final int PENGUIN_SUIT_9257 = 9257;
|
public static final int PENGUIN_SUIT_9257 = 9257;
|
||||||
|
public static final int BASILISK_SENTINEL = 9258;
|
||||||
|
public static final int OSPAK_9259 = 9259;
|
||||||
|
public static final int STYRMIR_9260 = 9260;
|
||||||
|
public static final int TORBRUND_9261 = 9261;
|
||||||
|
public static final int FRIDGEIR_9262 = 9262;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9263 = 9263;
|
||||||
|
public static final int THORA_THE_BARKEEP_9264 = 9264;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9265 = 9265;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9266 = 9266;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9267 = 9267;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9268 = 9268;
|
||||||
|
public static final int HASKELL = 9270;
|
||||||
|
public static final int HASKELL_9271 = 9271;
|
||||||
|
public static final int HASKELL_9272 = 9272;
|
||||||
|
public static final int AGNAR_9273 = 9273;
|
||||||
|
public static final int OLAF_THE_BARD_9274 = 9274;
|
||||||
|
public static final int MANNI_THE_REVELLER_9275 = 9275;
|
||||||
|
public static final int FREMENNIK_WARRIOR = 9276;
|
||||||
|
public static final int FREMENNIK_WARRIOR_9277 = 9277;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9278 = 9278;
|
||||||
|
public static final int BRUNDT_THE_CHIEFTAIN_9279 = 9279;
|
||||||
|
public static final int THORVALD_THE_WARRIOR_9280 = 9280;
|
||||||
|
public static final int KOSCHEI_THE_DEATHLESS_9281 = 9281;
|
||||||
|
public static final int BASILISK_YOUNGLING = 9282;
|
||||||
|
public static final int BASILISK_9283 = 9283;
|
||||||
|
public static final int BASILISK_9284 = 9284;
|
||||||
|
public static final int BASILISK_9285 = 9285;
|
||||||
|
public static final int BASILISK_9286 = 9286;
|
||||||
|
public static final int MONSTROUS_BASILISK_9287 = 9287;
|
||||||
|
public static final int MONSTROUS_BASILISK_9288 = 9288;
|
||||||
|
public static final int THE_JORMUNGAND = 9289;
|
||||||
|
public static final int THE_JORMUNGAND_9290 = 9290;
|
||||||
|
public static final int THE_JORMUNGAND_9291 = 9291;
|
||||||
|
public static final int THE_JORMUNGAND_9292 = 9292;
|
||||||
|
public static final int BASILISK_KNIGHT = 9293;
|
||||||
|
public static final int BAKUNA = 9294;
|
||||||
|
public static final int TYPHOR = 9295;
|
||||||
|
public static final int TYPHOR_9296 = 9296;
|
||||||
|
public static final int VRITRA = 9297;
|
||||||
|
public static final int MAZ = 9298;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12774,5 +12774,14 @@ public final class NullItemID
|
|||||||
public static final int NULL_24243 = 24243;
|
public static final int NULL_24243 = 24243;
|
||||||
public static final int NULL_24245 = 24245;
|
public static final int NULL_24245 = 24245;
|
||||||
public static final int NULL_24247 = 24247;
|
public static final int NULL_24247 = 24247;
|
||||||
|
public static final int NULL_24252 = 24252;
|
||||||
|
public static final int NULL_24264 = 24264;
|
||||||
|
public static final int NULL_24267 = 24267;
|
||||||
|
public static final int NULL_24269 = 24269;
|
||||||
|
public static final int NULL_24270 = 24270;
|
||||||
|
public static final int NULL_24272 = 24272;
|
||||||
|
public static final int NULL_24273 = 24273;
|
||||||
|
public static final int NULL_24274 = 24274;
|
||||||
|
public static final int NULL_24275 = 24275;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1270,6 +1270,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_2780 = 2780;
|
public static final int NULL_2780 = 2780;
|
||||||
public static final int NULL_2781 = 2781;
|
public static final int NULL_2781 = 2781;
|
||||||
public static final int NULL_2782 = 2782;
|
public static final int NULL_2782 = 2782;
|
||||||
|
public static final int NULL_2795 = 2795;
|
||||||
public static final int NULL_2828 = 2828;
|
public static final int NULL_2828 = 2828;
|
||||||
public static final int NULL_2829 = 2829;
|
public static final int NULL_2829 = 2829;
|
||||||
public static final int NULL_2838 = 2838;
|
public static final int NULL_2838 = 2838;
|
||||||
@@ -1972,6 +1973,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_4363 = 4363;
|
public static final int NULL_4363 = 4363;
|
||||||
public static final int NULL_4364 = 4364;
|
public static final int NULL_4364 = 4364;
|
||||||
public static final int NULL_4365 = 4365;
|
public static final int NULL_4365 = 4365;
|
||||||
|
public static final int NULL_4373 = 4373;
|
||||||
public static final int NULL_4374 = 4374;
|
public static final int NULL_4374 = 4374;
|
||||||
public static final int NULL_4375 = 4375;
|
public static final int NULL_4375 = 4375;
|
||||||
public static final int NULL_4376 = 4376;
|
public static final int NULL_4376 = 4376;
|
||||||
@@ -9084,6 +9086,7 @@ public final class NullObjectID
|
|||||||
public static final int NULL_20092 = 20092;
|
public static final int NULL_20092 = 20092;
|
||||||
public static final int NULL_20093 = 20093;
|
public static final int NULL_20093 = 20093;
|
||||||
public static final int NULL_20094 = 20094;
|
public static final int NULL_20094 = 20094;
|
||||||
|
public static final int NULL_20095 = 20095;
|
||||||
public static final int NULL_20098 = 20098;
|
public static final int NULL_20098 = 20098;
|
||||||
public static final int NULL_20118 = 20118;
|
public static final int NULL_20118 = 20118;
|
||||||
public static final int NULL_20132 = 20132;
|
public static final int NULL_20132 = 20132;
|
||||||
@@ -18017,5 +18020,23 @@ public final class NullObjectID
|
|||||||
public static final int NULL_37377 = 37377;
|
public static final int NULL_37377 = 37377;
|
||||||
public static final int NULL_37378 = 37378;
|
public static final int NULL_37378 = 37378;
|
||||||
public static final int NULL_37379 = 37379;
|
public static final int NULL_37379 = 37379;
|
||||||
|
public static final int NULL_37393 = 37393;
|
||||||
|
public static final int NULL_37394 = 37394;
|
||||||
|
public static final int NULL_37412 = 37412;
|
||||||
|
public static final int NULL_37413 = 37413;
|
||||||
|
public static final int NULL_37414 = 37414;
|
||||||
|
public static final int NULL_37415 = 37415;
|
||||||
|
public static final int NULL_37416 = 37416;
|
||||||
|
public static final int NULL_37419 = 37419;
|
||||||
|
public static final int NULL_37420 = 37420;
|
||||||
|
public static final int NULL_37423 = 37423;
|
||||||
|
public static final int NULL_37425 = 37425;
|
||||||
|
public static final int NULL_37426 = 37426;
|
||||||
|
public static final int NULL_37427 = 37427;
|
||||||
|
public static final int NULL_37428 = 37428;
|
||||||
|
public static final int NULL_37429 = 37429;
|
||||||
|
public static final int NULL_37430 = 37430;
|
||||||
|
public static final int NULL_37432 = 37432;
|
||||||
|
public static final int NULL_37433 = 37433;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1531,7 +1531,6 @@ public final class ObjectID
|
|||||||
public static final int COUNTER_2792 = 2792;
|
public static final int COUNTER_2792 = 2792;
|
||||||
public static final int COUNTER_2793 = 2793;
|
public static final int COUNTER_2793 = 2793;
|
||||||
public static final int LEVER_2794 = 2794;
|
public static final int LEVER_2794 = 2794;
|
||||||
public static final int LEVER_2795 = 2795;
|
|
||||||
public static final int LADDER_2796 = 2796;
|
public static final int LADDER_2796 = 2796;
|
||||||
public static final int LADDER_2797 = 2797;
|
public static final int LADDER_2797 = 2797;
|
||||||
public static final int BUSH_2798 = 2798;
|
public static final int BUSH_2798 = 2798;
|
||||||
@@ -2407,7 +2406,6 @@ public final class ObjectID
|
|||||||
public static final int SHELF_4370 = 4370;
|
public static final int SHELF_4370 = 4370;
|
||||||
public static final int SHELF_4371 = 4371;
|
public static final int SHELF_4371 = 4371;
|
||||||
public static final int TABLE_4372 = 4372;
|
public static final int TABLE_4372 = 4372;
|
||||||
public static final int SAND_PIT = 4373;
|
|
||||||
public static final int STANDARD_STAND = 4377;
|
public static final int STANDARD_STAND = 4377;
|
||||||
public static final int STANDARD_STAND_4378 = 4378;
|
public static final int STANDARD_STAND_4378 = 4378;
|
||||||
public static final int IRON_LADDER = 4380;
|
public static final int IRON_LADDER = 4380;
|
||||||
@@ -8470,7 +8468,7 @@ public final class ObjectID
|
|||||||
public static final int POTTERS_WHEEL_14887 = 14887;
|
public static final int POTTERS_WHEEL_14887 = 14887;
|
||||||
public static final int POTTERY_OVEN_14888 = 14888;
|
public static final int POTTERY_OVEN_14888 = 14888;
|
||||||
public static final int SPINNING_WHEEL_14889 = 14889;
|
public static final int SPINNING_WHEEL_14889 = 14889;
|
||||||
public static final int SAND_PIT_14890 = 14890;
|
public static final int SAND_PIT = 14890;
|
||||||
public static final int BED_14891 = 14891;
|
public static final int BED_14891 = 14891;
|
||||||
public static final int TIGHTROPE_14892 = 14892;
|
public static final int TIGHTROPE_14892 = 14892;
|
||||||
public static final int POLEVAULT = 14894;
|
public static final int POLEVAULT = 14894;
|
||||||
@@ -11014,7 +11012,6 @@ public final class ObjectID
|
|||||||
public static final int CITY_GATE_20088 = 20088;
|
public static final int CITY_GATE_20088 = 20088;
|
||||||
public static final int CITY_GATE_20089 = 20089;
|
public static final int CITY_GATE_20089 = 20089;
|
||||||
public static final int CITY_GATE_20090 = 20090;
|
public static final int CITY_GATE_20090 = 20090;
|
||||||
public static final int OPEN_CHEST_20095 = 20095;
|
|
||||||
public static final int BED_20096 = 20096;
|
public static final int BED_20096 = 20096;
|
||||||
public static final int BED_20097 = 20097;
|
public static final int BED_20097 = 20097;
|
||||||
public static final int COMPOST_BIN_20099 = 20099;
|
public static final int COMPOST_BIN_20099 = 20099;
|
||||||
@@ -19361,5 +19358,30 @@ public final class ObjectID
|
|||||||
public static final int HOUSE_ADVERTISEMENT_37388 = 37388;
|
public static final int HOUSE_ADVERTISEMENT_37388 = 37388;
|
||||||
public static final int HOUSE_ADVERTISEMENT_37389 = 37389;
|
public static final int HOUSE_ADVERTISEMENT_37389 = 37389;
|
||||||
public static final int HOUSE_ADVERTISEMENT_37390 = 37390;
|
public static final int HOUSE_ADVERTISEMENT_37390 = 37390;
|
||||||
|
public static final int SAND_PIT_37391 = 37391;
|
||||||
|
public static final int SAND_PIT_37392 = 37392;
|
||||||
|
public static final int ROCKSLIDE_37395 = 37395;
|
||||||
|
public static final int ROCKSLIDE_37396 = 37396;
|
||||||
|
public static final int BOXES_37397 = 37397;
|
||||||
|
public static final int BOXES_37398 = 37398;
|
||||||
|
public static final int BOXES_37399 = 37399;
|
||||||
|
public static final int SMALL_GEYSER_37400 = 37400;
|
||||||
|
public static final int SMALL_GEYSER_37401 = 37401;
|
||||||
|
public static final int LARGE_GEYSER_37402 = 37402;
|
||||||
|
public static final int LARGE_GEYSER_37403 = 37403;
|
||||||
|
public static final int FISH_STALL_37404 = 37404;
|
||||||
|
public static final int FUR_STALL_37405 = 37405;
|
||||||
|
public static final int FREMENNIK_BOAT_37406 = 37406;
|
||||||
|
public static final int FREMENNIK_BOAT_37407 = 37407;
|
||||||
|
public static final int FREMENNIK_BOAT_37408 = 37408;
|
||||||
|
public static final int CAVE_37409 = 37409;
|
||||||
|
public static final int CAVE_37410 = 37410;
|
||||||
|
public static final int STEPS_37411 = 37411;
|
||||||
|
public static final int STEPS_37417 = 37417;
|
||||||
|
public static final int STEPS_37418 = 37418;
|
||||||
|
public static final int DOOR_37421 = 37421;
|
||||||
|
public static final int DOOR_37422 = 37422;
|
||||||
|
public static final int THE_JORMUNGAND = 37424;
|
||||||
|
public static final int ROUGH_WALL_37431 = 37431;
|
||||||
/* This file is automatically generated. Do not edit. */
|
/* This file is automatically generated. Do not edit. */
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ import net.runelite.api.events.GameStateChanged;
|
|||||||
import net.runelite.api.events.PostItemDefinition;
|
import net.runelite.api.events.PostItemDefinition;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.http.api.item.ItemClient;
|
import net.runelite.http.api.item.ItemClient;
|
||||||
import net.runelite.http.api.item.ItemPrice;
|
import net.runelite.http.api.item.ItemPrice;
|
||||||
import net.runelite.http.api.item.ItemStats;
|
import net.runelite.http.api.item.ItemStats;
|
||||||
@@ -134,7 +135,6 @@ public class ItemManager
|
|||||||
put(AGILITY_CAPE_13340, AGILITY_CAPE).
|
put(AGILITY_CAPE_13340, AGILITY_CAPE).
|
||||||
build();
|
build();
|
||||||
private final Client client;
|
private final Client client;
|
||||||
private final ScheduledExecutorService scheduledExecutorService;
|
|
||||||
private final ClientThread clientThread;
|
private final ClientThread clientThread;
|
||||||
private final ItemClient itemClient;
|
private final ItemClient itemClient;
|
||||||
private final ImmutableMap<Integer, ItemStats> itemStatMap;
|
private final ImmutableMap<Integer, ItemStats> itemStatMap;
|
||||||
@@ -154,12 +154,11 @@ public class ItemManager
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
this.client = client;
|
this.client = client;
|
||||||
this.scheduledExecutorService = executor;
|
|
||||||
this.clientThread = clientThread;
|
this.clientThread = clientThread;
|
||||||
this.itemClient = itemClient;
|
this.itemClient = itemClient;
|
||||||
|
|
||||||
scheduledExecutorService.scheduleWithFixedDelay(this::loadPrices, 0, 30, TimeUnit.MINUTES);
|
executor.scheduleWithFixedDelay(this::loadPrices, 0, 30, TimeUnit.MINUTES);
|
||||||
scheduledExecutorService.submit(this::loadStats);
|
executor.submit(this::loadStats);
|
||||||
|
|
||||||
itemImages = CacheBuilder.newBuilder()
|
itemImages = CacheBuilder.newBuilder()
|
||||||
.maximumSize(128L)
|
.maximumSize(128L)
|
||||||
@@ -462,7 +461,7 @@ public class ItemManager
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
sprite.toBufferedImage(img);
|
sprite.toBufferedImage(img);
|
||||||
img.changed();
|
img.loaded();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
return img;
|
return img;
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public enum CannonSpots
|
|||||||
ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)),
|
ABERRANT_SPECTRES(new WorldPoint(2456, 9791, 0)),
|
||||||
HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)),
|
HELLHOUNDS(new WorldPoint(2431, 9776, 0), new WorldPoint(2413, 9786, 0), new WorldPoint(2783, 9686, 0), new WorldPoint(3198, 10071, 0)),
|
||||||
BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0)),
|
BLACK_DEMONS(new WorldPoint(2859, 9778, 0), new WorldPoint(2841, 9791, 0)),
|
||||||
ELVES(new WorldPoint(2044, 4635, 0)),
|
ELVES(new WorldPoint(2044, 4635, 0), new WorldPoint(3278, 6098, 0)),
|
||||||
SUQAHS(new WorldPoint(2114, 3943, 0)),
|
SUQAHS(new WorldPoint(2114, 3943, 0)),
|
||||||
TROLLS(new WorldPoint(2401, 3856, 0)),
|
TROLLS(new WorldPoint(2401, 3856, 0)),
|
||||||
GREATER_DEMONS(new WorldPoint(1435, 10086, 2)),
|
GREATER_DEMONS(new WorldPoint(1435, 10086, 2)),
|
||||||
|
|||||||
+1
-1
@@ -124,7 +124,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll
|
|||||||
any("Earth Rune x15", xOfItem(ItemID.EARTH_RUNE, 15), xOfItem(ItemID.DUST_RUNE, 15), xOfItem(ItemID.MUD_RUNE, 15), xOfItem(ItemID.LAVA_RUNE, 15), item(ItemID.STAFF_OF_EARTH), item(ItemID.EARTH_BATTLESTAFF), item(ItemID.MYSTIC_EARTH_STAFF), item(ItemID.MUD_BATTLESTAFF), item(ItemID.MYSTIC_MUD_STAFF), item(ItemID.DUST_BATTLESTAFF), item(ItemID.MYSTIC_DUST_STAFF), item(ItemID.LAVA_BATTLESTAFF), item(ItemID.MYSTIC_LAVA_STAFF), item(ItemID.LAVA_BATTLESTAFF_21198), item(ItemID.MYSTIC_LAVA_STAFF_21200)),
|
any("Earth Rune x15", xOfItem(ItemID.EARTH_RUNE, 15), xOfItem(ItemID.DUST_RUNE, 15), xOfItem(ItemID.MUD_RUNE, 15), xOfItem(ItemID.LAVA_RUNE, 15), item(ItemID.STAFF_OF_EARTH), item(ItemID.EARTH_BATTLESTAFF), item(ItemID.MYSTIC_EARTH_STAFF), item(ItemID.MUD_BATTLESTAFF), item(ItemID.MYSTIC_MUD_STAFF), item(ItemID.DUST_BATTLESTAFF), item(ItemID.MYSTIC_DUST_STAFF), item(ItemID.LAVA_BATTLESTAFF), item(ItemID.MYSTIC_LAVA_STAFF), item(ItemID.LAVA_BATTLESTAFF_21198), item(ItemID.MYSTIC_LAVA_STAFF_21200)),
|
||||||
any("Unenchanted Dragonstone Jewellery", item(ItemID.DRAGONSTONE_RING), item(ItemID.DRAGON_NECKLACE), item(ItemID.DRAGON_BRACELET), item(ItemID.DRAGONSTONE_AMULET))),
|
any("Unenchanted Dragonstone Jewellery", item(ItemID.DRAGONSTONE_RING), item(ItemID.DRAGON_NECKLACE), item(ItemID.DRAGON_BRACELET), item(ItemID.DRAGONSTONE_AMULET))),
|
||||||
new SkillChallengeClue("Craft a nature rune.", item(ItemID.PURE_ESSENCE)),
|
new SkillChallengeClue("Craft a nature rune.", item(ItemID.PURE_ESSENCE)),
|
||||||
new SkillChallengeClue("Catch a mottled eel with aerial fishing in Lake Molch.", any("Fish chunks or King worms", item(ItemID.FISH_CHUNKS), item(ItemID.KING_WORM)), emptySlot("No Gloves", EquipmentInventorySlot.GLOVES)),
|
new SkillChallengeClue("Catch a mottled eel with aerial fishing in Lake Molch.", any("Fish chunks or King worms", item(ItemID.FISH_CHUNKS), item(ItemID.KING_WORM)), emptySlot("No Gloves", EquipmentInventorySlot.GLOVES), emptySlot("No Weapon", EquipmentInventorySlot.WEAPON), emptySlot("No Shield", EquipmentInventorySlot.SHIELD)),
|
||||||
new SkillChallengeClue("Score a goal in skullball.", true, any("Ring of Charos", item(ItemID.RING_OF_CHAROS), item(ItemID.RING_OF_CHAROSA))),
|
new SkillChallengeClue("Score a goal in skullball.", true, any("Ring of Charos", item(ItemID.RING_OF_CHAROS), item(ItemID.RING_OF_CHAROSA))),
|
||||||
new SkillChallengeClue("Complete a lap of Ape atoll agility course.", true, any("Ninja Monkey Greegree", item(ItemID.NINJA_MONKEY_GREEGREE), item(ItemID.NINJA_MONKEY_GREEGREE_4025), item(ItemID.KRUK_MONKEY_GREEGREE))),
|
new SkillChallengeClue("Complete a lap of Ape atoll agility course.", true, any("Ninja Monkey Greegree", item(ItemID.NINJA_MONKEY_GREEGREE), item(ItemID.NINJA_MONKEY_GREEGREE_4025), item(ItemID.KRUK_MONKEY_GREEGREE))),
|
||||||
new SkillChallengeClue("Create a super defence potion.", item(ItemID.CADANTINE_POTION_UNF), item(ItemID.WHITE_BERRIES)),
|
new SkillChallengeClue("Create a super defence potion.", item(ItemID.CADANTINE_POTION_UNF), item(ItemID.WHITE_BERRIES)),
|
||||||
|
|||||||
+1
-1
@@ -42,10 +42,10 @@ import javax.swing.border.EmptyBorder;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.ItemDefinition;
|
import net.runelite.api.ItemDefinition;
|
||||||
import net.runelite.api.kit.KitType;
|
import net.runelite.api.kit.KitType;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.PluginPanel;
|
import net.runelite.client.ui.PluginPanel;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Singleton
|
@Singleton
|
||||||
|
|||||||
+1
-1
@@ -30,9 +30,9 @@ import javax.swing.JPanel;
|
|||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.api.ItemDefinition;
|
import net.runelite.api.ItemDefinition;
|
||||||
import net.runelite.api.kit.KitType;
|
import net.runelite.api.kit.KitType;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
class ItemPanel extends JPanel
|
class ItemPanel extends JPanel
|
||||||
|
|||||||
+1
-1
@@ -40,7 +40,7 @@ import javax.swing.JLabel;
|
|||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.border.CompoundBorder;
|
import javax.swing.border.CompoundBorder;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.util.LinkBrowser;
|
import net.runelite.client.util.LinkBrowser;
|
||||||
import net.runelite.client.util.StackFormatter;
|
import net.runelite.client.util.StackFormatter;
|
||||||
|
|||||||
+1
-1
@@ -25,7 +25,7 @@
|
|||||||
package net.runelite.client.plugins.grandexchange;
|
package net.runelite.client.plugins.grandexchange;
|
||||||
|
|
||||||
import lombok.Value;
|
import lombok.Value;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Value
|
@Value
|
||||||
class GrandExchangeItems
|
class GrandExchangeItems
|
||||||
|
|||||||
+1
-1
@@ -46,7 +46,7 @@ import lombok.Setter;
|
|||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
import net.runelite.api.ItemDefinition;
|
import net.runelite.api.ItemDefinition;
|
||||||
import net.runelite.client.callback.ClientThread;
|
import net.runelite.client.callback.ClientThread;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.components.IconTextField;
|
import net.runelite.client.ui.components.IconTextField;
|
||||||
|
|||||||
+1
-1
@@ -31,12 +31,12 @@ import java.util.List;
|
|||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.game.ItemVariationMapping;
|
import net.runelite.client.game.ItemVariationMapping;
|
||||||
import net.runelite.client.plugins.inventorysetups.InventorySetupItem;
|
import net.runelite.client.plugins.inventorysetups.InventorySetupItem;
|
||||||
import net.runelite.client.plugins.inventorysetups.InventorySetupPlugin;
|
import net.runelite.client.plugins.inventorysetups.InventorySetupPlugin;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
abstract class InventorySetupContainerPanel extends JPanel
|
abstract class InventorySetupContainerPanel extends JPanel
|
||||||
|
|||||||
+1
-1
@@ -31,7 +31,7 @@ import javax.inject.Singleton;
|
|||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
import javax.swing.SwingConstants;
|
import javax.swing.SwingConstants;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
class InventorySetupSlot extends JPanel
|
class InventorySetupSlot extends JPanel
|
||||||
|
|||||||
+1
@@ -667,6 +667,7 @@ public class ItemChargePlugin extends Plugin
|
|||||||
int lastExplorerRingCharge = -1;
|
int lastExplorerRingCharge = -1;
|
||||||
if (lastExplorerRingCharge != explorerRingCharge)
|
if (lastExplorerRingCharge != explorerRingCharge)
|
||||||
{
|
{
|
||||||
|
lastExplorerRingCharge = explorerRingCharge;
|
||||||
updateExplorerRingCharges(explorerRingCharge);
|
updateExplorerRingCharges(explorerRingCharge);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+12
-3
@@ -35,6 +35,7 @@ import static net.runelite.api.widgets.WidgetID.LOOTING_BAG_GROUP_ID;
|
|||||||
import static net.runelite.api.widgets.WidgetID.SEED_BOX_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.SEED_BOX_GROUP_ID;
|
||||||
import static net.runelite.api.widgets.WidgetID.KINGDOM_GROUP_ID;
|
import static net.runelite.api.widgets.WidgetID.KINGDOM_GROUP_ID;
|
||||||
import net.runelite.api.widgets.WidgetItem;
|
import net.runelite.api.widgets.WidgetItem;
|
||||||
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
import net.runelite.client.ui.overlay.WidgetItemOverlay;
|
import net.runelite.client.ui.overlay.WidgetItemOverlay;
|
||||||
import net.runelite.client.ui.overlay.components.TextComponent;
|
import net.runelite.client.ui.overlay.components.TextComponent;
|
||||||
@@ -43,11 +44,14 @@ import net.runelite.client.ui.overlay.components.TextComponent;
|
|||||||
class ItemIdentificationOverlay extends WidgetItemOverlay
|
class ItemIdentificationOverlay extends WidgetItemOverlay
|
||||||
{
|
{
|
||||||
private final ItemIdentificationPlugin plugin;
|
private final ItemIdentificationPlugin plugin;
|
||||||
|
private final ItemManager itemManager;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
ItemIdentificationOverlay(final ItemIdentificationPlugin plugin)
|
ItemIdentificationOverlay(ItemIdentificationPlugin plugin, ItemManager itemManager)
|
||||||
{
|
{
|
||||||
this.plugin = plugin;
|
this.plugin = plugin;
|
||||||
|
this.itemManager = itemManager;
|
||||||
|
|
||||||
showOnInventory();
|
showOnInventory();
|
||||||
showOnBank();
|
showOnBank();
|
||||||
showOnInterfaces(KEPT_ON_DEATH_GROUP_ID, GUIDE_PRICE_GROUP_ID, LOOTING_BAG_GROUP_ID, SEED_BOX_GROUP_ID, KINGDOM_GROUP_ID);
|
showOnInterfaces(KEPT_ON_DEATH_GROUP_ID, GUIDE_PRICE_GROUP_ID, LOOTING_BAG_GROUP_ID, SEED_BOX_GROUP_ID, KINGDOM_GROUP_ID);
|
||||||
@@ -56,7 +60,7 @@ class ItemIdentificationOverlay extends WidgetItemOverlay
|
|||||||
@Override
|
@Override
|
||||||
public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem itemWidget)
|
public void renderItemOverlay(Graphics2D graphics, int itemId, WidgetItem itemWidget)
|
||||||
{
|
{
|
||||||
ItemIdentification iden = ItemIdentification.get(itemId);
|
ItemIdentification iden = findItemIdentification(itemId);
|
||||||
if (iden == null)
|
if (iden == null)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@@ -98,7 +102,6 @@ class ItemIdentificationOverlay extends WidgetItemOverlay
|
|||||||
|
|
||||||
graphics.setFont(FontManager.getRunescapeSmallFont());
|
graphics.setFont(FontManager.getRunescapeSmallFont());
|
||||||
renderText(graphics, itemWidget.getCanvasBounds(), iden);
|
renderText(graphics, itemWidget.getCanvasBounds(), iden);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void renderText(Graphics2D graphics, Rectangle bounds, ItemIdentification iden)
|
private void renderText(Graphics2D graphics, Rectangle bounds, ItemIdentification iden)
|
||||||
@@ -117,4 +120,10 @@ class ItemIdentificationOverlay extends WidgetItemOverlay
|
|||||||
}
|
}
|
||||||
textComponent.render(graphics);
|
textComponent.render(graphics);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ItemIdentification findItemIdentification(final int itemID)
|
||||||
|
{
|
||||||
|
final int realItemId = itemManager.canonicalize(itemID);
|
||||||
|
return ItemIdentification.get(realItemId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -115,4 +115,4 @@ public class ItemIdentificationPlugin extends Plugin
|
|||||||
this.showOres = config.showOres();
|
this.showOres = config.showOres();
|
||||||
this.showGems = config.showGems();
|
this.showGems = config.showGems();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ import java.util.Map;
|
|||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
|
|
||||||
enum Book
|
enum Book
|
||||||
|
|||||||
+2
-2
@@ -50,7 +50,7 @@ import javax.swing.SwingConstants;
|
|||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
@@ -336,7 +336,7 @@ class LootTrackerBox extends JPanel
|
|||||||
BufferedImage transparentImage = ImageUtil.alphaOffset(itemImage, .3f);
|
BufferedImage transparentImage = ImageUtil.alphaOffset(itemImage, .3f);
|
||||||
imageLabel.setIcon(new ImageIcon(transparentImage));
|
imageLabel.setIcon(new ImageIcon(transparentImage));
|
||||||
};
|
};
|
||||||
itemImage.onChanged(addTransparency);
|
itemImage.onLoaded(addTransparency);
|
||||||
addTransparency.run();
|
addTransparency.run();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -1,477 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (c) 2018, Ethan <https://github.com/shmeeps>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
|
||||||
* list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
||||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
||||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
|
||||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
|
||||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
||||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
|
||||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
||||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
package net.runelite.client.plugins.prayer;
|
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableMap;
|
|
||||||
import java.util.Map;
|
|
||||||
import lombok.AccessLevel;
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Getter;
|
|
||||||
import net.runelite.api.ItemID;
|
|
||||||
|
|
||||||
@AllArgsConstructor
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
|
||||||
enum PrayerItems
|
|
||||||
{
|
|
||||||
// Blessings
|
|
||||||
PEACEFUL_BLESSING(ItemID.PEACEFUL_BLESSING, 1),
|
|
||||||
HOLY_BLESSING(ItemID.HOLY_BLESSING, 1),
|
|
||||||
UNHOLY_BLESSING(ItemID.UNHOLY_BLESSING, 1),
|
|
||||||
ANCIENT_BLESSING(ItemID.ANCIENT_BLESSING, 1),
|
|
||||||
HONOURABLE_BLESSING(ItemID.HONOURABLE_BLESSING, 1),
|
|
||||||
WAR_BLESSING(ItemID.WAR_BLESSING, 1),
|
|
||||||
RADAS_BLESSING_2(ItemID.RADAS_BLESSING_2, 1),
|
|
||||||
RADAS_BLESSING_3(ItemID.RADAS_BLESSING_3, 1),
|
|
||||||
RADAS_BLESSING_4(ItemID.RADAS_BLESSING_4, 2),
|
|
||||||
|
|
||||||
// Rings
|
|
||||||
EXPLORERS_RING(ItemID.EXPLORERS_RING, 1),
|
|
||||||
EXPLORERS_RING_1(ItemID.EXPLORERS_RING_1, 1),
|
|
||||||
EXPLORERS_RING_2(ItemID.EXPLORERS_RING_2, 1),
|
|
||||||
EXPLORERS_RING_3(ItemID.EXPLORERS_RING_3, 1),
|
|
||||||
EXPLORERS_RING_4(ItemID.EXPLORERS_RING_4, 1),
|
|
||||||
RING_OF_SUFFERING(ItemID.RING_OF_SUFFERING, 2),
|
|
||||||
RING_OF_SUFFERING_R(ItemID.RING_OF_SUFFERING_R, 2),
|
|
||||||
RING_OF_SUFFERING_I(ItemID.RING_OF_SUFFERING_I, 4),
|
|
||||||
RING_OF_SUFFERING_RI(ItemID.RING_OF_SUFFERING_RI, 4),
|
|
||||||
RING_OF_THE_GODS(ItemID.RING_OF_THE_GODS, 4),
|
|
||||||
RING_OF_THE_GODS_I(ItemID.RING_OF_THE_GODS_I, 8),
|
|
||||||
|
|
||||||
// Necklaces
|
|
||||||
AMULET_OF_POWER(ItemID.AMULET_OF_POWER, 1),
|
|
||||||
BEADS_OF_THE_DEAD(ItemID.BEADS_OF_THE_DEAD, 1),
|
|
||||||
OCCULT_NECKLACE(ItemID.OCCULT_NECKLACE, 2),
|
|
||||||
OCCULT_NECKLACE_OR(ItemID.OCCULT_NECKLACE_OR, 2),
|
|
||||||
AMULET_OF_TORTURE(ItemID.AMULET_OF_TORTURE, 2),
|
|
||||||
AMULET_OF_TORTURE_OR(ItemID.AMULET_OF_TORTURE_OR, 2),
|
|
||||||
NECKLACE_OF_ANGUISH(ItemID.NECKLACE_OF_ANGUISH, 2),
|
|
||||||
NECKLACE_OF_ANGUISH_OR(ItemID.NECKLACE_OF_ANGUISH_OR, 2),
|
|
||||||
AMULET_OF_GLORY(ItemID.AMULET_OF_GLORY, 3),
|
|
||||||
AMULET_OF_GLORY1(ItemID.AMULET_OF_GLORY1, 3),
|
|
||||||
AMULET_OF_GLORY2(ItemID.AMULET_OF_GLORY2, 3),
|
|
||||||
AMULET_OF_GLORY3(ItemID.AMULET_OF_GLORY3, 3),
|
|
||||||
AMULET_OF_GLORY4(ItemID.AMULET_OF_GLORY4, 3),
|
|
||||||
AMULET_OF_GLORY5(ItemID.AMULET_OF_GLORY5, 3),
|
|
||||||
AMULET_OF_GLORY6(ItemID.AMULET_OF_GLORY6, 3),
|
|
||||||
AMULET_OF_GLORY_T(ItemID.AMULET_OF_GLORY_T, 3),
|
|
||||||
AMULET_OF_GLORY_T1(ItemID.AMULET_OF_GLORY_T1, 3),
|
|
||||||
AMULET_OF_GLORY_T2(ItemID.AMULET_OF_GLORY_T2, 3),
|
|
||||||
AMULET_OF_GLORY_T3(ItemID.AMULET_OF_GLORY_T3, 3),
|
|
||||||
AMULET_OF_GLORY_T4(ItemID.AMULET_OF_GLORY_T4, 3),
|
|
||||||
AMULET_OF_GLORY_T5(ItemID.AMULET_OF_GLORY_T5, 3),
|
|
||||||
AMULET_OF_GLORY_T6(ItemID.AMULET_OF_GLORY_T6, 3),
|
|
||||||
AMULET_OF_ETERNAL_GLORY(ItemID.AMULET_OF_ETERNAL_GLORY, 3),
|
|
||||||
AMULET_OF_GLORY_8283(ItemID.AMULET_OF_GLORY_8283, 3),
|
|
||||||
AMULET_OF_GLORY_20586(ItemID.AMULET_OF_GLORY_20586, 3),
|
|
||||||
AMULET_OF_GLORY_T_10719(ItemID.AMULET_OF_GLORY_T_10719, 3),
|
|
||||||
BERSERKER_NECKLACE(ItemID.BERSERKER_NECKLACE, 3),
|
|
||||||
SALVE_AMULET(ItemID.SALVE_AMULET, 3),
|
|
||||||
SALVE_AMULET_E(ItemID.SALVE_AMULET_E, 3),
|
|
||||||
SALVE_AMULETEI(ItemID.SALVE_AMULETEI, 3),
|
|
||||||
SALVE_AMULETI(ItemID.SALVE_AMULETI, 3),
|
|
||||||
AMULET_OF_FURY(ItemID.AMULET_OF_FURY, 5),
|
|
||||||
AMULET_OF_FURY_OR(ItemID.AMULET_OF_FURY_OR, 5),
|
|
||||||
HOLY_SYMBOL(ItemID.HOLY_SYMBOL, 8),
|
|
||||||
HOLY_SYMBOL_4682(ItemID.HOLY_SYMBOL_4682, 8),
|
|
||||||
UNHOLY_SYMBOL(ItemID.UNHOLY_SYMBOL, 8),
|
|
||||||
UNHOLY_SYMBOL_4683(ItemID.UNHOLY_SYMBOL_4683, 8),
|
|
||||||
ANCIENT_STOLE(ItemID.ANCIENT_STOLE, 10),
|
|
||||||
ARMADYL_STOLE(ItemID.ARMADYL_STOLE, 10),
|
|
||||||
BANDOS_STOLE(ItemID.BANDOS_STOLE, 10),
|
|
||||||
GUTHIX_STOLE(ItemID.GUTHIX_STOLE, 10),
|
|
||||||
SARADOMIN_STOLE(ItemID.SARADOMIN_STOLE, 10),
|
|
||||||
ZAMORAK_STOLE(ItemID.ZAMORAK_STOLE, 10),
|
|
||||||
DRAGONBONE_NECKLACE(ItemID.DRAGONBONE_NECKLACE, 12),
|
|
||||||
BONECRUSHER_NECKLACE(ItemID.BONECRUSHER_NECKLACE, 12),
|
|
||||||
|
|
||||||
// Helmet
|
|
||||||
ARMADYL_HELMET(ItemID.ARMADYL_HELMET, 1),
|
|
||||||
ANCIENT_COIF(ItemID.ANCIENT_COIF, 1),
|
|
||||||
ARMADYL_COIF(ItemID.ARMADYL_COIF, 1),
|
|
||||||
BANDOS_COIF(ItemID.BANDOS_COIF, 1),
|
|
||||||
GUTHIX_COIF(ItemID.GUTHIX_COIF, 1),
|
|
||||||
SARADOMIN_COIF(ItemID.SARADOMIN_COIF, 1),
|
|
||||||
ZAMORAK_COIF(ItemID.ZAMORAK_COIF, 1),
|
|
||||||
WHITE_FULL_HELM(ItemID.WHITE_FULL_HELM, 1),
|
|
||||||
WHITE_MED_HELM(ItemID.WHITE_MED_HELM, 1),
|
|
||||||
ANCIENT_FULL_HELM(ItemID.ANCIENT_FULL_HELM, 1),
|
|
||||||
ARMADYL_FULL_HELM(ItemID.ARMADYL_FULL_HELM, 1),
|
|
||||||
BANDOS_FULL_HELM(ItemID.BANDOS_FULL_HELM, 1),
|
|
||||||
GUTHIX_FULL_HELM(ItemID.GUTHIX_FULL_HELM, 1),
|
|
||||||
SARADOMIN_FULL_HELM(ItemID.SARADOMIN_FULL_HELM, 1),
|
|
||||||
ZAMORAK_FULL_HELM(ItemID.ZAMORAK_FULL_HELM, 1),
|
|
||||||
HELM_OF_NEITIZNOT(ItemID.HELM_OF_NEITIZNOT, 3),
|
|
||||||
INITIATE_SALLET(ItemID.INITIATE_SALLET, 3),
|
|
||||||
VERACS_HELM(ItemID.VERACS_HELM, 3),
|
|
||||||
VERACS_HELM_0(ItemID.VERACS_HELM_0, 3),
|
|
||||||
VERACS_HELM_25(ItemID.VERACS_HELM_25, 3),
|
|
||||||
VERACS_HELM_50(ItemID.VERACS_HELM_50, 3),
|
|
||||||
VERACS_HELM_75(ItemID.VERACS_HELM_75, 3),
|
|
||||||
VERACS_HELM_100(ItemID.VERACS_HELM_100, 3),
|
|
||||||
GUTHIX_HALO(ItemID.GUTHIX_HALO, 3),
|
|
||||||
SARADOMIN_HALO(ItemID.SARADOMIN_HALO, 3),
|
|
||||||
ZAMORAK_HALO(ItemID.ZAMORAK_HALO, 3),
|
|
||||||
PROSELYTE_SALLET(ItemID.PROSELYTE_SALLET, 4),
|
|
||||||
PROSELYTE_SALLET_20563(ItemID.PROSELYTE_SALLET_20563, 4),
|
|
||||||
ANCIENT_MITRE(ItemID.ANCIENT_MITRE, 5),
|
|
||||||
ARMADYL_MITRE(ItemID.ARMADYL_MITRE, 5),
|
|
||||||
BANDOS_MITRE(ItemID.BANDOS_MITRE, 5),
|
|
||||||
GUTHIX_MITRE(ItemID.GUTHIX_MITRE, 5),
|
|
||||||
SARADOMIN_MITRE(ItemID.SARADOMIN_MITRE, 5),
|
|
||||||
ZAMORAK_MITRE(ItemID.ZAMORAK_MITRE, 5),
|
|
||||||
JUSTICIAR_FACEGUARD(ItemID.JUSTICIAR_FACEGUARD, 2),
|
|
||||||
|
|
||||||
// Body
|
|
||||||
ARMADYL_CHESTPLATE(ItemID.ARMADYL_CHESTPLATE, 1),
|
|
||||||
BANDOS_CHESTPLATE(ItemID.BANDOS_CHESTPLATE, 1),
|
|
||||||
ANCIENT_DHIDE(ItemID.ANCIENT_DHIDE, 1),
|
|
||||||
ARMADYL_DHIDE(ItemID.ARMADYL_DHIDE, 1),
|
|
||||||
BANDOS_DHIDE(ItemID.BANDOS_DHIDE, 1),
|
|
||||||
GUTHIX_DRAGONHIDE(ItemID.GUTHIX_DHIDE, 1),
|
|
||||||
GUTHIX_DRAGONHIDE_10794(ItemID.GUTHIX_DRAGONHIDE, 1),
|
|
||||||
SARADOMIN_DHIDE(ItemID.SARADOMIN_DHIDE, 1),
|
|
||||||
SARADOMIN_DHIDE_10792(ItemID.SARADOMIN_DHIDE_10792, 1),
|
|
||||||
ZAMORAK_DHIDE(ItemID.ZAMORAK_DHIDE, 1),
|
|
||||||
ZAMORAK_DHIDE_10790(ItemID.ZAMORAK_DHIDE_10790, 1),
|
|
||||||
WHITE_PLATEBODY(ItemID.WHITE_PLATEBODY, 1),
|
|
||||||
WHITE_PLATEBODY_10618(ItemID.WHITE_PLATEBODY_10618, 1),
|
|
||||||
WHITE_CHAINBODY(ItemID.WHITE_CHAINBODY, 1),
|
|
||||||
ANCIENT_PLATEBODY(ItemID.ANCIENT_PLATEBODY, 1),
|
|
||||||
ARMADYL_PLATEBODY(ItemID.ARMADYL_PLATEBODY, 1),
|
|
||||||
BANDOS_PLATEBODY(ItemID.BANDOS_PLATEBODY, 1),
|
|
||||||
GUTHIX_PLATEBODY(ItemID.GUTHIX_PLATEBODY, 1),
|
|
||||||
GUTHIX_PLATEBODY_10780(ItemID.GUTHIX_PLATEBODY_10780, 1),
|
|
||||||
SARADOMIN_PLATEBODY(ItemID.SARADOMIN_PLATEBODY, 1),
|
|
||||||
ZAMORAK_PLATEBODY(ItemID.ZAMORAK_PLATEBODY, 1),
|
|
||||||
ZAMORAK_PLATEBODY_10776(ItemID.ZAMORAK_PLATEBODY_10776, 1),
|
|
||||||
ZAMORAK_ROBE_1035(ItemID.ZAMORAK_MONK_TOP, 3),
|
|
||||||
ELITE_VOID_TOP(ItemID.ELITE_VOID_TOP, 3),
|
|
||||||
ELITE_VOID_TOP_BROKEN(ItemID.ELITE_VOID_TOP_BROKEN, 3),
|
|
||||||
PRIEST_GOWN(ItemID.PRIEST_GOWN, 3),
|
|
||||||
DRUIDS_ROBE_TOP(ItemID.DRUIDS_ROBE_TOP, 4),
|
|
||||||
VERACS_BRASSARD(ItemID.VERACS_BRASSARD, 5),
|
|
||||||
VERACS_BRASSARD_0(ItemID.VERACS_BRASSARD_0, 5),
|
|
||||||
VERACS_BRASSARD_25(ItemID.VERACS_BRASSARD_25, 5),
|
|
||||||
VERACS_BRASSARD_50(ItemID.VERACS_BRASSARD_50, 5),
|
|
||||||
VERACS_BRASSARD_75(ItemID.VERACS_BRASSARD_75, 5),
|
|
||||||
VERACS_BRASSARD_100(ItemID.VERACS_BRASSARD_100, 5),
|
|
||||||
SHADE_ROBE_TOP(ItemID.SHADE_ROBE_TOP, 5),
|
|
||||||
MONKS_ROBE_TOP(ItemID.MONKS_ROBE_TOP, 6),
|
|
||||||
MONKS_ROBE_TOP_G(ItemID.MONKS_ROBE_TOP_G, 6),
|
|
||||||
INITIATE_HAUBERK(ItemID.INITIATE_HAUBERK, 6),
|
|
||||||
INITIATE_HAUBERK_10619(ItemID.INITIATE_HAUBERK_10619, 6),
|
|
||||||
ANCIENT_ROBE_TOP(ItemID.ANCIENT_ROBE_TOP, 6),
|
|
||||||
ARMADYL_ROBE_TOP(ItemID.ARMADYL_ROBE_TOP, 6),
|
|
||||||
BANDOS_ROBE_TOP(ItemID.BANDOS_ROBE_TOP, 6),
|
|
||||||
GUTHIX_ROBE_TOP(ItemID.GUTHIX_ROBE_TOP, 6),
|
|
||||||
SARADOMIN_ROBE_TOP(ItemID.SARADOMIN_ROBE_TOP, 6),
|
|
||||||
ZAMORAK_ROBE_TOP(ItemID.ZAMORAK_ROBE_TOP, 6),
|
|
||||||
PROSELYTE_HAUBERK(ItemID.PROSELYTE_HAUBERK, 8),
|
|
||||||
PROSELYTE_HAUBERK_10620(ItemID.PROSELYTE_HAUBERK_10620, 8),
|
|
||||||
PROSELYTE_HAUBERK_20564(ItemID.PROSELYTE_HAUBERK_20564, 8),
|
|
||||||
JUSTICIAR_CHESTGUARD(ItemID.JUSTICIAR_CHESTGUARD, 4),
|
|
||||||
|
|
||||||
// Legs
|
|
||||||
ARMADYL_CHAINSKIRT(ItemID.ARMADYL_CHAINSKIRT, 1),
|
|
||||||
BANDOS_TASSETS(ItemID.BANDOS_TASSETS, 1),
|
|
||||||
ANCIENT_CHAPS(ItemID.ANCIENT_CHAPS, 1),
|
|
||||||
ARMADYL_CHAPS(ItemID.ARMADYL_CHAPS, 1),
|
|
||||||
BANDOS_CHAPS(ItemID.BANDOS_CHAPS, 1),
|
|
||||||
GUTHIX_CHAPS(ItemID.GUTHIX_CHAPS, 1),
|
|
||||||
SARADOMIN_CHAPS(ItemID.SARADOMIN_CHAPS, 1),
|
|
||||||
ZAMORAK_CHAPS(ItemID.ZAMORAK_CHAPS, 1),
|
|
||||||
WHITE_PLATELEGS(ItemID.WHITE_PLATELEGS, 1),
|
|
||||||
WHITE_PLATESKIRT(ItemID.WHITE_PLATESKIRT, 1),
|
|
||||||
ANCIENT_PLATELEGS(ItemID.ANCIENT_PLATELEGS, 1),
|
|
||||||
ANCIENT_PLATESKIRT(ItemID.ANCIENT_PLATESKIRT, 1),
|
|
||||||
ARMADYL_PLATELEGS(ItemID.ARMADYL_PLATELEGS, 1),
|
|
||||||
ARMADYL_PLATESKIRT(ItemID.ARMADYL_PLATESKIRT, 1),
|
|
||||||
BANDOS_PLATELEGS(ItemID.BANDOS_PLATELEGS, 1),
|
|
||||||
BANDOS_PLATESKIRT(ItemID.BANDOS_PLATESKIRT, 1),
|
|
||||||
GUTHIX_PLATELEGS(ItemID.GUTHIX_PLATELEGS, 1),
|
|
||||||
GUTHIX_PLATESKIRT(ItemID.GUTHIX_PLATESKIRT, 1),
|
|
||||||
SARADOMIN_PLATELEGS(ItemID.SARADOMIN_PLATELEGS, 1),
|
|
||||||
SARADOMIN_PLATESKIRT(ItemID.SARADOMIN_PLATESKIRT, 1),
|
|
||||||
ZAMORAK_PLATELEGS(ItemID.ZAMORAK_PLATELEGS, 1),
|
|
||||||
ZAMORAK_PLATESKIRT(ItemID.ZAMORAK_PLATESKIRT, 1),
|
|
||||||
ZAMORAK_ROBE(ItemID.ZAMORAK_MONK_BOTTOM, 3),
|
|
||||||
ELITE_VOID_ROBE(ItemID.ELITE_VOID_ROBE, 3),
|
|
||||||
ELITE_VOID_ROBE_BROKEN(ItemID.ELITE_VOID_ROBE_BROKEN, 3),
|
|
||||||
PRIEST_GOWN_428(ItemID.PRIEST_GOWN_428, 3),
|
|
||||||
DRUIDS_ROBE(ItemID.DRUIDS_ROBE, 4),
|
|
||||||
SHADE_ROBE(ItemID.SHADE_ROBE, 4),
|
|
||||||
VERACS_PLATESKIRT(ItemID.VERACS_PLATESKIRT, 4),
|
|
||||||
VERACS_PLATESKIRT_0(ItemID.VERACS_PLATESKIRT_0, 4),
|
|
||||||
VERACS_PLATESKIRT_25(ItemID.VERACS_PLATESKIRT_25, 4),
|
|
||||||
VERACS_PLATESKIRT_50(ItemID.VERACS_PLATESKIRT_50, 4),
|
|
||||||
VERACS_PLATESKIRT_75(ItemID.VERACS_PLATESKIRT_75, 4),
|
|
||||||
VERACS_PLATESKIRT_100(ItemID.VERACS_PLATESKIRT_100, 4),
|
|
||||||
MONKS_ROBE(ItemID.MONKS_ROBE, 5),
|
|
||||||
MONKS_ROBE_G(ItemID.MONKS_ROBE_G, 5),
|
|
||||||
INITIATE_CUISSE(ItemID.INITIATE_CUISSE, 5),
|
|
||||||
ANCIENT_ROBE_LEGS(ItemID.ANCIENT_ROBE_LEGS, 5),
|
|
||||||
ARMADYL_ROBE_LEGS(ItemID.ARMADYL_ROBE_LEGS, 5),
|
|
||||||
BANDOS_ROBE_LEGS(ItemID.BANDOS_ROBE_LEGS, 5),
|
|
||||||
GUTHIX_ROBE_LEGS(ItemID.GUTHIX_ROBE_LEGS, 5),
|
|
||||||
SARADOMIN_ROBE_LEGS(ItemID.SARADOMIN_ROBE_LEGS, 5),
|
|
||||||
ZAMORAK_ROBE_LEGS(ItemID.ZAMORAK_ROBE_LEGS, 5),
|
|
||||||
PROSELYTE_CUISSE(ItemID.PROSELYTE_CUISSE, 6),
|
|
||||||
PROSELYTE_CUISSE_20565(ItemID.PROSELYTE_CUISSE_20565, 6),
|
|
||||||
PROSELYTE_TASSET(ItemID.PROSELYTE_TASSET, 6),
|
|
||||||
JUSTICIAR_LEGGUARDS(ItemID.JUSTICIAR_LEGGUARDS, 4),
|
|
||||||
|
|
||||||
// Boots
|
|
||||||
BANDOS_BOOTS(ItemID.BANDOS_BOOTS, 1),
|
|
||||||
WHITE_BOOTS(ItemID.WHITE_BOOTS, 1),
|
|
||||||
ANCIENT_DHIDE_BOOTS(ItemID.ANCIENT_DHIDE_BOOTS, 1),
|
|
||||||
ARMADYL_DHIDE_BOOTS(ItemID.ARMADYL_DHIDE_BOOTS, 1),
|
|
||||||
BANDOS_DHIDE_BOOTS(ItemID.BANDOS_DHIDE_BOOTS, 1),
|
|
||||||
GUTHIX_DHIDE_BOOTS(ItemID.GUTHIX_DHIDE_BOOTS, 1),
|
|
||||||
SARADOMIN_DHIDE_BOOTS(ItemID.SARADOMIN_DHIDE_BOOTS, 1),
|
|
||||||
ZAMORAK_DHIDE_BOOTS(ItemID.ZAMORAK_DHIDE_BOOTS, 1),
|
|
||||||
GUARDIAN_BOOTS(ItemID.GUARDIAN_BOOTS, 2),
|
|
||||||
HOLY_SANDALS(ItemID.HOLY_SANDALS, 3),
|
|
||||||
DEVOUT_BOOTS(ItemID.DEVOUT_BOOTS, 5),
|
|
||||||
|
|
||||||
// Gloves
|
|
||||||
ANCIENT_BRACERS(ItemID.ANCIENT_BRACERS, 1),
|
|
||||||
ARMADYL_BRACERS(ItemID.ARMADYL_BRACERS, 1),
|
|
||||||
BANDOS_BRACERS(ItemID.BANDOS_BRACERS, 1),
|
|
||||||
GUTHIX_BRACERS(ItemID.GUTHIX_BRACERS, 1),
|
|
||||||
SARADOMIN_BRACERS(ItemID.SARADOMIN_BRACERS, 1),
|
|
||||||
ZAMORAK_BRACERS(ItemID.ZAMORAK_BRACERS, 1),
|
|
||||||
WHITE_GLOVES(ItemID.WHITE_GLOVES, 1),
|
|
||||||
TORMENTED_BRACELET(ItemID.TORMENTED_BRACELET, 2),
|
|
||||||
HOLY_WRAPS(ItemID.HOLY_WRAPS, 3),
|
|
||||||
|
|
||||||
// Capes
|
|
||||||
MYTHICAL_CAPE(ItemID.MYTHICAL_CAPE, 1),
|
|
||||||
MYTHICAL_CAPE_22114(ItemID.MYTHICAL_CAPE_22114, 1),
|
|
||||||
FIRE_CAPE(ItemID.FIRE_CAPE, 2),
|
|
||||||
FIRE_CAPE_10566(ItemID.FIRE_CAPE_10566, 2),
|
|
||||||
FIRE_CAPE_10637(ItemID.FIRE_CAPE_10637, 2),
|
|
||||||
FIRE_CAPE_BROKEN(ItemID.FIRE_CAPE_BROKEN, 2),
|
|
||||||
INFERNAL_CAPE(ItemID.INFERNAL_CAPE, 2),
|
|
||||||
INFERNAL_CAPE_21297(ItemID.INFERNAL_CAPE_21297, 2),
|
|
||||||
INFERNAL_CAPE_BROKEN(ItemID.INFERNAL_CAPE_BROKEN, 2),
|
|
||||||
ARDOUGNE_CLOAK_1(ItemID.ARDOUGNE_CLOAK_1, 2),
|
|
||||||
ANCIENT_CLOAK(ItemID.ANCIENT_CLOAK, 3),
|
|
||||||
ARMADYL_CLOAK(ItemID.ARMADYL_CLOAK, 3),
|
|
||||||
BANDOS_CLOAK(ItemID.BANDOS_CLOAK, 3),
|
|
||||||
GUTHIX_CLOAK(ItemID.GUTHIX_CLOAK, 3),
|
|
||||||
SARADOMIN_CLOAK(ItemID.SARADOMIN_CLOAK, 3),
|
|
||||||
ZAMORAK_CLOAK(ItemID.ZAMORAK_CLOAK, 3),
|
|
||||||
ATTACK_CAPET(ItemID.ATTACK_CAPET, 4),
|
|
||||||
STRENGTH_CAPET(ItemID.STRENGTH_CAPET, 4),
|
|
||||||
DEFENCE_CAPET(ItemID.DEFENCE_CAPET, 4),
|
|
||||||
RANGING_CAPET(ItemID.RANGING_CAPET, 4),
|
|
||||||
PRAYER_CAPET(ItemID.PRAYER_CAPET, 4),
|
|
||||||
MAGIC_CAPET(ItemID.MAGIC_CAPET, 4),
|
|
||||||
RUNECRAFT_CAPET(ItemID.RUNECRAFT_CAPET, 4),
|
|
||||||
CONSTRUCT_CAPET(ItemID.CONSTRUCT_CAPET, 4),
|
|
||||||
HITPOINTS_CAPET(ItemID.HITPOINTS_CAPET, 4),
|
|
||||||
AGILITY_CAPET(ItemID.AGILITY_CAPET, 4),
|
|
||||||
HERBLORE_CAPET(ItemID.HERBLORE_CAPET, 4),
|
|
||||||
THIEVING_CAPET(ItemID.THIEVING_CAPET, 4),
|
|
||||||
CRAFTING_CAPET(ItemID.CRAFTING_CAPET, 4),
|
|
||||||
FLETCHING_CAPET(ItemID.FLETCHING_CAPET, 4),
|
|
||||||
SLAYER_CAPET(ItemID.SLAYER_CAPET, 4),
|
|
||||||
HUNTER_CAPET(ItemID.HUNTER_CAPET, 4),
|
|
||||||
MINING_CAPET(ItemID.MINING_CAPET, 4),
|
|
||||||
SMITHING_CAPET(ItemID.SMITHING_CAPET, 4),
|
|
||||||
FISHING_CAPET(ItemID.FISHING_CAPET, 4),
|
|
||||||
COOKING_CAPET(ItemID.COOKING_CAPET, 4),
|
|
||||||
FIREMAKING_CAPET(ItemID.FIREMAKING_CAPET, 4),
|
|
||||||
WOODCUT_CAPET(ItemID.WOODCUT_CAPET, 4),
|
|
||||||
FARMING_CAPET(ItemID.FARMING_CAPET, 4),
|
|
||||||
QUEST_POINT_CAPE_T(ItemID.QUEST_POINT_CAPE_T, 4),
|
|
||||||
MUSIC_CAPET(ItemID.MUSIC_CAPET, 4),
|
|
||||||
ACHIEVEMENT_DIARY_CAPE(ItemID.ACHIEVEMENT_DIARY_CAPE, 4),
|
|
||||||
ACHIEVEMENT_DIARY_CAPE_T(ItemID.ACHIEVEMENT_DIARY_CAPE_T, 4),
|
|
||||||
MAX_CAPE(ItemID.MAX_CAPE, 4),
|
|
||||||
MAX_CAPE_13282(ItemID.MAX_CAPE_13282, 4),
|
|
||||||
MAX_CAPE_13342(ItemID.MAX_CAPE_13342, 4),
|
|
||||||
ACCUMULATOR_MAX_CAPE(ItemID.ACCUMULATOR_MAX_CAPE, 4),
|
|
||||||
ARDOUGNE_MAX_CAPE(ItemID.ARDOUGNE_MAX_CAPE, 4),
|
|
||||||
ASSEMBLER_MAX_CAPE(ItemID.ASSEMBLER_MAX_CAPE, 4),
|
|
||||||
ASSEMBLER_MAX_CAPE_BROKEN(ItemID.ASSEMBLER_MAX_CAPE_BROKEN, 4),
|
|
||||||
INFERNAL_MAX_CAPE(ItemID.INFERNAL_MAX_CAPE, 4),
|
|
||||||
INFERNAL_MAX_CAPE_21285(ItemID.INFERNAL_MAX_CAPE_21285, 4),
|
|
||||||
INFERNAL_MAX_CAPE_BROKEN(ItemID.INFERNAL_MAX_CAPE_BROKEN, 4),
|
|
||||||
FIRE_MAX_CAPE(ItemID.FIRE_MAX_CAPE, 4),
|
|
||||||
FIRE_MAX_CAPE_21186(ItemID.FIRE_MAX_CAPE_21186, 4),
|
|
||||||
FIRE_MAX_CAPE_BROKEN(ItemID.FIRE_MAX_CAPE_BROKEN, 4),
|
|
||||||
GUTHIX_MAX_CAPE(ItemID.GUTHIX_MAX_CAPE, 4),
|
|
||||||
IMBUED_GUTHIX_MAX_CAPE(ItemID.IMBUED_GUTHIX_MAX_CAPE, 4),
|
|
||||||
SARADOMIN_MAX_CAPE(ItemID.SARADOMIN_MAX_CAPE, 4),
|
|
||||||
IMBUED_SARADOMIN_MAX_CAPE(ItemID.IMBUED_SARADOMIN_MAX_CAPE, 4),
|
|
||||||
ZAMORAK_MAX_CAPE(ItemID.ZAMORAK_MAX_CAPE, 4),
|
|
||||||
IMBUED_ZAMORAK_MAX_CAPE(ItemID.IMBUED_ZAMORAK_MAX_CAPE, 4),
|
|
||||||
ARDOUGNE_CLOAK_2(ItemID.ARDOUGNE_CLOAK_2, 4),
|
|
||||||
ARDOUGNE_CLOAK_3(ItemID.ARDOUGNE_CLOAK_3, 5),
|
|
||||||
_3RD_AGE_CLOAK(ItemID._3RD_AGE_CLOAK, 5),
|
|
||||||
ARDOUGNE_CLOAK_4(ItemID.ARDOUGNE_CLOAK_4, 6),
|
|
||||||
|
|
||||||
// Weapons
|
|
||||||
ANCIENT_STAFF(ItemID.ANCIENT_STAFF, -1),
|
|
||||||
ARMADYL_CROSSBOW(ItemID.ARMADYL_CROSSBOW, 1),
|
|
||||||
BRONZE_MACE(ItemID.BRONZE_MACE, 1),
|
|
||||||
IRON_MACE(ItemID.IRON_MACE, 1),
|
|
||||||
WHITE_DAGGER(ItemID.WHITE_DAGGER, 1),
|
|
||||||
WHITE_SCIMITAR(ItemID.WHITE_SCIMITAR, 1),
|
|
||||||
WHITE_CLAWS(ItemID.WHITE_CLAWS, 1),
|
|
||||||
WHITE_SWORD(ItemID.WHITE_SWORD, 1),
|
|
||||||
WHITE_LONGSWORD(ItemID.WHITE_LONGSWORD, 1),
|
|
||||||
WHITE_BATTLEAXE(ItemID.WHITE_BATTLEAXE, 1),
|
|
||||||
WHITE_WARHAMMER(ItemID.WHITE_WARHAMMER, 1),
|
|
||||||
WHITE_2H_SWORD(ItemID.WHITE_2H_SWORD, 1),
|
|
||||||
WHITE_HALBERD(ItemID.WHITE_HALBERD, 1),
|
|
||||||
WHITE_MAGIC_STAFF(ItemID.WHITE_MAGIC_STAFF, 1),
|
|
||||||
SARADOMIN_SWORD(ItemID.SARADOMIN_SWORD, 2),
|
|
||||||
SARADOMINS_BLESSED_SWORD(ItemID.SARADOMINS_BLESSED_SWORD, 2),
|
|
||||||
STEEL_MACE(ItemID.STEEL_MACE, 2),
|
|
||||||
BLACK_MACE(ItemID.BLACK_MACE, 2),
|
|
||||||
ZAMORAKIAN_SPEAR(ItemID.ZAMORAKIAN_SPEAR, 2),
|
|
||||||
ZAMORAKIAN_HASTA(ItemID.ZAMORAKIAN_HASTA, 2),
|
|
||||||
ADAMANT_MACE(ItemID.ADAMANT_MACE, 3),
|
|
||||||
ANCIENT_MACE(ItemID.ANCIENT_MACE, 3),
|
|
||||||
MITHRIL_MACE(ItemID.MITHRIL_MACE, 3),
|
|
||||||
WHITE_MACE(ItemID.WHITE_MACE, 3),
|
|
||||||
LUNAR_STAFF(ItemID.LUNAR_STAFF, 3),
|
|
||||||
RUNE_MACE(ItemID.RUNE_MACE, 4),
|
|
||||||
ROLLING_PIN(ItemID.ROLLING_PIN, 4),
|
|
||||||
TWISTED_BOW(ItemID.TWISTED_BOW, 4),
|
|
||||||
DRAGON_MACE(ItemID.DRAGON_MACE, 5),
|
|
||||||
WOLFBANE(ItemID.WOLFBANE, 5),
|
|
||||||
SILVER_SICKLEB(ItemID.SILVER_SICKLE_B, 5),
|
|
||||||
TOKTZMEJTAL(ItemID.TOKTZMEJTAL, 5),
|
|
||||||
IVANDIS_FLAIL(ItemID.IVANDIS_FLAIL, 5),
|
|
||||||
ANCIENT_CROZIER(ItemID.ANCIENT_CROZIER, 6),
|
|
||||||
ARMADYL_CROZIER(ItemID.ARMADYL_CROZIER, 6),
|
|
||||||
BANDOS_CROZIER(ItemID.BANDOS_CROZIER, 6),
|
|
||||||
GUTHIX_CROZIER(ItemID.GUTHIX_CROZIER, 6),
|
|
||||||
SARADOMIN_CROZIER(ItemID.SARADOMIN_CROZIER, 6),
|
|
||||||
ZAMORAK_CROZIER(ItemID.ZAMORAK_CROZIER, 6),
|
|
||||||
VERACS_FLAIL(ItemID.VERACS_FLAIL, 6),
|
|
||||||
VERACS_FLAIL_0(ItemID.VERACS_FLAIL_0, 6),
|
|
||||||
VERACS_FLAIL_25(ItemID.VERACS_FLAIL_25, 6),
|
|
||||||
VERACS_FLAIL_50(ItemID.VERACS_FLAIL_50, 6),
|
|
||||||
VERACS_FLAIL_75(ItemID.VERACS_FLAIL_75, 6),
|
|
||||||
VERACS_FLAIL_100(ItemID.VERACS_FLAIL_100, 6),
|
|
||||||
VOID_KNIGHT_MACE(ItemID.VOID_KNIGHT_MACE, 6),
|
|
||||||
VOID_KNIGHT_MACE_BROKEN(ItemID.VOID_KNIGHT_MACE_BROKEN, 6),
|
|
||||||
BANDOS_GODSWORD(ItemID.BANDOS_GODSWORD, 8),
|
|
||||||
BANDOS_GODSWORD_OR(ItemID.BANDOS_GODSWORD_OR, 8),
|
|
||||||
BANDOS_GODSWORD_20782(ItemID.BANDOS_GODSWORD_20782, 8),
|
|
||||||
BANDOS_GODSWORD_21060(ItemID.BANDOS_GODSWORD_21060, 8),
|
|
||||||
ARMADYL_GODSWORD(ItemID.ARMADYL_GODSWORD, 8),
|
|
||||||
ARMADYL_GODSWORD_OR(ItemID.ARMADYL_GODSWORD_OR, 8),
|
|
||||||
ARMADYL_GODSWORD_20593(ItemID.ARMADYL_GODSWORD_20593, 8),
|
|
||||||
SARADOMIN_GODSWORD(ItemID.SARADOMIN_GODSWORD, 8),
|
|
||||||
SARADOMIN_GODSWORD_OR(ItemID.SARADOMIN_GODSWORD_OR, 8),
|
|
||||||
ZAMORAK_GODSWORD(ItemID.ZAMORAK_GODSWORD, 8),
|
|
||||||
ZAMORAK_GODSWORD_OR(ItemID.ZAMORAK_GODSWORD_OR, 8),
|
|
||||||
|
|
||||||
// Shields
|
|
||||||
WHITE_KITESHIELD(ItemID.WHITE_KITESHIELD, 1),
|
|
||||||
WHITE_SQ_SHIELD(ItemID.WHITE_SQ_SHIELD, 1),
|
|
||||||
SPIRIT_SHIELD(ItemID.SPIRIT_SHIELD, 1),
|
|
||||||
FALADOR_SHIELD_1(ItemID.FALADOR_SHIELD_1, 1),
|
|
||||||
KHAREDSTS_MEMOIRS(ItemID.KHAREDSTS_MEMOIRS, 1),
|
|
||||||
BLESSED_SPIRIT_SHIELD(ItemID.BLESSED_SPIRIT_SHIELD, 3),
|
|
||||||
ARCANE_SPIRIT_SHIELD(ItemID.ARCANE_SPIRIT_SHIELD, 3),
|
|
||||||
SPECTRAL_SPIRIT_SHIELD(ItemID.SPECTRAL_SPIRIT_SHIELD, 3),
|
|
||||||
ELYSIAN_SPIRIT_SHIELD(ItemID.ELYSIAN_SPIRIT_SHIELD, 3),
|
|
||||||
ELYSIAN_SPIRIT_SHIELD_19559(ItemID.ELYSIAN_SPIRIT_SHIELD_19559, 3),
|
|
||||||
FALADOR_SHIELD_2(ItemID.FALADOR_SHIELD_2, 3),
|
|
||||||
FALADOR_SHIELD_3(ItemID.FALADOR_SHIELD_3, 4),
|
|
||||||
BROODOO_SHIELD(ItemID.BROODOO_SHIELD, 5),
|
|
||||||
BROODOO_SHIELD_6257(ItemID.BROODOO_SHIELD_6257, 5),
|
|
||||||
BROODOO_SHIELD_6279(ItemID.BROODOO_SHIELD_6279, 5),
|
|
||||||
BROODOO_SHIELD_1(ItemID.BROODOO_SHIELD_1, 5),
|
|
||||||
BROODOO_SHIELD_1_6255(ItemID.BROODOO_SHIELD_1_6255, 5),
|
|
||||||
BROODOO_SHIELD_1_6277(ItemID.BROODOO_SHIELD_1_6277, 5),
|
|
||||||
BROODOO_SHIELD_2(ItemID.BROODOO_SHIELD_2, 5),
|
|
||||||
BROODOO_SHIELD_2_6253(ItemID.BROODOO_SHIELD_2_6253, 5),
|
|
||||||
BROODOO_SHIELD_2_6275(ItemID.BROODOO_SHIELD_2_6275, 5),
|
|
||||||
BROODOO_SHIELD_3(ItemID.BROODOO_SHIELD_3, 5),
|
|
||||||
BROODOO_SHIELD_3_6251(ItemID.BROODOO_SHIELD_3_6251, 5),
|
|
||||||
BROODOO_SHIELD_3_6273(ItemID.BROODOO_SHIELD_3_6273, 5),
|
|
||||||
BROODOO_SHIELD_4(ItemID.BROODOO_SHIELD_4, 5),
|
|
||||||
BROODOO_SHIELD_4_6249(ItemID.BROODOO_SHIELD_4_6249, 5),
|
|
||||||
BROODOO_SHIELD_4_6271(ItemID.BROODOO_SHIELD_4_6271, 5),
|
|
||||||
BROODOO_SHIELD_5(ItemID.BROODOO_SHIELD_5, 5),
|
|
||||||
BROODOO_SHIELD_5_6247(ItemID.BROODOO_SHIELD_5_6247, 5),
|
|
||||||
BROODOO_SHIELD_5_6269(ItemID.BROODOO_SHIELD_5_6269, 5),
|
|
||||||
BROODOO_SHIELD_6(ItemID.BROODOO_SHIELD_6, 5),
|
|
||||||
BROODOO_SHIELD_6_6245(ItemID.BROODOO_SHIELD_6_6245, 5),
|
|
||||||
BROODOO_SHIELD_6_6267(ItemID.BROODOO_SHIELD_6_6267, 5),
|
|
||||||
BROODOO_SHIELD_7(ItemID.BROODOO_SHIELD_7, 5),
|
|
||||||
BROODOO_SHIELD_7_6243(ItemID.BROODOO_SHIELD_7_6243, 5),
|
|
||||||
BROODOO_SHIELD_7_6265(ItemID.BROODOO_SHIELD_7_6265, 5),
|
|
||||||
BROODOO_SHIELD_8(ItemID.BROODOO_SHIELD_8, 5),
|
|
||||||
BROODOO_SHIELD_8_6241(ItemID.BROODOO_SHIELD_8_6241, 5),
|
|
||||||
BROODOO_SHIELD_8_6263(ItemID.BROODOO_SHIELD_8_6263, 5),
|
|
||||||
BROODOO_SHIELD_9(ItemID.BROODOO_SHIELD_9, 5),
|
|
||||||
BROODOO_SHIELD_9_6239(ItemID.BROODOO_SHIELD_9_6239, 5),
|
|
||||||
BROODOO_SHIELD_9_6261(ItemID.BROODOO_SHIELD_9_6261, 5),
|
|
||||||
BROODOO_SHIELD_10(ItemID.BROODOO_SHIELD_10, 5),
|
|
||||||
BROODOO_SHIELD_10_6237(ItemID.BROODOO_SHIELD_10_6237, 5),
|
|
||||||
BROODOO_SHIELD_10_6259(ItemID.BROODOO_SHIELD_10_6259, 5),
|
|
||||||
BOOK_OF_DARKNESS(ItemID.BOOK_OF_DARKNESS, 5),
|
|
||||||
DAMAGED_BOOK_12611(ItemID.DAMAGED_BOOK_12611, 5),
|
|
||||||
BOOK_OF_BALANCE(ItemID.BOOK_OF_BALANCE, 5),
|
|
||||||
DAMAGED_BOOK_3843(ItemID.DAMAGED_BOOK_3843, 5),
|
|
||||||
BOOK_OF_LAW(ItemID.BOOK_OF_LAW, 5),
|
|
||||||
DAMAGED_BOOK_12609(ItemID.DAMAGED_BOOK_12609, 5),
|
|
||||||
BOOK_OF_WAR(ItemID.BOOK_OF_WAR, 5),
|
|
||||||
DAMAGED_BOOK_12607(ItemID.DAMAGED_BOOK_12607, 5),
|
|
||||||
HOLY_BOOK(ItemID.HOLY_BOOK, 5),
|
|
||||||
DAMAGED_BOOK(ItemID.DAMAGED_BOOK, 5),
|
|
||||||
UNHOLY_BOOK(ItemID.UNHOLY_BOOK, 5),
|
|
||||||
DAMAGED_BOOK_3841(ItemID.DAMAGED_BOOK_3841, 5),
|
|
||||||
FALADOR_SHIELD_4(ItemID.FALADOR_SHIELD_4, 5);
|
|
||||||
|
|
||||||
private static final Map<Integer, Integer> prayerBonuses;
|
|
||||||
|
|
||||||
private final int itemId;
|
|
||||||
private final int prayerBonus;
|
|
||||||
|
|
||||||
static
|
|
||||||
{
|
|
||||||
ImmutableMap.Builder<Integer, Integer> builder = new ImmutableMap.Builder<>();
|
|
||||||
for (PrayerItems item : values())
|
|
||||||
{
|
|
||||||
builder.put(item.getItemId(), item.getPrayerBonus());
|
|
||||||
}
|
|
||||||
prayerBonuses = builder.build();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int getItemPrayerBonus(int itemId)
|
|
||||||
{
|
|
||||||
Integer value = prayerBonuses.get(itemId);
|
|
||||||
return value == null ? 0 : value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -43,11 +43,13 @@ import net.runelite.api.events.GameTick;
|
|||||||
import net.runelite.api.events.ItemContainerChanged;
|
import net.runelite.api.events.ItemContainerChanged;
|
||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.game.SpriteManager;
|
import net.runelite.client.game.SpriteManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||||
|
import net.runelite.http.api.item.ItemStats;
|
||||||
|
|
||||||
@PluginDescriptor(
|
@PluginDescriptor(
|
||||||
name = "Prayer",
|
name = "Prayer",
|
||||||
@@ -91,6 +93,9 @@ public class PrayerPlugin extends Plugin
|
|||||||
@Inject
|
@Inject
|
||||||
private EventBus eventBus;
|
private EventBus eventBus;
|
||||||
|
|
||||||
|
@Inject
|
||||||
|
private ItemManager itemManager;
|
||||||
|
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
private PrayerFlickLocation prayerFlickLocation;
|
private PrayerFlickLocation prayerFlickLocation;
|
||||||
@Getter(AccessLevel.PACKAGE)
|
@Getter(AccessLevel.PACKAGE)
|
||||||
@@ -277,8 +282,11 @@ public class PrayerPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int bonus = PrayerItems.getItemPrayerBonus(item.getId());
|
ItemStats is = itemManager.getItemStats(item.getId(), false);
|
||||||
total += bonus;
|
if (is != null && is.getEquipment() != null)
|
||||||
|
{
|
||||||
|
total += is.getEquipment().getPrayer();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (hasSanfew || hasSuperRestore || hasPrayerPotion)
|
if (hasSanfew || hasSuperRestore || hasPrayerPotion)
|
||||||
|
|||||||
+1
-1
@@ -49,7 +49,6 @@ import net.runelite.client.callback.ClientThread;
|
|||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.config.Keybind;
|
import net.runelite.client.config.Keybind;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.input.KeyManager;
|
import net.runelite.client.input.KeyManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -60,6 +59,7 @@ import static net.runelite.client.plugins.pvptools.PvpToolsPanel.htmlLabel;
|
|||||||
import net.runelite.client.ui.ClientToolbar;
|
import net.runelite.client.ui.ClientToolbar;
|
||||||
import net.runelite.client.ui.NavigationButton;
|
import net.runelite.client.ui.NavigationButton;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.util.HotkeyListener;
|
import net.runelite.client.util.HotkeyListener;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
import net.runelite.client.util.PvPUtil;
|
import net.runelite.client.util.PvPUtil;
|
||||||
|
|||||||
+1
-1
@@ -47,7 +47,6 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.Client;
|
import net.runelite.api.Client;
|
||||||
import net.runelite.api.Experience;
|
import net.runelite.api.Experience;
|
||||||
import net.runelite.api.Skill;
|
import net.runelite.api.Skill;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.skillcalculator.SkillCalculatorConfig;
|
import net.runelite.client.plugins.skillcalculator.SkillCalculatorConfig;
|
||||||
import net.runelite.client.plugins.skillcalculator.UICalculatorInputArea;
|
import net.runelite.client.plugins.skillcalculator.UICalculatorInputArea;
|
||||||
@@ -61,6 +60,7 @@ import net.runelite.client.plugins.skillcalculator.banked.components.SelectionGr
|
|||||||
import net.runelite.client.ui.ColorScheme;
|
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;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
public class BankedCalculator extends JPanel
|
public class BankedCalculator extends JPanel
|
||||||
|
|||||||
+1
-1
@@ -37,11 +37,11 @@ import javax.swing.border.EmptyBorder;
|
|||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.BankedCalculator;
|
import net.runelite.client.plugins.skillcalculator.banked.BankedCalculator;
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.beans.Activity;
|
import net.runelite.client.plugins.skillcalculator.banked.beans.Activity;
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.beans.BankedItem;
|
import net.runelite.client.plugins.skillcalculator.banked.beans.BankedItem;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Getter(AccessLevel.PUBLIC)
|
@Getter(AccessLevel.PUBLIC)
|
||||||
public class GridItem extends JLabel
|
public class GridItem extends JLabel
|
||||||
|
|||||||
+4
-4
@@ -47,7 +47,6 @@ import javax.swing.border.EmptyBorder;
|
|||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.api.Constants;
|
import net.runelite.api.Constants;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.BankedCalculator;
|
import net.runelite.client.plugins.skillcalculator.banked.BankedCalculator;
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.beans.Activity;
|
import net.runelite.client.plugins.skillcalculator.banked.beans.Activity;
|
||||||
@@ -58,6 +57,7 @@ import net.runelite.client.ui.FontManager;
|
|||||||
import net.runelite.client.ui.components.ComboBoxIconEntry;
|
import net.runelite.client.ui.components.ComboBoxIconEntry;
|
||||||
import net.runelite.client.ui.components.ComboBoxListRenderer;
|
import net.runelite.client.ui.components.ComboBoxListRenderer;
|
||||||
import net.runelite.client.ui.components.shadowlabel.JShadowedLabel;
|
import net.runelite.client.ui.components.shadowlabel.JShadowedLabel;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
public class ModifyPanel extends JPanel
|
public class ModifyPanel extends JPanel
|
||||||
{
|
{
|
||||||
@@ -199,7 +199,7 @@ public class ModifyPanel extends JPanel
|
|||||||
final boolean stackable = item.getItemInfo().isStackable() || amount > 1;
|
final boolean stackable = item.getItemInfo().isStackable() || amount > 1;
|
||||||
final AsyncBufferedImage icon = itemManager.getImage(item.getItemID(), amount, stackable);
|
final AsyncBufferedImage icon = itemManager.getImage(item.getItemID(), amount, stackable);
|
||||||
final Runnable resize = () -> image.setIcon(new ImageIcon(icon.getScaledInstance(ICON_SIZE.width, ICON_SIZE.height, Image.SCALE_SMOOTH)));
|
final Runnable resize = () -> image.setIcon(new ImageIcon(icon.getScaledInstance(ICON_SIZE.width, ICON_SIZE.height, Image.SCALE_SMOOTH)));
|
||||||
icon.onChanged(resize);
|
icon.onLoaded(resize);
|
||||||
resize.run();
|
resize.run();
|
||||||
|
|
||||||
final String itemName = item.getItemInfo().getName();
|
final String itemName = item.getItemInfo().getName();
|
||||||
@@ -254,7 +254,7 @@ public class ModifyPanel extends JPanel
|
|||||||
final double xp = a.getXp() * xpFactor;
|
final double xp = a.getXp() * xpFactor;
|
||||||
final JPanel container = createShadowedLabel(icon, a.getName(), FORMAT_COMMA.format(xp) + "xp");
|
final JPanel container = createShadowedLabel(icon, a.getName(), FORMAT_COMMA.format(xp) + "xp");
|
||||||
|
|
||||||
img.onChanged(() ->
|
img.onLoaded(() ->
|
||||||
{
|
{
|
||||||
icon.setImage(img);
|
icon.setImage(img);
|
||||||
container.repaint();
|
container.repaint();
|
||||||
@@ -282,7 +282,7 @@ public class ModifyPanel extends JPanel
|
|||||||
final ComboBoxIconEntry entry = new ComboBoxIconEntry(icon, name, option);
|
final ComboBoxIconEntry entry = new ComboBoxIconEntry(icon, name, option);
|
||||||
dropdown.addItem(entry);
|
dropdown.addItem(entry);
|
||||||
|
|
||||||
img.onChanged(() ->
|
img.onLoaded(() ->
|
||||||
{
|
{
|
||||||
icon.setImage(img);
|
icon.setImage(img);
|
||||||
dropdown.revalidate();
|
dropdown.revalidate();
|
||||||
|
|||||||
+1
-1
@@ -35,10 +35,10 @@ import javax.swing.JPanel;
|
|||||||
import lombok.AccessLevel;
|
import lombok.AccessLevel;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.BankedCalculator;
|
import net.runelite.client.plugins.skillcalculator.banked.BankedCalculator;
|
||||||
import net.runelite.client.plugins.skillcalculator.banked.beans.BankedItem;
|
import net.runelite.client.plugins.skillcalculator.banked.beans.BankedItem;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A grid that supports mouse events
|
* A grid that supports mouse events
|
||||||
|
|||||||
@@ -86,7 +86,6 @@ import net.runelite.client.chat.ChatMessageManager;
|
|||||||
import net.runelite.client.config.ConfigManager;
|
import net.runelite.client.config.ConfigManager;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.events.ChatInput;
|
import net.runelite.client.events.ChatInput;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.game.SpriteManager;
|
import net.runelite.client.game.SpriteManager;
|
||||||
import net.runelite.client.plugins.Plugin;
|
import net.runelite.client.plugins.Plugin;
|
||||||
@@ -98,6 +97,7 @@ import net.runelite.client.ui.ClientToolbar;
|
|||||||
import net.runelite.client.ui.NavigationButton;
|
import net.runelite.client.ui.NavigationButton;
|
||||||
import net.runelite.client.ui.overlay.OverlayManager;
|
import net.runelite.client.ui.overlay.OverlayManager;
|
||||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.util.ColorUtil;
|
import net.runelite.client.util.ColorUtil;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
import net.runelite.api.util.Text;
|
import net.runelite.api.util.Text;
|
||||||
|
|||||||
+2
-2
@@ -46,7 +46,6 @@ import javax.swing.SwingConstants;
|
|||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import javax.swing.event.DocumentEvent;
|
import javax.swing.event.DocumentEvent;
|
||||||
import javax.swing.event.DocumentListener;
|
import javax.swing.event.DocumentListener;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.stonedtracker.data.BossTab;
|
import net.runelite.client.plugins.stonedtracker.data.BossTab;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
@@ -54,6 +53,7 @@ import net.runelite.client.ui.PluginPanel;
|
|||||||
import net.runelite.client.ui.components.IconTextField;
|
import net.runelite.client.ui.components.IconTextField;
|
||||||
import net.runelite.client.ui.components.materialtabs.MaterialTab;
|
import net.runelite.client.ui.components.materialtabs.MaterialTab;
|
||||||
import net.runelite.client.ui.components.materialtabs.MaterialTabGroup;
|
import net.runelite.client.ui.components.materialtabs.MaterialTabGroup;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import org.apache.commons.text.similarity.JaroWinklerDistance;
|
import org.apache.commons.text.similarity.JaroWinklerDistance;
|
||||||
|
|
||||||
class SelectionPanel extends JPanel
|
class SelectionPanel extends JPanel
|
||||||
@@ -289,7 +289,7 @@ class SelectionPanel extends JPanel
|
|||||||
materialTab.setVerticalAlignment(SwingConstants.CENTER);
|
materialTab.setVerticalAlignment(SwingConstants.CENTER);
|
||||||
materialTab.setPreferredSize(new Dimension(35, 35));
|
materialTab.setPreferredSize(new Dimension(35, 35));
|
||||||
};
|
};
|
||||||
image.onChanged(resize);
|
image.onLoaded(resize);
|
||||||
resize.run();
|
resize.run();
|
||||||
|
|
||||||
thisTabGroup.addTab(materialTab);
|
thisTabGroup.addTab(materialTab);
|
||||||
|
|||||||
+2
-2
@@ -38,10 +38,10 @@ import javax.swing.SwingConstants;
|
|||||||
import javax.swing.border.Border;
|
import javax.swing.border.Border;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.stonedtracker.data.UniqueItem;
|
import net.runelite.client.plugins.stonedtracker.data.UniqueItem;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.util.ImageUtil;
|
import net.runelite.client.util.ImageUtil;
|
||||||
import net.runelite.client.util.StackFormatter;
|
import net.runelite.client.util.StackFormatter;
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ class UniqueItemPanel extends JPanel
|
|||||||
|
|
||||||
// in case the image is blank we will refresh it upon load
|
// in case the image is blank we will refresh it upon load
|
||||||
// Should only trigger if image hasn't been added
|
// Should only trigger if image hasn't been added
|
||||||
image.onChanged(() ->
|
image.onLoaded(() ->
|
||||||
{
|
{
|
||||||
icon.setIcon(new ImageIcon(ImageUtil.alphaOffset(image, alpha)));
|
icon.setIcon(new ImageIcon(ImageUtil.alphaOffset(image, alpha)));
|
||||||
icon.revalidate();
|
icon.revalidate();
|
||||||
|
|||||||
+1
-1
@@ -42,10 +42,10 @@ import lombok.Getter;
|
|||||||
import net.runelite.api.ItemDefinition;
|
import net.runelite.api.ItemDefinition;
|
||||||
import static net.runelite.api.ItemID.*;
|
import static net.runelite.api.ItemID.*;
|
||||||
import net.runelite.api.util.Text;
|
import net.runelite.api.util.Text;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.ColorScheme;
|
import net.runelite.client.ui.ColorScheme;
|
||||||
import net.runelite.client.ui.FontManager;
|
import net.runelite.client.ui.FontManager;
|
||||||
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.util.StackFormatter;
|
import net.runelite.client.util.StackFormatter;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
|
|||||||
+2
-2
@@ -38,7 +38,7 @@ import javax.swing.JPanel;
|
|||||||
import javax.swing.JScrollPane;
|
import javax.swing.JScrollPane;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.border.EmptyBorder;
|
import javax.swing.border.EmptyBorder;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.plugins.timetracking.clocks.ClockManager;
|
import net.runelite.client.plugins.timetracking.clocks.ClockManager;
|
||||||
import net.runelite.client.plugins.timetracking.farming.FarmingTracker;
|
import net.runelite.client.plugins.timetracking.farming.FarmingTracker;
|
||||||
@@ -116,7 +116,7 @@ class TimeTrackingPanel extends PluginPanel
|
|||||||
BufferedImage subIcon = icon.getSubimage(0, 0, 32, 32);
|
BufferedImage subIcon = icon.getSubimage(0, 0, 32, 32);
|
||||||
materialTab.setIcon(new ImageIcon(subIcon.getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
|
materialTab.setIcon(new ImageIcon(subIcon.getScaledInstance(24, 24, Image.SCALE_SMOOTH)));
|
||||||
};
|
};
|
||||||
icon.onChanged(resize);
|
icon.onLoaded(resize);
|
||||||
resize.run();
|
resize.run();
|
||||||
|
|
||||||
materialTab.setOnSelectEvent(() ->
|
materialTab.setOnSelectEvent(() ->
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,6 @@ import java.awt.Graphics2D;
|
|||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
import javax.inject.Singleton;
|
import javax.inject.Singleton;
|
||||||
import net.runelite.api.ItemID;
|
import net.runelite.api.ItemID;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
|
||||||
import net.runelite.client.game.ItemManager;
|
import net.runelite.client.game.ItemManager;
|
||||||
import net.runelite.client.ui.overlay.Overlay;
|
import net.runelite.client.ui.overlay.Overlay;
|
||||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||||
@@ -24,6 +23,7 @@ import net.runelite.client.ui.overlay.OverlayPriority;
|
|||||||
import net.runelite.client.ui.overlay.components.ImageComponent;
|
import net.runelite.client.ui.overlay.components.ImageComponent;
|
||||||
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 net.runelite.client.util.AsyncBufferedImage;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
public class WhaleWatchersGloryOverlay extends Overlay
|
public class WhaleWatchersGloryOverlay extends Overlay
|
||||||
|
|||||||
+2
-2
@@ -224,11 +224,11 @@ public class XpTrackerPlugin extends Plugin
|
|||||||
fetchXp = true;
|
fetchXp = true;
|
||||||
lastWorldType = type;
|
lastWorldType = type;
|
||||||
resetState();
|
resetState();
|
||||||
// Must be set from hitting the LOGGING_IN case below
|
// Must be set from hitting the LOGGING_IN or HOPPING case below
|
||||||
assert initializeTracker;
|
assert initializeTracker;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (state == GameState.LOGGING_IN)
|
else if (state == GameState.LOGGING_IN || state == GameState.HOPPING)
|
||||||
{
|
{
|
||||||
initializeTracker = true;
|
initializeTracker = true;
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -39,7 +39,7 @@ import lombok.extern.slf4j.Slf4j;
|
|||||||
import net.runelite.api.events.ConfigChanged;
|
import net.runelite.api.events.ConfigChanged;
|
||||||
import net.runelite.client.config.RuneLiteConfig;
|
import net.runelite.client.config.RuneLiteConfig;
|
||||||
import net.runelite.client.eventbus.EventBus;
|
import net.runelite.client.eventbus.EventBus;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import net.runelite.client.plugins.PluginDescriptor;
|
import net.runelite.client.plugins.PluginDescriptor;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@@ -79,7 +79,7 @@ public class InfoBoxManager
|
|||||||
if (image instanceof AsyncBufferedImage)
|
if (image instanceof AsyncBufferedImage)
|
||||||
{
|
{
|
||||||
AsyncBufferedImage abi = (AsyncBufferedImage) image;
|
AsyncBufferedImage abi = (AsyncBufferedImage) image;
|
||||||
abi.onChanged(() -> updateInfoBoxImage(infoBox));
|
abi.onLoaded(() -> updateInfoBoxImage(infoBox));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+25
-8
@@ -23,11 +23,11 @@
|
|||||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package net.runelite.client.game;
|
package net.runelite.client.util;
|
||||||
|
|
||||||
import java.awt.image.BufferedImage;
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.concurrent.CopyOnWriteArrayList;
|
|
||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
@@ -35,7 +35,8 @@ import javax.swing.JLabel;
|
|||||||
|
|
||||||
public class AsyncBufferedImage extends BufferedImage
|
public class AsyncBufferedImage extends BufferedImage
|
||||||
{
|
{
|
||||||
private final List<Runnable> listeners = new CopyOnWriteArrayList<>();
|
private final List<Runnable> listeners = new ArrayList<>();
|
||||||
|
private boolean loaded;
|
||||||
|
|
||||||
public AsyncBufferedImage(int width, int height, int imageType)
|
public AsyncBufferedImage(int width, int height, int imageType)
|
||||||
{
|
{
|
||||||
@@ -43,21 +44,31 @@ public class AsyncBufferedImage extends BufferedImage
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Call when the buffer has been changed
|
* Call when the image has been loaded
|
||||||
*/
|
*/
|
||||||
public void changed()
|
public synchronized void loaded()
|
||||||
{
|
{
|
||||||
|
loaded = true;
|
||||||
for (Runnable r : listeners)
|
for (Runnable r : listeners)
|
||||||
{
|
{
|
||||||
r.run();
|
r.run();
|
||||||
}
|
}
|
||||||
|
listeners.clear();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Register a function to be ran when the buffer has changed
|
* Register a function to be ran when the image has been loaded.
|
||||||
|
* If the image is already loaded, the function will not be ran.
|
||||||
*/
|
*/
|
||||||
public void onChanged(Runnable r)
|
public synchronized void onLoaded(Runnable r)
|
||||||
{
|
{
|
||||||
|
if (loaded)
|
||||||
|
{
|
||||||
|
// If the image has already been loaded, further listeners will not fire. Do not
|
||||||
|
// queue them to avoid leaking listeners.
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
listeners.add(r);
|
listeners.add(r);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -79,7 +90,13 @@ public class AsyncBufferedImage extends BufferedImage
|
|||||||
|
|
||||||
private ImageIcon makeIcon(JComponent c)
|
private ImageIcon makeIcon(JComponent c)
|
||||||
{
|
{
|
||||||
listeners.add(c::repaint);
|
synchronized (this)
|
||||||
|
{
|
||||||
|
if (!loaded)
|
||||||
|
{
|
||||||
|
listeners.add(c::repaint);
|
||||||
|
}
|
||||||
|
}
|
||||||
return new ImageIcon(this);
|
return new ImageIcon(this);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1337,7 +1337,13 @@
|
|||||||
23179,
|
23179,
|
||||||
23180,
|
23180,
|
||||||
23181,
|
23181,
|
||||||
23182
|
23182,
|
||||||
|
23770,
|
||||||
|
23814,
|
||||||
|
23815,
|
||||||
|
23816,
|
||||||
|
23817,
|
||||||
|
24253
|
||||||
],
|
],
|
||||||
"radimus notes": [
|
"radimus notes": [
|
||||||
714,
|
714,
|
||||||
@@ -2266,6 +2272,10 @@
|
|||||||
1755,
|
1755,
|
||||||
5601
|
5601
|
||||||
],
|
],
|
||||||
|
"molten glass": [
|
||||||
|
1775,
|
||||||
|
24260
|
||||||
|
],
|
||||||
"woad leaf": [
|
"woad leaf": [
|
||||||
1793,
|
1793,
|
||||||
5738
|
5738
|
||||||
@@ -3301,10 +3311,6 @@
|
|||||||
3755,
|
3755,
|
||||||
20573
|
20573
|
||||||
],
|
],
|
||||||
"fremennik shield": [
|
|
||||||
3758,
|
|
||||||
10826
|
|
||||||
],
|
|
||||||
"saradomin page": [
|
"saradomin page": [
|
||||||
3827,
|
3827,
|
||||||
3828,
|
3828,
|
||||||
@@ -9534,5 +9540,17 @@
|
|||||||
24211,
|
24211,
|
||||||
24213,
|
24213,
|
||||||
24215
|
24215
|
||||||
|
],
|
||||||
|
"unsealed letter": [
|
||||||
|
24256,
|
||||||
|
24257
|
||||||
|
],
|
||||||
|
"v sigil": [
|
||||||
|
24258,
|
||||||
|
24259
|
||||||
|
],
|
||||||
|
"vs shield": [
|
||||||
|
24265,
|
||||||
|
24266
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
+25
-1
@@ -4125,5 +4125,29 @@
|
|||||||
"23528": 70,
|
"23528": 70,
|
||||||
"23839": 13000,
|
"23839": 13000,
|
||||||
"23865": 40,
|
"23865": 40,
|
||||||
"23879": 13000
|
"23879": 13000,
|
||||||
|
"23685": 2000,
|
||||||
|
"23688": 2000,
|
||||||
|
"23691": 2000,
|
||||||
|
"23694": 2000,
|
||||||
|
"23697": 2000,
|
||||||
|
"23700": 2000,
|
||||||
|
"23703": 2000,
|
||||||
|
"23706": 2000,
|
||||||
|
"23709": 2000,
|
||||||
|
"23712": 2000,
|
||||||
|
"23715": 2000,
|
||||||
|
"23718": 2000,
|
||||||
|
"23721": 2000,
|
||||||
|
"23724": 2000,
|
||||||
|
"23727": 2000,
|
||||||
|
"23730": 2000,
|
||||||
|
"23733": 2000,
|
||||||
|
"23736": 2000,
|
||||||
|
"23739": 2000,
|
||||||
|
"23742": 2000,
|
||||||
|
"23745": 2000,
|
||||||
|
"23748": 2000,
|
||||||
|
"23751": 2000,
|
||||||
|
"23754": 2000
|
||||||
}
|
}
|
||||||
|
|||||||
+6
@@ -313,6 +313,12 @@
|
|||||||
"name": "Jade Amulet (U)",
|
"name": "Jade Amulet (U)",
|
||||||
"xp": 70
|
"xp": 70
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 35,
|
||||||
|
"icon": 6235,
|
||||||
|
"name": "Broodoo shield",
|
||||||
|
"xp": 100
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 36,
|
"level": 36,
|
||||||
"icon": 5376,
|
"icon": 5376,
|
||||||
|
|||||||
+72
@@ -72,6 +72,18 @@
|
|||||||
"name": "Bronze Scimitar",
|
"name": "Bronze Scimitar",
|
||||||
"xp": 25
|
"xp": 25
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 5,
|
||||||
|
"icon": 11367,
|
||||||
|
"name": "Bronze Hasta",
|
||||||
|
"xp": 25
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 5,
|
||||||
|
"icon": 1237,
|
||||||
|
"name": "Bronze Spear",
|
||||||
|
"xp": 25
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 6,
|
"level": 6,
|
||||||
"icon": 19570,
|
"icon": 19570,
|
||||||
@@ -240,6 +252,18 @@
|
|||||||
"name": "Iron Scimitar",
|
"name": "Iron Scimitar",
|
||||||
"xp": 50
|
"xp": 50
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 20,
|
||||||
|
"icon": 11369,
|
||||||
|
"name": "Iron Hasta",
|
||||||
|
"xp": 50
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 20,
|
||||||
|
"icon": 1239,
|
||||||
|
"name": "Iron Spear",
|
||||||
|
"xp": 50
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 21,
|
"level": 21,
|
||||||
"icon": 1293,
|
"icon": 1293,
|
||||||
@@ -408,6 +432,18 @@
|
|||||||
"name": "Steel Arrowtips",
|
"name": "Steel Arrowtips",
|
||||||
"xp": 37.5
|
"xp": 37.5
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 35,
|
||||||
|
"icon": 11371,
|
||||||
|
"name": "Steel Hasta",
|
||||||
|
"xp": 75
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 35,
|
||||||
|
"icon": 1241,
|
||||||
|
"name": "Steel Spear",
|
||||||
|
"xp": 75
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 36,
|
"level": 36,
|
||||||
"icon": 9425,
|
"icon": 9425,
|
||||||
@@ -588,6 +624,18 @@
|
|||||||
"name": "Mithril Scimitar",
|
"name": "Mithril Scimitar",
|
||||||
"xp": 100
|
"xp": 100
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 55,
|
||||||
|
"icon": 11373,
|
||||||
|
"name": "Mithril Hasta",
|
||||||
|
"xp": 100
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 55,
|
||||||
|
"icon": 1243,
|
||||||
|
"name": "Mithril Spear",
|
||||||
|
"xp": 100
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 56,
|
"level": 56,
|
||||||
"icon": 1299,
|
"icon": 1299,
|
||||||
@@ -756,6 +804,18 @@
|
|||||||
"name": "Adamant Scimitar",
|
"name": "Adamant Scimitar",
|
||||||
"xp": 125
|
"xp": 125
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 75,
|
||||||
|
"icon": 11375,
|
||||||
|
"name": "Adamant Hasta",
|
||||||
|
"xp": 125
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 75,
|
||||||
|
"icon": 1245,
|
||||||
|
"name": "Adamant Spear",
|
||||||
|
"xp": 125
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 76,
|
"level": 76,
|
||||||
"icon": 9429,
|
"icon": 9429,
|
||||||
@@ -912,6 +972,18 @@
|
|||||||
"name": "Rune Scimitar",
|
"name": "Rune Scimitar",
|
||||||
"xp": 150
|
"xp": 150
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"level": 90,
|
||||||
|
"icon": 11377,
|
||||||
|
"name": "Rune Hasta",
|
||||||
|
"xp": 150
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"level": 90,
|
||||||
|
"icon": 1247,
|
||||||
|
"name": "Rune Spear",
|
||||||
|
"xp": 150
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"level": 90,
|
"level": 90,
|
||||||
"icon": 11283,
|
"icon": 11283,
|
||||||
|
|||||||
+1
-1
@@ -28,7 +28,7 @@ package net.runelite.client.plugins.grandexchange;
|
|||||||
import net.runelite.api.GrandExchangeOffer;
|
import net.runelite.api.GrandExchangeOffer;
|
||||||
import net.runelite.api.GrandExchangeOfferState;
|
import net.runelite.api.GrandExchangeOfferState;
|
||||||
import net.runelite.api.ItemDefinition;
|
import net.runelite.api.ItemDefinition;
|
||||||
import net.runelite.client.game.AsyncBufferedImage;
|
import net.runelite.client.util.AsyncBufferedImage;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
import org.junit.runner.RunWith;
|
import org.junit.runner.RunWith;
|
||||||
import org.mockito.Mock;
|
import org.mockito.Mock;
|
||||||
|
|||||||
Reference in New Issue
Block a user