Port Injector to main layout

Adds deobfuscator
Adds injected-client
Adds injector-plugin
Adds runescape-client

Replaces RL's apis

Small bug with sprites atm, will be resolved soon. tired af.

Builds, probably
This commit is contained in:
zeruth
2019-06-08 05:43:03 -04:00
parent eafb024f16
commit e4d6e9fe13
1111 changed files with 135441 additions and 44733 deletions

View File

@@ -47,7 +47,7 @@ import net.runelite.api.Client;
import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM;
import static net.runelite.api.Constants.HIGH_ALCHEMY_CONSTANT;
import net.runelite.api.GameState;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.AGILITY_CAPE;
import static net.runelite.api.ItemID.AGILITY_CAPET;
@@ -159,9 +159,9 @@ import static net.runelite.api.ItemID.SPOTTED_CAPE;
import static net.runelite.api.ItemID.SPOTTED_CAPE_10073;
import static net.runelite.api.ItemID.SPOTTIER_CAPE;
import static net.runelite.api.ItemID.SPOTTIER_CAPE_10074;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.PostItemComposition;
import net.runelite.api.events.PostItemDefinition;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.http.api.item.ItemClient;
@@ -196,7 +196,7 @@ public class ItemManager
private Map<Integer, ItemPrice> itemPrices = Collections.emptyMap();
private Map<Integer, ItemStats> itemStats = Collections.emptyMap();
private final LoadingCache<ImageKey, AsyncBufferedImage> itemImages;
private final LoadingCache<Integer, ItemComposition> itemCompositions;
private final LoadingCache<Integer, ItemDefinition> ItemDefinitions;
private final LoadingCache<OutlineKey, BufferedImage> itemOutlines;
// Worn items with weight reducing property have a different worn and inventory ItemID
@@ -284,13 +284,13 @@ public class ItemManager
}
});
itemCompositions = CacheBuilder.newBuilder()
ItemDefinitions = CacheBuilder.newBuilder()
.maximumSize(1024L)
.expireAfterAccess(1, TimeUnit.HOURS)
.build(new CacheLoader<Integer, ItemComposition>()
.build(new CacheLoader<Integer, ItemDefinition>()
{
@Override
public ItemComposition load(Integer key) throws Exception
public ItemDefinition load(Integer key) throws Exception
{
return client.getItemDefinition(key);
}
@@ -356,24 +356,24 @@ public class ItemManager
{
if (event.getGameState() == GameState.HOPPING || event.getGameState() == GameState.LOGIN_SCREEN)
{
itemCompositions.invalidateAll();
ItemDefinitions.invalidateAll();
}
}
@Subscribe
public void onPostItemComposition(PostItemComposition event)
public void onPostItemDefinition(PostItemDefinition event)
{
itemCompositions.put(event.getItemComposition().getId(), event.getItemComposition());
ItemDefinitions.put(event.getItemDefinition().getId(), event.getItemDefinition());
}
/**
* Invalidates internal item manager item composition cache (but not client item composition cache)
*
* @see Client#getItemCompositionCache()
* @see Client#getItemDefinitionCache()
*/
public void invalidateItemCompositionCache()
public void invalidateItemDefinitionCache()
{
itemCompositions.invalidateAll();
ItemDefinitions.invalidateAll();
}
/**
@@ -412,7 +412,7 @@ public class ItemManager
return price;
}
public int getAlchValue(ItemComposition composition)
public int getAlchValue(ItemDefinition composition)
{
if (composition.getId() == ItemID.COINS_995)
{
@@ -437,7 +437,7 @@ public class ItemManager
return 1000;
}
return (int) Math.max(1, getItemComposition(itemID).getPrice() * HIGH_ALCHEMY_CONSTANT);
return (int) Math.max(1, getItemDefinition(itemID).getPrice() * HIGH_ALCHEMY_CONSTANT);
}
/**
@@ -449,9 +449,9 @@ public class ItemManager
@Nullable
public ItemStats getItemStats(int itemId, boolean allowNote)
{
ItemComposition itemComposition = getItemComposition(itemId);
ItemDefinition ItemDefinition = getItemDefinition(itemId);
if (itemComposition == null || itemComposition.getName() == null || (!allowNote && itemComposition.getNote() != -1))
if (ItemDefinition == null || ItemDefinition.getName() == null || (!allowNote && ItemDefinition.getNote() != -1))
{
return null;
}
@@ -487,10 +487,10 @@ public class ItemManager
* @param itemId item id
* @return item composition
*/
public ItemComposition getItemComposition(int itemId)
public ItemDefinition getItemDefinition(int itemId)
{
assert client.isClientThread() : "getItemComposition must be called on client thread";
return itemCompositions.getUnchecked(itemId);
assert client.isClientThread() : "getItemDefinition must be called on client thread";
return ItemDefinitions.getUnchecked(itemId);
}
/**
@@ -498,16 +498,16 @@ public class ItemManager
*/
public int canonicalize(int itemID)
{
ItemComposition itemComposition = getItemComposition(itemID);
ItemDefinition ItemDefinition = getItemDefinition(itemID);
if (itemComposition.getNote() != -1)
if (ItemDefinition.getNote() != -1)
{
return itemComposition.getLinkedNoteId();
return ItemDefinition.getLinkedNoteId();
}
if (itemComposition.getPlaceholderTemplateId() != -1)
if (ItemDefinition.getPlaceholderTemplateId() != -1)
{
return itemComposition.getPlaceholderId();
return ItemDefinition.getPlaceholderId();
}
return WORN_ITEMS.getOrDefault(itemID, itemID);
@@ -528,7 +528,7 @@ public class ItemManager
{
return false;
}
SpritePixels sprite = client.createItemSprite(itemId, quantity, 1, SpritePixels.DEFAULT_SHADOW_COLOR,
Sprite sprite = client.createItemSprite(itemId, quantity, 1, Sprite.DEFAULT_SHADOW_COLOR,
stackable ? 1 : 0, false, CLIENT_DEFAULT_ZOOM);
if (sprite == null)
{
@@ -589,7 +589,7 @@ public class ItemManager
*/
private BufferedImage loadItemOutline(final int itemId, final int itemQuantity, final Color outlineColor)
{
final SpritePixels itemSprite = client.createItemSprite(itemId, itemQuantity, 1, 0, 0, true, 710);
final Sprite itemSprite = client.createItemSprite(itemId, itemQuantity, 1, 0, 0, true, 710);
return itemSprite.toBufferedOutline(outlineColor);
}

View File

@@ -237,7 +237,7 @@ public class LootManager
final int x = location.getSceneX();
final int y = location.getSceneY();
final int size = npc.getComposition().getSize();
final int size = npc.getDefinition().getSize();
// Some NPCs drop items onto multiple tiles
final List<ItemStack> allItems = new ArrayList<>();

View File

@@ -40,7 +40,7 @@ import javax.swing.SwingUtilities;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.util.ImageUtil;
@@ -75,7 +75,7 @@ public class SpriteManager
return cached;
}
SpritePixels[] sp = client.getSprites(client.getIndexSprites(), archive, 0);
Sprite[] sp = client.getSprites(client.getIndexSprites(), archive, 0);
BufferedImage img = sp[file].toBufferedImage();
cache.put(key, img);
@@ -141,12 +141,12 @@ public class SpriteManager
clientThread.invokeLater(() ->
{
Map<Integer, SpritePixels> overrides = client.getSpriteOverrides();
Map<Integer, Sprite> overrides = client.getSpriteOverrides();
Class<?> owner = add[0].getClass();
for (SpriteOverride o : add)
{
BufferedImage image = ImageUtil.getResourceStreamFromClass(owner, o.getFileName());
SpritePixels sp = ImageUtil.getImageSpritePixels(image, client);
Sprite sp = ImageUtil.getImageSprite(image, client);
overrides.put(o.getSpriteId(), sp);
}
});
@@ -156,7 +156,7 @@ public class SpriteManager
{
clientThread.invokeLater(() ->
{
Map<Integer, SpritePixels> overrides = client.getSpriteOverrides();
Map<Integer, Sprite> overrides = client.getSpriteOverrides();
for (SpriteOverride o : remove)
{
overrides.remove(o.getSpriteId());

View File

@@ -37,7 +37,7 @@ import net.runelite.api.Client;
import net.runelite.api.MainBufferProvider;
import net.runelite.api.Model;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Player;
import net.runelite.api.coords.LocalPoint;
@@ -934,7 +934,7 @@ public class ModelOutlineRenderer
Color innerColor, Color outerColor)
{
int size = 1;
NPCComposition composition = npc.getTransformedComposition();
NPCDefinition composition = npc.getTransformedDefinition();
if (composition != null)
{
size = composition.getSize();

View File

@@ -45,8 +45,8 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.NPCComposition;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.MenuOptionClicked;
import net.runelite.api.events.NpcActionChanged;
@@ -291,14 +291,14 @@ public class MenuManager
return false;
}
ObjectComposition oc = client.getObjectDefinition(objectID);
ObjectDefinition oc = client.getObjectDefinition(objectID);
if (oc == null)
{
return false;
}
ObjectComposition impostor = oc.getImpostorIds() != null ? oc.getImpostor() : null;
ObjectDefinition impostor = oc.getImpostorIds() != null ? oc.getImpostor() : null;
if (impostor != null)
{
@@ -390,14 +390,14 @@ public class MenuManager
@Subscribe
public void onNpcActionChanged(NpcActionChanged event)
{
NPCComposition composition = event.getNpcComposition();
NPCDefinition composition = event.getNpcDefinition();
for (String npcOption : npcMenuOptions)
{
addNpcOption(composition, npcOption);
}
}
private void addNpcOption(NPCComposition composition, String npcOption)
private void addNpcOption(NPCDefinition composition, String npcOption)
{
String[] actions = composition.getActions();
int unused = -1;
@@ -419,7 +419,7 @@ public class MenuManager
actions[unused] = npcOption;
}
private void removeNpcOption(NPCComposition composition, String npcOption)
private void removeNpcOption(NPCDefinition composition, String npcOption)
{
String[] actions = composition.getActions();

View File

@@ -30,7 +30,7 @@ import net.runelite.api.Client;
import net.runelite.api.EquipmentInventorySlot;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.events.ItemContainerChanged;
import net.runelite.client.callback.ClientThread;
@@ -100,7 +100,7 @@ public class AmmoPlugin extends Plugin
if (items.length > EquipmentInventorySlot.WEAPON.getSlotIdx())
{
final Item weapon = items[EquipmentInventorySlot.WEAPON.getSlotIdx()];
final ItemComposition weaponComp = itemManager.getItemComposition(weapon.getId());
final ItemDefinition weaponComp = itemManager.getItemDefinition(weapon.getId());
if (weaponComp.isStackable())
{
updateInfobox(weapon, weaponComp);
@@ -115,7 +115,7 @@ public class AmmoPlugin extends Plugin
}
final Item ammo = items[EquipmentInventorySlot.AMMO.getSlotIdx()];
final ItemComposition comp = itemManager.getItemComposition(ammo.getId());
final ItemDefinition comp = itemManager.getItemDefinition(ammo.getId());
if (!comp.isStackable())
{
@@ -126,7 +126,7 @@ public class AmmoPlugin extends Plugin
updateInfobox(ammo, comp);
}
private void updateInfobox(final Item item, final ItemComposition comp)
private void updateInfobox(final Item item, final ItemDefinition comp)
{
if (counterBox != null && counterBox.getItemID() == item.getId())
{

View File

@@ -39,7 +39,7 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
@@ -211,7 +211,7 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
}
// not a placeholder
else if (itemManager.getItemComposition(itemId).getPlaceholderTemplateId() == -1)
else if (itemManager.getItemDefinition(itemId).getPlaceholderTemplateId() == -1)
{
// return true
intStack[intStackSize - 2] = 1;
@@ -344,8 +344,8 @@ public class BankTagsPlugin extends Plugin implements MouseWheelListener, KeyLis
}
int itemId = item.getId();
ItemComposition itemComposition = itemManager.getItemComposition(itemId);
String name = itemComposition.getName();
ItemDefinition ItemDefinition = itemManager.getItemDefinition(itemId);
String name = ItemDefinition.getName();
// Get both tags and vartags and append * to end of vartags name
Collection<String> tags = tagManager.getTags(itemId, false);

View File

@@ -52,7 +52,7 @@ import lombok.Getter;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
@@ -577,7 +577,7 @@ public class TabInterface
{
if (event.getMenuOption().startsWith(CHANGE_ICON + " ("))
{
ItemComposition item = getItem(event.getActionParam());
ItemDefinition item = getItem(event.getActionParam());
int itemId = itemManager.canonicalize(item.getId());
iconToSet.setIconItemId(itemId);
iconToSet.getIcon().setItemId(itemId);
@@ -611,7 +611,7 @@ public class TabInterface
{
// Add "remove" menu entry to all items in bank while tab is selected
event.consume();
final ItemComposition item = getItem(event.getActionParam());
final ItemDefinition item = getItem(event.getActionParam());
final int itemId = item.getId();
tagManager.removeTag(itemId, activeTab.getTag());
bankSearch.search(InputType.SEARCH, TAG_SEARCH + activeTab.getTag(), true);
@@ -1000,11 +1000,11 @@ public class TabInterface
}
private ItemComposition getItem(int idx)
private ItemDefinition getItem(int idx)
{
ItemContainer bankContainer = client.getItemContainer(InventoryID.BANK);
Item item = bankContainer.getItems()[idx];
return itemManager.getItemComposition(item.getId());
return itemManager.getItemDefinition(item.getId());
}
private void openTag(final String tag)

View File

@@ -33,8 +33,9 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameObject;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Player;
import net.runelite.api.WallObject;
@@ -78,7 +79,7 @@ class BarrowsOverlay extends Overlay
final List<NPC> npcs = client.getNpcs();
for (NPC npc : npcs)
{
final NPCComposition composition = npc.getComposition();
final NPCDefinition composition = npc.getDefinition();
if (composition != null && !composition.isMinimapVisible())
{
@@ -163,8 +164,8 @@ class BarrowsOverlay extends Overlay
return;
}
ObjectComposition objectComp = client.getObjectDefinition(wall.getId());
ObjectComposition impostor = objectComp.getImpostorIds() != null ? objectComp.getImpostor() : null;
ObjectDefinition objectComp = client.getObjectDefinition(wall.getId());
ObjectDefinition impostor = objectComp.getImpostorIds() != null ? objectComp.getImpostor() : null;
if (impostor != null && impostor.getActions()[0] != null)
{
@@ -199,7 +200,7 @@ class BarrowsOverlay extends Overlay
return;
}
ObjectComposition objectComp = client.getObjectDefinition(ladder.getId());
ObjectDefinition objectComp = client.getObjectDefinition(ladder.getId());
if (objectComp.getImpostorIds() != null && objectComp.getImpostor() != null)
{

View File

@@ -25,6 +25,7 @@
*/
package net.runelite.client.plugins.chatcommands;
import api.vars.AccountType;
import com.google.inject.Provides;
import java.io.IOException;
import java.util.List;
@@ -38,7 +39,7 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.Experience;
import net.runelite.api.IconID;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.MessageNode;
import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits;
@@ -46,7 +47,6 @@ import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetLoaded;
import net.runelite.api.vars.AccountType;
import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID;
import net.runelite.api.widgets.WidgetInfo;
@@ -700,7 +700,7 @@ public class ChatCommandsPlugin extends Plugin
builder.append(ChatColorType.HIGHLIGHT);
builder.append(StackFormatter.formatNumber(osbresult.getOverall_average()));
ItemComposition itemComposition = itemManager.getItemComposition(itemId);
ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
if (itemComposition != null)
{
int alchPrice = itemManager.getAlchValue(itemId);

View File

@@ -47,10 +47,11 @@ import net.runelite.api.GameObject;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemID;
import net.runelite.api.NPC;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.Point;
import net.runelite.api.Scene;
import net.runelite.api.ScriptID;
@@ -227,7 +228,7 @@ public class ClueScrollPlugin extends Plugin
{
if (event.getMenuOption() != null && event.getMenuOption().equals("Read"))
{
final ItemComposition itemComposition = itemManager.getItemComposition(event.getId());
final ItemDefinition itemComposition = itemManager.getItemDefinition(event.getId());
if (itemComposition != null && itemComposition.getName().startsWith("Clue scroll"))
{
@@ -652,8 +653,8 @@ public class ClueScrollPlugin extends Plugin
}
// Check impostors
final ObjectComposition comp = client.getObjectDefinition(object.getId());
final ObjectComposition impostor = comp.getImpostorIds() != null ? comp.getImpostor() : comp;
final ObjectDefinition comp = client.getObjectDefinition(object.getId());
final ObjectDefinition impostor = comp.getImpostorIds() != null ? comp.getImpostor() : comp;
if (impostor != null && impostor.getId() == id)
{

View File

@@ -31,8 +31,10 @@ import java.util.Set;
import lombok.Getter;
import net.runelite.api.NPC;
import static net.runelite.api.NullObjectID.NULL_1293;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import static net.runelite.api.ObjectID.*;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.TileObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
@@ -371,7 +373,7 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc
if (objectId != -1)
{
ObjectComposition object = plugin.getClient().getObjectDefinition(objectId);
ObjectDefinition object = plugin.getClient().getObjectDefinition(objectId);
if (object != null && object.getImpostorIds() != null)
{

View File

@@ -30,12 +30,14 @@ import java.awt.Graphics2D;
import java.util.Set;
import lombok.Getter;
import static net.runelite.api.ItemID.*;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import static net.runelite.api.ObjectID.CRATE_18506;
import static net.runelite.api.ObjectID.CRATE_2620;
import static net.runelite.api.ObjectID.CRATE_354;
import static net.runelite.api.ObjectID.CRATE_357;
import static net.runelite.api.ObjectID.CRATE_6616;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.TileObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
@@ -127,7 +129,7 @@ public class MapClue extends ClueScroll implements ObjectClueScroll
if (objectId != -1)
{
ObjectComposition objectToClick = plugin.getClient().getObjectDefinition(getObjectId());
ObjectDefinition objectToClick = plugin.getClient().getObjectDefinition(getObjectId());
String objectName = "N/A";

View File

@@ -26,7 +26,7 @@ package net.runelite.client.plugins.cluescrolls.clues.emote;
import net.runelite.api.Client;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
public class SingleItemRequirement implements ItemRequirement
{
@@ -60,7 +60,7 @@ public class SingleItemRequirement implements ItemRequirement
@Override
public String getCollectiveName(Client client)
{
ItemComposition definition = client.getItemDefinition(itemId);
ItemDefinition definition = client.getItemDefinition(itemId);
if (definition == null)
{

View File

@@ -31,7 +31,7 @@ import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.Hitsplat;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Player;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.AnimationChanged;
@@ -267,7 +267,7 @@ public class CombatCounter extends Plugin
* This part handles the Tick Counter.
*/
long ticks = variables.get(animation);
if (((Player) actor).getPlayerComposition().getEquipmentId(KitType.WEAPON) == 23360)
if (((Player) actor).getPlayerAppearance().getEquipmentId(KitType.WEAPON) == 23360)
{
ticks = 3;
}
@@ -556,7 +556,7 @@ public class CombatCounter extends Plugin
public int calculateDistance(Player p, NPC npc)
{
int size = 1;
NPCComposition comp = npc.getTransformedComposition();
NPCDefinition comp = npc.getTransformedDefinition();
if (comp != null)
{
size = comp.getSize();

View File

@@ -126,7 +126,7 @@ public class CookingPlugin extends Plugin
{
return;
}
/*TODO FIXME
if (player.getGraphic() == GraphicID.WINE_MAKE && config.fermentTimer())
{
Optional<FermentTimer> fermentTimerOpt = infoBoxManager.getInfoBoxes().stream()
@@ -145,6 +145,7 @@ public class CookingPlugin extends Plugin
infoBoxManager.addInfoBox(fermentTimer);
}
}
*/
}
@Subscribe

View File

@@ -36,7 +36,7 @@ import java.util.List;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
@@ -91,7 +91,7 @@ public class CoxOverlay extends Overlay
if (boss != null)
{
int size = 1;
NPCComposition composition = boss.getTransformedComposition();
NPCDefinition composition = boss.getTransformedDefinition();
{
size = composition.getSize();
}
@@ -104,7 +104,7 @@ public class CoxOverlay extends Overlay
if (baby != null)
{
int size = 1;
NPCComposition compositionbaby = baby.getTransformedComposition();
NPCDefinition compositionbaby = baby.getTransformedDefinition();
{
size = compositionbaby.getSize();
}
@@ -129,7 +129,7 @@ public class CoxOverlay extends Overlay
if (G1 != null)
{
int size = 1;
NPCComposition composition = G1.getTransformedComposition();
NPCDefinition composition = G1.getTransformedDefinition();
{
size = composition.getSize();
}
@@ -142,7 +142,7 @@ public class CoxOverlay extends Overlay
if (G2 != null)
{
int size = 1;
NPCComposition composition = G2.getTransformedComposition();
NPCDefinition composition = G2.getTransformedDefinition();
{
size = composition.getSize();
}
@@ -165,7 +165,7 @@ public class CoxOverlay extends Overlay
if (boss != null)
{
int size = 1;
NPCComposition composition = boss.getTransformedComposition();
NPCDefinition composition = boss.getTransformedDefinition();
{
size = composition.getSize();
}
@@ -264,7 +264,7 @@ public class CoxOverlay extends Overlay
private void renderNpcOverlay(Graphics2D graphics, NPC actor, Color color, int outlineWidth, int outlineAlpha, int fillAlpha)
{
int size = 1;
NPCComposition composition = actor.getTransformedComposition();
NPCDefinition composition = actor.getTransformedDefinition();
if (composition != null)
{
size = composition.getSize();

View File

@@ -401,7 +401,7 @@ public class CoxPlugin extends Plugin
if (inRaid())
{
Actor actor = graphicChanged.getActor();
if (actor.getGraphic() == GraphicID.OLM_BURN)
if (actor.getSpotAnimation() == GraphicID.OLM_BURN)
{
burnTarget.add(actor);
}

View File

@@ -26,6 +26,7 @@
package net.runelite.client.plugins.dailytaskindicators;
import api.vars.AccountType;
import com.google.inject.Provides;
import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
@@ -36,7 +37,6 @@ import net.runelite.api.VarPlayer;
import net.runelite.api.Varbits;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.vars.AccountType;
import net.runelite.client.chat.ChatColorType;
import net.runelite.client.chat.ChatMessageBuilder;
import net.runelite.client.chat.ChatMessageManager;

View File

@@ -31,7 +31,7 @@ import lombok.Setter;
import net.runelite.api.Actor;
import net.runelite.api.HeadIcon;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.coords.WorldArea;
public class DemonicGorilla
@@ -130,7 +130,7 @@ public class DemonicGorilla
public HeadIcon getOverheadIcon()
{
NPCComposition composition = this.npc.getComposition();
NPCDefinition composition = this.npc.getDefinition();
if (composition != null)
{
return composition.getOverheadIcon();

View File

@@ -48,7 +48,7 @@ import net.runelite.api.GroundObject;
import net.runelite.api.Item;
import net.runelite.api.ItemLayer;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Node;
import net.runelite.api.Perspective;
import net.runelite.api.Player;
@@ -163,12 +163,12 @@ class DevToolsOverlay extends Overlay
{
if (p != local)
{
String text = p.getName() + " (A: " + p.getAnimation() + ") (G: " + p.getGraphic() + ")";
String text = p.getName() + " (A: " + p.getAnimation() + ") (G: " + p.getSpotAnimation() + ")";
OverlayUtil.renderActorOverlay(graphics, p, text, BLUE);
}
}
String text = local.getName() + " (A: " + local.getAnimation() + ") (G: " + local.getGraphic() + ")";
String text = local.getName() + " (A: " + local.getAnimation() + ") (G: " + local.getSpotAnimation() + ")";
OverlayUtil.renderActorOverlay(graphics, local, text, CYAN);
renderPlayerWireframe(graphics, local, CYAN);
}
@@ -178,11 +178,11 @@ class DevToolsOverlay extends Overlay
List<NPC> npcs = client.getNpcs();
for (NPC npc : npcs)
{
NPCComposition composition = npc.getComposition();
NPCDefinition composition = npc.getDefinition();
Color color = composition.getCombatLevel() > 1 ? YELLOW : ORANGE;
if (composition.getConfigs() != null)
{
NPCComposition transformedComposition = composition.transform();
NPCDefinition transformedComposition = composition.transform();
if (transformedComposition == null)
{
color = GRAY;
@@ -197,7 +197,7 @@ class DevToolsOverlay extends Overlay
composition.getName(),
composition.getId(),
npc.getAnimation(),
npc.getGraphic());
npc.getSpotAnimation());
OverlayUtil.renderActorOverlay(graphics, npc, text, color);
}

View File

@@ -320,15 +320,15 @@ public class DevToolsPlugin extends Plugin
{
int id = Integer.parseInt(args[0]);
Player localPlayer = client.getLocalPlayer();
localPlayer.setGraphic(id);
localPlayer.setSpotAnimFrame(0);
localPlayer.setSpotAnimation(id);
localPlayer.setSpotAnimationFrame(0);
break;
}
case "transform":
{
int id = Integer.parseInt(args[0]);
Player player = client.getLocalPlayer();
player.getPlayerComposition().setTransformedNpcId(id);
player.getPlayerAppearance().setTransformedNpcId(id);
player.setIdlePoseAnimation(-1);
player.setPoseAnimation(-1);
break;
@@ -337,8 +337,8 @@ public class DevToolsPlugin extends Plugin
{
int id = Integer.parseInt(args[0]);
Player player = client.getLocalPlayer();
player.getPlayerComposition().getEquipmentIds()[KitType.CAPE.getIndex()] = id + 512;
player.getPlayerComposition().setHash();
player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = id + 512;
player.getPlayerAppearance().setHash();
break;
}
}

View File

@@ -40,7 +40,7 @@ import javax.swing.SwingUtilities;
import javax.swing.border.CompoundBorder;
import javax.swing.border.EmptyBorder;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.kit.KitType;
import net.runelite.client.game.AsyncBufferedImage;
import net.runelite.client.game.ItemManager;
@@ -95,7 +95,7 @@ public class EquipmentInspectorPanel extends PluginPanel
update(new HashMap<>(), "");
}
public void update(Map<KitType, ItemComposition> playerEquipment, String playerName)
public void update(Map<KitType, ItemDefinition> playerEquipment, String playerName)
{
if (playerName.isEmpty())
{

View File

@@ -41,7 +41,7 @@ import javax.swing.SwingUtilities;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.Player;
import net.runelite.api.events.PlayerMenuOptionClicked;
import net.runelite.api.kit.KitType;
@@ -179,7 +179,7 @@ public class EquipmentInspectorPlugin extends Plugin
Prot3 = 0;
Prot4 = 0;
Player p = targetPlayer.get();
Map<KitType, ItemComposition> playerEquipment = new HashMap<>();
Map<KitType, ItemDefinition> playerEquipment = new HashMap<>();
for (KitType kitType : KitType.values())
{
@@ -192,11 +192,11 @@ public class EquipmentInspectorPlugin extends Plugin
continue;
}
int itemId = p.getPlayerComposition().getEquipmentId(kitType);
int itemId = p.getPlayerAppearance().getEquipmentId(kitType);
if (itemId != -1)
{
ItemComposition itemComposition = client.getItemDefinition(itemId);
playerEquipment.put(kitType, itemComposition);
ItemDefinition ItemDefinition = client.getItemDefinition(itemId);
playerEquipment.put(kitType, ItemDefinition);
int ItemPrice = itemManager.getItemPrice(itemId);
TotalPrice += ItemPrice;
if (ItemPrice > Prot1)

View File

@@ -28,7 +28,7 @@ import javax.swing.GroupLayout;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.kit.KitType;
import net.runelite.client.game.AsyncBufferedImage;
import net.runelite.client.ui.ColorScheme;
@@ -37,7 +37,7 @@ import org.apache.commons.lang3.StringUtils;
class ItemPanel extends JPanel
{
ItemPanel(ItemComposition item, KitType kitType, AsyncBufferedImage icon)
ItemPanel(ItemDefinition item, KitType kitType, AsyncBufferedImage icon)
{
setBorder(new EmptyBorder(3, 3, 3, 3));

View File

@@ -36,7 +36,7 @@ import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.events.ChatMessage;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.MenuOptionClicked;
@@ -199,26 +199,26 @@ public class ExaminePlugin extends Plugin
log.debug("Got examine for {} {}: {}", pendingExamine.getType(), pendingExamine.getId(), event.getMessage());
// If it is an item, show the price of it
final ItemComposition itemComposition;
final ItemDefinition ItemDefinition;
if (pendingExamine.getType() == ExamineType.ITEM || pendingExamine.getType() == ExamineType.ITEM_BANK_EQ)
{
final int itemId = pendingExamine.getId();
final int itemQuantity = pendingExamine.getQuantity();
itemComposition = itemManager.getItemComposition(itemId);
ItemDefinition = itemManager.getItemDefinition(itemId);
if (itemComposition != null)
if (ItemDefinition != null)
{
final int id = itemManager.canonicalize(itemComposition.getId());
executor.submit(() -> getItemPrice(id, itemComposition, itemQuantity));
final int id = itemManager.canonicalize(ItemDefinition.getId());
executor.submit(() -> getItemPrice(id, ItemDefinition, itemQuantity));
}
}
else
{
itemComposition = null;
ItemDefinition = null;
}
// Don't submit examine info for tradeable items, which we already have from the RS item api
if (itemComposition != null && itemComposition.isTradeable())
if (ItemDefinition != null && ItemDefinition.isTradeable())
{
return;
}
@@ -316,13 +316,13 @@ public class ExaminePlugin extends Plugin
return null;
}
private void getItemPrice(int id, ItemComposition itemComposition, int quantity)
private void getItemPrice(int id, ItemDefinition ItemDefinition, int quantity)
{
// quantity is at least 1
quantity = Math.max(1, quantity);
int itemCompositionPrice = itemComposition.getPrice();
int ItemDefinitionPrice = ItemDefinition.getPrice();
final int gePrice = itemManager.getItemPrice(id);
final int alchPrice = itemCompositionPrice <= 0 ? 0 : itemManager.getAlchValue(itemComposition);
final int alchPrice = ItemDefinitionPrice <= 0 ? 0 : itemManager.getAlchValue(ItemDefinition);
if (gePrice > 0 || alchPrice > 0)
{
@@ -339,7 +339,7 @@ public class ExaminePlugin extends Plugin
}
message
.append(itemComposition.getName())
.append(ItemDefinition.getName())
.append(ChatColorType.NORMAL)
.append(":");

View File

@@ -29,7 +29,7 @@ import lombok.Getter;
import lombok.Setter;
import net.runelite.api.Actor;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
class NPCContainer
{
@@ -67,7 +67,7 @@ class NPCContainer
this.npcInteracting = npc.getInteracting();
this.npcSpeed = 0;
this.TicksUntilAttack = 0;
final NPCComposition composition = npc.getTransformedComposition();
final NPCDefinition composition = npc.getTransformedDefinition();
if (composition != null)
{

View File

@@ -34,7 +34,7 @@ import java.awt.Polygon;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
@@ -148,7 +148,7 @@ public class TimersOverlay extends Overlay
private void renderNpcOverlay(Graphics2D graphics, NPC actor, Color color, int outlineAlpha, int fillAlpha)
{
int size = 1;
NPCComposition composition = actor.getTransformedComposition();
NPCDefinition composition = actor.getTransformedDefinition();
if (composition != null)
{
size = composition.getSize();

View File

@@ -76,7 +76,7 @@ class FishingSpotMinimapOverlay extends Overlay
continue;
}
Color color = npc.getGraphic() == GraphicID.FLYING_FISH ? Color.RED : Color.CYAN;
Color color = npc.getSpotAnimation() == GraphicID.FLYING_FISH ? Color.RED : Color.CYAN;
net.runelite.api.Point minimapLocation = npc.getMinimapLocation();
if (minimapLocation != null)

View File

@@ -95,7 +95,7 @@ class FishingSpotOverlay extends Overlay
continue;
}
Color color = npc.getGraphic() == GraphicID.FLYING_FISH ? Color.RED : Color.CYAN;
Color color = npc.getSpotAnimation() == GraphicID.FLYING_FISH ? Color.RED : Color.CYAN;
if (spot == FishingSpot.MINNOW && config.showMinnowOverlay())
{

View File

@@ -219,7 +219,7 @@ public class FreezeTimersOverlay extends Overlay
{
renderActorText(g, actor, text, overlaysDrawn, VENG_IMAGE);
}
if (actor.getGraphic() == GraphicID.VENGEANCE || actor.getGraphic() == GraphicID.VENGEANCE_OTHER)
if (actor.getSpotAnimation() == GraphicID.VENGEANCE || actor.getSpotAnimation() == GraphicID.VENGEANCE_OTHER)
{
g.setColor(RED);

View File

@@ -89,7 +89,7 @@ public class FreezeTimersPlugin extends Plugin
public void onGraphicChanged(GraphicChanged graphicChanged)
{
int oldGraphic = prayerTracker.getSpotanimLastTick(graphicChanged.getActor());
int newGraphic = graphicChanged.getActor().getGraphic();
int newGraphic = graphicChanged.getActor().getSpotAnimation();
if (oldGraphic == newGraphic)
{
return;
@@ -119,7 +119,7 @@ public class FreezeTimersPlugin extends Plugin
prayerTracker.gameTick();
for (Actor actor : client.getPlayers())
{
if (prayerTracker.getSpotanimLastTick(actor) != actor.getGraphic())
if (prayerTracker.getSpotanimLastTick(actor) != actor.getSpotAnimation())
{
GraphicChanged callback = new GraphicChanged();
callback.setActor(actor);

View File

@@ -68,7 +68,7 @@ public class PrayerTracker
{
newTick.get(actor).put("PrayerIcon", ((Player) actor).getOverheadIcon() == null ? -1 : ((Player) actor).getOverheadIcon().ordinal());
}
newTick.get(actor).put("SpotAnim", actor.getGraphic());
newTick.get(actor).put("SpotAnim", actor.getSpotAnimation());
}
public int getPrayerIconLastTick(Actor p)

View File

@@ -46,7 +46,7 @@ import net.runelite.api.GrandExchangeOfferState;
import static net.runelite.api.GrandExchangeOfferState.CANCELLED_BUY;
import static net.runelite.api.GrandExchangeOfferState.CANCELLED_SELL;
import static net.runelite.api.GrandExchangeOfferState.EMPTY;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.FontManager;
import net.runelite.client.ui.components.ThinProgressBar;
@@ -193,7 +193,7 @@ public class GrandExchangeOfferSlot extends JPanel
add(progressBar, BorderLayout.SOUTH);
}
void updateOffer(ItemComposition offerItem, BufferedImage itemImage, @Nullable GrandExchangeOffer newOffer)
void updateOffer(ItemDefinition offerItem, BufferedImage itemImage, @Nullable GrandExchangeOffer newOffer)
{
if (newOffer == null || newOffer.getState() == EMPTY)
{

View File

@@ -34,7 +34,7 @@ import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import net.runelite.api.GrandExchangeOffer;
import net.runelite.api.GrandExchangeOfferState;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.client.ui.ColorScheme;
import net.runelite.client.ui.components.PluginErrorPanel;
@@ -103,7 +103,7 @@ public class GrandExchangeOffersPanel extends JPanel
updateEmptyOffersPanel();
}
void updateOffer(ItemComposition item, BufferedImage itemImage, GrandExchangeOffer newOffer, int slot)
void updateOffer(ItemDefinition item, BufferedImage itemImage, GrandExchangeOffer newOffer, int slot)
{
/* If slot was previously filled, and is now empty, remove it from the list */
if (newOffer == null || newOffer.getState() == GrandExchangeOfferState.EMPTY)

View File

@@ -47,7 +47,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.GrandExchangeOffer;
import net.runelite.api.GrandExchangeOfferState;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.events.ChatMessage;
@@ -269,7 +269,7 @@ public class GrandExchangePlugin extends Plugin
final int slot = offerEvent.getSlot();
final GrandExchangeOffer offer = offerEvent.getOffer();
ItemComposition offerItem = itemManager.getItemComposition(offer.getItemId());
ItemDefinition offerItem = itemManager.getItemDefinition(offer.getItemId());
boolean shouldStack = offerItem.isStackable() || offer.getTotalQuantity() > 1;
BufferedImage itemImage = itemManager.getImage(offer.getItemId(), offer.getTotalQuantity(), shouldStack);
SwingUtilities.invokeLater(() -> panel.getOffersPanel().updateOffer(offerItem, itemImage, offer, slot));

View File

@@ -42,7 +42,7 @@ import javax.swing.SwingUtilities;
import javax.swing.border.EmptyBorder;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.game.AsyncBufferedImage;
import net.runelite.client.game.ItemManager;
@@ -200,7 +200,7 @@ class GrandExchangeSearchPanel extends JPanel
int itemId = item.getId();
ItemComposition itemComp = itemManager.getItemComposition(itemId);
ItemDefinition itemComp = itemManager.getItemDefinition(itemId);
if (itemComp == null)
{
continue;

View File

@@ -51,7 +51,7 @@ import lombok.Setter;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemID;
import net.runelite.api.ItemLayer;
import net.runelite.api.MenuAction;
@@ -316,10 +316,10 @@ public class GroundItemsPlugin extends Plugin
private void lootNotifier(Collection<ItemStack> items)
{
ItemComposition composition;
ItemDefinition composition;
for (ItemStack is : items)
{
composition = itemManager.getItemComposition(is.getId());
composition = itemManager.getItemDefinition(is.getId());
Color itemColor = getHighlighted(composition.getName(), itemManager.getItemPrice(is.getId()) * is.getQuantity(), itemManager.getAlchValue(is.getId()) * is.getQuantity());
if (itemColor != null)
{
@@ -479,7 +479,7 @@ public class GroundItemsPlugin extends Plugin
{
// Collect the data for the item
final int itemId = item.getId();
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemId;
final int alchPrice = itemManager.getAlchValue(realItemId);
int durationMillis;
@@ -608,7 +608,7 @@ public class GroundItemsPlugin extends Plugin
current = current.getNext();
}
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemComposition.getId();
final int itemPrice = itemManager.getItemPrice(realItemId);
final int price = itemPrice <= 0 ? itemComposition.getPrice() : itemPrice;
@@ -755,7 +755,7 @@ public class GroundItemsPlugin extends Plugin
private int getGePriceFromItemId(int itemId)
{
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemId;
return itemManager.getItemPrice(realItemId);
@@ -763,7 +763,7 @@ public class GroundItemsPlugin extends Plugin
private boolean isItemIdHidden(int itemId)
{
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemId;
final int alchPrice = itemManager.getAlchValue(realItemId);
final int gePrice = itemManager.getItemPrice(realItemId);
@@ -773,7 +773,7 @@ public class GroundItemsPlugin extends Plugin
private int getCollapsedItemQuantity(int itemId, String item)
{
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
final boolean itemNameIncludesQuantity = Pattern.compile("\\(\\d+\\)").matcher(itemComposition.getName()).find();
Matcher matcher = Pattern.compile("\\((\\d+)\\)").matcher(item);

View File

@@ -33,7 +33,7 @@ import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import javax.inject.Inject;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemID;
import net.runelite.api.widgets.Widget;
import static net.runelite.api.widgets.WidgetInfo.TO_GROUP;
@@ -119,10 +119,10 @@ public class HighAlchemyOverlay extends WidgetItemOverlay
private int getNotedId(int id)
{
int noteID = id;
ItemComposition itemComposition = itemManager.getItemComposition(noteID);
if (itemComposition.getNote() != -1)
ItemDefinition ItemDefinition = itemManager.getItemDefinition(noteID);
if (ItemDefinition.getNote() != -1)
{
noteID = itemComposition.getLinkedNoteId();
noteID = ItemDefinition.getLinkedNoteId();
}
return noteID;
}

View File

@@ -128,7 +128,7 @@ import net.runelite.api.GameState;
import net.runelite.api.GraphicID;
import net.runelite.api.Hitsplat;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Player;
import net.runelite.api.Skill;
import net.runelite.api.SkullIcon;
@@ -213,7 +213,7 @@ public class IdleNotifierPlugin extends Plugin
return;
}
int graphic = localPlayer.getGraphic();
int graphic = localPlayer.getSpotAnimation();
int animation = localPlayer.getAnimation();
switch (animation)
{
@@ -390,7 +390,7 @@ public class IdleNotifierPlugin extends Plugin
}
final NPC npc = (NPC) target;
final NPCComposition npcComposition = npc.getComposition();
final NPCDefinition npcComposition = npc.getDefinition();
final List<String> npcMenuActions = Arrays.asList(npcComposition.getActions());
if (npcMenuActions.contains("Attack"))
@@ -471,7 +471,7 @@ public class IdleNotifierPlugin extends Plugin
return;
}
if (actor.getGraphic() == GraphicID.SPLASH)
if (actor.getSpotAnimation() == GraphicID.SPLASH)
{
lastCombatCountdown = HIGHEST_MONSTER_ATTACK_SPEED;
}

View File

@@ -34,7 +34,7 @@ import javax.inject.Inject;
import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
@@ -115,12 +115,12 @@ public class ImplingsOverlay extends Overlay
List<NPC> npcs = client.getNpcs();
for (NPC npc : npcs)
{
if (npc.getComposition().getId() == spawnID)
if (npc.getDefinition().getId() == spawnID)
{
NPCComposition composition = npc.getComposition();
NPCDefinition composition = npc.getDefinition();
if (composition.getConfigs() != null)
{
NPCComposition transformedComposition = composition.transform();
NPCDefinition transformedComposition = composition.transform();
if (transformedComposition == null)
{
OverlayUtil.renderActorOverlay(graphics, npc, text, color);

View File

@@ -37,7 +37,7 @@ import net.runelite.api.Client;
import net.runelite.api.Player;
import static net.runelite.api.SpriteID.WINDOW_CLOSE_BUTTON_RED_X;
import static net.runelite.api.SpriteID.WINDOW_CLOSE_BUTTON_RED_X_HOVERED;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
import net.runelite.api.Tile;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.GameStateChanged;
@@ -168,7 +168,7 @@ class InstanceMapOverlay extends Overlay
{
BufferedImage closeButton = getCloseButtonImage();
SpritePixels map = client.drawInstanceMap(viewedPlane);
Sprite map = client.drawInstanceMap(viewedPlane);
image = minimapToBufferedImage(map);
synchronized (this)
{
@@ -240,11 +240,11 @@ class InstanceMapOverlay extends Overlay
mapImage = null;
}
private static BufferedImage minimapToBufferedImage(SpritePixels spritePixels)
private static BufferedImage minimapToBufferedImage(Sprite Sprite)
{
int width = spritePixels.getWidth();
int height = spritePixels.getHeight();
int[] pixels = spritePixels.getPixels();
int width = Sprite.getWidth();
int height = Sprite.getHeight();
int[] pixels = Sprite.getPixels();
BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
img.setRGB(0, 0, width, height, pixels, 0, width);
// 24624 / 512 and 24624 % 512 are both 48

View File

@@ -35,7 +35,7 @@ import net.runelite.api.HealthBar;
import net.runelite.api.HealthBarOverride;
import net.runelite.api.NodeCache;
import net.runelite.api.SpriteID;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
import net.runelite.api.events.BeforeMenuRender;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.PostHealthBar;
@@ -123,7 +123,7 @@ public class InterfaceStylesPlugin extends Plugin
}
HealthBar healthBar = postHealthBar.getHealthBar();
SpritePixels frontSprite = healthBar.getHealthBarFrontSprite();
Sprite frontSprite = healthBar.getHealthBarFrontSprite();
// Check if this is the health bar we are replacing
if (frontSprite == healthBarOverride.getFrontSprite() || frontSprite == healthBarOverride.getFrontSpriteLarge())
@@ -162,15 +162,15 @@ public class InterfaceStylesPlugin extends Plugin
if (skin == config.skin())
{
String file = config.skin().toString() + "/" + spriteOverride.getSpriteID() + ".png";
SpritePixels spritePixels = getFileSpritePixels(file);
Sprite Sprite = getFileSprite(file);
if (spriteOverride.getSpriteID() == SpriteID.COMPASS_TEXTURE)
{
client.setCompass(spritePixels);
client.setCompass(Sprite);
}
else
{
client.getSpriteOverrides().put(spriteOverride.getSpriteID(), spritePixels);
client.getSpriteOverrides().put(spriteOverride.getSpriteID(), Sprite);
}
}
}
@@ -194,13 +194,13 @@ public class InterfaceStylesPlugin extends Plugin
if (widgetOverride.getSkin() == config.skin())
{
String file = config.skin().toString() + "/widget/" + widgetOverride.getName() + ".png";
SpritePixels spritePixels = getFileSpritePixels(file);
Sprite Sprite = getFileSprite(file);
if (spritePixels != null)
if (Sprite != null)
{
for (WidgetInfo widgetInfo : widgetOverride.getWidgetInfo())
{
client.getWidgetSpriteOverrides().put(widgetInfo.getPackedId(), spritePixels);
client.getWidgetSpriteOverrides().put(widgetInfo.getPackedId(), Sprite);
}
}
}
@@ -218,13 +218,13 @@ public class InterfaceStylesPlugin extends Plugin
}
}
private SpritePixels getFileSpritePixels(String file)
private Sprite getFileSprite(String file)
{
try
{
log.debug("Loading: {}", file);
BufferedImage image = ImageUtil.getResourceStreamFromClass(this.getClass(), file);
return ImageUtil.getImageSpritePixels(image, client);
return ImageUtil.getImageSprite(image, client);
}
catch (RuntimeException ex)
{
@@ -280,11 +280,11 @@ public class InterfaceStylesPlugin extends Plugin
{
String fileBase = Skin.AROUND_2010.toString() + "/healthbar/";
SpritePixels frontSprite = getFileSpritePixels(fileBase + "front.png");
SpritePixels backSprite = getFileSpritePixels(fileBase + "back.png");
Sprite frontSprite = getFileSprite(fileBase + "front.png");
Sprite backSprite = getFileSprite(fileBase + "back.png");
SpritePixels frontSpriteLarge = getFileSpritePixels(fileBase + "front_large.png");
SpritePixels backSpriteLarge = getFileSpritePixels(fileBase + "back_large.png");
Sprite frontSpriteLarge = getFileSprite(fileBase + "front_large.png");
Sprite backSpriteLarge = getFileSprite(fileBase + "back_large.png");
HealthBarOverride override = new HealthBarOverride(frontSprite, backSprite, frontSpriteLarge, backSpriteLarge);
healthBarOverride = override;
@@ -319,7 +319,7 @@ public class InterfaceStylesPlugin extends Plugin
if (compassImage != null)
{
SpritePixels compass = ImageUtil.getImageSpritePixels(compassImage, client);
Sprite compass = ImageUtil.getImageSprite(compassImage, client);
client.setCompass(compass);
}
}

View File

@@ -1,63 +0,0 @@
/*
* Copyright (c) 2018, Jeremy Plsek <https://github.com/jplsek>
* 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.inventorygrid;
import net.runelite.client.config.Config;
import net.runelite.client.config.ConfigGroup;
import net.runelite.client.config.ConfigItem;
@ConfigGroup("inventorygrid")
public interface InventoryGridConfig extends Config
{
@ConfigItem(
keyName = "showItem",
name = "Show item",
description = "Show a preview of the item in the new slot"
)
default boolean showItem()
{
return true;
}
@ConfigItem(
keyName = "showGrid",
name = "Show grid",
description = "Show a grid on the inventory while dragging"
)
default boolean showGrid()
{
return true;
}
@ConfigItem(
keyName = "showHighlight",
name = "Highlight background",
description = "Show a green background highlight on the new slot"
)
default boolean showHighlight()
{
return true;
}
}

View File

@@ -1,116 +0,0 @@
/*
* Copyright (c) 2018, Jeremy Plsek <https://github.com/jplsek>
* Copyright (c) 2019, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.inventorygrid;
import com.google.inject.Inject;
import java.awt.AlphaComposite;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.image.BufferedImage;
import net.runelite.api.Client;
import net.runelite.api.widgets.Widget;
import net.runelite.api.widgets.WidgetInfo;
import net.runelite.api.widgets.WidgetItem;
import net.runelite.client.game.ItemManager;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;
class InventoryGridOverlay extends Overlay
{
private static final int INVENTORY_SIZE = 28;
private static final int DRAG_DELAY = 5;
private static final Color HIGHLIGHT = new Color(0, 255, 0, 45);
private static final Color GRID = new Color(255, 255, 255, 45);
private final InventoryGridConfig config;
private final Client client;
private final ItemManager itemManager;
@Inject
private InventoryGridOverlay(InventoryGridConfig config, Client client, ItemManager itemManager)
{
this.itemManager = itemManager;
this.client = client;
this.config = config;
setPosition(OverlayPosition.DYNAMIC);
setLayer(OverlayLayer.ABOVE_WIDGETS);
}
@Override
public Dimension render(Graphics2D graphics)
{
final Widget if1DraggingWidget = client.getIf1DraggedWidget();
final Widget inventoryWidget = client.getWidget(WidgetInfo.INVENTORY);
if (if1DraggingWidget == null || if1DraggingWidget != inventoryWidget
|| client.getItemPressedDuration() < DRAG_DELAY)
{
return null;
}
final net.runelite.api.Point mouse = client.getMouseCanvasPosition();
final Point mousePoint = new Point(mouse.getX(), mouse.getY());
for (int i = 0; i < INVENTORY_SIZE; ++i)
{
WidgetItem widgetItem = inventoryWidget.getWidgetItem(i);
final Rectangle bounds = widgetItem.getCanvasBounds();
boolean inBounds = bounds.contains(mousePoint);
if (config.showItem() && inBounds)
{
final WidgetItem draggedItem = inventoryWidget.getWidgetItem(client.getIf1DraggedItemIndex());
final BufferedImage draggedItemImage = itemManager.getImage(draggedItem.getId());
final int x = (int) bounds.getX();
final int y = (int) bounds.getY();
graphics.setComposite(AlphaComposite.SrcOver.derive(0.3f));
graphics.drawImage(draggedItemImage, x, y, null);
graphics.setComposite(AlphaComposite.SrcOver);
}
if (config.showHighlight() && inBounds)
{
graphics.setColor(HIGHLIGHT);
graphics.fill(bounds);
}
else if (config.showGrid())
{
graphics.setColor(GRID);
graphics.fill(bounds);
}
}
return null;
}
}

View File

@@ -1,66 +0,0 @@
/*
* Copyright (c) 2018, Jeremy Plsek <https://github.com/jplsek>
* Copyright (c) 2019, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.client.plugins.inventorygrid;
import com.google.inject.Inject;
import com.google.inject.Provides;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.plugins.Plugin;
import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.ui.overlay.OverlayManager;
@PluginDescriptor(
name = "Inventory Grid",
description = "Shows a grid over the inventory and a preview of where items will be dragged",
tags = {"items", "overlay"},
enabledByDefault = false
)
public class InventoryGridPlugin extends Plugin
{
@Inject
private InventoryGridOverlay overlay;
@Inject
private OverlayManager overlayManager;
@Override
public void startUp()
{
overlayManager.add(overlay);
}
@Override
public void shutDown()
{
overlayManager.remove(overlay);
}
@Provides
InventoryGridConfig getConfig(ConfigManager configManager)
{
return configManager.getConfig(InventoryGridConfig.class);
}
}

View File

@@ -41,7 +41,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
@@ -375,7 +375,7 @@ public class InventorySetupPlugin extends Plugin
String itemName = "";
if (client.isClientThread())
{
itemName = itemManager.getItemComposition(item.getId()).getName();
itemName = itemManager.getItemDefinition(item.getId()).getName();
}
newContainer.add(new InventorySetupItem(item.getId(), itemName, item.getQuantity()));
}
@@ -415,11 +415,11 @@ public class InventorySetupPlugin extends Plugin
for (InventorySetupItem item : items)
{
int id = item.getId();
ItemComposition itemComposition = itemManager.getItemComposition(id);
ItemDefinition ItemDefinition = itemManager.getItemDefinition(id);
if (id > 0)
{
itemIds.add(ItemVariationMapping.map(id));
itemIds.add(itemComposition.getPlaceholderId());
itemIds.add(ItemDefinition.getPlaceholderId());
}
}

View File

@@ -36,7 +36,7 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.VarClientInt;
import net.runelite.client.game.ItemManager;
@@ -186,7 +186,7 @@ class InventoryViewerOverlay extends Overlay
private BufferedImage getImage(Item item)
{
ItemComposition itemComposition = itemManager.getItemComposition(item.getId());
return itemManager.getImage(item.getId(), item.getQuantity(), itemComposition.isStackable());
ItemDefinition ItemDefinition = itemManager.getItemDefinition(item.getId());
return itemManager.getImage(item.getId(), item.getQuantity(), ItemDefinition.isStackable());
}
}

View File

@@ -504,7 +504,7 @@ public class ItemChargePlugin extends Plugin
{
if (event.getActor() == client.getLocalPlayer())
{
if (client.getLocalPlayer().getGraphic() == GraphicID.XERIC_TELEPORT)
if (client.getLocalPlayer().getSpotAnimation() == GraphicID.XERIC_TELEPORT)
{
final int xericCharges = Math.max(config.xericTalisman() - 1, 0);
updateXericCharges(xericCharges);
@@ -723,7 +723,7 @@ public class ItemChargePlugin extends Plugin
return;
}
final String name = itemManager.getItemComposition(id).getName();
final String name = itemManager.getItemDefinition(id).getName();
final BufferedImage image = itemManager.getImage(id);
final ItemChargeInfobox infobox = new ItemChargeInfobox(this, image, name, charges, type, slot);
infoBoxManager.addInfoBox(infobox);

View File

@@ -31,7 +31,7 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.ItemID;
import net.runelite.api.MenuAction;
@@ -178,11 +178,11 @@ class ItemPricesOverlay extends Overlay
return StackFormatter.formatNumber(qty * 1000) + " gp";
}
ItemComposition itemDef = itemManager.getItemComposition(id);
ItemDefinition itemDef = itemManager.getItemDefinition(id);
if (itemDef.getNote() != -1)
{
id = itemDef.getLinkedNoteId();
itemDef = itemManager.getItemComposition(id);
itemDef = itemManager.getItemDefinition(id);
}
// Only check prices for things with store prices

View File

@@ -239,7 +239,7 @@ public class ItemStatPlugin extends Plugin
icon.setBorderType(1);
icon.revalidate();
Widget itemName = createText(invContainer, itemManager.getItemComposition(id).getName(), FontID.PLAIN_12, ORANGE_TEXT,
Widget itemName = createText(invContainer, itemManager.getItemDefinition(id).getName(), FontID.PLAIN_12, ORANGE_TEXT,
50, yPos, invContainer.getWidth() - 40, 30);
itemName.setYTextAlignment(WidgetTextAlignment.CENTER);

View File

@@ -162,7 +162,7 @@ import static net.runelite.api.ItemID._23_CHOCOLATE_CAKE;
/**
* Certain items aren't tradeable via the GE but can be traded between players.
* The {@link net.runelite.api.ItemComposition}'s `isTradeable` value is based on GE trade-ability so we need
* The {@link net.runelite.api.ItemDefinition}'s `isTradeable` value is based on GE trade-ability so we need
* to account for these items. These items should only be kept if protected based on item value.
*/
public enum ActuallyTradeableItem

View File

@@ -208,8 +208,8 @@ public class KeptOnDeathPlugin extends Plugin
{
int o1ID = ItemVariationMapping.map(itemManager.canonicalize(o1.getId()));
int o2ID = ItemVariationMapping.map(itemManager.canonicalize(o2.getId()));
ItemComposition c1 = itemManager.getItemComposition(o1ID);
ItemComposition c2 = itemManager.getItemComposition(o2ID);
ItemDefinition c1 = itemManager.getItemDefinition(o1ID);
ItemDefinition c2 = itemManager.getItemDefinition(o2ID);
int exchangePrice1 = c1.isTradeable() ? itemManager.getItemPrice(c1.getId()) : c1.getPrice();
int exchangePrice2 = c2.isTradeable() ? itemManager.getItemPrice(c2.getId()) : c2.getPrice();
return exchangePrice2 - exchangePrice1;
@@ -227,7 +227,7 @@ public class KeptOnDeathPlugin extends Plugin
continue;
}
ItemComposition c = itemManager.getItemComposition(i.getId());
ItemDefinition c = itemManager.getItemDefinition(i.getId());
Widget itemWidget = createItemWidget(i.getQuantity(), c);
// Bonds are always kept and do not count towards the limit.
@@ -425,7 +425,7 @@ public class KeptOnDeathPlugin extends Plugin
if (price == 0)
{
// Default to alch price
price = itemManager.getItemComposition(w.getItemId()).getPrice() * HIGH_ALCH;
price = itemManager.getItemDefinition(w.getItemId()).getPrice() * HIGH_ALCH;
}
total += price;
}
@@ -439,12 +439,12 @@ public class KeptOnDeathPlugin extends Plugin
}
// isTradeable checks if they are traded on the grand exchange, some items are trade-able but not via GE
private boolean checkTradeable(int id, ItemComposition c)
private boolean checkTradeable(int id, ItemDefinition c)
{
// If the item is a note check the unnoted variants trade ability
if (c.getNote() != -1)
{
return checkTradeable(c.getLinkedNoteId(), itemManager.getItemComposition(c.getLinkedNoteId()));
return checkTradeable(c.getLinkedNoteId(), itemManager.getItemDefinition(c.getLinkedNoteId()));
}
switch (id)
@@ -572,7 +572,7 @@ public class KeptOnDeathPlugin extends Plugin
* @return
*//*
private Widget createItemWidget(int qty, ItemComposition c)
private Widget createItemWidget(int qty, ItemDefinition c)
{
Widget itemWidget = client.createWidget();
itemWidget.setType(WidgetType.GRAPHIC);

View File

@@ -36,9 +36,9 @@ import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.events.GameStateChanged;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.SessionOpen;
import net.runelite.client.input.KeyListener;
import net.runelite.client.input.KeyManager;
import net.runelite.client.plugins.Plugin;
@@ -46,15 +46,14 @@ import net.runelite.client.plugins.PluginDescriptor;
import net.runelite.client.util.OSType;
@PluginDescriptor(
name = "Login Screen",
description = "Provides various enhancements for login screen"
name = "Login Screen",
description = "Provides various enhancements for login screen"
)
@Slf4j
public class LoginScreenPlugin extends Plugin implements KeyListener
{
private static final int MAX_USERNAME_LENGTH = 254;
private static final int MAX_PASSWORD_LENGTH = 20;
private static final int MAX_PIN_LENGTH = 6;
@Inject
private Client client;
@@ -164,9 +163,7 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
@Override
public void keyPressed(KeyEvent e)
{
if (!config.pasteEnabled() || (
client.getGameState() != GameState.LOGIN_SCREEN &&
client.getGameState() != GameState.LOGIN_SCREEN_AUTHENTICATOR))
if (!config.pasteEnabled() || client.getGameState() != GameState.LOGIN_SCREEN)
{
return;
}
@@ -179,33 +176,22 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
try
{
final String data = Toolkit
.getDefaultToolkit()
.getSystemClipboard()
.getData(DataFlavor.stringFlavor)
.toString()
.trim();
.getDefaultToolkit()
.getSystemClipboard()
.getData(DataFlavor.stringFlavor)
.toString()
.trim();
switch (client.getLoginIndex())
// 0 is username, 1 is password
if (client.getCurrentLoginField() == 0)
{
// Username/password form
case 2:
if (client.getCurrentLoginField() == 0)
{
// Truncate data to maximum username length if necessary
client.setUsername(data.substring(0, Math.min(data.length(), MAX_USERNAME_LENGTH)));
}
else
{
// Truncate data to maximum password length if necessary
client.setPassword(data.substring(0, Math.min(data.length(), MAX_PASSWORD_LENGTH)));
}
break;
// Authenticator form
case 4:
// Truncate data to maximum OTP code length if necessary
client.setOtp(data.substring(0, Math.min(data.length(), MAX_PIN_LENGTH)));
break;
// Truncate data to maximum username length if necessary
client.setUsername(data.substring(0, Math.min(data.length(), MAX_USERNAME_LENGTH)));
}
else
{
// Truncate data to maximum password length if necessary
client.setPassword(data.substring(0, Math.min(data.length(), MAX_PASSWORD_LENGTH)));
}
}
catch (UnsupportedFlavorException | IOException ex)
@@ -220,4 +206,4 @@ public class LoginScreenPlugin extends Plugin implements KeyListener
{
}
}
}

View File

@@ -53,7 +53,7 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.NPC;
import net.runelite.api.Player;
@@ -544,7 +544,7 @@ public class LootTrackerPlugin extends Plugin
private LootTrackerItem buildLootTrackerItem(int itemId, int quantity)
{
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemId;
final long price = (long) itemManager.getItemPrice(realItemId) * (long) quantity;
final boolean ignored = ignoredItems.contains(itemComposition.getName());

View File

@@ -45,7 +45,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.MenuAction;
import static net.runelite.api.MenuAction.MENU_ACTION_DEPRIORITIZE_OFFSET;
import static net.runelite.api.MenuAction.WALK;
@@ -60,7 +60,7 @@ import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.MenuOpened;
import net.runelite.api.events.MenuOptionClicked;
import net.runelite.api.events.PostItemComposition;
import net.runelite.api.events.PostItemDefinition;
import net.runelite.api.events.VarbitChanged;
import net.runelite.api.events.WidgetMenuOptionClicked;
import net.runelite.api.widgets.WidgetInfo;
@@ -238,14 +238,14 @@ public class MenuEntrySwapperPlugin extends Plugin
}
else if (event.getKey().startsWith(ITEM_KEY_PREFIX))
{
clientThread.invoke(this::resetItemCompositionCache);
clientThread.invoke(this::resetItemDefinitionCache);
}
}
private void resetItemCompositionCache()
private void resetItemDefinitionCache()
{
itemManager.invalidateItemCompositionCache();
client.getItemCompositionCache().reset();
itemManager.invalidateItemDefinitionCache();
client.getItemDefinitionCache().reset();
}
private Integer getSwapConfig(int itemId)
@@ -276,7 +276,7 @@ public class MenuEntrySwapperPlugin extends Plugin
{
keyManager.registerKeyListener(inputListener);
refreshShiftClickCustomizationMenus();
clientThread.invoke(this::resetItemCompositionCache);
clientThread.invoke(this::resetItemDefinitionCache);
}
private void disableCustomization()
@@ -284,7 +284,7 @@ public class MenuEntrySwapperPlugin extends Plugin
keyManager.unregisterKeyListener(inputListener);
removeShiftClickCustomizationMenus();
configuringShiftClick = false;
clientThread.invoke(this::resetItemCompositionCache);
clientThread.invoke(this::resetItemDefinitionCache);
}
@Subscribe
@@ -456,7 +456,7 @@ public class MenuEntrySwapperPlugin extends Plugin
return;
}
ItemComposition itemComposition = client.getItemDefinition(itemId);
ItemDefinition itemComposition = client.getItemDefinition(itemId);
String itemName = itemComposition.getName();
String option = "Use";
int shiftClickActionindex = itemComposition.getShiftClickActionIndex();
@@ -508,7 +508,7 @@ public class MenuEntrySwapperPlugin extends Plugin
String option = event.getMenuOption();
String target = event.getMenuTarget();
ItemComposition itemComposition = client.getItemDefinition(itemId);
ItemDefinition itemComposition = client.getItemDefinition(itemId);
if (option.equals(RESET) && target.equals(MENU_TARGET))
{
@@ -1267,9 +1267,9 @@ public class MenuEntrySwapperPlugin extends Plugin
}
@Subscribe
public void onPostItemComposition(PostItemComposition event)
public void onPostItemDefinition(PostItemDefinition event)
{
ItemComposition itemComposition = event.getItemComposition();
ItemDefinition itemComposition = event.getItemDefinition();
Integer option = getSwapConfig(itemComposition.getId());
if (option != null)

View File

@@ -26,7 +26,7 @@ package net.runelite.client.plugins.minimap;
import java.awt.Color;
import net.runelite.api.Client;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
public class MinimapDot
{
@@ -67,10 +67,10 @@ public class MinimapDot
return pixels;
}
public static SpritePixels create(Client client, Color color)
public static Sprite create(Client client, Color color)
{
int[] pixels = createPixels(color);
return client.createSpritePixels(pixels, MAP_DOT_WIDTH, MAP_DOT_HEIGHT);
return client.createSprite(pixels, MAP_DOT_WIDTH, MAP_DOT_HEIGHT);
}
}

View File

@@ -30,7 +30,7 @@ import java.util.Arrays;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.WidgetHiddenChanged;
@@ -56,7 +56,7 @@ public class MinimapPlugin extends Plugin
@Inject
private MinimapConfig config;
private SpritePixels[] originalDotSprites;
private Sprite[] originalDotSprites;
@Provides
private MinimapConfig provideConfig(ConfigManager configManager)
@@ -138,7 +138,7 @@ public class MinimapPlugin extends Plugin
private void replaceMapDots()
{
SpritePixels[] mapDots = client.getMapDots();
Sprite[] mapDots = client.getMapDots();
if (mapDots == null)
{
@@ -166,7 +166,7 @@ public class MinimapPlugin extends Plugin
private void storeOriginalDots()
{
SpritePixels[] originalDots = client.getMapDots();
Sprite[] originalDots = client.getMapDots();
if (originalDots == null)
{
@@ -178,7 +178,7 @@ public class MinimapPlugin extends Plugin
private void restoreOriginalDots()
{
SpritePixels[] mapDots = client.getMapDots();
Sprite[] mapDots = client.getMapDots();
if (originalDotSprites == null || mapDots == null)
{

View File

@@ -30,11 +30,12 @@ import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.GeneralPath;
import javax.inject.Inject;
import api.geometry.Geometry;
import net.runelite.api.Client;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.geometry.Geometry;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;

View File

@@ -31,11 +31,12 @@ import java.awt.Graphics2D;
import java.awt.Rectangle;
import java.awt.geom.GeneralPath;
import javax.inject.Inject;
import api.geometry.Geometry;
import net.runelite.api.Client;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.geometry.Geometry;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;

View File

@@ -24,6 +24,7 @@
*/
package net.runelite.client.plugins.multiindicators;
import api.geometry.Geometry;
import com.google.inject.Provides;
import java.awt.Rectangle;
import java.awt.geom.GeneralPath;
@@ -33,7 +34,8 @@ import lombok.Getter;
import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.GameState;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Tile;
import net.runelite.api.WallObject;
@@ -43,7 +45,6 @@ import net.runelite.api.coords.WorldArea;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.geometry.Geometry;
import net.runelite.client.callback.ClientThread;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
@@ -152,7 +153,7 @@ public class MultiIndicatorsPlugin extends Plugin
return false;
}
ObjectComposition objectComposition = client.getObjectDefinition(wallObject.getId());
ObjectDefinition objectComposition = client.getObjectDefinition(wallObject.getId());
if (objectComposition == null)
{
return false;

View File

@@ -34,7 +34,7 @@ import java.util.stream.Collectors;
import javax.inject.Inject;
import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.EnumComposition;
import net.runelite.api.EnumDefinition;
import net.runelite.api.EnumID;
import net.runelite.api.VarPlayer;
import net.runelite.api.events.GameStateChanged;
@@ -153,7 +153,7 @@ public class MusicIndicatorPlugin extends Plugin
return;
}
final EnumComposition names = client.getEnum(EnumID.MUSIC_TRACK_NAMES);
final EnumDefinition names = client.getEnum(EnumID.MUSIC_TRACK_NAMES);
final int varpId = MUSIC_TRACK_VARPS.indexOf(varPlayer) + 1;
for (int bit = 0; bit < Integer.SIZE; ++bit)
@@ -180,7 +180,7 @@ public class MusicIndicatorPlugin extends Plugin
{
// values are packed into a coordgrid
int packed = (variableId << 14) | bit;
EnumComposition ids = client.getEnum(EnumID.MUSIC_TRACK_IDS);
EnumDefinition ids = client.getEnum(EnumID.MUSIC_TRACK_IDS);
for (int key : ids.getKeys())
{
int value = ids.getIntValue(key);

View File

@@ -29,7 +29,7 @@ import java.util.List;
import lombok.Getter;
import lombok.Setter;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.coords.WorldPoint;
class MemorizedNpc
@@ -69,7 +69,7 @@ class MemorizedNpc
this.respawnTime = -1;
this.diedOnTick = -1;
final NPCComposition composition = npc.getTransformedComposition();
final NPCDefinition composition = npc.getTransformedDefinition();
if (composition != null)
{

View File

@@ -38,7 +38,7 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
@@ -160,7 +160,7 @@ public class NpcSceneOverlay extends Overlay
case TILE:
int size = 1;
NPCComposition composition = actor.getTransformedComposition();
NPCDefinition composition = actor.getTransformedDefinition();
if (composition != null)
{
size = composition.getSize();

View File

@@ -32,11 +32,12 @@ import java.awt.Rectangle;
import java.awt.geom.GeneralPath;
import java.time.Instant;
import javax.inject.Inject;
import api.geometry.Geometry;
import net.runelite.api.Client;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.geometry.Geometry;
import net.runelite.client.ui.overlay.Overlay;
import net.runelite.client.ui.overlay.OverlayLayer;
import net.runelite.client.ui.overlay.OverlayPosition;

View File

@@ -24,6 +24,7 @@
*/
package net.runelite.client.plugins.npcunaggroarea;
import api.geometry.Geometry;
import com.google.common.base.Splitter;
import com.google.common.base.Strings;
import com.google.inject.Provides;
@@ -43,7 +44,7 @@ import net.runelite.api.Client;
import net.runelite.api.Constants;
import net.runelite.api.ItemID;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldArea;
@@ -52,7 +53,6 @@ import net.runelite.api.events.ConfigChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GameTick;
import net.runelite.api.events.NpcSpawned;
import net.runelite.api.geometry.Geometry;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.game.ItemManager;
@@ -257,7 +257,7 @@ public class NpcAggroAreaPlugin extends Plugin
private boolean isNpcMatch(NPC npc)
{
NPCComposition composition = npc.getTransformedComposition();
NPCDefinition composition = npc.getTransformedDefinition();
if (composition == null)
{
return false;

View File

@@ -48,7 +48,8 @@ import net.runelite.api.GameObject;
import net.runelite.api.GameState;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.Scene;
import net.runelite.api.Tile;
import net.runelite.api.TileObject;
@@ -234,7 +235,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
final TileObject object = findTileObject(tile, event.getIdentifier());
if (object != null)
{
final ObjectComposition objectDefinition = client.getObjectDefinition(object.getId());
final ObjectDefinition objectDefinition = client.getObjectDefinition(object.getId());
final String name = objectDefinition.getName();
if (!Strings.isNullOrEmpty(name))
@@ -291,7 +292,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
return;
}
ObjectComposition objectDefinition = client.getObjectDefinition(object.getId());
ObjectDefinition objectDefinition = client.getObjectDefinition(object.getId());
String name = objectDefinition.getName();
if (Strings.isNullOrEmpty(name))
{
@@ -353,7 +354,7 @@ public class ObjectIndicatorsPlugin extends Plugin implements KeyListener
}
// Check impostors
final ObjectComposition comp = client.getObjectDefinition(object.getId());
final ObjectDefinition comp = client.getObjectDefinition(object.getId());
if (comp.getImpostorIds() != null)
{

View File

@@ -33,7 +33,7 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import net.runelite.api.ClanMemberRank;
import net.runelite.api.Client;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.SkullIcon;
@@ -183,15 +183,15 @@ public class PlayerIndicatorsOverlay extends Overlay
color);
}
if (config.targetRisk() && PvPUtil.isAttackable(client, actor) && actor.getPlayerComposition() != null)
if (config.targetRisk() && PvPUtil.isAttackable(client, actor) && actor.getPlayerAppearance() != null)
{
long totalValue = 0;
int newValue;
StringBuilder stringBuilder = new StringBuilder(" ");
for (KitType kitType : KitType.values())
{
ItemComposition itemComposition =
itemManager.getItemComposition(actor.getPlayerComposition().getEquipmentId(kitType));
ItemDefinition itemComposition =
itemManager.getItemDefinition(actor.getPlayerAppearance().getEquipmentId(kitType));
if (itemComposition != null && itemComposition.getName() != null)
{
totalValue = totalValue + itemComposition.getPrice();
@@ -204,9 +204,9 @@ public class PlayerIndicatorsOverlay extends Overlay
name = name + stringBuilder;
}
}
if (config.unchargedGlory() && actor.getPlayerComposition() != null)
if (config.unchargedGlory() && actor.getPlayerAppearance() != null)
{
ItemComposition itemComposition = itemManager.getItemComposition(actor.getPlayerComposition().getEquipmentId(KitType.AMULET));
ItemDefinition itemComposition = itemManager.getItemDefinition(actor.getPlayerAppearance().getEquipmentId(KitType.AMULET));
if (itemComposition != null && itemComposition.getId() == 1704) //1704 is uncharged glory, to be certain
{
name = name + " cGLORY";

View File

@@ -339,7 +339,7 @@ public class PoisonPlugin extends Plugin
{
heart = newHeart;
client.getWidgetSpriteCache().reset();
client.getSpriteOverrides().put(SpriteID.MINIMAP_ORB_HITPOINTS_ICON, ImageUtil.getImageSpritePixels(heart, client));
client.getSpriteOverrides().put(SpriteID.MINIMAP_ORB_HITPOINTS_ICON, ImageUtil.getImageSprite(heart, client));
}
}

View File

@@ -32,7 +32,7 @@ import java.awt.image.BufferedImage;
import java.util.ConcurrentModificationException;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.kit.KitType;
@@ -210,8 +210,8 @@ class PrayAgainstPlayerOverlay extends Overlay
{
if (config.drawUnknownWeapons())
{
int itemId = player.getPlayerComposition().getEquipmentId(KitType.WEAPON);
ItemComposition itemComposition = client.getItemDefinition(itemId);
int itemId = player.getPlayerAppearance().getEquipmentId(KitType.WEAPON);
ItemDefinition itemComposition = client.getItemDefinition(itemId);
final String str = itemComposition.getName().toUpperCase();
Point point = player.getCanvasTextLocation(graphics, str, offset);

View File

@@ -25,7 +25,7 @@
package net.runelite.client.plugins.prayagainstplayer;
import net.runelite.api.Client;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.Player;
import net.runelite.api.kit.KitType;
@@ -46,8 +46,8 @@ enum WeaponType
*/
public static WeaponType checkWeaponOnPlayer(Client client, Player attacker)
{
int itemId = attacker.getPlayerComposition().getEquipmentId(KitType.WEAPON);
ItemComposition itemComposition = client.getItemDefinition(itemId);
int itemId = attacker.getPlayerAppearance().getEquipmentId(KitType.WEAPON);
ItemDefinition itemComposition = client.getItemDefinition(itemId);
String weaponNameGivenLowerCase = itemComposition.getName().toLowerCase();
if (itemId == -1)

View File

@@ -31,7 +31,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.MenuEntry;
import net.runelite.api.Player;
import net.runelite.api.SkullIcon;
@@ -170,10 +170,10 @@ public class PvpToolsPlugin extends Plugin
};
private final HotkeyListener renderselfHotkeyListener = new HotkeyListener(() -> config.renderSelf())
{
{//TODO FIX
public void hotkeyPressed()
{
client.toggleRenderSelf();
//client.toggleRenderSelf();
}
};
@@ -561,10 +561,10 @@ public class PvpToolsPlugin extends Plugin
{
int value = (itemManager.getItemPrice(i.getId()) * i.getQuantity());
final ItemComposition itemComposition = itemManager.getItemComposition(i.getId());
if (!itemComposition.isTradeable() && value == 0)
final ItemDefinition ItemDefinition = itemManager.getItemDefinition(i.getId());
if (!ItemDefinition.isTradeable() && value == 0)
{
value = itemComposition.getPrice() * i.getQuantity();
value = ItemDefinition.getPrice() * i.getQuantity();
priceMap.put(value, i);
}
else
@@ -610,7 +610,7 @@ public class PvpToolsPlugin extends Plugin
{
if (!descendingMap.isEmpty())
{
itemManager.getItemComposition(priceMap.descendingMap().pollFirstEntry().getValue().getId())
itemManager.getItemDefinition(priceMap.descendingMap().pollFirstEntry().getValue().getId())
.getName();
}
}

View File

@@ -31,7 +31,8 @@ import java.awt.geom.Area;
import java.util.Map;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.Point;
import net.runelite.api.Tile;
import net.runelite.api.TileObject;
@@ -84,8 +85,8 @@ public class PyramidPlunderOverlay extends Overlay
if (object.getId() == CLOSED_DOOR || object.getId() == OPENED_DOOR)
{
//Impostor
ObjectComposition comp = client.getObjectDefinition(objectID);
ObjectComposition impostor = comp.getImpostor();
ObjectDefinition comp = client.getObjectDefinition(objectID);
ObjectDefinition impostor = comp.getImpostor();
if (impostor == null)
{

View File

@@ -121,7 +121,7 @@ public class SkillCalculatorPlugin extends Plugin
return false;
}
CriticalItem.prepareItemCompositions(itemManager);
CriticalItem.prepareItemDefinitions(itemManager);
return true;
});
}

View File

@@ -30,7 +30,7 @@ import java.util.HashSet;
import java.util.Map;
import java.util.Set;
import lombok.Getter;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemID;
import net.runelite.api.Skill;
import net.runelite.client.game.ItemManager;
@@ -296,7 +296,7 @@ public enum CriticalItem
private boolean ignoreBonus;
@Getter
private ItemComposition composition;
private ItemDefinition composition;
CriticalItem(int itemID, String category, Skill skill, int linkedItem)
{
@@ -401,11 +401,11 @@ public enum CriticalItem
*
* @param m ItemManager
*/
public static void prepareItemCompositions(ItemManager m)
public static void prepareItemDefinitions(ItemManager m)
{
for (CriticalItem i : values())
{
i.composition = m.getItemComposition(i.getItemID());
i.composition = m.getItemDefinition(i.getItemID());
}
}

View File

@@ -55,7 +55,7 @@ import net.runelite.api.Client;
import net.runelite.api.ItemID;
import net.runelite.api.MessageNode;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import static net.runelite.api.Skill.SLAYER;
import net.runelite.api.SpriteID;
import net.runelite.api.Varbits;
@@ -810,7 +810,7 @@ public class SlayerPlugin extends Plugin
return false;
}
private boolean isValidComposition(NPCComposition composition)
private boolean isValidComposition(NPCDefinition composition)
{
if (composition != null)
{
@@ -851,7 +851,7 @@ public class SlayerPlugin extends Plugin
{
if (!checkAsTokens)
{
if (name.contains(target) && isValidComposition(npc.getTransformedComposition()))
if (name.contains(target) && isValidComposition(npc.getTransformedDefinition()))
{
return true;
}
@@ -859,7 +859,7 @@ public class SlayerPlugin extends Plugin
else
{
String[] nameTokens = name.split(" ");
if (contiguousSubsequenceMatches(nameTokens, target) && isValidComposition(npc.getTransformedComposition()))
if (contiguousSubsequenceMatches(nameTokens, target) && isValidComposition(npc.getTransformedDefinition()))
{
return true;
}
@@ -874,7 +874,7 @@ public class SlayerPlugin extends Plugin
for (int target : targetIds)
{
if (id == target && isValidComposition(npc.getTransformedComposition()))
if (id == target && isValidComposition(npc.getTransformedDefinition()))
{
return true;
}

View File

@@ -35,7 +35,7 @@ import java.util.List;
import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.coords.LocalPoint;
@@ -102,7 +102,7 @@ public class TargetClickboxOverlay extends Overlay
case TILE:
int size = 1;
NPCComposition composition = actor.getTransformedComposition();
NPCDefinition composition = actor.getTransformedDefinition();
if (composition != null)
{
size = composition.getSize();
@@ -135,7 +135,7 @@ public class TargetClickboxOverlay extends Overlay
break;
case TRUE_LOCATIONS:
size = 1;
composition = actor.getTransformedComposition();
composition = actor.getTransformedDefinition();
if (composition != null)
{
size = composition.getSize();

View File

@@ -36,7 +36,7 @@ import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemContainer;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Player;
import net.runelite.api.Skill;
import net.runelite.api.VarPlayer;
@@ -184,7 +184,7 @@ public class SpecialCounterPlugin extends Plugin
if (interacting instanceof NPC)
{
NPC npc = (NPC) interacting;
NPCComposition composition = npc.getComposition();
NPCDefinition composition = npc.getDefinition();
int interactingId = npc.getId();
if (!ArrayUtils.contains(composition.getActions(), "Attack"))

View File

@@ -35,7 +35,7 @@ import lombok.Getter;
import net.runelite.api.Actor;
import net.runelite.api.Client;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.events.GameTick;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.eventbus.Subscribe;
@@ -101,7 +101,7 @@ public class StatusBarsPlugin extends Plugin
if (isNpc)
{
final NPC npc = (NPC) interacting;
final NPCComposition npcComposition = npc.getComposition();
final NPCDefinition npcComposition = npc.getDefinition();
final List<String> npcMenuActions = Arrays.asList(npcComposition.getActions());
if (npcMenuActions.contains("Attack") && config.toggleRestorationBars())
{

View File

@@ -52,7 +52,7 @@ import net.runelite.api.ChatMessageType;
import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.InventoryID;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.NPC;
import net.runelite.api.NpcID;
@@ -206,7 +206,7 @@ public class StonedLootTrackerPlugin extends Plugin
loaded = true;
for (UniqueItem i : UniqueItem.values())
{
ItemComposition c = itemManager.getItemComposition(i.getItemID());
ItemDefinition c = itemManager.getItemDefinition(i.getItemID());
for (String s : i.getActivities())
{
uniques.put(s.toUpperCase(), new UniqueItemPrepared(c.getLinkedNoteId(), itemManager.getItemPrice(i.getItemID()), i));
@@ -522,7 +522,7 @@ public class StonedLootTrackerPlugin extends Plugin
{
return itemStacks.stream().map(itemStack ->
{
final ItemComposition itemComposition = itemManager.getItemComposition(itemStack.getId());
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemStack.getId());
final int realItemId = itemComposition.getNote() != -1 ? itemComposition.getLinkedNoteId() : itemStack.getId();
final long price = itemManager.getItemPrice(realItemId);
final long haPrice = itemManager.getAlchValue(realItemId);
@@ -606,7 +606,7 @@ public class StonedLootTrackerPlugin extends Plugin
clientThread.invokeLater(() ->
{
Collection<LootRecordCustom> data = getDataByName("Abyssal sire");
ItemComposition c = itemManager.getItemComposition(itemID);
ItemDefinition c = itemManager.getItemDefinition(itemID);
LootTrackerItemEntry itemEntry = new LootTrackerItemEntry(c.getName(), itemID, 1, 0, 0, false);
log.debug("Received Unsired item: {}", c.getName());

View File

@@ -47,7 +47,7 @@ import net.runelite.api.Client;
import net.runelite.api.EquipmentInventorySlot;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.ItemID;
import static net.runelite.api.ItemID.ACCUMULATOR_MAX_CAPE;
@@ -735,7 +735,7 @@ public class SuppliesTrackerPlugin extends Plugin
*/
private void buildEntries(int itemId, int count)
{
final ItemComposition itemComposition = itemManager.getItemComposition(itemId);
final ItemDefinition itemComposition = itemManager.getItemDefinition(itemId);
String name = itemComposition.getName();
long calculatedPrice;
@@ -757,12 +757,12 @@ public class SuppliesTrackerPlugin extends Plugin
if (isPizzaPie(name))
{
itemId = getFullVersionItemID(itemId);
name = itemManager.getItemComposition(itemId).getName();
name = itemManager.getItemDefinition(itemId).getName();
}
if (isCake(name, itemId))
{
itemId = getFullVersionItemID(itemId);
name = itemManager.getItemComposition(itemId).getName();
name = itemManager.getItemDefinition(itemId).getName();
}
int newQuantity;

View File

@@ -113,7 +113,7 @@ public abstract class RoomHandler
{
int size = 1;
NPCComposition composition = actor.getTransformedComposition();
NPCDefinition composition = actor.getTransformedDefinition();
if (composition != null)
size = composition.getSize();

View File

@@ -745,14 +745,14 @@ public class TimersPlugin extends Plugin
return;
}
if (config.showImbuedHeart() && actor.getGraphic() == IMBUEDHEART.getGraphicId())
if (config.showImbuedHeart() && actor.getSpotAnimation() == IMBUEDHEART.getGraphicId())
{
createGameTimer(IMBUEDHEART);
}
if (config.showFreezes())
{
if (actor.getGraphic() == BIND.getGraphicId())
if (actor.getSpotAnimation() == BIND.getGraphicId())
{
if (client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC)
&& !client.getWorldType().contains(WorldType.SEASONAL_DEADMAN)
@@ -766,7 +766,7 @@ public class TimersPlugin extends Plugin
}
}
if (actor.getGraphic() == SNARE.getGraphicId())
if (actor.getSpotAnimation() == SNARE.getGraphicId())
{
if (client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC)
&& !client.getWorldType().contains(WorldType.SEASONAL_DEADMAN)
@@ -780,7 +780,7 @@ public class TimersPlugin extends Plugin
}
}
if (actor.getGraphic() == ENTANGLE.getGraphicId())
if (actor.getSpotAnimation() == ENTANGLE.getGraphicId())
{
if (client.isPrayerActive(Prayer.PROTECT_FROM_MAGIC)
&& !client.getWorldType().contains(WorldType.SEASONAL_DEADMAN)
@@ -797,19 +797,19 @@ public class TimersPlugin extends Plugin
// downgrade freeze based on graphic, if at the same tick as the freeze message
if (freezeTime == client.getTickCount())
{
if (actor.getGraphic() == ICERUSH.getGraphicId())
if (actor.getSpotAnimation() == ICERUSH.getGraphicId())
{
removeGameTimer(ICEBARRAGE);
freezeTimer = createGameTimer(ICERUSH);
}
if (actor.getGraphic() == ICEBURST.getGraphicId())
if (actor.getSpotAnimation() == ICEBURST.getGraphicId())
{
removeGameTimer(ICEBARRAGE);
freezeTimer = createGameTimer(ICEBURST);
}
if (actor.getGraphic() == ICEBLITZ.getGraphicId())
if (actor.getSpotAnimation() == ICEBLITZ.getGraphicId())
{
removeGameTimer(ICEBARRAGE);
freezeTimer = createGameTimer(ICEBLITZ);

View File

@@ -24,6 +24,7 @@
*/
package net.runelite.client.plugins.timetracking.farming;
import api.vars.Autoweed;
import com.google.inject.Inject;
import com.google.inject.Singleton;
import java.time.Instant;
@@ -34,7 +35,6 @@ import javax.annotation.Nullable;
import net.runelite.api.Client;
import net.runelite.api.Varbits;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.vars.Autoweed;
import net.runelite.client.config.ConfigManager;
import net.runelite.client.game.ItemManager;
import net.runelite.client.plugins.timetracking.SummaryState;

View File

@@ -95,30 +95,30 @@ public class TMorph extends Plugin
Player player = client.getLocalPlayer();
if (player == null
|| player.getPlayerComposition() == null
|| player.getPlayerAppearance() == null
|| client.getWidget(WidgetInfo.LOGIN_CLICK_TO_PLAY_SCREEN) != null
|| client.getViewportWidget() == null)
{
return;
}
final int mainhandID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int mainhandID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.WEAPON), 0);
final int offhandID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int offhandID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.SHIELD), 0);
final int helmetID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int helmetID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.HELMET), 0);
final int capeID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int capeID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.CAPE), 0);
final int neckID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int neckID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.AMULET), 0);
final int bodyID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int bodyID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.TORSO), 0);
final int legsID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int legsID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.LEGS), 0);
final int bootsID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int bootsID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.BOOTS), 0);
final int glovesID = ObjectUtils.defaultIfNull(player.getPlayerComposition().
final int glovesID = ObjectUtils.defaultIfNull(player.getPlayerAppearance().
getEquipmentId(KitType.HANDS), 0);
if (config.mageSwap())
@@ -129,7 +129,7 @@ public class TMorph extends Plugin
{
if (mainhandID == config.targetMainhandMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.WEAPON.getIndex()] = config.MainhandMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = config.MainhandMage() + 512;
}
}
}
@@ -139,7 +139,7 @@ public class TMorph extends Plugin
{
if (offhandID == config.targetOffhandMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.SHIELD.getIndex()] = config.OffhandMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = config.OffhandMage() + 512;
}
}
}
@@ -149,7 +149,7 @@ public class TMorph extends Plugin
{
if (helmetID == config.targetHelmetMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.HELMET.getIndex()] = config.HelmetMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = config.HelmetMage() + 512;
}
}
}
@@ -159,7 +159,7 @@ public class TMorph extends Plugin
{
if (capeID == config.targetCapeMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.CAPE.getIndex()] = config.CapeMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = config.CapeMage() + 512;
}
}
}
@@ -169,7 +169,7 @@ public class TMorph extends Plugin
{
if (neckID == config.targetNeckMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.AMULET.getIndex()] = config.NeckMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = config.NeckMage() + 512;
}
}
}
@@ -179,7 +179,7 @@ public class TMorph extends Plugin
{
if (bodyID == config.targetBodyMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.TORSO.getIndex()] = config.BodyMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = config.BodyMage() + 512;
}
}
}
@@ -189,7 +189,7 @@ public class TMorph extends Plugin
{
if (legsID == config.targetLegsMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.LEGS.getIndex()] = config.LegsMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = config.LegsMage() + 512;
}
}
}
@@ -199,7 +199,7 @@ public class TMorph extends Plugin
{
if (bootsID == config.targetBootsMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.BOOTS.getIndex()] = config.BootsMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = config.BootsMage() + 512;
}
}
}
@@ -209,7 +209,7 @@ public class TMorph extends Plugin
{
if (glovesID == config.targetGlovesMage())
{
player.getPlayerComposition().getEquipmentIds()[KitType.HANDS.getIndex()] = config.GlovesMage() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = config.GlovesMage() + 512;
}
}
}
@@ -222,7 +222,7 @@ public class TMorph extends Plugin
{
if (mainhandID == config.targetMainhandRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.WEAPON.getIndex()] = config.MainhandRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = config.MainhandRange() + 512;
}
}
}
@@ -232,7 +232,7 @@ public class TMorph extends Plugin
{
if (offhandID == config.targetOffhandRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.SHIELD.getIndex()] = config.OffhandRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = config.OffhandRange() + 512;
}
}
}
@@ -242,7 +242,7 @@ public class TMorph extends Plugin
{
if (helmetID == config.targetHelmetRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.HELMET.getIndex()] = config.HelmetRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = config.HelmetRange() + 512;
}
}
}
@@ -252,7 +252,7 @@ public class TMorph extends Plugin
{
if (capeID == config.targetCapeRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.CAPE.getIndex()] = config.CapeRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = config.CapeRange() + 512;
}
}
}
@@ -262,7 +262,7 @@ public class TMorph extends Plugin
{
if (neckID == config.targetNeckRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.AMULET.getIndex()] = config.NeckRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = config.NeckRange() + 512;
}
}
}
@@ -272,7 +272,7 @@ public class TMorph extends Plugin
{
if (bodyID == config.targetBodyRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.TORSO.getIndex()] = config.BodyRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = config.BodyRange() + 512;
}
}
}
@@ -282,7 +282,7 @@ public class TMorph extends Plugin
{
if (legsID == config.targetLegsRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.LEGS.getIndex()] = config.LegsRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = config.LegsRange() + 512;
}
}
}
@@ -292,7 +292,7 @@ public class TMorph extends Plugin
{
if (bootsID == config.targetBootsRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.BOOTS.getIndex()] = config.BootsRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = config.BootsRange() + 512;
}
}
}
@@ -302,7 +302,7 @@ public class TMorph extends Plugin
{
if (glovesID == config.targetGlovesRange())
{
player.getPlayerComposition().getEquipmentIds()[KitType.HANDS.getIndex()] = config.GlovesRange() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = config.GlovesRange() + 512;
}
}
}
@@ -315,7 +315,7 @@ public class TMorph extends Plugin
{
if (mainhandID == config.targetMainhandMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.WEAPON.getIndex()] = config.MainhandMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.WEAPON.getIndex()] = config.MainhandMelee() + 512;
}
}
}
@@ -325,7 +325,7 @@ public class TMorph extends Plugin
{
if (offhandID == config.targetOffhandMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.SHIELD.getIndex()] = config.OffhandMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.SHIELD.getIndex()] = config.OffhandMelee() + 512;
}
}
}
@@ -335,7 +335,7 @@ public class TMorph extends Plugin
{
if (helmetID == config.targetHelmetMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.HELMET.getIndex()] = config.HelmetMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.HELMET.getIndex()] = config.HelmetMelee() + 512;
}
}
}
@@ -345,7 +345,7 @@ public class TMorph extends Plugin
{
if (capeID == config.targetCapeMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.CAPE.getIndex()] = config.CapeMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.CAPE.getIndex()] = config.CapeMelee() + 512;
}
}
}
@@ -355,7 +355,7 @@ public class TMorph extends Plugin
{
if (neckID == config.targetNeckMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.AMULET.getIndex()] = config.NeckMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.AMULET.getIndex()] = config.NeckMelee() + 512;
}
}
}
@@ -365,7 +365,7 @@ public class TMorph extends Plugin
{
if (bodyID == config.targetBodyMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.TORSO.getIndex()] = config.BodyMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.TORSO.getIndex()] = config.BodyMelee() + 512;
}
}
}
@@ -375,7 +375,7 @@ public class TMorph extends Plugin
{
if (legsID == config.targetLegsMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.LEGS.getIndex()] = config.LegsMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.LEGS.getIndex()] = config.LegsMelee() + 512;
}
}
}
@@ -385,7 +385,7 @@ public class TMorph extends Plugin
{
if (bootsID == config.targetBootsMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.BOOTS.getIndex()] = config.BootsMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.BOOTS.getIndex()] = config.BootsMelee() + 512;
}
}
}
@@ -395,11 +395,11 @@ public class TMorph extends Plugin
{
if (glovesID == config.targetGlovesMelee())
{
player.getPlayerComposition().getEquipmentIds()[KitType.HANDS.getIndex()] = config.GlovesMelee() + 512;
player.getPlayerAppearance().getEquipmentIds()[KitType.HANDS.getIndex()] = config.GlovesMelee() + 512;
}
}
}
}
player.getPlayerComposition().setHash();
player.getPlayerAppearance().setHash();
}
}

View File

@@ -149,7 +149,7 @@ public class WhaleWatchersPlugin extends Plugin
if (config.gloryWarning() && event.getItemContainer() == client.getItemContainer(InventoryID.EQUIPMENT))
{
final int amuletID = ObjectUtils.defaultIfNull(client.getLocalPlayer()
.getPlayerComposition().getEquipmentId(KitType.AMULET), 0);
.getPlayerAppearance().getEquipmentId(KitType.AMULET), 0);
displayGloryOverlay = amuletID == ItemID.AMULET_OF_GLORY;
}
else

View File

@@ -35,8 +35,9 @@ import net.runelite.api.Client;
import net.runelite.api.MenuAction;
import net.runelite.api.MenuEntry;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.MenuEntryAdded;
import net.runelite.api.events.MenuOptionClicked;
@@ -216,7 +217,7 @@ public class WikiPlugin extends Plugin
{
type = "item";
id = itemManager.canonicalize(ev.getId());
name = itemManager.getItemComposition(id).getName();
name = itemManager.getItemDefinition(id).getName();
location = null;
break;
}
@@ -224,7 +225,7 @@ public class WikiPlugin extends Plugin
{
type = "npc";
NPC npc = client.getCachedNPCs()[ev.getId()];
NPCComposition nc = npc.getTransformedComposition();
NPCDefinition nc = npc.getTransformedDefinition();
id = nc.getId();
name = nc.getName();
location = npc.getWorldLocation();
@@ -233,7 +234,7 @@ public class WikiPlugin extends Plugin
case SPELL_CAST_ON_GAME_OBJECT:
{
type = "object";
ObjectComposition lc = client.getObjectDefinition(ev.getId());
ObjectDefinition lc = client.getObjectDefinition(ev.getId());
if (lc.getImpostorIds() != null)
{
lc = lc.getImpostor();

View File

@@ -26,6 +26,7 @@
*/
package net.runelite.client.rs;
import net.runelite.api.Client;
import com.google.common.io.ByteStreams;
import io.sigpipe.jbsdiff.InvalidHeaderException;
import io.sigpipe.jbsdiff.Patch;
@@ -33,9 +34,16 @@ import java.applet.Applet;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
import java.nio.channels.ReadableByteChannel;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
@@ -51,7 +59,8 @@ import javax.inject.Inject;
import javax.inject.Named;
import javax.inject.Singleton;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import static net.runelite.client.RuneLite.RUNELITE_DIR;
import static net.runelite.client.rs.ClientUpdateCheckMode.AUTO;
import static net.runelite.client.rs.ClientUpdateCheckMode.CUSTOM;
import static net.runelite.client.rs.ClientUpdateCheckMode.NONE;
@@ -64,14 +73,14 @@ import org.apache.commons.compress.compressors.CompressorException;
@Singleton
public class ClientLoader
{
private static final File CUSTOMFILE = new File("replace me!");
private static final File CUSTOMFILE = new File("./injected-client/target/injected-client-1.0-SNAPSHOT.jar");
private final ClientConfigLoader clientConfigLoader;
private ClientUpdateCheckMode updateCheckMode;
@Inject
private ClientLoader(
@Named("updateCheckMode") final ClientUpdateCheckMode updateCheckMode,
final ClientConfigLoader clientConfigLoader)
@Named("updateCheckMode") final ClientUpdateCheckMode updateCheckMode,
final ClientConfigLoader clientConfigLoader)
{
this.updateCheckMode = updateCheckMode;
this.clientConfigLoader = clientConfigLoader;
@@ -83,7 +92,7 @@ public class ClientLoader
{
return null;
}
updateCheckMode = CUSTOM;
try
{
Manifest manifest = new Manifest();
@@ -97,8 +106,8 @@ public class ClientLoader
String initialJar = config.getInitialJar();
URL url = new URL(codebase + initialJar);
Request request = new Request.Builder()
.url(url)
.build();
.url(url)
.build();
try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
{
@@ -176,7 +185,24 @@ public class ClientLoader
if (updateCheckMode == CUSTOM)
{
JarInputStream fis = new JarInputStream(new FileInputStream(CUSTOMFILE));
URL url = new URL("https://raw.githubusercontent.com/runelite-extended/maven-repo/master/artifacts/injected-client.jar");
ReadableByteChannel readableByteChannel = Channels.newChannel(url.openStream());
File INJECTED_CLIENT = new File(RUNELITE_DIR+"/injected-client.jar");
INJECTED_CLIENT.mkdirs();
if (INJECTED_CLIENT.exists()) {
if (getFileSize(INJECTED_CLIENT.toURI().toURL())!= getFileSize(url)) {
INJECTED_CLIENT.delete();
INJECTED_CLIENT.createNewFile();
System.out.println("Updating Injected Client");
updateInjectedClient(readableByteChannel);
}
} else {
INJECTED_CLIENT.createNewFile();
System.out.println("Initializing Inject Client");
updateInjectedClient(readableByteChannel);
}
JarInputStream fis = new JarInputStream(new FileInputStream(INJECTED_CLIENT));
byte[] tmp = new byte[4096];
ByteArrayOutputStream buffer = new ByteArrayOutputStream(756 * 1024);
for (; ; )
@@ -226,7 +252,7 @@ public class ClientLoader
if (rs instanceof Client)
{
log.info("client-patch {}", ((Client) rs).getBuildID());
log.info("client-patch {}", "420 blaze it RL pricks");
}
return rs;
@@ -236,8 +262,8 @@ public class ClientLoader
if (e instanceof ClassNotFoundException)
{
log.error("Unable to load client - class not found. This means you"
+ " are not running RuneLite with Maven as the client patch"
+ " is not in your classpath.");
+ " are not running RuneLite with Maven as the client patch"
+ " is not in your classpath.");
}
log.error("Error loading RS!", e);
@@ -245,6 +271,39 @@ public class ClientLoader
}
}
private static int getFileSize(URL url) {
URLConnection conn = null;
try {
conn = url.openConnection();
if(conn instanceof HttpURLConnection) {
((HttpURLConnection)conn).setRequestMethod("HEAD");
}
conn.getInputStream();
return conn.getContentLength();
} catch (IOException e) {
throw new RuntimeException(e);
} finally {
if(conn instanceof HttpURLConnection) {
((HttpURLConnection)conn).disconnect();
}
}
}
private void updateInjectedClient(ReadableByteChannel readableByteChannel) {
File INJECTED_CLIENT = new File(RUNELITE_DIR,"injected-client.jar");
FileOutputStream fileOutputStream = null;
try {
fileOutputStream = new FileOutputStream(INJECTED_CLIENT);
FileChannel fileChannel = fileOutputStream.getChannel();
fileOutputStream.getChannel()
.transferFrom(readableByteChannel, 0, Long.MAX_VALUE);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private static Certificate[] getJagexCertificateChain() throws CertificateException
{
CertificateFactory certificateFactory = CertificateFactory.getInstance("X.509");

View File

@@ -55,7 +55,7 @@ final class ClientPanel extends JPanel
add(client, BorderLayout.CENTER);
// This causes the whole game frame to be redrawn each frame instead
// api.renderableThis causes the whole game frame to be redrawn each frame instead
// of only the viewport, so we can hook to MainBufferProvider#draw
// and draw anywhere without it leaving artifacts
if (client instanceof Client)

View File

@@ -4,7 +4,8 @@ import java.util.ArrayList;
import java.util.HashSet;
import net.runelite.api.Client;
import net.runelite.api.GameObject;
import net.runelite.api.ObjectComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.ObjectDefinition;
import net.runelite.api.Scene;
import net.runelite.api.Tile;
@@ -34,8 +35,8 @@ class ArrowUtil
}
// Check impostors
final ObjectComposition comp = client.getObjectDefinition(object.getId());
final ObjectComposition impostor = comp.getImpostorIds() != null ? comp.getImpostor() : comp;
final ObjectDefinition comp = client.getObjectDefinition(object.getId());
final ObjectDefinition impostor = comp.getImpostorIds() != null ? comp.getImpostor() : comp;
if (impostor != null && objectIDs.contains(impostor.getId()))
{

View File

@@ -44,7 +44,7 @@ import javax.swing.GrayFilter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.api.Client;
import net.runelite.api.IndexedSprite;
import net.runelite.api.SpritePixels;
import net.runelite.api.Sprite;
/**
* Various Image/BufferedImage utilities.
@@ -426,7 +426,7 @@ public class ImageUtil
* @param client Current client instance
* @return The buffered image as a sprite image
*/
public static SpritePixels getImageSpritePixels(BufferedImage image, Client client)
public static Sprite getImageSprite(BufferedImage image, Client client)
{
int[] pixels = new int[image.getWidth() * image.getHeight()];
@@ -451,7 +451,7 @@ public class ImageUtil
log.debug("PixelGrabber was interrupted: ", ex);
}
return client.createSpritePixels(pixels, image.getWidth(), image.getHeight());
return client.createSprite(pixels, image.getWidth(), image.getHeight());
}
/**

View File

@@ -15,7 +15,7 @@ import java.util.TreeMap;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.Player;
import net.runelite.api.Varbits;
import net.runelite.api.WorldType;
@@ -90,10 +90,10 @@ public class PvPUtil
{
int value = (itemManager.getItemPrice(i.getId()) * i.getQuantity());
final ItemComposition itemComposition = itemManager.getItemComposition(i.getId());
if (!itemComposition.isTradeable() && value == 0)
final ItemDefinition ItemDefinition = itemManager.getItemDefinition(i.getId());
if (!ItemDefinition.isTradeable() && value == 0)
{
value = itemComposition.getPrice() * i.getQuantity();
value = ItemDefinition.getPrice() * i.getQuantity();
priceMap.put(value, i);
}
else

View File

@@ -32,7 +32,7 @@ import javax.inject.Inject;
import net.runelite.api.Client;
import net.runelite.api.InventoryID;
import net.runelite.api.Item;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.api.ItemContainer;
import net.runelite.api.ItemID;
import net.runelite.client.game.ItemManager;
@@ -99,12 +99,12 @@ public class BankCalculationTest
when(client.getItemContainer(InventoryID.BANK))
.thenReturn(bankContainer);
ItemComposition whipComp = mock(ItemComposition.class);
ItemDefinition whipComp = mock(ItemDefinition.class);
when(whipComp.getId())
.thenReturn(ItemID.ABYSSAL_WHIP);
when(whipComp.getPrice())
.thenReturn(7); // 7 * .6 = 4, 4 * 1m overflows
when(itemManager.getItemComposition(ItemID.ABYSSAL_WHIP))
when(itemManager.getItemDefinition(ItemID.ABYSSAL_WHIP))
.thenReturn(whipComp);
bankCalculation.calculate();

View File

@@ -113,7 +113,7 @@ public class CookingPluginTest
public void testOnGraphicChanged()
{
Player player = mock(Player.class);
when(player.getGraphic()).thenReturn(GraphicID.WINE_MAKE);
//when(player.getSpotAnimation()).thenReturn(GraphicID.WINE_MAKE);
when(config.fermentTimer()).thenReturn(true);
when(client.getLocalPlayer()).thenReturn(player);

View File

@@ -97,7 +97,7 @@ public class ExaminePluginTest
ChatMessage chatMessage = new ChatMessage(null, ChatMessageType.ITEM_EXAMINE, "", "A weapon from the abyss.", "", 0);
examinePlugin.onChatMessage(chatMessage);
// This passes due to not mocking the ItemComposition for the whip
// This passes due to not mocking the ItemDefinition for the whip
verify(examineClient).submitItem(anyInt(), anyString());
}

View File

@@ -27,7 +27,7 @@ package net.runelite.client.plugins.grandexchange;
import net.runelite.api.GrandExchangeOffer;
import net.runelite.api.GrandExchangeOfferState;
import net.runelite.api.ItemComposition;
import net.runelite.api.ItemDefinition;
import net.runelite.client.game.AsyncBufferedImage;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -48,7 +48,7 @@ public class GrandExchangeOfferSlotTest
when(offer.getState()).thenReturn(GrandExchangeOfferState.CANCELLED_BUY);
GrandExchangeOfferSlot offerSlot = new GrandExchangeOfferSlot();
offerSlot.updateOffer(mock(ItemComposition.class), mock(AsyncBufferedImage.class), offer);
offerSlot.updateOffer(mock(ItemDefinition.class), mock(AsyncBufferedImage.class), offer);
}
}

View File

@@ -34,7 +34,7 @@ import net.runelite.api.Client;
import net.runelite.api.GameState;
import net.runelite.api.Hitsplat;
import net.runelite.api.NPC;
import net.runelite.api.NPCComposition;
import net.runelite.api.NPCDefinition;
import net.runelite.api.Player;
import net.runelite.api.VarPlayer;
import net.runelite.api.WorldType;
@@ -93,15 +93,15 @@ public class IdleNotifierPluginTest
// Mock monster
final String[] monsterActions = new String[] { "Attack", "Examine" };
final NPCComposition monsterComp = mock(NPCComposition.class);
final NPCDefinition monsterComp = mock(NPCDefinition.class);
when(monsterComp.getActions()).thenReturn(monsterActions);
when(monster.getComposition()).thenReturn(monsterComp);
when(monster.getDefinition()).thenReturn(monsterComp);
// Mock random event
final String[] randomEventActions = new String[] { "Talk-to", "Dismiss", "Examine" };
final NPCComposition randomEventComp = mock(NPCComposition.class);
final NPCDefinition randomEventComp = mock(NPCDefinition.class);
when(randomEventComp.getActions()).thenReturn(randomEventActions);
when(randomEvent.getComposition()).thenReturn(randomEventComp);
when(randomEvent.getDefinition()).thenReturn(randomEventComp);
// Mock player
when(player.getName()).thenReturn(PLAYER_NAME);