use of net.runelite.client.plugins.cluescrolls.clues.MapClue in project runelite by runelite.
the class ClueScrollPlugin method findClueScroll.
private ClueScroll findClueScroll() {
Widget clueScrollText = client.getWidget(WidgetInfo.CLUE_SCROLL_TEXT);
if (clueScrollText != null) {
// Remove line breaks and also the rare occasion where there are double line breaks
String text = clueScrollText.getText().replaceAll("-<br>", "-").replaceAll("<br>", " ").replaceAll("[ ]+", " ").toLowerCase();
if (clue != null && clue instanceof TextClueScroll) {
if (((TextClueScroll) clue).getText().equalsIgnoreCase(text)) {
return clue;
}
}
if (text.startsWith("this anagram reveals who to speak to next:")) {
return AnagramClue.forText(text);
} else if (text.startsWith("the cipher reveals who to speak to next:")) {
return CipherClue.forText(text);
} else if (text.contains("degrees") && text.contains("minutes")) {
return coordinatesToWorldPoint(text);
} else {
CrypticClue crypticClue = CrypticClue.forText(text);
if (crypticClue != null) {
return crypticClue;
}
EmoteClue emoteClue = EmoteClue.forText(text);
if (emoteClue != null) {
return emoteClue;
}
return FairyRingClue.forText(text);
}
}
Item[] result = queryRunner.runQuery(new InventoryItemQuery(InventoryID.INVENTORY));
if (result == null) {
return null;
}
for (Item item : result) {
MapClue clue = MapClue.forItemId(item.getId());
if (clue != null) {
return clue;
}
}
return null;
}
Aggregations