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;
|
import lombok.Data;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public class WidgetOpened
|
public class WidgetLoaded
|
||||||
{
|
{
|
||||||
private int groupId;
|
private int groupId;
|
||||||
}
|
}
|
||||||
@@ -43,7 +43,7 @@ import net.runelite.api.events.ConfigChanged;
|
|||||||
import net.runelite.api.events.DraggingWidgetChanged;
|
import net.runelite.api.events.DraggingWidgetChanged;
|
||||||
import net.runelite.api.events.GameStateChanged;
|
import net.runelite.api.events.GameStateChanged;
|
||||||
import net.runelite.api.events.WidgetMenuOptionClicked;
|
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 net.runelite.api.widgets.Widget;
|
||||||
import static net.runelite.api.widgets.WidgetConfig.DRAG;
|
import static net.runelite.api.widgets.WidgetConfig.DRAG;
|
||||||
import static net.runelite.api.widgets.WidgetConfig.DRAG_ON;
|
import static net.runelite.api.widgets.WidgetConfig.DRAG_ON;
|
||||||
@@ -259,7 +259,7 @@ public class ReorderPrayersPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Subscribe
|
@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)
|
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.PlayerMenuOptionsChanged;
|
||||||
import net.runelite.api.events.ResizeableChanged;
|
import net.runelite.api.events.ResizeableChanged;
|
||||||
import net.runelite.api.events.VarbitChanged;
|
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.Copy;
|
||||||
import net.runelite.api.mixins.FieldHook;
|
import net.runelite.api.mixins.FieldHook;
|
||||||
import net.runelite.api.mixins.Inject;
|
import net.runelite.api.mixins.Inject;
|
||||||
@@ -507,28 +507,26 @@ public abstract class RSClientMixin implements RSClient
|
|||||||
client.setMenuEntries(entries);
|
client.setMenuEntries(entries);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Copy("loadWidget")
|
@Copy("runWidgetOnLoadListener")
|
||||||
public static boolean rs$loadWidget(int widgetId)
|
public static void rs$runWidgetOnLoadListener(int groupId)
|
||||||
{
|
{
|
||||||
throw new RuntimeException();
|
throw new RuntimeException();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Replace("loadWidget")
|
@Replace("runWidgetOnLoadListener")
|
||||||
public static boolean rl$loadWidget(int widgetId)
|
public static void rl$runWidgetOnLoadListener(int groupId)
|
||||||
{
|
{
|
||||||
|
rs$runWidgetOnLoadListener(groupId);
|
||||||
|
|
||||||
RSWidget[][] widgets = client.getWidgets();
|
RSWidget[][] widgets = client.getWidgets();
|
||||||
boolean loadedBefore = widgets != null && widgets[widgetId] != null;
|
boolean loaded = widgets != null && widgets[groupId] != null;
|
||||||
|
|
||||||
boolean loaded = rs$loadWidget(widgetId);
|
if (loaded)
|
||||||
|
|
||||||
if (!loadedBefore && loaded)
|
|
||||||
{
|
{
|
||||||
WidgetOpened event = new WidgetOpened();
|
WidgetLoaded event = new WidgetLoaded();
|
||||||
event.setGroupId(widgetId);
|
event.setGroupId(groupId);
|
||||||
eventBus.post(event);
|
eventBus.post(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
return loaded;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("skillExperiences")
|
@FieldHook("skillExperiences")
|
||||||
|
|||||||
Reference in New Issue
Block a user