Skip to content

Call Servant: manual POH shortcut (policy review requested) - #16519

Closed
iamthecodeDECODED wants to merge 2 commits into
runelite:masterfrom
iamthecodeDECODED:call-servant-review-20260913
Closed

iamthecodeDECODED wants to merge 2 commits into
runelite:masterfrom
iamthecodeDECODED:call-servant-review-20260913

Conversation

@iamthecodeDECODED

@iamthecodeDECODED iamthecodeDECODED commented Sep 13, 2026 •

Copy link
Copy Markdown
Contributor

Review status (2026-09-13): Contributor feedback states that use of Client.menuAction is not allowed. This candidate depends on that API and remains unapproved. No alternative dispatch or bypass has been added. The build passes after the descriptor correction; the Plugin Hub check requires maintainer review.

Adds a manually clicked Call Servant overlay near the inventory in a player-owned house, intended to avoid reopening Settings > House Options for each summon.

Policy review requested before acceptance. This is an unapproved prototype, not a claim that this shortcut is permitted or that closed-interface dispatch works. Jagex's guidelines prohibit unhiding interface components and additional server-action menu entries. Please reject this design if invoking the existing Call Servant control from this overlay is incompatible with those rules.

The plugin creates a RUNELITE menu entry only while the user hovers the button. Its selection callback invokes Client.menuAction(-1, InterfaceID.PohOptions.CALL_SERVANT, MenuAction.CC_OP, 1, -1, "Call Servant", "") once. It never automatically summons, retries, opens interfaces, modifies native widgets, synthesizes OS input, or uses custom packets. It requires the target widget to exist and its first operation to match Call Servant; hidden state is deliberately not required. Missing or changed controls disable the button and explain the failure.

Outstanding questions:

  • Is this closed-interface shortcut permissible? A public API method alone does not establish permission.
  • Does component 370:22 accept the inferred first-operation mapping after House Options closes? No live-account testing was performed; menuAction returning does not prove server acceptance.
  • Does native widget availability require opening House Options once per session? The candidate cannot load an absent interface.
  • POH detection is best-effort scene-object detection, not proof of house ownership or a bell-pull. Native eligibility checks must remain authoritative.

The button follows native panel bounds in fixed, resizable classic, and modern layouts, including collapsed modern tabs. When fixed-mode minimap/tabs occupy the strip above inventory it uses the adjacent upper-left viewport space. Actual RuneLite positioning remains unverified.

Validation: clean Java 11-targeted build against RuneLite 1.12.38 and 26 passing tests covering exact dispatch arguments, deliberate selection only, lifecycle/stale action rejection, visible failure handling, geometry, and painter containment. The production painter was inspected in an isolated offline Windows Swing preview; screenshots in the source README are explicitly synthetic fixtures. These tests do not establish live-game functionality. Production has no additional runtime dependencies; build=standard.

Source and detailed limitations: https://github.com/iamthecodeDECODEDORG/runelite-call-servant

@runelite-github-app

runelite-github-app Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

Includes changes by non-author

New plugin call-servant: https://github.com/iamthecodeDECODEDORG/runelite-call-servant/tree/79b322d87ccb3be9691c7ce1b8fc44ec8a77aa51

@runelite-github-app

runelite-github-app Bot commented Sep 13, 2026 •

Copy link
Copy Markdown

This plugin requires a review from a Plugin Hub maintainer. The reviewer will request any additional changes if needed.


Internal use only: Reviewer details Maintainer details

@ldavid432

Copy link
Copy Markdown
Contributor

Use of Client.menuAction is not allowed

@iamthecodeDECODED

Copy link
Copy Markdown
Contributor Author

Sorry about that, and thanks for the information. I understand that Client.menuAction is not allowed. Closing this request.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants