diff --git a/runelite-api/src/main/java/net/runelite/api/events/WidgetOpened.java b/runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java similarity index 98% rename from runelite-api/src/main/java/net/runelite/api/events/WidgetOpened.java rename to runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java index 678d7aa648..40a5f029db 100644 --- a/runelite-api/src/main/java/net/runelite/api/events/WidgetOpened.java +++ b/runelite-api/src/main/java/net/runelite/api/events/WidgetLoaded.java @@ -27,7 +27,7 @@ package net.runelite.api.events; import lombok.Data; @Data -public class WidgetOpened +public class WidgetLoaded { private int groupId; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java index d6af6efa3c..17d461f5a8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/reorderprayers/ReorderPrayersPlugin.java @@ -43,7 +43,7 @@ import net.runelite.api.events.ConfigChanged; import net.runelite.api.events.DraggingWidgetChanged; import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.WidgetMenuOptionClicked; -import net.runelite.api.events.WidgetOpened; +import net.runelite.api.events.WidgetLoaded; import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetConfig.DRAG; import static net.runelite.api.widgets.WidgetConfig.DRAG_ON; @@ -259,7 +259,7 @@ public class ReorderPrayersPlugin extends Plugin } @Subscribe - public void onWidgetOpened(WidgetOpened event) + public void onWidgetLoaded(WidgetLoaded event) { if (event.getGroupId() == WidgetID.PRAYER_GROUP_ID || event.getGroupId() == WidgetID.QUICK_PRAYERS_GROUP_ID) { 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 def14da5c3..13867836fb 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSClientMixin.java @@ -64,7 +64,7 @@ import net.runelite.api.events.MapRegionChanged; import net.runelite.api.events.PlayerMenuOptionsChanged; import net.runelite.api.events.ResizeableChanged; import net.runelite.api.events.VarbitChanged; -import net.runelite.api.events.WidgetOpened; +import net.runelite.api.events.WidgetLoaded; import net.runelite.api.mixins.Copy; import net.runelite.api.mixins.FieldHook; import net.runelite.api.mixins.Inject; @@ -507,28 +507,26 @@ public abstract class RSClientMixin implements RSClient client.setMenuEntries(entries); } - @Copy("loadWidget") - public static boolean rs$loadWidget(int widgetId) + @Copy("runWidgetOnLoadListener") + public static void rs$runWidgetOnLoadListener(int groupId) { throw new RuntimeException(); } - @Replace("loadWidget") - public static boolean rl$loadWidget(int widgetId) + @Replace("runWidgetOnLoadListener") + public static void rl$runWidgetOnLoadListener(int groupId) { + rs$runWidgetOnLoadListener(groupId); + RSWidget[][] widgets = client.getWidgets(); - boolean loadedBefore = widgets != null && widgets[widgetId] != null; + boolean loaded = widgets != null && widgets[groupId] != null; - boolean loaded = rs$loadWidget(widgetId); - - if (!loadedBefore && loaded) + if (loaded) { - WidgetOpened event = new WidgetOpened(); - event.setGroupId(widgetId); + WidgetLoaded event = new WidgetLoaded(); + event.setGroupId(groupId); eventBus.post(event); } - - return loaded; } @FieldHook("skillExperiences")