From fb449283e2bc56a6e6219d29556675cacc391663 Mon Sep 17 00:00:00 2001 From: Adam Date: Mon, 12 Nov 2018 11:33:38 -0500 Subject: [PATCH] devtools: add cape command --- .../main/java/net/runelite/api/PlayerComposition.java | 7 +++++++ .../client/plugins/devtools/DevToolsPlugin.java | 11 ++++++++++- .../java/net/runelite/rs/api/RSPlayerComposition.java | 4 ++++ 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java b/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java index 66f93179e7..20ac41b6cb 100644 --- a/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java +++ b/runelite-api/src/main/java/net/runelite/api/PlayerComposition.java @@ -59,6 +59,13 @@ public interface PlayerComposition */ int getKitId(KitType type); + /** + * Update the cached hash value for player equipment + * Used to cache the player models based on equipment. + */ + @VisibleForDevtools + void setHash(); + @VisibleForDevtools void setTransformedNpcId(int id); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java index e02192d5f9..ba4c396090 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/devtools/DevToolsPlugin.java @@ -48,14 +48,15 @@ import net.runelite.api.events.CommandExecuted; import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.MenuEntryAdded; import net.runelite.api.events.VarbitChanged; +import net.runelite.api.kit.KitType; import net.runelite.api.widgets.Widget; import net.runelite.client.config.ConfigManager; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; +import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.FontManager; import net.runelite.client.ui.JagexColors; import net.runelite.client.ui.NavigationButton; -import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.ImageUtil; @@ -271,6 +272,14 @@ public class DevToolsPlugin extends Plugin player.setPoseAnimation(-1); break; } + case "cape": + { + int id = Integer.parseInt(args[0]); + Player player = client.getLocalPlayer(); + player.getPlayerComposition().getEquipmentIds()[KitType.CAPE.getIndex()] = id + 512; + player.getPlayerComposition().setHash(); + break; + } } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSPlayerComposition.java b/runescape-api/src/main/java/net/runelite/rs/api/RSPlayerComposition.java index cc010044f7..15a3fb0e58 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSPlayerComposition.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSPlayerComposition.java @@ -42,4 +42,8 @@ public interface RSPlayerComposition extends PlayerComposition @Import("transformedNpcId") @Override void setTransformedNpcId(int id); + + @Import("setHash") + @Override + void setHash(); }