Merge remote-tracking branch 'runelite/master'

This commit is contained in:
Owain van Brakel
2022-01-28 19:26:38 +01:00
6 changed files with 126 additions and 3 deletions

View File

@@ -56,4 +56,11 @@ public interface Animation
* whether this Animation frame has any alpha/transparency animation.
*/
boolean isShowing();
/**
* Get the id for this animation
* @see AnimationID
* @return
*/
int getId();
}

View File

@@ -2,6 +2,12 @@ package net.runelite.api;
public interface DynamicObject extends Renderable
{
/**
* Get the animation applied to the object
* @return
*/
Animation getAnimation();
int getAnimationID();
/**

View File

@@ -38,9 +38,11 @@ import java.util.List;
import java.util.Set;
import javax.inject.Inject;
import javax.inject.Singleton;
import net.runelite.api.Animation;
import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.DecorativeObject;
import net.runelite.api.DynamicObject;
import net.runelite.api.GameObject;
import net.runelite.api.GraphicsObject;
import net.runelite.api.ItemLayer;
@@ -355,7 +357,21 @@ class DevToolsOverlay extends Overlay
{
if (gameObject != null && gameObject.getSceneMinLocation().equals(tile.getSceneLocation()))
{
renderTileObject(graphics, gameObject, player, GREEN);
if (player.getLocalLocation().distanceTo(gameObject.getLocalLocation()) <= MAX_DISTANCE)
{
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.append("ID: ").append(gameObject.getId());
if (gameObject.getRenderable() instanceof DynamicObject)
{
Animation animation = ((DynamicObject) gameObject.getRenderable()).getAnimation();
if (animation != null)
{
stringBuilder.append(" A: ").append(animation.getId());
}
}
OverlayUtil.renderTileOverlay(graphics, gameObject, stringBuilder.toString(), GREEN);
}
}
}
}

View File

@@ -72,6 +72,7 @@ public class DpsCounterPlugin extends Plugin
CORPOREAL_BEAST,
CRAZY_ARCHAEOLOGIST,
CRYSTALLINE_HUNLLEF, CRYSTALLINE_HUNLLEF_9022, CRYSTALLINE_HUNLLEF_9023, CRYSTALLINE_HUNLLEF_9024,
CORRUPTED_HUNLLEF, CORRUPTED_HUNLLEF_9036, CORRUPTED_HUNLLEF_9037, CORRUPTED_HUNLLEF_9038,
DAGANNOTH_SUPREME, DAGANNOTH_PRIME, DAGANNOTH_REX, DAGANNOTH_SUPREME_6496, DAGANNOTH_PRIME_6497, DAGANNOTH_REX_6498,
DUSK, DAWN, DUSK_7851, DAWN_7852, DAWN_7853, DUSK_7854, DUSK_7855,
GENERAL_GRAARDOR, GENERAL_GRAARDOR_6494,

View File

@@ -427,7 +427,76 @@ enum ItemIdentification
ZUL_ANDRA_TELEPORT(Type.SCROLL, "Zul-andra", "ZUL", ItemID.ZULANDRA_TELEPORT),
KEY_MASTER_TELEPORT(Type.SCROLL, "Key master", "KEY", ItemID.KEY_MASTER_TELEPORT),
REVENANT_CAVE_TELEPORT(Type.SCROLL, "Rev cave", "REV", ItemID.REVENANT_CAVE_TELEPORT),
WATSON_TELEPORT(Type.SCROLL, "Watson", "WATS", ItemID.WATSON_TELEPORT);
WATSON_TELEPORT(Type.SCROLL, "Watson", "WATS", ItemID.WATSON_TELEPORT),
// Jewellery
OPAL_JEWELLERY(Type.JEWELLERY, "Opal", "OP", ItemID.OPAL_RING, ItemID.OPAL_NECKLACE, ItemID.OPAL_BRACELET, ItemID.OPAL_AMULET_U, ItemID.OPAL_AMULET),
JADE_JEWELLERY(Type.JEWELLERY, "Jade", "J", ItemID.JADE_RING, ItemID.JADE_NECKLACE, ItemID.JADE_BRACELET, ItemID.JADE_AMULET_U, ItemID.JADE_AMULET),
TOPAZ_JEWELLERY(Type.JEWELLERY, "Topaz", "T", ItemID.TOPAZ_RING, ItemID.TOPAZ_NECKLACE, ItemID.TOPAZ_BRACELET, ItemID.TOPAZ_AMULET_U, ItemID.TOPAZ_AMULET),
GOLD_JEWELLERY(Type.JEWELLERY, "Gold", "GOL", ItemID.GOLD_RING, ItemID.GOLD_NECKLACE, ItemID.GOLD_BRACELET, ItemID.GOLD_AMULET_U, ItemID.GOLD_AMULET),
SAPPHIRE_JEWELLERY(Type.JEWELLERY, "Sapphir", "S", ItemID.SAPPHIRE_RING, ItemID.SAPPHIRE_NECKLACE, ItemID.SAPPHIRE_BRACELET, ItemID.SAPPHIRE_AMULET_U, ItemID.SAPPHIRE_AMULET),
EMERALD_JEWELLERY(Type.JEWELLERY, "Emerald", "E", ItemID.EMERALD_RING, ItemID.EMERALD_NECKLACE, ItemID.EMERALD_BRACELET, ItemID.EMERALD_AMULET_U, ItemID.EMERALD_AMULET),
RUBY_JEWELLERY(Type.JEWELLERY, "Ruby", "R", ItemID.RUBY_RING, ItemID.RUBY_NECKLACE, ItemID.RUBY_BRACELET, ItemID.RUBY_AMULET_U, ItemID.RUBY_AMULET),
DIAMOND_JEWELLERY(Type.JEWELLERY, "Diamon", "DI", ItemID.DIAMOND_RING, ItemID.DIAMOND_NECKLACE, ItemID.DIAMOND_BRACELET, ItemID.DIAMOND_AMULET_U, ItemID.DIAMOND_AMULET),
DRAGONSTONE_JEWELLERY(Type.JEWELLERY, "Dragon", "DR", ItemID.DRAGONSTONE_RING, ItemID.DRAGON_NECKLACE, ItemID.DRAGONSTONE_BRACELET, ItemID.DRAGONSTONE_AMULET_U, ItemID.DRAGONSTONE_AMULET),
ONYX_JEWELLERY(Type.JEWELLERY, "Onyx", "ON", ItemID.ONYX_RING, ItemID.ONYX_NECKLACE, ItemID.ONYX_BRACELET, ItemID.ONYX_AMULET_U, ItemID.ONYX_AMULET),
ZENYTE_JEWELLERY(Type.JEWELLERY, "Zenyte", "Z", ItemID.ZENYTE_RING, ItemID.ZENYTE_NECKLACE, ItemID.ZENYTE_BRACELET, ItemID.ZENYTE_AMULET_U, ItemID.ZENYTE_AMULET),
// Enchanted Jewellery
RING_OF_PURSUIT(Type.JEWELLERY_ENCHANTED, "Pursuit", "PUR", ItemID.RING_OF_PURSUIT),
DODGY_NECKLACE(Type.JEWELLERY_ENCHANTED, "Dodgy", "DOD", ItemID.DODGY_NECKLACE),
EXPEDITIOUS_BRACELET(Type.JEWELLERY_ENCHANTED, "Exped", "EXP", ItemID.EXPEDITIOUS_BRACELET),
AMULET_OF_BOUNTY(Type.JEWELLERY_ENCHANTED, "Bounty", "BOU", ItemID.AMULET_OF_BOUNTY),
RING_OF_RETURNING(Type.JEWELLERY_ENCHANTED, "Return", "RET", ItemID.RING_OF_RETURNING1, ItemID.RING_OF_RETURNING2, ItemID.RING_OF_RETURNING3, ItemID.RING_OF_RETURNING4, ItemID.RING_OF_RETURNING5),
NECKLACE_OF_PASSAGE(Type.JEWELLERY_ENCHANTED, "Passage", "PASS", ItemID.NECKLACE_OF_PASSAGE1, ItemID.NECKLACE_OF_PASSAGE2, ItemID.NECKLACE_OF_PASSAGE3, ItemID.NECKLACE_OF_PASSAGE4, ItemID.NECKLACE_OF_PASSAGE5),
FLAMTAER_BRACELET(Type.JEWELLERY_ENCHANTED, "Flamta", "FLA", ItemID.FLAMTAER_BRACELET),
AMULET_OF_CHEMISTRY(Type.JEWELLERY_ENCHANTED, "Chem", "CH", ItemID.AMULET_OF_CHEMISTRY),
EFARITAYS_AID(Type.JEWELLERY_ENCHANTED, "Efarit", "EFA", ItemID.EFARITAYS_AID),
NECKLACE_OF_FAITH(Type.JEWELLERY_ENCHANTED, "Faith", "FAI", ItemID.NECKLACE_OF_FAITH),
BRACELET_OF_SLAUGHTER(Type.JEWELLERY_ENCHANTED, "Slaught", "SLA", ItemID.BRACELET_OF_SLAUGHTER),
BURNING_AMULET(Type.JEWELLERY_ENCHANTED, "Burning", "BUR", ItemID.BURNING_AMULET1, ItemID.BURNING_AMULET2, ItemID.BURNING_AMULET3, ItemID.BURNING_AMULET4, ItemID.BURNING_AMULET5),
RING_OF_RECOIL(Type.JEWELLERY_ENCHANTED, "Recoil", "REC", ItemID.RING_OF_RECOIL),
GAMES_NECKLACE(Type.JEWELLERY_ENCHANTED, "Games", "GAME", ItemID.GAMES_NECKLACE1, ItemID.GAMES_NECKLACE2, ItemID.GAMES_NECKLACE3, ItemID.GAMES_NECKLACE4, ItemID.GAMES_NECKLACE5, ItemID.GAMES_NECKLACE6, ItemID.GAMES_NECKLACE7, ItemID.GAMES_NECKLACE8),
BRACELET_OF_CLAY(Type.JEWELLERY_ENCHANTED, "Clay", "CLA", ItemID.BRACELET_OF_CLAY),
AMULET_OF_MAGIC(Type.JEWELLERY_ENCHANTED, "Magic", "MAG", ItemID.AMULET_OF_MAGIC),
RING_OF_DUELING(Type.JEWELLERY_ENCHANTED, "Duel", "DU", ItemID.RING_OF_DUELING1, ItemID.RING_OF_DUELING2, ItemID.RING_OF_DUELING3, ItemID.RING_OF_DUELING4, ItemID.RING_OF_DUELING5, ItemID.RING_OF_DUELING6, ItemID.RING_OF_DUELING7, ItemID.RING_OF_DUELING8),
BINDING_NECKLACE(Type.JEWELLERY_ENCHANTED, "Binding", "BIND", ItemID.BINDING_NECKLACE),
CASTLE_WARS_BRACELET(Type.JEWELLERY_ENCHANTED, "Castle", "CAS", ItemID.CASTLE_WARS_BRACELET1, ItemID.CASTLE_WARS_BRACELET2, ItemID.CASTLE_WARS_BRACELET3),
AMULET_OF_DEFENCE(Type.JEWELLERY_ENCHANTED, "Defence", "DEF", ItemID.AMULET_OF_DEFENCE),
AMULET_OF_NATURE(Type.JEWELLERY_ENCHANTED, "Nature", "NAT", ItemID.AMULET_OF_NATURE),
RING_OF_FORGING(Type.JEWELLERY_ENCHANTED, "Forging", "FOR", ItemID.RING_OF_FORGING),
DIGSITE_PENDANT(Type.JEWELLERY_ENCHANTED, "Digsite", "DIG", ItemID.DIGSITE_PENDANT_1, ItemID.DIGSITE_PENDANT_2, ItemID.DIGSITE_PENDANT_3, ItemID.DIGSITE_PENDANT_4, ItemID.DIGSITE_PENDANT_5),
INOCULATION_BRACELET(Type.JEWELLERY_ENCHANTED, "Inocul", "INO", ItemID.INOCULATION_BRACELET),
AMULET_OF_STRENGTH(Type.JEWELLERY_ENCHANTED, "Strengt", "STR", ItemID.AMULET_OF_STRENGTH),
RING_OF_LIFE(Type.JEWELLERY_ENCHANTED, "Life", "LI", ItemID.RING_OF_LIFE),
PHOENIX_NECKLACE(Type.JEWELLERY_ENCHANTED, "Phoenix", "PHO", ItemID.PHOENIX_NECKLACE),
ABYSSAL_BRACELET(Type.JEWELLERY_ENCHANTED, "Abyss", "ABY", ItemID.ABYSSAL_BRACELET1, ItemID.ABYSSAL_BRACELET2, ItemID.ABYSSAL_BRACELET3, ItemID.ABYSSAL_BRACELET4, ItemID.ABYSSAL_BRACELET5),
AMULET_OF_POWER(Type.JEWELLERY_ENCHANTED, "Power", "POW", ItemID.AMULET_OF_POWER),
RING_OF_WEALTH(Type.JEWELLERY_ENCHANTED, "Wealth", "WE", ItemID.RING_OF_WEALTH, ItemID.RING_OF_WEALTH_1, ItemID.RING_OF_WEALTH_2, ItemID.RING_OF_WEALTH_3, ItemID.RING_OF_WEALTH_4, ItemID.RING_OF_WEALTH_5),
SKILLS_NECKLACE(Type.JEWELLERY_ENCHANTED, "Skill", "SK", ItemID.SKILLS_NECKLACE, ItemID.SKILLS_NECKLACE1, ItemID.SKILLS_NECKLACE2, ItemID.SKILLS_NECKLACE3, ItemID.SKILLS_NECKLACE4, ItemID.SKILLS_NECKLACE5, ItemID.SKILLS_NECKLACE6),
COMBAT_BRACELET(Type.JEWELLERY_ENCHANTED, "Combat", "COM", ItemID.COMBAT_BRACELET, ItemID.COMBAT_BRACELET1, ItemID.COMBAT_BRACELET2, ItemID.COMBAT_BRACELET3, ItemID.COMBAT_BRACELET4, ItemID.COMBAT_BRACELET5, ItemID.COMBAT_BRACELET6),
AMULET_OF_GLORY(Type.JEWELLERY_ENCHANTED, "Glory", "GLO", ItemID.AMULET_OF_GLORY, ItemID.AMULET_OF_GLORY1, ItemID.AMULET_OF_GLORY2, ItemID.AMULET_OF_GLORY3, ItemID.AMULET_OF_GLORY4, ItemID.AMULET_OF_GLORY5, ItemID.AMULET_OF_GLORY6, ItemID.AMULET_OF_ETERNAL_GLORY),
RING_OF_STONE(Type.JEWELLERY_ENCHANTED, "Stone", "STO", ItemID.RING_OF_STONE),
BERSERKER_NECKLACE(Type.JEWELLERY_ENCHANTED, "Berserk", "BER", ItemID.BERSERKER_NECKLACE),
REGEN_BRACELET(Type.JEWELLERY_ENCHANTED, "Regen", "REG", ItemID.REGEN_BRACELET),
AMULET_OF_FURY(Type.JEWELLERY_ENCHANTED, "Fury", "FU", ItemID.AMULET_OF_FURY),
RING_OF_SUFFERING(Type.JEWELLERY_ENCHANTED, "Suffer", "SUF", ItemID.RING_OF_SUFFERING),
NECKLACE_OF_ANGUISH(Type.JEWELLERY_ENCHANTED, "Anguish", "ANG", ItemID.NECKLACE_OF_ANGUISH),
TORMENTED_BRACELET(Type.JEWELLERY_ENCHANTED, "Torment", "TOR", ItemID.TORMENTED_BRACELET),
AMULET_OF_TORTURE(Type.JEWELLERY_ENCHANTED, "Torture", "TOR", ItemID.AMULET_OF_TORTURE),
OCCULT_NECKLACE(Type.JEWELLERY_ENCHANTED, "Occult", "OCC", ItemID.OCCULT_NECKLACE),
DRAGONBONE_NECKLACE(Type.JEWELLERY_ENCHANTED, "Dragon", "DRA", ItemID.DRAGONBONE_NECKLACE),
SLAYER_RING(Type.JEWELLERY_ENCHANTED, "Slayer", "SLA", ItemID.SLAYER_RING_1, ItemID.SLAYER_RING_2, ItemID.SLAYER_RING_3, ItemID.SLAYER_RING_4, ItemID.SLAYER_RING_5, ItemID.SLAYER_RING_6, ItemID.SLAYER_RING_7, ItemID.SLAYER_RING_8, ItemID.SLAYER_RING_ETERNAL);
final Type type;
final String medName;
@@ -488,7 +557,9 @@ enum ItemIdentification
POTION(ItemIdentificationConfig::showPotions),
IMPLING_JAR(ItemIdentificationConfig::showImplingJars),
TABLET(ItemIdentificationConfig::showTablets),
SCROLL(ItemIdentificationConfig::showTeleportScrolls);
SCROLL(ItemIdentificationConfig::showTeleportScrolls),
JEWELLERY(ItemIdentificationConfig::showJewellery),
JEWELLERY_ENCHANTED(ItemIdentificationConfig::showEnchantedJewellery);
final Predicate<ItemIdentificationConfig> enabled;
}

View File

@@ -303,4 +303,26 @@ public interface ItemIdentificationConfig extends Config
{
return false;
}
@ConfigItem(
keyName = "showJewellery",
name = "Jewellery (Unenchanted)",
description = "Show identification on unenchanted jewellery",
section = identificationSection
)
default boolean showJewellery()
{
return false;
}
@ConfigItem(
keyName = "showEnchantedJewellery",
name = "Jewellery (Enchanted)",
description = "Show identification on enchanted jewellery",
section = identificationSection
)
default boolean showEnchantedJewellery()
{
return false;
}
}