Merge pull request #3701 from Mitchell-Kovacs/ItemOverlay
Change the Jewellery Count plugin to Item Charges and added more options.
This commit is contained in:
@@ -0,0 +1,148 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Devin French <https://github.com/devinfrench>
|
||||
* 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.itemcharges;
|
||||
|
||||
import java.awt.Color;
|
||||
import net.runelite.client.config.Config;
|
||||
import net.runelite.client.config.ConfigGroup;
|
||||
import net.runelite.client.config.ConfigItem;
|
||||
|
||||
@ConfigGroup(
|
||||
keyName = "itemCharge",
|
||||
name = "Item Charges",
|
||||
description = "Configuration for the Item Charges plugin"
|
||||
)
|
||||
public interface ItemChargeConfig extends Config
|
||||
{
|
||||
@ConfigItem(
|
||||
keyName = "veryLowWarningColor",
|
||||
name = "Very Low Warning Color",
|
||||
description = "Configure the color of the overlay when charges are very low",
|
||||
position = 1
|
||||
)
|
||||
default Color veryLowWarningColor()
|
||||
{
|
||||
return Color.RED;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "lowWarningColor",
|
||||
name = "Low Warning Color",
|
||||
description = "Configure the color of the overlay when charges are low",
|
||||
position = 2
|
||||
)
|
||||
default Color lowWarningolor()
|
||||
{
|
||||
return Color.YELLOW;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "veryLowWarning",
|
||||
name = "Very Low Warning",
|
||||
description = "Configure the charge count for the very low warning color",
|
||||
position = 3
|
||||
)
|
||||
default int veryLowWarning()
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "lowWarning",
|
||||
name = "Low Warning",
|
||||
description = "Configure the charge count for the low warning color",
|
||||
position = 4
|
||||
)
|
||||
default int lowWarning()
|
||||
{
|
||||
return 2;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "showTeleportCharges",
|
||||
name = "Show Teleport Charges",
|
||||
description = "Configures if teleport item count is shown",
|
||||
position = 5
|
||||
)
|
||||
default boolean showTeleportCharges()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "showImpCharges",
|
||||
name = "Show Imp-in-a-box charges",
|
||||
description = "Configures if imp-in-a-box item charges is shown",
|
||||
position = 6
|
||||
)
|
||||
default boolean showImpCharges()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "showFungicideCharges",
|
||||
name = "Show Fungicide Charges",
|
||||
description = "Configures if fungicide item charges is shown",
|
||||
position = 7
|
||||
)
|
||||
default boolean showFungicideCharges()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "showWateringCanCharges",
|
||||
name = "Show Watering Can Charges",
|
||||
description = "Configures if watering can item charge is shown",
|
||||
position = 8
|
||||
)
|
||||
default boolean showWateringCanCharges()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "showWaterskinCharges",
|
||||
name = "Show Waterskin Charges",
|
||||
description = "Configures if waterskin item charge is shown",
|
||||
position = 9
|
||||
)
|
||||
default boolean showWaterskinCharges()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "recoilNotification",
|
||||
name = "Ring of Recoil Notification",
|
||||
description = "Configures if the ring of recoil breaking notification is shown",
|
||||
position = 10
|
||||
)
|
||||
default boolean recoilNotification()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -22,8 +22,9 @@
|
||||
* (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.jewellerycount;
|
||||
package net.runelite.client.plugins.itemcharges;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Point;
|
||||
@@ -37,6 +38,11 @@ import net.runelite.api.queries.EquipmentItemQuery;
|
||||
import net.runelite.api.queries.InventoryWidgetItemQuery;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.FUNGICIDE_SPRAY;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.IMPBOX;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.TELEPORT;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.WATERCAN;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.WATERSKIN;
|
||||
import net.runelite.client.ui.FontManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||
@@ -44,13 +50,13 @@ import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.TextComponent;
|
||||
import net.runelite.client.util.QueryRunner;
|
||||
|
||||
class JewelleryCountOverlay extends Overlay
|
||||
class ItemChargeOverlay extends Overlay
|
||||
{
|
||||
private final QueryRunner queryRunner;
|
||||
private final JewelleryCountConfig config;
|
||||
private final ItemChargeConfig config;
|
||||
|
||||
@Inject
|
||||
JewelleryCountOverlay(QueryRunner queryRunner, JewelleryCountConfig config)
|
||||
ItemChargeOverlay(QueryRunner queryRunner, ItemChargeConfig config)
|
||||
{
|
||||
setPosition(OverlayPosition.DYNAMIC);
|
||||
setLayer(OverlayLayer.ABOVE_WIDGETS);
|
||||
@@ -61,33 +67,44 @@ class JewelleryCountOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (!config.showJewelleryCount())
|
||||
if (!config.showTeleportCharges() && !config.showFungicideCharges() && !config.showImpCharges()
|
||||
&& !config.showWateringCanCharges() && !config.showWaterskinCharges())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
graphics.setFont(FontManager.getRunescapeSmallFont());
|
||||
|
||||
for (WidgetItem item : getJewelleryWidgetItems())
|
||||
for (WidgetItem item : getChargeWidgetItems())
|
||||
{
|
||||
JewelleryCharges charges = JewelleryCharges.getCharges(item.getId());
|
||||
|
||||
if (charges == null)
|
||||
ItemWithCharge chargeItem = ItemWithCharge.findItem(item.getId());
|
||||
if (chargeItem == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
ItemChargeType type = chargeItem.getType();
|
||||
if ((type == TELEPORT && !config.showTeleportCharges())
|
||||
|| (type == FUNGICIDE_SPRAY && !config.showFungicideCharges())
|
||||
|| (type == IMPBOX && !config.showImpCharges())
|
||||
|| (type == WATERCAN && !config.showWateringCanCharges())
|
||||
|| (type == WATERSKIN && !config.showWaterskinCharges()))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
int charges = chargeItem.getCharges();
|
||||
final Rectangle bounds = item.getCanvasBounds();
|
||||
final TextComponent textComponent = new TextComponent();
|
||||
textComponent.setPosition(new Point(bounds.x, bounds.y + 16));
|
||||
textComponent.setText(String.valueOf(charges.getCharges()));
|
||||
textComponent.setText(String.valueOf(charges));
|
||||
textComponent.setColor(getColor(charges));
|
||||
textComponent.render(graphics);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private Collection<WidgetItem> getJewelleryWidgetItems()
|
||||
private Collection<WidgetItem> getChargeWidgetItems()
|
||||
{
|
||||
Query inventoryQuery = new InventoryWidgetItemQuery();
|
||||
WidgetItem[] inventoryWidgetItems = queryRunner.runQuery(inventoryQuery);
|
||||
@@ -105,4 +122,18 @@ class JewelleryCountOverlay extends Overlay
|
||||
jewellery.addAll(Arrays.asList(equipmentWidgetItems));
|
||||
return jewellery;
|
||||
}
|
||||
|
||||
private Color getColor(int charges)
|
||||
{
|
||||
Color color = Color.WHITE;
|
||||
if (charges <= config.veryLowWarning())
|
||||
{
|
||||
color = config.veryLowWarningColor();
|
||||
}
|
||||
else if (charges <= config.lowWarning())
|
||||
{
|
||||
color = config.lowWarningolor();
|
||||
}
|
||||
return color;
|
||||
}
|
||||
}
|
||||
@@ -22,7 +22,7 @@
|
||||
* (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.jewellerycount;
|
||||
package net.runelite.client.plugins.itemcharges;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.ChatMessageType;
|
||||
@@ -30,25 +30,24 @@ import net.runelite.client.plugins.Plugin;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import com.google.common.eventbus.Subscribe;
|
||||
import com.google.inject.Provides;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.events.ChatMessage;
|
||||
import net.runelite.client.Notifier;
|
||||
import net.runelite.client.config.ConfigManager;
|
||||
import net.runelite.client.plugins.PluginDescriptor;
|
||||
|
||||
@PluginDescriptor(
|
||||
name = "Jewellery Count"
|
||||
name = "Item Charges"
|
||||
)
|
||||
public class JewelleryCountPlugin extends Plugin
|
||||
public class ItemChargePlugin extends Plugin
|
||||
{
|
||||
@Inject
|
||||
private JewelleryCountOverlay overlay;
|
||||
private ItemChargeOverlay overlay;
|
||||
|
||||
@Inject
|
||||
private Notifier notifier;
|
||||
|
||||
@Inject
|
||||
private JewelleryCountConfig config;
|
||||
private ItemChargeConfig config;
|
||||
|
||||
@Override
|
||||
public Overlay getOverlay()
|
||||
@@ -57,9 +56,9 @@ public class JewelleryCountPlugin extends Plugin
|
||||
}
|
||||
|
||||
@Provides
|
||||
JewelleryCountConfig getConfig(ConfigManager configManager)
|
||||
ItemChargeConfig getConfig(ConfigManager configManager)
|
||||
{
|
||||
return configManager.getConfig(JewelleryCountConfig.class);
|
||||
return configManager.getConfig(ItemChargeConfig.class);
|
||||
}
|
||||
|
||||
@Subscribe
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Seth <Sethtroll3@gmail.com>
|
||||
* Copyright (c) 2017, Mitchell <https://github.com/Mitchell-Kovacs>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
@@ -22,24 +22,13 @@
|
||||
* (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.jewellerycount;
|
||||
package net.runelite.client.plugins.itemcharges;
|
||||
|
||||
public enum JewelleryType
|
||||
enum ItemChargeType
|
||||
{
|
||||
GLORY,
|
||||
ROD,
|
||||
GAMES,
|
||||
ROW,
|
||||
ROS,
|
||||
SKILLS,
|
||||
CBRACE,
|
||||
DIGSITE,
|
||||
BURNING,
|
||||
PASSAGE,
|
||||
RETURNING,
|
||||
TCRYSTAL,
|
||||
PHARAO,
|
||||
WATERSKIN,
|
||||
IMP_IN_A_BOX,
|
||||
ELYRE
|
||||
FUNGICIDE_SPRAY,
|
||||
IMPBOX,
|
||||
TELEPORT,
|
||||
WATERCAN,
|
||||
WATERSKIN
|
||||
}
|
||||
@@ -0,0 +1,182 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Seth <Sethtroll3@gmail.com>
|
||||
* 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.itemcharges;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.annotation.Nullable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
import static net.runelite.api.ItemID.*;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.FUNGICIDE_SPRAY;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.IMPBOX;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.TELEPORT;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.WATERCAN;
|
||||
import static net.runelite.client.plugins.itemcharges.ItemChargeType.WATERSKIN;
|
||||
|
||||
@AllArgsConstructor
|
||||
@Getter
|
||||
enum ItemWithCharge
|
||||
{
|
||||
BURNING1(TELEPORT, BURNING_AMULET1, 1),
|
||||
BURNING2(TELEPORT, BURNING_AMULET2, 2),
|
||||
BURNING3(TELEPORT, BURNING_AMULET3, 3),
|
||||
BURNING4(TELEPORT, BURNING_AMULET4, 4),
|
||||
BURNING5(TELEPORT, BURNING_AMULET5, 5),
|
||||
CBRACE1(TELEPORT, COMBAT_BRACELET1, 1),
|
||||
CBRACE2(TELEPORT, COMBAT_BRACELET2, 2),
|
||||
CBRACE3(TELEPORT, COMBAT_BRACELET3, 3),
|
||||
CBRACE4(TELEPORT, COMBAT_BRACELET4, 4),
|
||||
CBRACE5(TELEPORT, COMBAT_BRACELET5, 5),
|
||||
CBRACE6(TELEPORT, COMBAT_BRACELET6, 6),
|
||||
DIGSITE1(TELEPORT, DIGSITE_PENDANT_1, 1),
|
||||
DIGSITE2(TELEPORT, DIGSITE_PENDANT_2, 2),
|
||||
DIGSITE3(TELEPORT, DIGSITE_PENDANT_3, 3),
|
||||
DIGSITE4(TELEPORT, DIGSITE_PENDANT_4, 4),
|
||||
DIGSITE5(TELEPORT, DIGSITE_PENDANT_5, 5),
|
||||
ELYRE1(TELEPORT, ENCHANTED_LYRE1, 1),
|
||||
ELYRE2(TELEPORT, ENCHANTED_LYRE2, 2),
|
||||
ELYRE3(TELEPORT, ENCHANTED_LYRE3, 3),
|
||||
ELYRE4(TELEPORT, ENCHANTED_LYRE4, 4),
|
||||
ELYRE5(TELEPORT, ENCHANTED_LYRE5, 5),
|
||||
FUNGICIDE0(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_0, 0),
|
||||
FUNGICIDE1(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_1, 1),
|
||||
FUNGICIDE2(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_2, 2),
|
||||
FUNGICIDE3(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_3, 3),
|
||||
FUNGICIDE4(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_4, 4),
|
||||
FUNGICIDE5(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_5, 5),
|
||||
FUNGICIDE6(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_6, 6),
|
||||
FUNGICIDE7(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_7, 7),
|
||||
FUNGICIDE8(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_8, 8),
|
||||
FUNGICIDE9(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_9, 9),
|
||||
FUNGICIDE10(FUNGICIDE_SPRAY, FUNGICIDE_SPRAY_10, 10),
|
||||
GAMES1(TELEPORT, GAMES_NECKLACE1, 1),
|
||||
GAMES2(TELEPORT, GAMES_NECKLACE2, 2),
|
||||
GAMES3(TELEPORT, GAMES_NECKLACE3, 3),
|
||||
GAMES4(TELEPORT, GAMES_NECKLACE4, 4),
|
||||
GAMES5(TELEPORT, GAMES_NECKLACE5, 5),
|
||||
GAMES6(TELEPORT, GAMES_NECKLACE6, 6),
|
||||
GAMES7(TELEPORT, GAMES_NECKLACE7, 7),
|
||||
GAMES8(TELEPORT, GAMES_NECKLACE8, 8),
|
||||
GLORY1(TELEPORT, AMULET_OF_GLORY1, 1),
|
||||
GLORY2(TELEPORT, AMULET_OF_GLORY2, 2),
|
||||
GLORY3(TELEPORT, AMULET_OF_GLORY3, 3),
|
||||
GLORY4(TELEPORT, AMULET_OF_GLORY4, 4),
|
||||
GLORY5(TELEPORT, AMULET_OF_GLORY5, 5),
|
||||
GLORY6(TELEPORT, AMULET_OF_GLORY6, 6),
|
||||
GLORYT1(TELEPORT, AMULET_OF_GLORY_T1, 1),
|
||||
GLORYT2(TELEPORT, AMULET_OF_GLORY_T2, 2),
|
||||
GLORYT3(TELEPORT, AMULET_OF_GLORY_T3, 3),
|
||||
GLORYT4(TELEPORT, AMULET_OF_GLORY_T4, 4),
|
||||
GLORYT5(TELEPORT, AMULET_OF_GLORY_T5, 5),
|
||||
GLORYT6(TELEPORT, AMULET_OF_GLORY_T6, 6),
|
||||
IMP_IN_A_BOX1(IMPBOX, IMPINABOX1, 1),
|
||||
IMP_IN_A_BOX2(IMPBOX, IMPINABOX2, 2),
|
||||
PASSAGE1(TELEPORT, NECKLACE_OF_PASSAGE1, 1),
|
||||
PASSAGE2(TELEPORT, NECKLACE_OF_PASSAGE2, 2),
|
||||
PASSAGE3(TELEPORT, NECKLACE_OF_PASSAGE3, 3),
|
||||
PASSAGE4(TELEPORT, NECKLACE_OF_PASSAGE4, 4),
|
||||
PASSAGE5(TELEPORT, NECKLACE_OF_PASSAGE5, 5),
|
||||
PHARAO1(TELEPORT, PHARAOHS_SCEPTRE_1, 1),
|
||||
PHARAO2(TELEPORT, PHARAOHS_SCEPTRE_2, 2),
|
||||
PHARAO3(TELEPORT, PHARAOHS_SCEPTRE_3, 3),
|
||||
PHARAO4(TELEPORT, PHARAOHS_SCEPTRE_4, 4),
|
||||
PHARAO5(TELEPORT, PHARAOHS_SCEPTRE_5, 5),
|
||||
PHARAO6(TELEPORT, PHARAOHS_SCEPTRE_6, 6),
|
||||
PHARAO7(TELEPORT, PHARAOHS_SCEPTRE_7, 7),
|
||||
PHARAO8(TELEPORT, PHARAOHS_SCEPTRE_8, 8),
|
||||
RETURNING1(TELEPORT, RING_OF_RETURNING1, 1),
|
||||
RETURNING2(TELEPORT, RING_OF_RETURNING2, 2),
|
||||
RETURNING3(TELEPORT, RING_OF_RETURNING3, 3),
|
||||
RETURNING4(TELEPORT, RING_OF_RETURNING4, 4),
|
||||
RETURNING5(TELEPORT, RING_OF_RETURNING5, 5),
|
||||
ROD1(TELEPORT, RING_OF_DUELING1, 1),
|
||||
ROD2(TELEPORT, RING_OF_DUELING2, 2),
|
||||
ROD3(TELEPORT, RING_OF_DUELING3, 3),
|
||||
ROD4(TELEPORT, RING_OF_DUELING4, 4),
|
||||
ROD5(TELEPORT, RING_OF_DUELING5, 5),
|
||||
ROD6(TELEPORT, RING_OF_DUELING6, 6),
|
||||
ROD7(TELEPORT, RING_OF_DUELING7, 7),
|
||||
ROD8(TELEPORT, RING_OF_DUELING8, 8),
|
||||
ROS1(TELEPORT, SLAYER_RING_1, 1),
|
||||
ROS2(TELEPORT, SLAYER_RING_2, 2),
|
||||
ROS3(TELEPORT, SLAYER_RING_3, 3),
|
||||
ROS4(TELEPORT, SLAYER_RING_4, 4),
|
||||
ROS5(TELEPORT, SLAYER_RING_5, 5),
|
||||
ROS6(TELEPORT, SLAYER_RING_6, 6),
|
||||
ROS7(TELEPORT, SLAYER_RING_7, 7),
|
||||
ROS8(TELEPORT, SLAYER_RING_8, 8),
|
||||
ROW1(TELEPORT, RING_OF_WEALTH_1, 1),
|
||||
ROW2(TELEPORT, RING_OF_WEALTH_2, 2),
|
||||
ROW3(TELEPORT, RING_OF_WEALTH_3, 3),
|
||||
ROW4(TELEPORT, RING_OF_WEALTH_4, 4),
|
||||
ROW5(TELEPORT, RING_OF_WEALTH_5, 5),
|
||||
SKILLS1(TELEPORT, SKILLS_NECKLACE1, 1),
|
||||
SKILLS2(TELEPORT, SKILLS_NECKLACE2, 2),
|
||||
SKILLS3(TELEPORT, SKILLS_NECKLACE3, 3),
|
||||
SKILLS4(TELEPORT, SKILLS_NECKLACE4, 4),
|
||||
SKILLS5(TELEPORT, SKILLS_NECKLACE5, 5),
|
||||
SKILLS6(TELEPORT, SKILLS_NECKLACE6, 6),
|
||||
TCRYSTAL1(TELEPORT, TELEPORT_CRYSTAL_1, 1),
|
||||
TCRYSTAL2(TELEPORT, TELEPORT_CRYSTAL_2, 2),
|
||||
TCRYSTAL3(TELEPORT, TELEPORT_CRYSTAL_3, 3),
|
||||
TCRYSTAL4(TELEPORT, TELEPORT_CRYSTAL_4, 4),
|
||||
TCRYSTAL5(TELEPORT, TELEPORT_CRYSTAL_5, 5),
|
||||
WCAN0(WATERCAN, WATERING_CAN, 0),
|
||||
WCAN1(WATERCAN, WATERING_CAN1, 1),
|
||||
WCAN2(WATERCAN, WATERING_CAN2, 2),
|
||||
WCAN3(WATERCAN, WATERING_CAN3, 3),
|
||||
WCAN4(WATERCAN, WATERING_CAN4, 4),
|
||||
WCAN5(WATERCAN, WATERING_CAN5, 5),
|
||||
WCAN6(WATERCAN, WATERING_CAN6, 6),
|
||||
WCAN7(WATERCAN, WATERING_CAN7, 7),
|
||||
WCAN8(WATERCAN, WATERING_CAN8, 8),
|
||||
WSKIN0(WATERSKIN, WATERSKIN0, 0),
|
||||
WSKIN1(WATERSKIN, WATERSKIN1, 1),
|
||||
WSKIN2(WATERSKIN, WATERSKIN2, 2),
|
||||
WSKIN3(WATERSKIN, WATERSKIN3, 3),
|
||||
WSKIN4(WATERSKIN, WATERSKIN4, 4);
|
||||
|
||||
private final ItemChargeType type;
|
||||
private final int id;
|
||||
private final int charges;
|
||||
|
||||
private static final Map<Integer, ItemWithCharge> ID_MAP = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
for (ItemWithCharge itemCharge : values())
|
||||
{
|
||||
ID_MAP.put(itemCharge.getId(), itemCharge);
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
static ItemWithCharge findItem(int itemId)
|
||||
{
|
||||
return ID_MAP.get(itemId);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,174 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Seth <Sethtroll3@gmail.com>
|
||||
* 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.jewellerycount;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import static net.runelite.api.ItemID.*;
|
||||
import static net.runelite.client.plugins.jewellerycount.JewelleryType.*;
|
||||
|
||||
public enum JewelleryCharges
|
||||
{
|
||||
GLORY1(GLORY, AMULET_OF_GLORY1, 1),
|
||||
GLORY2(GLORY, AMULET_OF_GLORY2, 2),
|
||||
GLORY3(GLORY, AMULET_OF_GLORY3, 3),
|
||||
GLORY4(GLORY, AMULET_OF_GLORY4, 4),
|
||||
GLORY5(GLORY, AMULET_OF_GLORY5, 5),
|
||||
GLORY6(GLORY, AMULET_OF_GLORY6, 6),
|
||||
GLORYT1(GLORY, AMULET_OF_GLORY_T1, 1),
|
||||
GLORYT2(GLORY, AMULET_OF_GLORY_T2, 2),
|
||||
GLORYT3(GLORY, AMULET_OF_GLORY_T3, 3),
|
||||
GLORYT4(GLORY, AMULET_OF_GLORY_T4, 4),
|
||||
GLORYT5(GLORY, AMULET_OF_GLORY_T5, 5),
|
||||
GLORYT6(GLORY, AMULET_OF_GLORY_T6, 6),
|
||||
ROD1(ROD, RING_OF_DUELING1, 1),
|
||||
ROD2(ROD, RING_OF_DUELING2, 2),
|
||||
ROD3(ROD, RING_OF_DUELING3, 3),
|
||||
ROD4(ROD, RING_OF_DUELING4, 4),
|
||||
ROD5(ROD, RING_OF_DUELING5, 5),
|
||||
ROD6(ROD, RING_OF_DUELING6, 6),
|
||||
ROD7(ROD, RING_OF_DUELING7, 7),
|
||||
ROD8(ROD, RING_OF_DUELING8, 8),
|
||||
GAMES1(GAMES, GAMES_NECKLACE1, 1),
|
||||
GAMES2(GAMES, GAMES_NECKLACE2, 2),
|
||||
GAMES3(GAMES, GAMES_NECKLACE3, 3),
|
||||
GAMES4(GAMES, GAMES_NECKLACE4, 4),
|
||||
GAMES5(GAMES, GAMES_NECKLACE5, 5),
|
||||
GAMES6(GAMES, GAMES_NECKLACE6, 6),
|
||||
GAMES7(GAMES, GAMES_NECKLACE7, 7),
|
||||
GAMES8(GAMES, GAMES_NECKLACE8, 8),
|
||||
ROW1(ROW, RING_OF_WEALTH_1, 1),
|
||||
ROW2(ROW, RING_OF_WEALTH_2, 2),
|
||||
ROW3(ROW, RING_OF_WEALTH_3, 3),
|
||||
ROW4(ROW, RING_OF_WEALTH_4, 4),
|
||||
ROW5(ROW, RING_OF_WEALTH_5, 5),
|
||||
ROS1(ROS, SLAYER_RING_1, 1),
|
||||
ROS2(ROS, SLAYER_RING_2, 2),
|
||||
ROS3(ROS, SLAYER_RING_3, 3),
|
||||
ROS4(ROS, SLAYER_RING_4, 4),
|
||||
ROS5(ROS, SLAYER_RING_5, 5),
|
||||
ROS6(ROS, SLAYER_RING_6, 6),
|
||||
ROS7(ROS, SLAYER_RING_7, 7),
|
||||
ROS8(ROS, SLAYER_RING_8, 8),
|
||||
SKILLS1(SKILLS, SKILLS_NECKLACE1, 1),
|
||||
SKILLS2(SKILLS, SKILLS_NECKLACE2, 2),
|
||||
SKILLS3(SKILLS, SKILLS_NECKLACE3, 3),
|
||||
SKILLS4(SKILLS, SKILLS_NECKLACE4, 4),
|
||||
SKILLS5(SKILLS, SKILLS_NECKLACE5, 5),
|
||||
SKILLS6(SKILLS, SKILLS_NECKLACE6, 6),
|
||||
CBRACE1(CBRACE, COMBAT_BRACELET1, 1),
|
||||
CBRACE2(CBRACE, COMBAT_BRACELET2, 2),
|
||||
CBRACE3(CBRACE, COMBAT_BRACELET3, 3),
|
||||
CBRACE4(CBRACE, COMBAT_BRACELET4, 4),
|
||||
CBRACE5(CBRACE, COMBAT_BRACELET5, 5),
|
||||
CBRACE6(CBRACE, COMBAT_BRACELET6, 6),
|
||||
DIGSITE1(DIGSITE, DIGSITE_PENDANT_1, 1),
|
||||
DIGSITE2(DIGSITE, DIGSITE_PENDANT_2, 2),
|
||||
DIGSITE3(DIGSITE, DIGSITE_PENDANT_3, 3),
|
||||
DIGSITE4(DIGSITE, DIGSITE_PENDANT_4, 4),
|
||||
DIGSITE5(DIGSITE, DIGSITE_PENDANT_5, 5),
|
||||
PASSAGE5(PASSAGE, NECKLACE_OF_PASSAGE5, 5),
|
||||
PASSAGE4(PASSAGE, NECKLACE_OF_PASSAGE4, 4),
|
||||
PASSAGE3(PASSAGE, NECKLACE_OF_PASSAGE3, 3),
|
||||
PASSAGE2(PASSAGE, NECKLACE_OF_PASSAGE2, 2),
|
||||
PASSAGE1(PASSAGE, NECKLACE_OF_PASSAGE1, 1),
|
||||
BURNING5(BURNING, BURNING_AMULET5, 5),
|
||||
BURNING4(BURNING, BURNING_AMULET4, 4),
|
||||
BURNING3(BURNING, BURNING_AMULET3, 3),
|
||||
BURNING2(BURNING, BURNING_AMULET2, 2),
|
||||
BURNING1(BURNING, BURNING_AMULET1, 1),
|
||||
RETURNING5(RETURNING, RING_OF_RETURNING5, 5),
|
||||
RETURNING4(RETURNING, RING_OF_RETURNING4, 4),
|
||||
RETURNING3(RETURNING, RING_OF_RETURNING3, 3),
|
||||
RETURNING2(RETURNING, RING_OF_RETURNING2, 2),
|
||||
RETURNING1(RETURNING, RING_OF_RETURNING1, 1),
|
||||
TCRYSTAL5(TCRYSTAL, TELEPORT_CRYSTAL_5, 5),
|
||||
TCRYSTAL4(TCRYSTAL, TELEPORT_CRYSTAL_4, 4),
|
||||
TCRYSTAL3(TCRYSTAL, TELEPORT_CRYSTAL_3, 3),
|
||||
TCRYSTAL2(TCRYSTAL, TELEPORT_CRYSTAL_2, 2),
|
||||
TCRYSTAL1(TCRYSTAL, TELEPORT_CRYSTAL_1, 1),
|
||||
PHARAO8(PHARAO, PHARAOHS_SCEPTRE_8, 8),
|
||||
PHARAO7(PHARAO, PHARAOHS_SCEPTRE_7, 7),
|
||||
PHARAO6(PHARAO, PHARAOHS_SCEPTRE_6, 6),
|
||||
PHARAO5(PHARAO, PHARAOHS_SCEPTRE_5, 5),
|
||||
PHARAO4(PHARAO, PHARAOHS_SCEPTRE_4, 4),
|
||||
PHARAO3(PHARAO, PHARAOHS_SCEPTRE_3, 3),
|
||||
PHARAO2(PHARAO, PHARAOHS_SCEPTRE_2, 2),
|
||||
PHARAO1(PHARAO, PHARAOHS_SCEPTRE_1, 1),
|
||||
WSKIN4(WATERSKIN, WATERSKIN4, 4),
|
||||
WSKIN3(WATERSKIN, WATERSKIN3, 3),
|
||||
WSKIN2(WATERSKIN, WATERSKIN2, 2),
|
||||
WSKIN1(WATERSKIN, WATERSKIN1, 1),
|
||||
WSKIN0(WATERSKIN, WATERSKIN0, 0),
|
||||
IMP_IN_A_BOX1(IMP_IN_A_BOX, IMPINABOX1, 1),
|
||||
IMP_IN_A_BOX2(IMP_IN_A_BOX, IMPINABOX2, 2),
|
||||
ELYRE1(ELYRE, ENCHANTED_LYRE1, 1),
|
||||
ELYRE2(ELYRE, ENCHANTED_LYRE2, 2),
|
||||
ELYRE3(ELYRE, ENCHANTED_LYRE3, 3),
|
||||
ELYRE4(ELYRE, ENCHANTED_LYRE4, 4),
|
||||
ELYRE5(ELYRE, ENCHANTED_LYRE5, 5);
|
||||
|
||||
private final JewelleryType type;
|
||||
private final int id;
|
||||
private final int charges;
|
||||
|
||||
private static final Map<Integer, JewelleryCharges> ITEM_ID = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
for (JewelleryCharges s : values())
|
||||
{
|
||||
ITEM_ID.put(s.getId(), s);
|
||||
}
|
||||
}
|
||||
|
||||
JewelleryCharges(JewelleryType type, int ID, int charges)
|
||||
{
|
||||
this.type = type;
|
||||
this.id = ID;
|
||||
this.charges = charges;
|
||||
}
|
||||
|
||||
public JewelleryType getType()
|
||||
{
|
||||
return type;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public int getCharges()
|
||||
{
|
||||
return charges;
|
||||
}
|
||||
|
||||
public static JewelleryCharges getCharges(int id)
|
||||
{
|
||||
return ITEM_ID.get(id);
|
||||
}
|
||||
}
|
||||
@@ -1,59 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Devin French <https://github.com/devinfrench>
|
||||
* 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.jewellerycount;
|
||||
|
||||
import net.runelite.client.config.Config;
|
||||
import net.runelite.client.config.ConfigGroup;
|
||||
import net.runelite.client.config.ConfigItem;
|
||||
|
||||
@ConfigGroup(
|
||||
keyName = "jewelleryCount",
|
||||
name = "Jewellery Count",
|
||||
description = "Configuration for the Jewellery count plugin"
|
||||
)
|
||||
public interface JewelleryCountConfig extends Config
|
||||
{
|
||||
@ConfigItem(
|
||||
keyName = "showJewelleryCount",
|
||||
name = "Show Jewellery Count Configuration",
|
||||
description = "Configures if jewellery count is shown",
|
||||
position = 1
|
||||
)
|
||||
default boolean showJewelleryCount()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
keyName = "recoilNotification",
|
||||
name = "Ring of Recoil Notification",
|
||||
description = "Configures if the ring of recoil breaking notification is shown",
|
||||
position = 2
|
||||
)
|
||||
default boolean recoilNotification()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2018, Unmoon <https://github.com/Unmoon>
|
||||
* 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.tithefarm;
|
||||
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.Point;
|
||||
import java.awt.Rectangle;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.api.Query;
|
||||
import net.runelite.api.queries.InventoryWidgetItemQuery;
|
||||
import net.runelite.api.widgets.WidgetItem;
|
||||
import net.runelite.client.ui.FontManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.TextComponent;
|
||||
import net.runelite.client.util.QueryRunner;
|
||||
|
||||
class TitheFarmInventoryOverlay extends Overlay
|
||||
{
|
||||
private final QueryRunner queryRunner;
|
||||
private final TitheFarmPluginConfig config;
|
||||
|
||||
private final TextComponent textComponent = new TextComponent();
|
||||
|
||||
@Inject
|
||||
TitheFarmInventoryOverlay(QueryRunner queryRunner, TitheFarmPluginConfig config)
|
||||
{
|
||||
setPosition(OverlayPosition.DYNAMIC);
|
||||
setLayer(OverlayLayer.ABOVE_WIDGETS);
|
||||
this.queryRunner = queryRunner;
|
||||
this.config = config;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
if (!config.showWateringCanOverlay())
|
||||
{
|
||||
return null;
|
||||
}
|
||||
graphics.setFont(FontManager.getRunescapeSmallFont());
|
||||
|
||||
Query inventoryQuery = new InventoryWidgetItemQuery();
|
||||
WidgetItem[] inventoryItems = queryRunner.runQuery(inventoryQuery);
|
||||
|
||||
for (WidgetItem item : inventoryItems)
|
||||
{
|
||||
WateringCan wateringCan = WateringCan.getWateringCan(item.getId());
|
||||
if (wateringCan == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
final Rectangle bounds = item.getCanvasBounds();
|
||||
textComponent.setPosition(new Point(bounds.x, bounds.y + 16));
|
||||
textComponent.setColor(wateringCan.getColor());
|
||||
textComponent.setText(String.valueOf(wateringCan.getCharges()));
|
||||
textComponent.render(graphics);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -55,9 +55,6 @@ public class TitheFarmPlugin extends Plugin
|
||||
@Inject
|
||||
private TitheFarmSackOverlay titheFarmSackOverlay;
|
||||
|
||||
@Inject
|
||||
private TitheFarmInventoryOverlay titheFarmInventoryOverlay;
|
||||
|
||||
@Getter
|
||||
private final Set<TitheFarmPlant> plants = new HashSet<>();
|
||||
|
||||
@@ -70,7 +67,7 @@ public class TitheFarmPlugin extends Plugin
|
||||
@Override
|
||||
public Collection<Overlay> getOverlays()
|
||||
{
|
||||
return Arrays.asList(titheFarmOverlay, titheFarmSackOverlay, titheFarmInventoryOverlay);
|
||||
return Arrays.asList(titheFarmOverlay, titheFarmSackOverlay);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -38,17 +38,6 @@ public interface TitheFarmPluginConfig extends Config
|
||||
{
|
||||
@ConfigItem(
|
||||
position = 0,
|
||||
keyName = "showWateringCanOverlay",
|
||||
name = "Show watering can doses",
|
||||
description = "Configures whether or not the watering can doses are displayed"
|
||||
)
|
||||
default boolean showWateringCanOverlay()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 1,
|
||||
keyName = "showSack",
|
||||
name = "Show fruit sack",
|
||||
description = "Configures whether or not the fruit sack is displayed"
|
||||
@@ -59,7 +48,7 @@ public interface TitheFarmPluginConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 2,
|
||||
position = 1,
|
||||
keyName = "hexColorUnwatered",
|
||||
name = "Unwatered plant",
|
||||
description = "Color of unwatered plant timer"
|
||||
@@ -70,7 +59,7 @@ public interface TitheFarmPluginConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 3,
|
||||
position = 2,
|
||||
keyName = "hexColorWatered",
|
||||
name = "Watered plant",
|
||||
description = "Color of watered plant timer"
|
||||
@@ -81,7 +70,7 @@ public interface TitheFarmPluginConfig extends Config
|
||||
}
|
||||
|
||||
@ConfigItem(
|
||||
position = 4,
|
||||
position = 3,
|
||||
keyName = "hexColorGrown",
|
||||
name = "Grown plant",
|
||||
description = "Color of grown plant timer"
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2018, Unmoon <https://github.com/Unmoon>
|
||||
* 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.tithefarm;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import lombok.Getter;
|
||||
import net.runelite.api.ItemID;
|
||||
|
||||
enum WateringCan
|
||||
{
|
||||
WATERING_CAN0(ItemID.WATERING_CAN, 0, Color.RED),
|
||||
WATERING_CAN1(ItemID.WATERING_CAN1, 1, Color.ORANGE),
|
||||
WATERING_CAN2(ItemID.WATERING_CAN2, 2, Color.YELLOW),
|
||||
WATERING_CAN3(ItemID.WATERING_CAN3, 3, Color.WHITE),
|
||||
WATERING_CAN4(ItemID.WATERING_CAN4, 4, Color.WHITE),
|
||||
WATERING_CAN5(ItemID.WATERING_CAN5, 5, Color.WHITE),
|
||||
WATERING_CAN6(ItemID.WATERING_CAN6, 6, Color.WHITE),
|
||||
WATERING_CAN7(ItemID.WATERING_CAN7, 7, Color.WHITE),
|
||||
WATERING_CAN8(ItemID.WATERING_CAN8, 8, Color.WHITE);
|
||||
|
||||
@Getter
|
||||
private final int id;
|
||||
@Getter
|
||||
private final int charges;
|
||||
@Getter
|
||||
private final Color color;
|
||||
|
||||
private static final Map<Integer, WateringCan> wateringCans = new HashMap<>();
|
||||
|
||||
static
|
||||
{
|
||||
for (WateringCan can : values())
|
||||
{
|
||||
wateringCans.put(can.getId(), can);
|
||||
}
|
||||
}
|
||||
|
||||
WateringCan(int id, int charges, Color color)
|
||||
{
|
||||
this.id = id;
|
||||
this.charges = charges;
|
||||
this.color = color;
|
||||
}
|
||||
|
||||
public static WateringCan getWateringCan(int itemId)
|
||||
{
|
||||
return wateringCans.get(itemId);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user