Merge pull request #90 from abelbriggs1/patch
Changes/upgrades to GroundItems
This commit is contained in:
@@ -40,9 +40,28 @@ public interface GroundItemsConfig
|
|||||||
name = "Enabled",
|
name = "Enabled",
|
||||||
description = "Configures whether or not item names/quantities are displayed"
|
description = "Configures whether or not item names/quantities are displayed"
|
||||||
)
|
)
|
||||||
|
|
||||||
default boolean enabled()
|
default boolean enabled()
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "showGEPrice",
|
||||||
|
name = "Show Grand Exchange Prices",
|
||||||
|
description = "Configures whether or not to draw GE prices alongside ground items"
|
||||||
|
)
|
||||||
|
default boolean showGEPrice()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@ConfigItem(
|
||||||
|
keyName = "showHAValue",
|
||||||
|
name = "Show High Alchemy Values",
|
||||||
|
description = "Configure whether or not to draw High Alchemy values alongside ground items"
|
||||||
|
)
|
||||||
|
default boolean showHAValue()
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,6 +73,8 @@ public class GroundItemsOverlay extends Overlay
|
|||||||
// Threshold for highlighting items as pink.
|
// Threshold for highlighting items as pink.
|
||||||
private static final int INSANE_VALUE = 10_000_000;
|
private static final int INSANE_VALUE = 10_000_000;
|
||||||
private static final Color FADED_PINK = new Color(255, 102, 178);
|
private static final Color FADED_PINK = new Color(255, 102, 178);
|
||||||
|
// Used when getting High Alchemy value - multiplied by general store price.
|
||||||
|
private static final float HIGH_ALCHEMY_CONSTANT = 0.6f;
|
||||||
|
|
||||||
private final Client client = RuneLite.getClient();
|
private final Client client = RuneLite.getClient();
|
||||||
private final GroundItemsConfig config;
|
private final GroundItemsConfig config;
|
||||||
@@ -94,11 +96,11 @@ public class GroundItemsOverlay extends Overlay
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget bank = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER);
|
//Widget bank = client.getWidget(WidgetInfo.BANK_ITEM_CONTAINER);
|
||||||
if (bank != null && !bank.isHidden())
|
//if (bank != null && !bank.isHidden())
|
||||||
{
|
//{
|
||||||
return null;
|
// return null;
|
||||||
}
|
//}
|
||||||
|
|
||||||
Region region = client.getRegion();
|
Region region = client.getRegion();
|
||||||
Tile[][][] tiles = region.getTiles();
|
Tile[][][] tiles = region.getTiles();
|
||||||
@@ -183,9 +185,15 @@ public class GroundItemsOverlay extends Overlay
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// sets item ID to unnoted version, if noted
|
||||||
|
if (item.getNote() != -1)
|
||||||
|
{
|
||||||
|
itemId = item.getLinkedNoteId();
|
||||||
|
}
|
||||||
|
|
||||||
Color textColor = Color.WHITE; // Color to use when drawing the ground item
|
Color textColor = Color.WHITE; // Color to use when drawing the ground item
|
||||||
ItemPrice itemPrice = itemManager.get(itemId);
|
ItemPrice itemPrice = itemManager.get(itemId);
|
||||||
if (itemPrice != null)
|
if (itemPrice != null && config.showGEPrice())
|
||||||
{
|
{
|
||||||
int cost = itemPrice.getPrice() * quantity;
|
int cost = itemPrice.getPrice() * quantity;
|
||||||
// set the color according to rarity, if possible
|
// set the color according to rarity, if possible
|
||||||
@@ -211,6 +219,13 @@ public class GroundItemsOverlay extends Overlay
|
|||||||
.append(" gp)");
|
.append(" gp)");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (config.showHAValue())
|
||||||
|
{
|
||||||
|
itemStringBuilder.append(" (HA: ")
|
||||||
|
.append(Math.round(item.getPrice() * HIGH_ALCHEMY_CONSTANT))
|
||||||
|
.append(" gp)");
|
||||||
|
}
|
||||||
|
|
||||||
String itemString = itemStringBuilder.toString();
|
String itemString = itemStringBuilder.toString();
|
||||||
itemStringBuilder.setLength(0);
|
itemStringBuilder.setLength(0);
|
||||||
|
|
||||||
|
|||||||
@@ -27,11 +27,61 @@ package net.runelite.rs.api;
|
|||||||
|
|
||||||
import net.runelite.mapping.Import;
|
import net.runelite.mapping.Import;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ItemComposition is an interface that represents the various properties
|
||||||
|
* of an item. Imports several values from rs-client/ItemComposition,
|
||||||
|
* and allows direct access to them by calling these methods.
|
||||||
|
*/
|
||||||
public interface ItemComposition
|
public interface ItemComposition
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Returns the item's name as a string.
|
||||||
|
* @return the name of the item
|
||||||
|
*/
|
||||||
@Import("name")
|
@Import("name")
|
||||||
String getName();
|
String getName();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the item's ID. A list of item IDs can be
|
||||||
|
* found in net.runelite.api.ItemID.
|
||||||
|
* @return the item's ID as an integer
|
||||||
|
*/
|
||||||
|
@Import("id")
|
||||||
|
int getId();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a result that depends on whether the item
|
||||||
|
* is in noted form or not.
|
||||||
|
* @return 799 if noted, -1 if unnoted
|
||||||
|
*/
|
||||||
|
@Import("notedTemplate")
|
||||||
|
int getNote();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the item ID of the noted/unnoted counterpart.
|
||||||
|
* For example, if you call this on an unnoted monkfish(ID 7946),
|
||||||
|
* this method will return the ID of a noted monkfish(ID 7947),
|
||||||
|
* and vice versa.
|
||||||
|
* @return the ID that is linked to this item in noted/unnoted form.
|
||||||
|
*/
|
||||||
|
@Import("note")
|
||||||
|
int getLinkedNoteId();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the store price of the item. Even if the item cannot
|
||||||
|
* be found in a store, all items have a store price from which the
|
||||||
|
* High and Low Alchemy values are calculated. Multiply the price by
|
||||||
|
* 0.6 to get the High Alchemy value, or 0.4 to get the Low Alchemy
|
||||||
|
* value.
|
||||||
|
* @return the general store value of the item
|
||||||
|
*/
|
||||||
|
@Import("price")
|
||||||
|
int getPrice();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether or not the item is members-only.
|
||||||
|
* @return true if members-only, false otherwise.
|
||||||
|
*/
|
||||||
@Import("isMembers")
|
@Import("isMembers")
|
||||||
boolean isMembers();
|
boolean isMembers();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user