api/client: various (MenuEntry api stuff, agility/translate plugin stuff to use that) (#1748)
* Standardize MenuEntry methods, make MenuEntry events extend MenuEntry * Make agility plugin only change entries it needs to * Clean up chat translator by a lot, also implement cloneable instead of just adding a ranodm copy method smh * actions: allow slash in PR title * devtools: Fix checkstyle * examineplugin: Fix tests
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
*/
|
||||
package net.runelite.mixins;
|
||||
|
||||
import net.runelite.api.MenuEntry;
|
||||
import net.runelite.api.mixins.Inject;
|
||||
import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
@@ -109,4 +110,34 @@ public abstract class MenuMixin implements RSClient
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public MenuEntry getLeftClickMenuEntry()
|
||||
{
|
||||
final int i = getMenuOptionCount() - 1;
|
||||
return new MenuEntry(
|
||||
getMenuOptions()[i],
|
||||
getMenuTargets()[i],
|
||||
getMenuIdentifiers()[i],
|
||||
getMenuOpcodes()[i],
|
||||
getMenuArguments1()[i],
|
||||
getMenuArguments2()[i],
|
||||
getMenuForceLeftClick()[i]
|
||||
);
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public void setLeftClickMenuEntry(final MenuEntry entry)
|
||||
{
|
||||
final int i = getMenuOptionCount() - 1;
|
||||
getMenuOptions()[i] = entry.getOption();
|
||||
getMenuTargets()[i] = entry.getTarget();
|
||||
getMenuIdentifiers()[i] = entry.getIdentifier();
|
||||
getMenuOpcodes()[i] = entry.getOpcode();
|
||||
getMenuArguments1()[i] = entry.getParam0();
|
||||
getMenuArguments2()[i] = entry.getParam1();
|
||||
getMenuForceLeftClick()[i] = entry.isForceLeftClick();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -729,27 +729,25 @@ public abstract class RSClientMixin implements RSClient
|
||||
if (newCount == oldCount + 1)
|
||||
{
|
||||
MenuEntryAdded event = new MenuEntryAdded(
|
||||
new MenuEntry(
|
||||
options[oldCount],
|
||||
targets[oldCount],
|
||||
identifiers[oldCount],
|
||||
opcodes[oldCount],
|
||||
arguments1[oldCount],
|
||||
arguments2[oldCount],
|
||||
forceLeftClick[oldCount]
|
||||
)
|
||||
options[oldCount],
|
||||
targets[oldCount],
|
||||
identifiers[oldCount],
|
||||
opcodes[oldCount],
|
||||
arguments1[oldCount],
|
||||
arguments2[oldCount],
|
||||
forceLeftClick[oldCount]
|
||||
);
|
||||
|
||||
client.getCallbacks().post(MenuEntryAdded.class, event);
|
||||
|
||||
if (event.isWasModified() && client.getMenuOptionCount() == newCount)
|
||||
if (event.hasBeenModified() && client.getMenuOptionCount() == newCount)
|
||||
{
|
||||
options[oldCount] = event.getOption();
|
||||
targets[oldCount] = event.getTarget();
|
||||
identifiers[oldCount] = event.getIdentifier();
|
||||
opcodes[oldCount] = event.getType();
|
||||
arguments1[oldCount] = event.getActionParam0();
|
||||
arguments2[oldCount] = event.getActionParam1();
|
||||
opcodes[oldCount] = event.getOpcode();
|
||||
arguments1[oldCount] = event.getParam0();
|
||||
arguments2[oldCount] = event.getParam1();
|
||||
forceLeftClick[oldCount] = event.isForceLeftClick();
|
||||
}
|
||||
}
|
||||
@@ -1346,15 +1344,13 @@ public abstract class RSClientMixin implements RSClient
|
||||
}
|
||||
|
||||
final MenuOptionClicked menuOptionClicked = new MenuOptionClicked(
|
||||
new MenuEntry(
|
||||
menuOption,
|
||||
menuTarget,
|
||||
id,
|
||||
menuAction,
|
||||
actionParam,
|
||||
widgetId,
|
||||
false
|
||||
),
|
||||
menuOption,
|
||||
menuTarget,
|
||||
id,
|
||||
menuAction,
|
||||
actionParam,
|
||||
widgetId,
|
||||
false,
|
||||
authentic,
|
||||
client.getMouseCurrentButton()
|
||||
);
|
||||
@@ -1366,7 +1362,7 @@ public abstract class RSClientMixin implements RSClient
|
||||
return;
|
||||
}
|
||||
|
||||
rs$menuAction(menuOptionClicked.getActionParam0(), menuOptionClicked.getActionParam1(), menuOptionClicked.getOpcode(),
|
||||
rs$menuAction(menuOptionClicked.getParam0(), menuOptionClicked.getParam1(), menuOptionClicked.getOpcode(),
|
||||
menuOptionClicked.getIdentifier(), menuOptionClicked.getOption(), menuOptionClicked.getTarget(), var6, var7);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user