Skip to content

fix: gold tiara crafting and furnace/make-interface stalls#483

Open
runsonmypc wants to merge 2 commits into
chsami:mainfrom
runsonmypc:fix/jewelry-crafter
Open

fix: gold tiara crafting and furnace/make-interface stalls#483
runsonmypc wants to merge 2 commits into
chsami:mainfrom
runsonmypc:fix/jewelry-crafter

Conversation

@runsonmypc

Copy link
Copy Markdown
Contributor

Summary

Fixes the Jewelry Crafter for gold tiaras and removes two severe runtime stalls.

  • Gold tiara support — adds GOLD_TIARA and renames the old TIARA to SILVER_TIARA so both silver and gold tiaras are selectable and map to the correct bar type.
  • Furnace lookup stall (~2 min/craft)query().withName("Furnace")…nearest(…) evaluated getName() (a blocking client-thread round-trip) for every object in the scene cache, serially. Switched to nearestOnClientThread(anchor, 20) so the whole query resolves in a single client-thread invoke. (Same pattern AutoSmeltingScript uses.)
  • Make-interface stall + misclick loop — tiaras use the SKILLMULTI "make" interface (group 270), which the old isGoldCraftingWidgetOpen()/isSilverCraftingWidgetOpen() check never detected, so the loop burned the full 20s timeout every craft. Added isProductionWidgetOpen() 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

  • Ran the crafter end-to-end against a live client: bank → walk to furnace → make interface opens → crafts batch → bank, repeating without stalls.
  • Confirmed the prior failure modes are gone: no ~2 min furnace pause, no 20s UI wait, and no smelt→misclick loop when starting with a mixed inventory (tiaras + bars).

- 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 chsami left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@chsami

chsami commented Jun 16, 2026

Copy link
Copy Markdown
Owner

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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants