Skip to content

Commit d096226

Browse files
authored
Merge pull request #6 from RaazKH/fix-issue-5
fix issue 5
2 parents 608b375 + 14a8cae commit d096226

File tree

1 file changed

+40
-5
lines changed

1 file changed

+40
-5
lines changed

src/main/java/com/compassCameraControl/CompassCameraControlPlugin.java

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,13 @@
88
import net.runelite.api.MenuAction;
99
import net.runelite.api.SoundEffectID;
1010
import net.runelite.api.events.MenuOptionClicked;
11+
import net.runelite.api.events.MenuEntryAdded;
1112
import net.runelite.client.config.ConfigManager;
1213
import net.runelite.client.eventbus.Subscribe;
1314
import net.runelite.client.plugins.Plugin;
1415
import net.runelite.client.plugins.PluginDescriptor;
16+
import net.runelite.api.MenuEntry;
17+
import org.apache.commons.lang3.ArrayUtils;
1518

1619
@Slf4j
1720
@PluginDescriptor(
@@ -32,24 +35,56 @@ public class CompassCameraControlPlugin extends Plugin
3235
private static final int EAST_YAW = 512;
3336
private static final int WEST_YAW = 1536;
3437

38+
private static final String SNAP_CARDINAL = "Snap Cardinal";
39+
private static final String CYCLE_CARDINAL = "Cycle Cardinal";
40+
3541
@Subscribe
36-
public void onMenuOptionClicked(MenuOptionClicked event)
42+
public void onMenuEntryAdded(MenuEntryAdded event)
3743
{
38-
if (event.getMenuAction() == MenuAction.CC_OP && event.getMenuOption().equals("Look North"))
44+
if (event.getOption().equals("Look North"))
3945
{
46+
String newOption;
4047
switch (config.controlMode())
4148
{
4249
case SNAP_TO_CLOSEST:
43-
alignYaw();
50+
newOption = SNAP_CARDINAL;
4451
break;
4552

4653
case CYCLE:
4754
default:
55+
newOption = CYCLE_CARDINAL;
56+
break;
57+
}
58+
59+
MenuEntry[] menuEntries = client.getMenu().getMenuEntries();
60+
MenuEntry newEntry = client.getMenu().createMenuEntry(menuEntries.length - 1)
61+
.setOption(newOption)
62+
.setType(MenuAction.CC_OP);
63+
64+
menuEntries = ArrayUtils.add(menuEntries, newEntry);
65+
client.getMenu().setMenuEntries(menuEntries);
66+
}
67+
}
68+
69+
@Subscribe
70+
public void onMenuOptionClicked(MenuOptionClicked event)
71+
{
72+
if (event.getMenuAction() == MenuAction.CC_OP)
73+
{
74+
switch (event.getMenuOption())
75+
{
76+
case SNAP_CARDINAL:
77+
alignYaw();
78+
event.consume();
79+
client.playSoundEffect(SoundEffectID.UI_BOOP);
80+
break;
81+
82+
case CYCLE_CARDINAL:
4883
cycleYaw();
84+
event.consume();
85+
client.playSoundEffect(SoundEffectID.UI_BOOP);
4986
break;
5087
}
51-
event.consume();
52-
client.playSoundEffect(SoundEffectID.UI_BOOP);
5388
}
5489
}
5590

0 commit comments

Comments
 (0)