diff --git a/runelite-api/src/main/java/net/runelite/api/Actor.java b/runelite-api/src/main/java/net/runelite/api/Actor.java index 097908311d..394395dbc7 100644 --- a/runelite-api/src/main/java/net/runelite/api/Actor.java +++ b/runelite-api/src/main/java/net/runelite/api/Actor.java @@ -27,6 +27,7 @@ package net.runelite.api; import java.awt.Graphics2D; import java.awt.Polygon; import java.awt.image.BufferedImage; +import net.runelite.api.annotations.VisibleForDevtools; import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.WorldArea; import net.runelite.api.coords.WorldPoint; @@ -56,8 +57,20 @@ public interface Actor extends Renderable int getAnimation(); + @VisibleForDevtools + void setAnimation(int animation); + + @VisibleForDevtools + void setActionFrame(int actionFrame); + int getGraphic(); + @VisibleForDevtools + void setGraphic(int graphic); + + @VisibleForDevtools + void setSpotAnimFrame(int spotAnimFrame); + int getModelHeight(); Polygon getCanvasTilePoly(); 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 daca9042a7..3784598954 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 @@ -24,6 +24,8 @@ */ package net.runelite.client.plugins.devtools; +import ch.qos.logback.classic.Level; +import ch.qos.logback.classic.Logger; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; import com.google.inject.Provides; @@ -38,6 +40,7 @@ import lombok.extern.slf4j.Slf4j; import net.runelite.api.ChatMessageType; import net.runelite.api.Client; import net.runelite.api.Experience; +import net.runelite.api.Player; import net.runelite.api.Skill; import net.runelite.api.events.CommandExecuted; import net.runelite.api.events.VarbitChanged; @@ -49,6 +52,7 @@ import net.runelite.client.ui.FontManager; import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.PluginToolbar; import net.runelite.client.ui.overlay.Overlay; +import org.slf4j.LoggerFactory; @PluginDescriptor( name = "Developer Tools", @@ -144,6 +148,26 @@ public class DevToolsPlugin extends Plugin switch (commandExecuted.getCommand()) { + case "logger": + { + final Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME); + String message; + Level currentLoggerLevel = logger.getLevel(); + + if (args.length < 1) + { + message = "Logger level is currently set to " + currentLoggerLevel; + } + else + { + Level newLoggerLevel = Level.toLevel(args[0], currentLoggerLevel); + logger.setLevel(newLoggerLevel); + message = "Logger level has been set to " + newLoggerLevel; + } + + client.addChatMessage(ChatMessageType.SERVER, "", message, null); + break; + } case "getvar": { int varbit = Integer.parseInt(args[0]); @@ -178,6 +202,22 @@ public class DevToolsPlugin extends Plugin client.setChangedSkillsCount(count); break; } + case "anim": + { + int id = Integer.parseInt(args[0]); + Player localPlayer = client.getLocalPlayer(); + localPlayer.setAnimation(id); + localPlayer.setActionFrame(0); + break; + } + case "gfx": + { + int id = Integer.parseInt(args[0]); + Player localPlayer = client.getLocalPlayer(); + localPlayer.setGraphic(id); + localPlayer.setSpotAnimFrame(0); + break; + } } } diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java b/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java index 45ba0ecb59..d159fb1462 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSActor.java @@ -51,10 +51,18 @@ public interface RSActor extends RSRenderable, Actor @Override int getAnimation(); + @Import("animation") + @Override + void setAnimation(int animation); + @Import("graphic") @Override int getGraphic(); + @Import("graphic") + @Override + void setGraphic(int graphic); + @Import("combatInfoList") RSCombatInfoList getCombatInfoList(); @@ -70,6 +78,7 @@ public interface RSActor extends RSRenderable, Actor int getActionFrame(); @Import("actionFrame") + @Override void setActionFrame(int frame); @Import("actionFrameCycle") @@ -88,6 +97,7 @@ public interface RSActor extends RSRenderable, Actor int getSpotAnimFrame(); @Import("spotAnimFrame") + @Override void setSpotAnimFrame(int frame); @Import("spotAnimFrameCycle")