Help with interfaces

I’m strugging to find much documentation on RS Interfaces and the JavaDocs don’t explain very well (nor is there many opensource scripts which interact with interfaces).

I’m attempting to smelt gold bars into gold amulets, to do so requires interacting with the interface which pops up after interacting with the furnace. This isn’t a Production interface (which I’m happy with already).

Would anyone be able to explain to me, in simple enough terms, how interfaces work in RS and how the RSPeer API interacts with them as I’m completely new to RS and scripting in general.

At the moment I assume I’m looking for something like:

Interfaces.getContainsText("Gold Amulet", "Make")

Or similar? Though I can’t find anything like that in the documentation.


SOLVED: For those looking for an answer through this thread. The RSPeer client provides a tool called MenuActionDebug in the client Debug menu. Interact with the menu once manually and you’,ll get an output like this:

[INFO] Sun Jun 21 04:46:24 AFT 2020: Info: ComponentAction<INTERFACE_ACTION>[actionIndex=1|componentUid=29229090|componentGroup=446|componentIndex=34]

You can then grab that interface like so

Interfaces,get(componentGroup, componentIndex)

The method returns an interface component that can be interacted with. It will return null if it can’t find the interface (i.e, it’s probably not open). Also has a method .isVisible for interfaces which have variable options (i.e, amulet crafting interface has 'You need an amulet mould to craft amulets) that is NOT NULL in the picture above, but isn’t visible.

Look into queries, Interfaces.newQuery()