com.n3plugins.sdk.query.* and result-aware writes live under com.n3plugins.Api.actions.*. The legacy *Interaction helper classes and the former sdk.widgets *Api facades (InventoryApi, BankApi, WidgetApi, and related wrappers) are removed, and no source-compatible shims are maintained.
The pattern change
Legacy helpers returned booleans and left you guessing which stage failed:InteractionResult that preserves readiness, pacing, dispatch, and failure status:
result.failed() at the immediate decision point. A PACED status means the pacer is still cooling down, not that the target vanished; re-evaluate on the next tick.
Surface map
Rules
- Adopt
InteractionResultmethods in all new workflow code. - Preserve legacy helpers in existing plugins until you actively refactor the call site, then replace each removed call with its result-aware counterpart.
- Use
com.n3plugins.sdk.*for shared client, widget, query, walker, loadout, and workflow components instead of re-implementing helpers. - Keep public APIs Java 11 compatible.
Other architectural standards
- Plugins are native RuneLite entries registered in
runelite-plugin.properties. PacketUtilsPluginis the single required shared runtime and the only walker tick owner.- Break handlers run active-only: they track time while automation runs and stop while idle.
IdMapRegistryandWidgetCatalogreplace ID scraping and external scripts.