Update all overlays to support new PanelComponent
- Move all PanelComponents declarations to be persisted - Use new LineComponent and ImageComponent classes and add them to PanelComponent Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -32,6 +32,7 @@ import javax.inject.Inject;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class LapCounterOverlay extends Overlay
|
||||
@@ -73,19 +74,18 @@ public class LapCounterOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Total Laps",
|
||||
Integer.toString(session.getTotalLaps())
|
||||
));
|
||||
panelComponent.getChildren().clear();
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Total Laps")
|
||||
.right(Integer.toString(session.getTotalLaps()))
|
||||
.build());
|
||||
|
||||
if (session.getLapsTillLevel() > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Laps till level",
|
||||
Integer.toString(session.getLapsTillLevel())
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Laps till level")
|
||||
.right(Integer.toString(session.getLapsTillLevel()))
|
||||
.build());
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
|
||||
@@ -34,8 +34,6 @@ import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class AttackStylesOverlay extends Overlay
|
||||
{
|
||||
private static final int COMPONENT_WIDTH = 80;
|
||||
|
||||
private final AttackStylesPlugin plugin;
|
||||
private final AttackStylesConfig config;
|
||||
private final PanelComponent panelComponent = new PanelComponent();
|
||||
@@ -56,10 +54,11 @@ public class AttackStylesOverlay extends Overlay
|
||||
if (warnedSkillSelected || config.alwaysShowStyle())
|
||||
{
|
||||
final String attackStyleString = plugin.getAttackStyle().getName();
|
||||
|
||||
panelComponent.setTitleColor(warnedSkillSelected ? Color.RED : Color.WHITE);
|
||||
panelComponent.setTitle(attackStyleString);
|
||||
panelComponent.setWidth(COMPONENT_WIDTH);
|
||||
panelComponent.setPreferredSize(new Dimension(
|
||||
graphics.getFontMetrics().stringWidth(attackStyleString) + 10,
|
||||
0));
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class BarrowsBrotherSlainOverlay extends Overlay
|
||||
@@ -66,17 +67,16 @@ public class BarrowsBrotherSlainOverlay extends Overlay
|
||||
barrowsBrothers.setHidden(true);
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
for (BarrowsBrothers brother : BarrowsBrothers.values())
|
||||
{
|
||||
String slain = client.getVar(brother.getKilledVarbit()) > 0 ? "✓" : "";
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
brother.getName(),
|
||||
Color.WHITE,
|
||||
slain,
|
||||
slain.isEmpty() ? Color.WHITE : Color.GREEN
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(brother.getName())
|
||||
.right(slain)
|
||||
.rightColor(slain.isEmpty() ? Color.WHITE : Color.GREEN)
|
||||
.build());
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
|
||||
@@ -33,6 +33,7 @@ import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
import net.runelite.client.util.StackFormatter;
|
||||
|
||||
@@ -60,17 +61,18 @@ class BlastFurnaceCofferOverlay extends Overlay
|
||||
|
||||
Widget sack = client.getWidget(WidgetInfo.BLAST_FURNACE_COFFER);
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
if (sack != null)
|
||||
{
|
||||
sack.setHidden(true);
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Coffer:",
|
||||
StackFormatter.quantityToStackSize(client.getVar(BLAST_FURNACE_COFFER)) + " gp"
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Coffer:")
|
||||
.right(StackFormatter.quantityToStackSize(client.getVar(BLAST_FURNACE_COFFER)) + " gp")
|
||||
.build());
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
}
|
||||
@@ -32,13 +32,14 @@ import net.runelite.api.Client;
|
||||
import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.ImagePanelComponent;
|
||||
import net.runelite.client.ui.overlay.components.ImageComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
class BlastFurnaceOverlay extends Overlay
|
||||
{
|
||||
private final Client client;
|
||||
private final BlastFurnacePlugin plugin;
|
||||
private final ImagePanelComponent imagePanelComponent = new ImagePanelComponent();
|
||||
private final PanelComponent imagePanelComponent = new PanelComponent();
|
||||
|
||||
@Inject
|
||||
private ItemManager itemManager;
|
||||
@@ -49,6 +50,7 @@ class BlastFurnaceOverlay extends Overlay
|
||||
setPosition(OverlayPosition.TOP_LEFT);
|
||||
this.plugin = plugin;
|
||||
this.client = client;
|
||||
imagePanelComponent.setOrientation(PanelComponent.Orientation.HORIZONTAL);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -59,7 +61,7 @@ class BlastFurnaceOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
imagePanelComponent.getImages().clear();
|
||||
imagePanelComponent.getChildren().clear();
|
||||
|
||||
for (BarsOres varbit : BarsOres.values())
|
||||
{
|
||||
@@ -70,7 +72,7 @@ class BlastFurnaceOverlay extends Overlay
|
||||
continue;
|
||||
}
|
||||
|
||||
imagePanelComponent.getImages().add(getImage(varbit.getItemID(), amount));
|
||||
imagePanelComponent.getChildren().add(new ImageComponent(getImage(varbit.getItemID(), amount)));
|
||||
}
|
||||
|
||||
return imagePanelComponent.render(graphics);
|
||||
|
||||
@@ -36,6 +36,7 @@ import net.runelite.client.game.SkillIconManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||
|
||||
@@ -47,6 +48,7 @@ class BoostsOverlay extends Overlay
|
||||
private final Client client;
|
||||
private final BoostsConfig config;
|
||||
private final InfoBoxManager infoBoxManager;
|
||||
private final PanelComponent panelComponent = new PanelComponent();
|
||||
|
||||
@Inject
|
||||
private BoostsPlugin plugin;
|
||||
@@ -54,8 +56,6 @@ class BoostsOverlay extends Overlay
|
||||
@Inject
|
||||
private SkillIconManager iconManager;
|
||||
|
||||
private PanelComponent panelComponent;
|
||||
|
||||
private boolean overlayActive;
|
||||
|
||||
@Inject
|
||||
@@ -71,9 +71,9 @@ class BoostsOverlay extends Overlay
|
||||
@Override
|
||||
public Dimension render(Graphics2D graphics)
|
||||
{
|
||||
panelComponent = new PanelComponent();
|
||||
|
||||
Instant lastChange = plugin.getLastChange();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
if (!config.displayIndicators()
|
||||
&& config.displayNextChange()
|
||||
&& lastChange != null
|
||||
@@ -82,12 +82,10 @@ class BoostsOverlay extends Overlay
|
||||
int nextChange = plugin.getChangeTime();
|
||||
if (nextChange > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Next change in",
|
||||
Color.WHITE,
|
||||
String.valueOf(nextChange),
|
||||
Color.WHITE
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Next change in")
|
||||
.right(String.valueOf(nextChange))
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -148,16 +146,15 @@ class BoostsOverlay extends Overlay
|
||||
}
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
skill.getName(),
|
||||
Color.WHITE,
|
||||
str,
|
||||
strColor
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(skill.getName())
|
||||
.right(str)
|
||||
.rightColor(strColor)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
return panelComponent.getLines().isEmpty() ? null : panelComponent.render(graphics);
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
|
||||
private Color getTextColor(int boost)
|
||||
|
||||
@@ -32,7 +32,8 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import net.runelite.client.game.SkillIconManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.ImagePanelComponent;
|
||||
import net.runelite.client.ui.overlay.components.ImageComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Slf4j
|
||||
@Singleton
|
||||
@@ -40,6 +41,7 @@ public class CerberusOverlay extends Overlay
|
||||
{
|
||||
private final CerberusPlugin plugin;
|
||||
private final SkillIconManager iconManager;
|
||||
private final PanelComponent panelComponent = new PanelComponent();
|
||||
|
||||
@Inject
|
||||
CerberusOverlay(final CerberusPlugin plugin, final SkillIconManager iconManager)
|
||||
@@ -57,8 +59,9 @@ public class CerberusOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
final ImagePanelComponent imagePanelComponent = new ImagePanelComponent();
|
||||
imagePanelComponent.setTitle("Ghost order");
|
||||
panelComponent.getChildren().clear();
|
||||
panelComponent.setOrientation(PanelComponent.Orientation.HORIZONTAL);
|
||||
panelComponent.setTitle("Ghost order");
|
||||
|
||||
// Ghosts are already sorted
|
||||
plugin.getGhosts().stream()
|
||||
@@ -66,11 +69,11 @@ public class CerberusOverlay extends Overlay
|
||||
.limit(CerberusGhost.values().length)
|
||||
.forEach(npc -> CerberusGhost
|
||||
.fromNPC(npc)
|
||||
.ifPresent(ghost -> imagePanelComponent
|
||||
.getImages()
|
||||
.add(iconManager.getSkillImage(ghost.getType()))));
|
||||
.ifPresent(ghost -> panelComponent
|
||||
.getChildren()
|
||||
.add(new ImageComponent(iconManager.getSkillImage(ghost.getType())))));
|
||||
|
||||
|
||||
return imagePanelComponent.render(graphics);
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,7 +59,7 @@ public class ClueScrollOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
clue.makeOverlayHint(panelComponent, plugin);
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollPlugin.CLUE_SCROLL_IMAGE;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.IMAGE_Z_OFFSET;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -167,18 +168,25 @@ public class AnagramClue extends ClueScroll implements TextClueScroll, NpcClueSc
|
||||
public void makeOverlayHint(PanelComponent panelComponent, ClueScrollPlugin plugin)
|
||||
{
|
||||
panelComponent.setTitle("Anagram Clue");
|
||||
panelComponent.setWidth(150);
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("NPC:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getNpc())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("NPC:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(getNpc(), TITLED_CONTENT_COLOR));
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Area:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(true, getArea(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Area:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getArea())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
if (getAnswer() != null)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Answer:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(true, getAnswer(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Answer:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getAnswer())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -36,6 +36,7 @@ import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollPlugin.CLUE_SCROLL_IMAGE;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.IMAGE_Z_OFFSET;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -76,18 +77,25 @@ public class CipherClue extends ClueScroll implements TextClueScroll, NpcClueScr
|
||||
public void makeOverlayHint(PanelComponent panelComponent, ClueScrollPlugin plugin)
|
||||
{
|
||||
panelComponent.setTitle("Cipher Clue");
|
||||
panelComponent.setWidth(150);
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("NPC:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getNpc())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("NPC:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(getNpc(), TITLED_CONTENT_COLOR));
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Area:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(true, getArea(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Area:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getArea())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
if (getAnswer() != null)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Answer:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(true, getAnswer(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Answer:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getAnswer())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -33,6 +33,7 @@ import net.runelite.api.coords.WorldPoint;
|
||||
import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollPlugin.SPADE_IMAGE;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -46,12 +47,9 @@ public class CoordinateClue extends ClueScroll implements TextClueScroll, Locati
|
||||
public void makeOverlayHint(PanelComponent panelComponent, ClueScrollPlugin plugin)
|
||||
{
|
||||
panelComponent.setTitle("Coordinate Clue");
|
||||
panelComponent.setWidth(135);
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Travel to the marked"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line("out destination to see"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line("a marker for where"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line("you should dig."));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Travel to the marked out destination to see a marker for where you should dig.")
|
||||
.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -44,6 +44,7 @@ import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.CLI
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.CLICKBOX_HOVER_BORDER_COLOR;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.IMAGE_Z_OFFSET;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -338,15 +339,19 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc
|
||||
public void makeOverlayHint(PanelComponent panelComponent, ClueScrollPlugin plugin)
|
||||
{
|
||||
panelComponent.setTitle("Cryptic Clue");
|
||||
panelComponent.setWidth(150);
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Clue:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(true, getText(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Clue:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getText())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
if (getNpc() != null)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line("NPC:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(getNpc(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("NPC:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getNpc())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
}
|
||||
|
||||
if (objectId != -1)
|
||||
@@ -355,13 +360,19 @@ public class CrypticClue extends ClueScroll implements TextClueScroll, NpcClueSc
|
||||
|
||||
if (object != null)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Object:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(object.getName(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Object:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(object.getName())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Solution:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(true, getSolution(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Solution:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getSolution())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -41,7 +41,336 @@ import static net.runelite.api.EquipmentInventorySlot.RING;
|
||||
import static net.runelite.api.EquipmentInventorySlot.SHIELD;
|
||||
import static net.runelite.api.EquipmentInventorySlot.WEAPON;
|
||||
import net.runelite.api.Item;
|
||||
import static net.runelite.api.ItemID.*;
|
||||
import static net.runelite.api.ItemID.ABYSSAL_WHIP;
|
||||
import static net.runelite.api.ItemID.ADAMANT_2H_SWORD;
|
||||
import static net.runelite.api.ItemID.ADAMANT_BOOTS;
|
||||
import static net.runelite.api.ItemID.ADAMANT_DAGGER;
|
||||
import static net.runelite.api.ItemID.ADAMANT_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.ADAMANT_HALBERD;
|
||||
import static net.runelite.api.ItemID.ADAMANT_MED_HELM;
|
||||
import static net.runelite.api.ItemID.ADAMANT_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.ADAMANT_PLATELEGS;
|
||||
import static net.runelite.api.ItemID.ADAMANT_PLATESKIRT;
|
||||
import static net.runelite.api.ItemID.ADAMANT_SQ_SHIELD;
|
||||
import static net.runelite.api.ItemID.ADAMANT_SWORD;
|
||||
import static net.runelite.api.ItemID.AHRIMS_HOOD_0;
|
||||
import static net.runelite.api.ItemID.AHRIMS_HOOD_100;
|
||||
import static net.runelite.api.ItemID.AHRIMS_ROBESKIRT_0;
|
||||
import static net.runelite.api.ItemID.AHRIMS_ROBESKIRT_100;
|
||||
import static net.runelite.api.ItemID.AHRIMS_ROBETOP_0;
|
||||
import static net.runelite.api.ItemID.AHRIMS_ROBETOP_100;
|
||||
import static net.runelite.api.ItemID.AHRIMS_STAFF_0;
|
||||
import static net.runelite.api.ItemID.AHRIMS_STAFF_100;
|
||||
import static net.runelite.api.ItemID.AIR_TIARA;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY1;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY2;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY3;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY4;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY5;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_GLORY6;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_POWER;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_STRENGTH;
|
||||
import static net.runelite.api.ItemID.AMULET_OF_THE_DAMNED;
|
||||
import static net.runelite.api.ItemID.ANCIENT_CROZIER;
|
||||
import static net.runelite.api.ItemID.ANCIENT_MITRE;
|
||||
import static net.runelite.api.ItemID.ANCIENT_STOLE;
|
||||
import static net.runelite.api.ItemID.ARCLIGHT;
|
||||
import static net.runelite.api.ItemID.ARMADYL_CROZIER;
|
||||
import static net.runelite.api.ItemID.ARMADYL_MITRE;
|
||||
import static net.runelite.api.ItemID.ARMADYL_STOLE;
|
||||
import static net.runelite.api.ItemID.BANDOS_BOOTS;
|
||||
import static net.runelite.api.ItemID.BANDOS_CLOAK;
|
||||
import static net.runelite.api.ItemID.BANDOS_CROZIER;
|
||||
import static net.runelite.api.ItemID.BANDOS_GODSWORD;
|
||||
import static net.runelite.api.ItemID.BANDOS_MITRE;
|
||||
import static net.runelite.api.ItemID.BANDOS_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.BANDOS_STOLE;
|
||||
import static net.runelite.api.ItemID.BARROWS_GLOVES;
|
||||
import static net.runelite.api.ItemID.BLACK_AXE;
|
||||
import static net.runelite.api.ItemID.BLACK_BOATER;
|
||||
import static net.runelite.api.ItemID.BLACK_CAPE;
|
||||
import static net.runelite.api.ItemID.BLACK_DHIDE_BODY;
|
||||
import static net.runelite.api.ItemID.BLACK_DHIDE_CHAPS;
|
||||
import static net.runelite.api.ItemID.BLACK_DHIDE_VAMB;
|
||||
import static net.runelite.api.ItemID.BLACK_DRAGON_MASK;
|
||||
import static net.runelite.api.ItemID.BLACK_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.BLACK_SALAMANDER;
|
||||
import static net.runelite.api.ItemID.BLACK_SLAYER_HELMET;
|
||||
import static net.runelite.api.ItemID.BLACK_SLAYER_HELMET_I;
|
||||
import static net.runelite.api.ItemID.BLUE_BOATER;
|
||||
import static net.runelite.api.ItemID.BLUE_BOOTS;
|
||||
import static net.runelite.api.ItemID.BLUE_DHIDE_BODY;
|
||||
import static net.runelite.api.ItemID.BLUE_DHIDE_CHAPS;
|
||||
import static net.runelite.api.ItemID.BLUE_DHIDE_VAMB;
|
||||
import static net.runelite.api.ItemID.BLUE_ROBE_TOP;
|
||||
import static net.runelite.api.ItemID.BLUE_WIZARD_HAT;
|
||||
import static net.runelite.api.ItemID.BOBS_PURPLE_SHIRT;
|
||||
import static net.runelite.api.ItemID.BOBS_RED_SHIRT;
|
||||
import static net.runelite.api.ItemID.BODY_TIARA;
|
||||
import static net.runelite.api.ItemID.BONE_DAGGER;
|
||||
import static net.runelite.api.ItemID.BONE_SPEAR;
|
||||
import static net.runelite.api.ItemID.BOOK_OF_BALANCE;
|
||||
import static net.runelite.api.ItemID.BOOK_OF_DARKNESS;
|
||||
import static net.runelite.api.ItemID.BOOK_OF_LAW;
|
||||
import static net.runelite.api.ItemID.BOOK_OF_WAR;
|
||||
import static net.runelite.api.ItemID.BRINE_SABRE;
|
||||
import static net.runelite.api.ItemID.BRONZE_2H_SWORD;
|
||||
import static net.runelite.api.ItemID.BRONZE_AXE;
|
||||
import static net.runelite.api.ItemID.BRONZE_CHAINBODY;
|
||||
import static net.runelite.api.ItemID.BRONZE_DAGGER;
|
||||
import static net.runelite.api.ItemID.BRONZE_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.BRONZE_PLATELEGS;
|
||||
import static net.runelite.api.ItemID.BRONZE_SPEAR;
|
||||
import static net.runelite.api.ItemID.BRONZE_SQ_SHIELD;
|
||||
import static net.runelite.api.ItemID.BROWN_APRON;
|
||||
import static net.runelite.api.ItemID.BROWN_HEADBAND;
|
||||
import static net.runelite.api.ItemID.BRUISE_BLUE_SNELM_3343;
|
||||
import static net.runelite.api.ItemID.CAPE_OF_LEGENDS;
|
||||
import static net.runelite.api.ItemID.CASTLE_WARS_BRACELET3;
|
||||
import static net.runelite.api.ItemID.CLIMBING_BOOTS;
|
||||
import static net.runelite.api.ItemID.COIF;
|
||||
import static net.runelite.api.ItemID.COMBAT_BRACELET;
|
||||
import static net.runelite.api.ItemID.CREAM_ROBE_TOP;
|
||||
import static net.runelite.api.ItemID.DEATH_TIARA;
|
||||
import static net.runelite.api.ItemID.DESERT_SHIRT;
|
||||
import static net.runelite.api.ItemID.DHAROKS_GREATAXE_0;
|
||||
import static net.runelite.api.ItemID.DHAROKS_GREATAXE_100;
|
||||
import static net.runelite.api.ItemID.DHAROKS_HELM_0;
|
||||
import static net.runelite.api.ItemID.DHAROKS_HELM_100;
|
||||
import static net.runelite.api.ItemID.DHAROKS_PLATEBODY_0;
|
||||
import static net.runelite.api.ItemID.DHAROKS_PLATEBODY_100;
|
||||
import static net.runelite.api.ItemID.DHAROKS_PLATELEGS_0;
|
||||
import static net.runelite.api.ItemID.DHAROKS_PLATELEGS_100;
|
||||
import static net.runelite.api.ItemID.DIAMOND_BRACELET;
|
||||
import static net.runelite.api.ItemID.DIAMOND_RING;
|
||||
import static net.runelite.api.ItemID.DRAGONSTONE_AMULET;
|
||||
import static net.runelite.api.ItemID.DRAGONSTONE_RING;
|
||||
import static net.runelite.api.ItemID.DRAGON_2H_SWORD;
|
||||
import static net.runelite.api.ItemID.DRAGON_AXE;
|
||||
import static net.runelite.api.ItemID.DRAGON_BATTLEAXE;
|
||||
import static net.runelite.api.ItemID.DRAGON_BOOTS;
|
||||
import static net.runelite.api.ItemID.DRAGON_CHAINBODY_3140;
|
||||
import static net.runelite.api.ItemID.DRAGON_DEFENDER;
|
||||
import static net.runelite.api.ItemID.DRAGON_MED_HELM;
|
||||
import static net.runelite.api.ItemID.DRAGON_NECKLACE;
|
||||
import static net.runelite.api.ItemID.DRAGON_PICKAXE;
|
||||
import static net.runelite.api.ItemID.DRAGON_PLATESKIRT;
|
||||
import static net.runelite.api.ItemID.DRAGON_SPEAR;
|
||||
import static net.runelite.api.ItemID.DRAGON_SQ_SHIELD;
|
||||
import static net.runelite.api.ItemID.EARTH_RUNE;
|
||||
import static net.runelite.api.ItemID.ELEMENTAL_SHIELD;
|
||||
import static net.runelite.api.ItemID.EMERALD_AMULET;
|
||||
import static net.runelite.api.ItemID.EMERALD_RING;
|
||||
import static net.runelite.api.ItemID.FIRE_BATTLESTAFF;
|
||||
import static net.runelite.api.ItemID.FIRE_CAPE;
|
||||
import static net.runelite.api.ItemID.FLARED_TROUSERS;
|
||||
import static net.runelite.api.ItemID.GOLD_NECKLACE;
|
||||
import static net.runelite.api.ItemID.GOLD_RING;
|
||||
import static net.runelite.api.ItemID.GRANITE_SHIELD;
|
||||
import static net.runelite.api.ItemID.GREEN_BOATER;
|
||||
import static net.runelite.api.ItemID.GREEN_BOOTS;
|
||||
import static net.runelite.api.ItemID.GREEN_DHIDE_BODY;
|
||||
import static net.runelite.api.ItemID.GREEN_DHIDE_CHAPS;
|
||||
import static net.runelite.api.ItemID.GREEN_HAT;
|
||||
import static net.runelite.api.ItemID.GREEN_HEADBAND;
|
||||
import static net.runelite.api.ItemID.GREEN_ROBE_BOTTOMS;
|
||||
import static net.runelite.api.ItemID.GREEN_ROBE_TOP;
|
||||
import static net.runelite.api.ItemID.GREEN_SLAYER_HELMET;
|
||||
import static net.runelite.api.ItemID.GREEN_SLAYER_HELMET_I;
|
||||
import static net.runelite.api.ItemID.GUTHANS_CHAINSKIRT_0;
|
||||
import static net.runelite.api.ItemID.GUTHANS_CHAINSKIRT_100;
|
||||
import static net.runelite.api.ItemID.GUTHANS_HELM_0;
|
||||
import static net.runelite.api.ItemID.GUTHANS_HELM_100;
|
||||
import static net.runelite.api.ItemID.GUTHANS_PLATEBODY_0;
|
||||
import static net.runelite.api.ItemID.GUTHANS_PLATEBODY_100;
|
||||
import static net.runelite.api.ItemID.GUTHANS_WARSPEAR_0;
|
||||
import static net.runelite.api.ItemID.GUTHANS_WARSPEAR_100;
|
||||
import static net.runelite.api.ItemID.GUTHIX_MITRE;
|
||||
import static net.runelite.api.ItemID.GUTHIX_STOLE;
|
||||
import static net.runelite.api.ItemID.HAM_BOOTS;
|
||||
import static net.runelite.api.ItemID.HAM_ROBE;
|
||||
import static net.runelite.api.ItemID.HARDLEATHER_BODY;
|
||||
import static net.runelite.api.ItemID.HELM_OF_NEITIZNOT;
|
||||
import static net.runelite.api.ItemID.HOLY_BOOK;
|
||||
import static net.runelite.api.ItemID.IBANS_STAFF;
|
||||
import static net.runelite.api.ItemID.IBANS_STAFF_U;
|
||||
import static net.runelite.api.ItemID.IRON_2H_SWORD;
|
||||
import static net.runelite.api.ItemID.IRON_CHAINBODY;
|
||||
import static net.runelite.api.ItemID.IRON_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.IRON_KITESHIELD;
|
||||
import static net.runelite.api.ItemID.IRON_MED_HELM;
|
||||
import static net.runelite.api.ItemID.IRON_PICKAXE;
|
||||
import static net.runelite.api.ItemID.IRON_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.IRON_PLATELEGS;
|
||||
import static net.runelite.api.ItemID.IRON_PLATESKIRT;
|
||||
import static net.runelite.api.ItemID.IRON_SCIMITAR;
|
||||
import static net.runelite.api.ItemID.IRON_WARHAMMER;
|
||||
import static net.runelite.api.ItemID.KARILS_COIF_0;
|
||||
import static net.runelite.api.ItemID.KARILS_COIF_100;
|
||||
import static net.runelite.api.ItemID.KARILS_CROSSBOW_0;
|
||||
import static net.runelite.api.ItemID.KARILS_CROSSBOW_100;
|
||||
import static net.runelite.api.ItemID.KARILS_LEATHERSKIRT_0;
|
||||
import static net.runelite.api.ItemID.KARILS_LEATHERSKIRT_100;
|
||||
import static net.runelite.api.ItemID.KARILS_LEATHERTOP_0;
|
||||
import static net.runelite.api.ItemID.KARILS_LEATHERTOP_100;
|
||||
import static net.runelite.api.ItemID.LAVA_BATTLESTAFF;
|
||||
import static net.runelite.api.ItemID.LEATHER_BOOTS;
|
||||
import static net.runelite.api.ItemID.LEATHER_CHAPS;
|
||||
import static net.runelite.api.ItemID.LEATHER_COWL;
|
||||
import static net.runelite.api.ItemID.LEATHER_GLOVES;
|
||||
import static net.runelite.api.ItemID.LONGBOW;
|
||||
import static net.runelite.api.ItemID.MAGIC_LONGBOW;
|
||||
import static net.runelite.api.ItemID.MAPLE_LONGBOW;
|
||||
import static net.runelite.api.ItemID.MAPLE_SHORTBOW;
|
||||
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_HAT;
|
||||
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_ROBE;
|
||||
import static net.runelite.api.ItemID.MENAPHITE_PURPLE_TOP;
|
||||
import static net.runelite.api.ItemID.MIND_SHIELD;
|
||||
import static net.runelite.api.ItemID.MITHRIL_CHAINBODY;
|
||||
import static net.runelite.api.ItemID.MITHRIL_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.MITHRIL_MED_HELM;
|
||||
import static net.runelite.api.ItemID.MITHRIL_PICKAXE;
|
||||
import static net.runelite.api.ItemID.MITHRIL_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.MITHRIL_PLATELEGS;
|
||||
import static net.runelite.api.ItemID.MITHRIL_PLATESKIRT;
|
||||
import static net.runelite.api.ItemID.MITHRIL_SCIMITAR;
|
||||
import static net.runelite.api.ItemID.MYSTIC_FIRE_STAFF;
|
||||
import static net.runelite.api.ItemID.MYSTIC_GLOVES;
|
||||
import static net.runelite.api.ItemID.MYSTIC_HAT;
|
||||
import static net.runelite.api.ItemID.MYSTIC_ROBE_BOTTOM;
|
||||
import static net.runelite.api.ItemID.MYSTIC_ROBE_BOTTOM_DARK;
|
||||
import static net.runelite.api.ItemID.MYSTIC_ROBE_TOP;
|
||||
import static net.runelite.api.ItemID.MYSTIC_ROBE_TOP_DARK;
|
||||
import static net.runelite.api.ItemID.NEW_CRYSTAL_BOW_I;
|
||||
import static net.runelite.api.ItemID.OAK_LONGBOW;
|
||||
import static net.runelite.api.ItemID.OAK_SHORTBOW;
|
||||
import static net.runelite.api.ItemID.OBSIDIAN_CAPE;
|
||||
import static net.runelite.api.ItemID.ORANGE_BOATER;
|
||||
import static net.runelite.api.ItemID.PHARAOHS_SCEPTRE_3;
|
||||
import static net.runelite.api.ItemID.PINK_BOATER;
|
||||
import static net.runelite.api.ItemID.PINK_ROBE_TOP;
|
||||
import static net.runelite.api.ItemID.PINK_SKIRT;
|
||||
import static net.runelite.api.ItemID.PIRATE_BANDANA;
|
||||
import static net.runelite.api.ItemID.PIRATE_BANDANA_7124;
|
||||
import static net.runelite.api.ItemID.PIRATE_BANDANA_7130;
|
||||
import static net.runelite.api.ItemID.PIRATE_BANDANA_7136;
|
||||
import static net.runelite.api.ItemID.PROSELYTE_HAUBERK;
|
||||
import static net.runelite.api.ItemID.PURPLE_BOATER;
|
||||
import static net.runelite.api.ItemID.PURPLE_GLOVES;
|
||||
import static net.runelite.api.ItemID.PURPLE_SLAYER_HELMET;
|
||||
import static net.runelite.api.ItemID.PURPLE_SLAYER_HELMET_I;
|
||||
import static net.runelite.api.ItemID.RED_BOATER;
|
||||
import static net.runelite.api.ItemID.RED_DHIDE_CHAPS;
|
||||
import static net.runelite.api.ItemID.RED_HEADBAND;
|
||||
import static net.runelite.api.ItemID.RED_SLAYER_HELMET;
|
||||
import static net.runelite.api.ItemID.RED_SLAYER_HELMET_I;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING1;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING2;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING3;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING4;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING5;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING6;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING7;
|
||||
import static net.runelite.api.ItemID.RING_OF_DUELING8;
|
||||
import static net.runelite.api.ItemID.RING_OF_FORGING;
|
||||
import static net.runelite.api.ItemID.RING_OF_LIFE;
|
||||
import static net.runelite.api.ItemID.RING_OF_WEALTH;
|
||||
import static net.runelite.api.ItemID.RING_OF_WEALTH_1;
|
||||
import static net.runelite.api.ItemID.RING_OF_WEALTH_2;
|
||||
import static net.runelite.api.ItemID.RING_OF_WEALTH_3;
|
||||
import static net.runelite.api.ItemID.RING_OF_WEALTH_4;
|
||||
import static net.runelite.api.ItemID.RING_OF_WEALTH_5;
|
||||
import static net.runelite.api.ItemID.ROLLING_PIN;
|
||||
import static net.runelite.api.ItemID.RUBY_AMULET;
|
||||
import static net.runelite.api.ItemID.RUBY_RING;
|
||||
import static net.runelite.api.ItemID.RUNE_AXE;
|
||||
import static net.runelite.api.ItemID.RUNE_BOOTS;
|
||||
import static net.runelite.api.ItemID.RUNE_CROSSBOW;
|
||||
import static net.runelite.api.ItemID.RUNE_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.RUNE_HALBERD;
|
||||
import static net.runelite.api.ItemID.RUNE_HELM_H1;
|
||||
import static net.runelite.api.ItemID.RUNE_HELM_H5;
|
||||
import static net.runelite.api.ItemID.RUNE_KITESHIELD;
|
||||
import static net.runelite.api.ItemID.RUNE_LONGSWORD;
|
||||
import static net.runelite.api.ItemID.RUNE_PICKAXE;
|
||||
import static net.runelite.api.ItemID.RUNE_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.RUNE_PLATELEGS;
|
||||
import static net.runelite.api.ItemID.RUNE_PLATESKIRT;
|
||||
import static net.runelite.api.ItemID.RUNE_SHIELD_H1;
|
||||
import static net.runelite.api.ItemID.RUNE_SHIELD_H2;
|
||||
import static net.runelite.api.ItemID.RUNE_SHIELD_H3;
|
||||
import static net.runelite.api.ItemID.RUNE_SHIELD_H4;
|
||||
import static net.runelite.api.ItemID.RUNE_SHIELD_H5;
|
||||
import static net.runelite.api.ItemID.RUNE_SPEAR;
|
||||
import static net.runelite.api.ItemID.RUNE_WARHAMMER;
|
||||
import static net.runelite.api.ItemID.SAPPHIRE_AMULET;
|
||||
import static net.runelite.api.ItemID.SAPPHIRE_NECKLACE;
|
||||
import static net.runelite.api.ItemID.SAPPHIRE_RING;
|
||||
import static net.runelite.api.ItemID.SARADOMIN_CROZIER;
|
||||
import static net.runelite.api.ItemID.SARADOMIN_MITRE;
|
||||
import static net.runelite.api.ItemID.SARADOMIN_STOLE;
|
||||
import static net.runelite.api.ItemID.SEERCULL;
|
||||
import static net.runelite.api.ItemID.SHADOW_SWORD;
|
||||
import static net.runelite.api.ItemID.SILVER_SICKLE;
|
||||
import static net.runelite.api.ItemID.SLAYER_HELMET;
|
||||
import static net.runelite.api.ItemID.SLAYER_HELMET_I;
|
||||
import static net.runelite.api.ItemID.SLED_4084;
|
||||
import static net.runelite.api.ItemID.SNAKESKIN_BOOTS;
|
||||
import static net.runelite.api.ItemID.SNAKESKIN_CHAPS;
|
||||
import static net.runelite.api.ItemID.SPINED_CHAPS;
|
||||
import static net.runelite.api.ItemID.SPLITBARK_BODY;
|
||||
import static net.runelite.api.ItemID.SPLITBARK_LEGS;
|
||||
import static net.runelite.api.ItemID.SPOTTED_CAPE;
|
||||
import static net.runelite.api.ItemID.SPOTTED_CAPE_10073;
|
||||
import static net.runelite.api.ItemID.STAFF;
|
||||
import static net.runelite.api.ItemID.STAFF_OF_AIR;
|
||||
import static net.runelite.api.ItemID.STAFF_OF_WATER;
|
||||
import static net.runelite.api.ItemID.STEEL_AXE;
|
||||
import static net.runelite.api.ItemID.STEEL_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.STEEL_KITESHIELD;
|
||||
import static net.runelite.api.ItemID.STEEL_LONGSWORD;
|
||||
import static net.runelite.api.ItemID.STEEL_MACE;
|
||||
import static net.runelite.api.ItemID.STEEL_MED_HELM;
|
||||
import static net.runelite.api.ItemID.STEEL_PICKAXE;
|
||||
import static net.runelite.api.ItemID.STEEL_PLATEBODY;
|
||||
import static net.runelite.api.ItemID.STEEL_PLATESKIRT;
|
||||
import static net.runelite.api.ItemID.STEEL_SQ_SHIELD;
|
||||
import static net.runelite.api.ItemID.STUDDED_BODY;
|
||||
import static net.runelite.api.ItemID.STUDDED_CHAPS;
|
||||
import static net.runelite.api.ItemID.TEAM1_CAPE;
|
||||
import static net.runelite.api.ItemID.TEAM50_CAPE;
|
||||
import static net.runelite.api.ItemID.TIARA;
|
||||
import static net.runelite.api.ItemID.TOKTZKETXIL;
|
||||
import static net.runelite.api.ItemID.TOKTZXILUL;
|
||||
import static net.runelite.api.ItemID.TORAGS_HAMMERS_0;
|
||||
import static net.runelite.api.ItemID.TORAGS_HAMMERS_100;
|
||||
import static net.runelite.api.ItemID.TORAGS_HELM_0;
|
||||
import static net.runelite.api.ItemID.TORAGS_HELM_100;
|
||||
import static net.runelite.api.ItemID.TORAGS_PLATEBODY_0;
|
||||
import static net.runelite.api.ItemID.TORAGS_PLATEBODY_100;
|
||||
import static net.runelite.api.ItemID.TORAGS_PLATELEGS_0;
|
||||
import static net.runelite.api.ItemID.TORAGS_PLATELEGS_100;
|
||||
import static net.runelite.api.ItemID.TURQUOISE_ROBE_BOTTOMS;
|
||||
import static net.runelite.api.ItemID.TURQUOISE_SLAYER_HELMET;
|
||||
import static net.runelite.api.ItemID.TURQUOISE_SLAYER_HELMET_I;
|
||||
import static net.runelite.api.ItemID.UNHOLY_BOOK;
|
||||
import static net.runelite.api.ItemID.VERACS_BRASSARD_0;
|
||||
import static net.runelite.api.ItemID.VERACS_BRASSARD_100;
|
||||
import static net.runelite.api.ItemID.VERACS_FLAIL_0;
|
||||
import static net.runelite.api.ItemID.VERACS_FLAIL_100;
|
||||
import static net.runelite.api.ItemID.VERACS_HELM_0;
|
||||
import static net.runelite.api.ItemID.VERACS_HELM_100;
|
||||
import static net.runelite.api.ItemID.VERACS_PLATESKIRT_0;
|
||||
import static net.runelite.api.ItemID.VERACS_PLATESKIRT_100;
|
||||
import static net.runelite.api.ItemID.WHITE_APRON;
|
||||
import static net.runelite.api.ItemID.WHITE_BOATER;
|
||||
import static net.runelite.api.ItemID.WHITE_HEADBAND;
|
||||
import static net.runelite.api.ItemID.ZAMORAK_CROZIER;
|
||||
import static net.runelite.api.ItemID.ZAMORAK_FULL_HELM;
|
||||
import static net.runelite.api.ItemID.ZAMORAK_GODSWORD;
|
||||
import static net.runelite.api.ItemID.ZAMORAK_MITRE;
|
||||
import static net.runelite.api.ItemID.ZAMORAK_STOLE;
|
||||
import net.runelite.api.coords.LocalPoint;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_CONTENT_COLOR;
|
||||
@@ -50,13 +379,40 @@ import static net.runelite.client.plugins.cluescrolls.ClueScrollPlugin.EMOTE_IMA
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.AllRequirementsCollection;
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.AnyRequirementCollection;
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.Emote;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.*;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.ANGRY;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BECKON;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BLOW_KISS;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BOW;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.BULL_ROARER;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.CHEER;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.CLAP;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.CRY;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.DANCE;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.FLAP;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.GOBLIN_SALUTE;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.HEADBANG;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.JIG;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.JUMP_FOR_JOY;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.LAUGH;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.NO;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.PANIC;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.PUSH_UP;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.RASPBERRY;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SALUTE;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SHRUG;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SLAP_HEAD;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.SPIN;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.STOMP;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.THINK;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.WAVE;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.YAWN;
|
||||
import static net.runelite.client.plugins.cluescrolls.clues.emote.Emote.YES;
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.ItemRequirement;
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.RangeItemRequirement;
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.SingleItemRequirement;
|
||||
import net.runelite.client.plugins.cluescrolls.clues.emote.SlotLimitationRequirement;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -227,22 +583,30 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu
|
||||
{
|
||||
panelComponent.setTitle("Emote Clue");
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Emotes:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(getFirstEmote().getName(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Emotes:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getFirstEmote().getName())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
if (getSecondEmote() != null)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(getSecondEmote().getName(), TITLED_CONTENT_COLOR));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getSecondEmote().getName())
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
}
|
||||
|
||||
if (getItemRequirements() == null)
|
||||
{
|
||||
panelComponent.setWidth(130);
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Items:", "None"));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Items:")
|
||||
.right("None")
|
||||
.build());
|
||||
}
|
||||
else
|
||||
{
|
||||
panelComponent.setWidth(160);
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Equip:"));
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Equip:").build());
|
||||
|
||||
Item[] items = plugin.getEquippedItems();
|
||||
|
||||
@@ -255,10 +619,13 @@ public class EmoteClue extends ClueScroll implements TextClueScroll, LocationClu
|
||||
for (ItemRequirement requirement : getItemRequirements())
|
||||
{
|
||||
boolean found = requirement.fulfilledBy(items);
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
requirement.getCollectiveName(plugin.getClient()), TITLED_CONTENT_COLOR,
|
||||
found ? "X" : "-", found ? Color.GREEN : Color.RED)
|
||||
);
|
||||
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(requirement.getCollectiveName(plugin.getClient()))
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.right(found ? "X" : "-")
|
||||
.rightColor(found ? Color.GREEN : Color.RED)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ import static net.runelite.client.plugins.cluescrolls.ClueScrollOverlay.TITLED_C
|
||||
import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollPlugin.SPADE_IMAGE;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -66,13 +67,15 @@ public class FairyRingClue extends ClueScroll implements TextClueScroll, Locatio
|
||||
public void makeOverlayHint(PanelComponent panelComponent, ClueScrollPlugin plugin)
|
||||
{
|
||||
panelComponent.setTitle("Fairy Ring Clue");
|
||||
panelComponent.setWidth(140);
|
||||
panelComponent.getChildren().add(LineComponent.builder().left("Code:").build());
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(getText().substring(0, 5))
|
||||
.leftColor(TITLED_CONTENT_COLOR)
|
||||
.build());
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Code:"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(getText().substring(0, 5), TITLED_CONTENT_COLOR));
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Travel to the fairy ring"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line("to see where to dig."));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Travel to the fairy ring to see where to dig.")
|
||||
.build());
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -32,7 +32,10 @@ import lombok.Getter;
|
||||
import net.runelite.api.GameObject;
|
||||
import static net.runelite.api.ItemID.*;
|
||||
import net.runelite.api.ObjectComposition;
|
||||
import static net.runelite.api.ObjectID.*;
|
||||
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 net.runelite.api.coords.LocalPoint;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
import net.runelite.client.plugins.cluescrolls.ClueScrollPlugin;
|
||||
@@ -43,6 +46,7 @@ import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.CLI
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.CLICKBOX_HOVER_BORDER_COLOR;
|
||||
import static net.runelite.client.plugins.cluescrolls.ClueScrollWorldOverlay.IMAGE_Z_OFFSET;
|
||||
import net.runelite.client.ui.overlay.OverlayUtil;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Getter
|
||||
@@ -103,25 +107,24 @@ public class MapClue extends ClueScroll implements ObjectClueScroll
|
||||
|
||||
if (objectId != -1)
|
||||
{
|
||||
panelComponent.setWidth(150);
|
||||
|
||||
ObjectComposition objectToClick = plugin.getClient().getObjectDefinition(getObjectId());
|
||||
|
||||
String objectName = "N/A";
|
||||
|
||||
if (objectToClick != null)
|
||||
{
|
||||
objectName = objectToClick.getName();
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Travel to the destination"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line("and click the " + objectName + "."));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Travel to the destination and click the " + objectName + ".")
|
||||
.build());
|
||||
}
|
||||
else
|
||||
{
|
||||
panelComponent.setWidth(160);
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Travel to the destination"));
|
||||
panelComponent.getLines().add(new PanelComponent.Line("and dig on the marked tile."));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Travel to the destination and dig on the marked tile.")
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -34,12 +34,14 @@ import net.runelite.api.coords.LocalPoint;
|
||||
import net.runelite.api.coords.WorldPoint;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class LocationOverlay extends Overlay
|
||||
{
|
||||
private final Client client;
|
||||
private final DevToolsPlugin plugin;
|
||||
private final PanelComponent panelComponent = new PanelComponent();
|
||||
|
||||
@Inject
|
||||
LocationOverlay(Client client, DevToolsPlugin plugin)
|
||||
@@ -57,7 +59,7 @@ public class LocationOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
PanelComponent panelComponent = new PanelComponent();
|
||||
panelComponent.setPreferredSize(new Dimension(150, 0));
|
||||
|
||||
WorldPoint localWorld = client.getLocalPlayer().getWorldLocation();
|
||||
LocalPoint localPoint = client.getLocalPlayer().getLocalLocation();
|
||||
@@ -66,8 +68,9 @@ public class LocationOverlay extends Overlay
|
||||
|
||||
if (client.isInInstancedRegion())
|
||||
{
|
||||
panelComponent.setWidth(150);
|
||||
panelComponent.getLines().add(new PanelComponent.Line("Instance"));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Instance")
|
||||
.build());
|
||||
|
||||
int[][][] instanceTemplateChunks = client.getInstanceTemplateChunks();
|
||||
int z = client.getPlane();
|
||||
@@ -77,25 +80,26 @@ public class LocationOverlay extends Overlay
|
||||
int chunkY = (chunkData >> 3 & 0x7FF) * CHUNK_SIZE;
|
||||
int chunkX = (chunkData >> 14 & 0x3FF) * CHUNK_SIZE;
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Chunk " + localPoint.getRegionX() / CHUNK_SIZE + "," + localPoint.getRegionY() / CHUNK_SIZE,
|
||||
rotation + " " + chunkX + " " + chunkY
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Chunk " + localPoint.getRegionX() / CHUNK_SIZE + "," + localPoint.getRegionY() / CHUNK_SIZE)
|
||||
.right(rotation + " " + chunkX + " " + chunkY)
|
||||
.build());
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Tile",
|
||||
localWorld.getX() + ", " + localWorld.getY() + ", " + client.getPlane()
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Tile")
|
||||
.right(localWorld.getX() + ", " + localWorld.getY() + ", " + client.getPlane())
|
||||
.build());
|
||||
|
||||
for (int i = 0; i < client.getMapRegions().length; i++)
|
||||
{
|
||||
int region = client.getMapRegions()[i];
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
(i == 0) ? "Map regions" : " ", new Color(255, 255, 255, 255),
|
||||
String.valueOf(region), (region == regionID) ? new Color(0, 255, 0, 255) : new Color(255, 255, 255, 255)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left((i == 0) ? "Map regions" : " ")
|
||||
.right(String.valueOf(region))
|
||||
.rightColor((region == regionID) ? Color.GREEN : Color.WHITE)
|
||||
.build());
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
|
||||
@@ -29,7 +29,6 @@ import net.runelite.api.Client;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.ImagePanelComponent;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.inject.Inject;
|
||||
@@ -38,6 +37,8 @@ import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import net.runelite.client.ui.overlay.components.ImageComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
@Slf4j
|
||||
public class FightCaveOverlay extends Overlay
|
||||
@@ -46,7 +47,7 @@ public class FightCaveOverlay extends Overlay
|
||||
|
||||
private final Client client;
|
||||
private final FightCavePlugin plugin;
|
||||
|
||||
private final PanelComponent imagePanelComponent = new PanelComponent();
|
||||
private BufferedImage protectFromMagicImg;
|
||||
private BufferedImage protectFromMissilesImg;
|
||||
|
||||
@@ -68,13 +69,14 @@ public class FightCaveOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
BufferedImage prayerImage = getPrayerImage(attack);
|
||||
ImagePanelComponent imagePanelComponent = new ImagePanelComponent();
|
||||
imagePanelComponent.setTitle("TzTok-Jad");
|
||||
imagePanelComponent.getImages().add(prayerImage);
|
||||
imagePanelComponent.getChildren().add(new ImageComponent(prayerImage));
|
||||
|
||||
if (!client.isPrayerActive(attack.getPrayer()))
|
||||
{
|
||||
imagePanelComponent.setBackgroundColor(NOT_ACTIVATED_BACKGROUND_COLOR);
|
||||
}
|
||||
|
||||
return imagePanelComponent.render(graphics);
|
||||
}
|
||||
|
||||
|
||||
@@ -35,6 +35,7 @@ import net.runelite.api.Skill;
|
||||
import net.runelite.client.plugins.xptracker.XpTrackerService;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
class FishingOverlay extends Overlay
|
||||
@@ -81,7 +82,7 @@ class FishingOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
if (client.getLocalPlayer().getInteracting() != null && client.getLocalPlayer().getInteracting().getName()
|
||||
.contains(FISHING_SPOT))
|
||||
{
|
||||
@@ -97,17 +98,17 @@ class FishingOverlay extends Overlay
|
||||
int actions = xpTrackerService.getActions(Skill.FISHING);
|
||||
if (actions > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Caught fish:",
|
||||
Integer.toString(actions)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Caught fish:")
|
||||
.right(Integer.toString(actions))
|
||||
.build());
|
||||
|
||||
if (actions > 2)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Fish/hr:",
|
||||
Integer.toString(xpTrackerService.getActionsHr(Skill.FISHING))
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Fish/hr:")
|
||||
.right(Integer.toString(xpTrackerService.getActionsHr(Skill.FISHING)))
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@ import java.time.Instant;
|
||||
import javax.inject.Inject;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class MotherlodeGemOverlay extends Overlay
|
||||
@@ -70,41 +71,42 @@ public class MotherlodeGemOverlay extends Overlay
|
||||
int emeraldsFound = session.getEmeraldsFound();
|
||||
int sapphiresFound = session.getSapphiresFound();
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
panelComponent.setTitle("Gems found");
|
||||
|
||||
if (diamondsFound > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Diamonds:",
|
||||
Integer.toString(diamondsFound)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Diamonds:")
|
||||
.right(Integer.toString(diamondsFound))
|
||||
.build());
|
||||
}
|
||||
|
||||
if (rubiesFound > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Rubies:",
|
||||
Integer.toString(rubiesFound)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Rubies:")
|
||||
.right(Integer.toString(rubiesFound))
|
||||
.build());
|
||||
}
|
||||
|
||||
if (emeraldsFound > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Emeralds:",
|
||||
Integer.toString(emeraldsFound)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Emeralds:")
|
||||
.right(Integer.toString(emeraldsFound))
|
||||
.build());
|
||||
}
|
||||
|
||||
if (sapphiresFound > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Sapphires:",
|
||||
Integer.toString(sapphiresFound)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Sapphires:")
|
||||
.right(Integer.toString(sapphiresFound))
|
||||
.build());
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -45,6 +45,7 @@ import static net.runelite.api.AnimationID.MINING_MOTHERLODE_STEEL;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
class MotherlodeOverlay extends Overlay
|
||||
@@ -93,7 +94,7 @@ class MotherlodeOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
if (config.showMiningState())
|
||||
{
|
||||
@@ -113,17 +114,15 @@ class MotherlodeOverlay extends Overlay
|
||||
panelComponent.setTitle(null);
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Pay-dirt mined:",
|
||||
Integer.toString(session.getTotalMined())
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Pay-dirt mined:")
|
||||
.right(Integer.toString(session.getTotalMined()))
|
||||
.build());
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Pay-dirt/hr:",
|
||||
session.getRecentMined() > 2
|
||||
? Integer.toString(session.getPerHour())
|
||||
: ""
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Pay-dirt/hr:")
|
||||
.right(session.getRecentMined() > 2 ? Integer.toString(session.getPerHour()) : "")
|
||||
.build());
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.BackgroundComponent;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
class MotherlodeSackOverlay extends Overlay
|
||||
@@ -67,7 +68,7 @@ class MotherlodeSackOverlay extends Overlay
|
||||
|
||||
Widget sack = client.getWidget(WidgetInfo.MOTHERLODE_MINE);
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
panelComponent.setBackgroundColor(BackgroundComponent.DEFAULT_BACKGROUND_COLOR);
|
||||
|
||||
if (sack != null)
|
||||
@@ -81,23 +82,16 @@ class MotherlodeSackOverlay extends Overlay
|
||||
panelComponent.setBackgroundColor(DANGER);
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Pay-dirt in sack:",
|
||||
Color.WHITE,
|
||||
String.valueOf(client.getVar(Varbits.SACK_NUMBER)),
|
||||
Color.WHITE
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Pay-dirt in sack:")
|
||||
.right(String.valueOf(client.getVar(Varbits.SACK_NUMBER)))
|
||||
.build());
|
||||
}
|
||||
|
||||
if (config.showDepositsLeft())
|
||||
{
|
||||
final Integer depositsLeft = plugin.getDepositsLeft();
|
||||
final PanelComponent.Line line = new PanelComponent.Line(
|
||||
"Deposits left:",
|
||||
Color.WHITE,
|
||||
depositsLeft == null ? "N/A" : String.valueOf(depositsLeft),
|
||||
Color.WHITE
|
||||
);
|
||||
Color color = Color.WHITE;
|
||||
|
||||
if (depositsLeft != null)
|
||||
{
|
||||
@@ -107,12 +101,16 @@ class MotherlodeSackOverlay extends Overlay
|
||||
}
|
||||
else if (depositsLeft == 1)
|
||||
{
|
||||
line.setLeftColor(Color.RED);
|
||||
line.setRightColor(Color.RED);
|
||||
color = Color.RED;
|
||||
}
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(line);
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Deposits left:")
|
||||
.leftColor(color)
|
||||
.right(depositsLeft == null ? "N/A" : String.valueOf(depositsLeft))
|
||||
.rightColor(color)
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.nightmarezone;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import javax.inject.Inject;
|
||||
@@ -37,6 +36,7 @@ import net.runelite.client.game.ItemManager;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
import net.runelite.client.ui.overlay.infobox.InfoBoxManager;
|
||||
import net.runelite.client.util.StackFormatter;
|
||||
@@ -96,13 +96,11 @@ class NightmareZoneOverlay extends Overlay
|
||||
|
||||
renderAbsorptionCounter();
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Points: ",
|
||||
Color.WHITE,
|
||||
StackFormatter.formatNumber(client.getVar(Varbits.NMZ_POINTS)),
|
||||
Color.WHITE
|
||||
));
|
||||
panelComponent.getChildren().clear();
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Points: ")
|
||||
.right(StackFormatter.formatNumber(client.getVar(Varbits.NMZ_POINTS)))
|
||||
.build());
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import net.runelite.client.plugins.raids.solver.Room;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class RaidsOverlay extends Overlay
|
||||
@@ -61,7 +62,7 @@ public class RaidsOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
if (plugin.getRaid() == null || plugin.getRaid().getLayout() == null)
|
||||
{
|
||||
@@ -81,9 +82,11 @@ public class RaidsOverlay extends Overlay
|
||||
color = Color.RED;
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Layout", Color.WHITE, layout, color
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Layout")
|
||||
.right(layout)
|
||||
.rightColor(color)
|
||||
.build());
|
||||
|
||||
int bossMatches = 0;
|
||||
int bossCount = 0;
|
||||
@@ -119,9 +122,12 @@ public class RaidsOverlay extends Overlay
|
||||
color = Color.RED;
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
room.getType().getName(), Color.WHITE, room.getBoss().getName(), color
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(room.getType().getName())
|
||||
.right(room.getBoss().getName())
|
||||
.rightColor(color)
|
||||
.build());
|
||||
|
||||
break;
|
||||
|
||||
case PUZZLE:
|
||||
@@ -134,9 +140,11 @@ public class RaidsOverlay extends Overlay
|
||||
color = Color.RED;
|
||||
}
|
||||
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
room.getType().getName(), Color.WHITE, room.getPuzzle().getName(), color
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left(room.getType().getName())
|
||||
.right(room.getPuzzle().getName())
|
||||
.rightColor(color)
|
||||
.build());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.raids;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import javax.inject.Inject;
|
||||
@@ -34,6 +33,7 @@ import static net.runelite.client.plugins.raids.RaidsPlugin.POINTS_FORMAT;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class RaidsPointsOverlay extends Overlay
|
||||
@@ -64,16 +64,21 @@ public class RaidsPointsOverlay extends Overlay
|
||||
int totalPoints = client.getVar(Varbits.TOTAL_POINTS);
|
||||
int personalPoints = client.getVar(Varbits.PERSONAL_POINTS);
|
||||
|
||||
panel.getLines().clear();
|
||||
panel.getLines().add(new PanelComponent.Line(
|
||||
"Total:", Color.WHITE, POINTS_FORMAT.format(totalPoints), Color.WHITE
|
||||
));
|
||||
panel.getLines().add(new PanelComponent.Line(
|
||||
client.getLocalPlayer().getName() + ":", Color.WHITE, POINTS_FORMAT.format(personalPoints), Color.WHITE
|
||||
));
|
||||
panel.getLines().add(new PanelComponent.Line(
|
||||
"Party size:", Color.WHITE, String.valueOf(client.getVar(Varbits.RAID_PARTY_SIZE)), Color.WHITE
|
||||
));
|
||||
panel.getChildren().clear();
|
||||
panel.getChildren().add(LineComponent.builder()
|
||||
.left("Total:")
|
||||
.right(POINTS_FORMAT.format(totalPoints))
|
||||
.build());
|
||||
|
||||
panel.getChildren().add(LineComponent.builder()
|
||||
.left(client.getLocalPlayer().getName() + ":")
|
||||
.right(POINTS_FORMAT.format(personalPoints))
|
||||
.build());
|
||||
|
||||
panel.getChildren().add(LineComponent.builder()
|
||||
.left("Party size:")
|
||||
.right(String.valueOf(client.getVar(Varbits.RAID_PARTY_SIZE)))
|
||||
.build());
|
||||
|
||||
return panel.render(graphics);
|
||||
}
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
*/
|
||||
package net.runelite.client.plugins.teamcapes;
|
||||
|
||||
import java.awt.Color;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Graphics2D;
|
||||
import java.util.Map;
|
||||
@@ -32,6 +31,7 @@ import javax.inject.Inject;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
public class TeamCapesOverlay extends Overlay
|
||||
@@ -57,20 +57,20 @@ public class TeamCapesOverlay extends Overlay
|
||||
{
|
||||
return null;
|
||||
}
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
for (Map.Entry<Integer, Integer> team : teams.entrySet())
|
||||
{
|
||||
// Only display team capes that have a count greater than the configured minimum.
|
||||
if (team.getValue() >= config.getMinimumCapeCount())
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Team-" + Integer.toString(team.getKey()),
|
||||
Color.WHITE,
|
||||
Integer.toString(team.getValue()),
|
||||
Color.WHITE
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Team-" + Integer.toString(team.getKey()))
|
||||
.right(Integer.toString(team.getValue()))
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -33,6 +33,7 @@ import net.runelite.api.widgets.Widget;
|
||||
import net.runelite.api.widgets.WidgetInfo;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
class TitheFarmSackOverlay extends Overlay
|
||||
@@ -58,19 +59,20 @@ class TitheFarmSackOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
|
||||
panelComponent.getChildren().clear();
|
||||
sack.setHidden(true);
|
||||
|
||||
if (config.showSack())
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Fruits in sack:",
|
||||
String.valueOf(client.getVar(Varbits.TITHE_FARM_SACK_AMOUNT))
|
||||
));
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Points:",
|
||||
String.valueOf(client.getVar(Varbits.TITHE_FARM_POINTS))
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Fruits in sack:")
|
||||
.right(String.valueOf(client.getVar(Varbits.TITHE_FARM_SACK_AMOUNT)))
|
||||
.build());
|
||||
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Points:")
|
||||
.right(String.valueOf(client.getVar(Varbits.TITHE_FARM_POINTS)))
|
||||
.build());
|
||||
}
|
||||
|
||||
return panelComponent.render(graphics);
|
||||
|
||||
@@ -45,6 +45,7 @@ import net.runelite.api.Skill;
|
||||
import net.runelite.client.plugins.xptracker.XpTrackerService;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
|
||||
class WoodcuttingOverlay extends Overlay
|
||||
@@ -95,7 +96,7 @@ class WoodcuttingOverlay extends Overlay
|
||||
return null;
|
||||
}
|
||||
|
||||
panelComponent.getLines().clear();
|
||||
panelComponent.getChildren().clear();
|
||||
|
||||
if (IntStream.of(animationIds).anyMatch(x -> x == client.getLocalPlayer().getAnimation()))
|
||||
{
|
||||
@@ -111,17 +112,17 @@ class WoodcuttingOverlay extends Overlay
|
||||
int actions = xpTrackerService.getActions(Skill.WOODCUTTING);
|
||||
if (actions > 0)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Logs cut:",
|
||||
Integer.toString(actions)
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Logs cut:")
|
||||
.right(Integer.toString(actions))
|
||||
.build());
|
||||
|
||||
if (actions > 2)
|
||||
{
|
||||
panelComponent.getLines().add(new PanelComponent.Line(
|
||||
"Logs/hr:",
|
||||
Integer.toString(xpTrackerService.getActionsHr(Skill.WOODCUTTING))
|
||||
));
|
||||
panelComponent.getChildren().add(LineComponent.builder()
|
||||
.left("Logs/hr:")
|
||||
.right(Integer.toString(xpTrackerService.getActionsHr(Skill.WOODCUTTING)))
|
||||
.build());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@ import net.runelite.client.plugins.xptracker.XpTrackerService;
|
||||
import net.runelite.client.ui.overlay.Overlay;
|
||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||
import net.runelite.client.ui.overlay.components.LineComponent;
|
||||
import net.runelite.client.ui.overlay.components.PanelComponent;
|
||||
import net.runelite.client.ui.overlay.components.ProgressBarComponent;
|
||||
|
||||
@@ -57,6 +58,7 @@ public class XpGlobesOverlay extends Overlay
|
||||
private final XpGlobesPlugin plugin;
|
||||
private final XpGlobesConfig config;
|
||||
private final XpTrackerService xpTrackerService;
|
||||
private final PanelComponent xpTooltip = new PanelComponent();
|
||||
|
||||
@Inject
|
||||
private SkillIconManager iconManager;
|
||||
@@ -228,22 +230,38 @@ public class XpGlobesOverlay extends Overlay
|
||||
DecimalFormat decimalFormat = new DecimalFormat("###,###,###");
|
||||
String skillCurrentXp = decimalFormat.format(mouseOverSkill.getCurrentXp());
|
||||
|
||||
PanelComponent xpTooltip = new PanelComponent();
|
||||
xpTooltip.getChildren().clear();
|
||||
xpTooltip.setPosition(new java.awt.Point(x, y));
|
||||
xpTooltip.setWidth(TOOLTIP_RECT_SIZE_X);
|
||||
xpTooltip.setPreferredSize(new Dimension(TOOLTIP_RECT_SIZE_X, 0));
|
||||
|
||||
xpTooltip.getChildren().add(LineComponent.builder()
|
||||
.left(skillName)
|
||||
.right(skillLevel)
|
||||
.build());
|
||||
|
||||
xpTooltip.getChildren().add(LineComponent.builder()
|
||||
.left("Current xp:")
|
||||
.leftColor(Color.ORANGE)
|
||||
.right(skillCurrentXp)
|
||||
.build());
|
||||
|
||||
List<PanelComponent.Line> lines = xpTooltip.getLines();
|
||||
lines.add(new PanelComponent.Line(skillName, Color.WHITE, skillLevel, Color.WHITE));
|
||||
lines.add(new PanelComponent.Line("Current xp:", Color.ORANGE, skillCurrentXp, Color.WHITE));
|
||||
if (mouseOverSkill.getGoalXp() != -1)
|
||||
{
|
||||
int actionsLeft = xpTrackerService.getActionsLeft(mouseOverSkill.getSkill());
|
||||
String actionsLeftString = decimalFormat.format(actionsLeft);
|
||||
lines.add(new PanelComponent.Line("Actions left:", Color.ORANGE, actionsLeftString, Color.WHITE));
|
||||
xpTooltip.getChildren().add(LineComponent.builder()
|
||||
.left("Actions left:")
|
||||
.leftColor(Color.ORANGE)
|
||||
.right(actionsLeftString)
|
||||
.build());
|
||||
|
||||
int xpLeft = mouseOverSkill.getGoalXp() - mouseOverSkill.getCurrentXp();
|
||||
String skillXpToLvl = decimalFormat.format(xpLeft);
|
||||
lines.add(new PanelComponent.Line("Xp to level:", Color.ORANGE, skillXpToLvl, Color.WHITE));
|
||||
xpTooltip.getChildren().add(LineComponent.builder()
|
||||
.left("Xp to level:")
|
||||
.leftColor(Color.ORANGE)
|
||||
.right(skillXpToLvl)
|
||||
.build());
|
||||
|
||||
//Create progress bar for skill.
|
||||
ProgressBarComponent progressBar = new ProgressBarComponent();
|
||||
@@ -251,7 +269,7 @@ public class XpGlobesOverlay extends Overlay
|
||||
mouseOverSkill.getCurrentXp(), mouseOverSkill.getGoalXp());
|
||||
progressBar.setProgress(progress);
|
||||
|
||||
xpTooltip.setProgressBar(progressBar);
|
||||
xpTooltip.getChildren().add(progressBar);
|
||||
}
|
||||
|
||||
xpTooltip.render(graphics);
|
||||
|
||||
Reference in New Issue
Block a user