diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 6c7c8f6c10..b90dd40ed8 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -1391,14 +1391,7 @@ public interface Client extends GameEngine @VisibleForDevtools int[] getSkillExperiences(); - @VisibleForDevtools - int[] getChangedSkills(); - - @VisibleForDevtools - int getChangedSkillsCount(); - - @VisibleForDevtools - void setChangedSkillsCount(int i); + void queueChangedSkill(Skill skill); /** * Sets a mapping of sprites to override. 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 4b50dd7181..6c0d471020 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 @@ -225,10 +225,7 @@ public class DevToolsPlugin extends Plugin client.getRealSkillLevels()[skill.ordinal()] = level; client.getSkillExperiences()[skill.ordinal()] = totalXp; - int[] skills = client.getChangedSkills(); - int count = client.getChangedSkillsCount(); - skills[++count - 1 & 31] = skill.ordinal(); - client.setChangedSkillsCount(count); + client.queueChangedSkill(skill); ExperienceChanged experienceChanged = new ExperienceChanged(); experienceChanged.setSkill(skill); diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java index 4ea887eb0b..15f270a276 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -1243,4 +1243,14 @@ public abstract class RSClientMixin implements RSClient { RSClientMixin.lastItemDespawn = lastItemDespawn; } + + @Inject + @Override + public void queueChangedSkill(Skill skill) + { + int[] skills = client.getChangedSkills(); + int count = client.getChangedSkillsCount(); + skills[++count - 1 & 31] = skill.ordinal(); + client.setChangedSkillsCount(count); + } } \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java index d3518c5c99..6e37fe19f7 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSClient.java @@ -135,15 +135,12 @@ public interface RSClient extends RSGameEngine, Client int[] getSkillExperiences(); @Import("changedSkills") - @Override int[] getChangedSkills(); @Import("changedSkillsCount") - @Override int getChangedSkillsCount(); @Import("changedSkillsCount") - @Override void setChangedSkillsCount(int i); @Import("gameState")