From bf4c3d665f91a5b34cfed9355df2156967b29f97 Mon Sep 17 00:00:00 2001 From: Sundar-Gandu <86447677+Sundar-Gandu@users.noreply.github.com> Date: Thu, 31 Mar 2022 14:48:33 -0400 Subject: [PATCH] add setter for NPCComposition --- runelite-api/src/main/java/net/runelite/api/NPC.java | 2 ++ .../src/main/java/net/runelite/mixins/RSNPCMixin.java | 7 +++++++ runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java | 3 +++ 3 files changed, 12 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/NPC.java b/runelite-api/src/main/java/net/runelite/api/NPC.java index b42fdc5a66..2087957a21 100644 --- a/runelite-api/src/main/java/net/runelite/api/NPC.java +++ b/runelite-api/src/main/java/net/runelite/api/NPC.java @@ -69,5 +69,7 @@ public interface NPC extends Actor @Nullable NPCComposition getTransformedComposition(); + void setComposition(NPCComposition composition); + void onDefinitionChanged(NPCComposition composition); } diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java index aca1512718..1a2778ea5b 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSNPCMixin.java @@ -102,6 +102,13 @@ public abstract class RSNPCMixin implements RSNPC npcIndex = id; } + @Inject + @Override + public void setComposition(NPCComposition composition) + { + setComposition((RSNPCComposition) composition); + } + @FieldHook(value = "definition", before = true) @Inject public void onDefinitionChanged(RSNPCComposition composition) diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java b/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java index 68921954e6..21f466fb75 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSNPC.java @@ -9,6 +9,9 @@ public interface RSNPC extends RSActor, NPC @Override RSNPCComposition getComposition(); + @Import("definition") + void setComposition(RSNPCComposition composition); + @Override int getIndex();