fix: gold tiara crafting and furnace/make-interface stalls#483
fix: gold tiara crafting and furnace/make-interface stalls#483runsonmypc wants to merge 2 commits into
Conversation
- Add GOLD_TIARA and rename TIARA to SILVER_TIARA in the Jewelry enum so both silver and gold tiaras resolve to the correct bar type - Run the furnace lookup on the client thread (nearestOnClientThread) so the by-name scene-cache query no longer evaluates getName() per object via a blocking client-thread round-trip, which stalled the script ~2 min per craft - Detect the SKILLMULTI make interface (group 270) used by tiaras and scope the make-option click to it (Optional.of(270), 13): fixes the 20s open-detection timeout and the inventory-misclick loop when crafted items already sit in the inventory
chsami
left a comment
There was a problem hiding this comment.
Blocking on the repository versioning rule: this changes the crafting/jewelry plugin behavior, but the plugin version was not bumped. Please bump the relevant Crafting/Jewelry plugin version and rerun checks. I did not find security or malicious-code concerns in the inspected patch.
|
Left open for now: this PR changes jewelry crafting behavior but does not bump the affected plugin version. Please bump the relevant plugin version, then it can be reviewed/merged. |
JewelryPlugin had no version field, so the build fell back to DEFAULT_VERSION (1.0.0). Add the required descriptor version field (patch bump) for the gold-tiara / furnace-stall fixes.
|
Retargeted this from main to development and validated it locally with |
Summary
Fixes the Jewelry Crafter for gold tiaras and removes two severe runtime stalls.
GOLD_TIARAand renames the oldTIARAtoSILVER_TIARAso both silver and gold tiaras are selectable and map to the correct bar type.query().withName("Furnace")…nearest(…)evaluatedgetName()(a blocking client-thread round-trip) for every object in the scene cache, serially. Switched tonearestOnClientThread(anchor, 20)so the whole query resolves in a single client-thread invoke. (Same patternAutoSmeltingScriptuses.)isGoldCraftingWidgetOpen()/isSilverCraftingWidgetOpen()check never detected, so the loop burned the full 20s timeout every craft. AddedisProductionWidgetOpen()to the open-check and scoped the make-option click to the interface (Optional.of(270), 13) so it targets the make button instead of the same item sitting in the inventory (which caused a smelt→misclick→repeat loop with a mixed inventory).Test plan