Production Actions
ProductionActions interacts with the Make-X production interface (widget group 270) and the legacy Smithing interface (widget group 312).
Interface-state reads are available from ProductionActions for action guards;
workflow callers should use the production state described in
Production Workflow.
Action Methods
chooseOption(int index)- clicks the item button at the given column indexchooseOption(String itemName)- clicks first item whose name contains the given string (case-insensitive, tags stripped)chooseOption(Predicate<String>)- clicks first item matching predicate; returnsPRODUCTION_OPTION_NOT_FOUNDon no matchselectQuantity(ProductionQuantity)- clicks the corresponding quantity button; returnsPRODUCTION_NOT_OPENif interface closedselectMakeXQuantity(int qty)- two-step: clicks the X button then callsqueueResumeCount(qty)to submit the custom amountenterAmount(int amount)-queueResumeCount(amount)directly; use when the input box is already open
Example:
if (ProductionActions.isOpen()) {
ProductionActions.chooseOption("Iron bar");
ProductionActions.selectQuantity(ProductionQuantity.ALL);
}
For a custom quantity:
ProductionActions.chooseOption("Bronze dart");
ProductionActions.selectMakeXQuantity(500);
ProductionQuantity Enum
| Constant | Amount | Child index in group 270 |
|---|---|---|
| ONE | 1 | 0 |
| FIVE | 5 | 1 |
| TEN | 10 | 2 |
| ALL | Integer.MAX_VALUE | 3 |
| X | -1 (custom) | 4 |
Behavior notes:
- All write methods are paced -
PACEDis returned while the cooldown is active. PRODUCTION_NOT_OPENis returned by any action method when neither production interface is visible.- Smithing product buttons are scanned in stable child-ID order from group 312 child 9 through 35; quantity buttons use group 312 children 3, 4, 5, 7, and 6 for 1, 5, 10, All, and X.
selectMakeXQuantitybundles the button click and the count resume into a single tick call; the interface must accept the count packet in the same server tick.