WikiPlugin: Allow lookup of Objects
This commit is contained in:
@@ -37,6 +37,8 @@ import net.runelite.api.MenuAction;
|
|||||||
import net.runelite.api.MenuEntry;
|
import net.runelite.api.MenuEntry;
|
||||||
import net.runelite.api.NPC;
|
import net.runelite.api.NPC;
|
||||||
import net.runelite.api.NPCComposition;
|
import net.runelite.api.NPCComposition;
|
||||||
|
import net.runelite.api.ObjectComposition;
|
||||||
|
import net.runelite.api.coords.WorldPoint;
|
||||||
import net.runelite.api.events.MenuEntryAdded;
|
import net.runelite.api.events.MenuEntryAdded;
|
||||||
import net.runelite.api.events.MenuOptionClicked;
|
import net.runelite.api.events.MenuOptionClicked;
|
||||||
import net.runelite.api.events.WidgetLoaded;
|
import net.runelite.api.events.WidgetLoaded;
|
||||||
@@ -161,7 +163,7 @@ public class WikiPlugin extends Plugin
|
|||||||
icon.setOriginalHeight(16);
|
icon.setOriginalHeight(16);
|
||||||
icon.setTargetVerb("Lookup");
|
icon.setTargetVerb("Lookup");
|
||||||
icon.setName("Wiki");
|
icon.setName("Wiki");
|
||||||
icon.setClickMask(WidgetConfig.USE_GROUND_ITEM | WidgetConfig.USE_ITEM | WidgetConfig.USE_NPC);
|
icon.setClickMask(WidgetConfig.USE_GROUND_ITEM | WidgetConfig.USE_ITEM | WidgetConfig.USE_NPC | WidgetConfig.USE_OBJECT);
|
||||||
icon.setNoClickThrough(true);
|
icon.setNoClickThrough(true);
|
||||||
icon.setOnTargetEnterListener((JavaScriptCallback) ev ->
|
icon.setOnTargetEnterListener((JavaScriptCallback) ev ->
|
||||||
{
|
{
|
||||||
@@ -201,6 +203,8 @@ public class WikiPlugin extends Plugin
|
|||||||
String type;
|
String type;
|
||||||
int id;
|
int id;
|
||||||
String name;
|
String name;
|
||||||
|
WorldPoint location;
|
||||||
|
|
||||||
switch (ev.getMenuAction())
|
switch (ev.getMenuAction())
|
||||||
{
|
{
|
||||||
case CANCEL:
|
case CANCEL:
|
||||||
@@ -211,6 +215,7 @@ public class WikiPlugin extends Plugin
|
|||||||
type = "item";
|
type = "item";
|
||||||
id = itemManager.canonicalize(ev.getId());
|
id = itemManager.canonicalize(ev.getId());
|
||||||
name = itemManager.getItemComposition(id).getName();
|
name = itemManager.getItemComposition(id).getName();
|
||||||
|
location = null;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case SPELL_CAST_ON_NPC:
|
case SPELL_CAST_ON_NPC:
|
||||||
@@ -220,6 +225,20 @@ public class WikiPlugin extends Plugin
|
|||||||
NPCComposition nc = npc.getTransformedComposition();
|
NPCComposition nc = npc.getTransformedComposition();
|
||||||
id = nc.getId();
|
id = nc.getId();
|
||||||
name = nc.getName();
|
name = nc.getName();
|
||||||
|
location = npc.getWorldLocation();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPELL_CAST_ON_GAME_OBJECT:
|
||||||
|
{
|
||||||
|
type = "object";
|
||||||
|
ObjectComposition lc = client.getObjectDefinition(ev.getId());
|
||||||
|
if (lc.getImpostorIds() != null)
|
||||||
|
{
|
||||||
|
lc = lc.getImpostor();
|
||||||
|
}
|
||||||
|
id = lc.getId();
|
||||||
|
name = lc.getName();
|
||||||
|
location = WorldPoint.fromScene(client, ev.getActionParam(), ev.getWidgetId(), client.getPlane());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@@ -228,13 +247,20 @@ public class WikiPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
name = Text.removeTags(name);
|
name = Text.removeTags(name);
|
||||||
|
HttpUrl.Builder urlBuilder = WIKI_RSLOOKUP.newBuilder();
|
||||||
HttpUrl url = WIKI_RSLOOKUP.newBuilder()
|
urlBuilder.addQueryParameter("type", type)
|
||||||
.addQueryParameter("type", type)
|
|
||||||
.addQueryParameter("id", "" + id)
|
.addQueryParameter("id", "" + id)
|
||||||
.addQueryParameter("name", name)
|
.addQueryParameter("name", name)
|
||||||
.addQueryParameter(UTM_SORUCE_KEY, UTM_SORUCE_VALUE)
|
.addQueryParameter(UTM_SORUCE_KEY, UTM_SORUCE_VALUE);
|
||||||
.build();
|
|
||||||
|
if (location != null)
|
||||||
|
{
|
||||||
|
urlBuilder.addQueryParameter("x", "" + location.getX())
|
||||||
|
.addQueryParameter("y", "" + location.getY())
|
||||||
|
.addQueryParameter("plane", "" + location.getPlane());
|
||||||
|
}
|
||||||
|
|
||||||
|
HttpUrl url = urlBuilder.build();
|
||||||
|
|
||||||
LinkBrowser.browse(url.toString());
|
LinkBrowser.browse(url.toString());
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user