Merge pull request #1178 from DevDennis/fix-widget-loaded-event
Fix widget loaded event for prayer reordering
This commit is contained in:
@@ -27,7 +27,7 @@ package net.runelite.api.events;
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WidgetOpened
|
||||
public class WidgetLoaded
|
||||
{
|
||||
private int groupId;
|
||||
}
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user