Re-learn jewelry recipes

UPDATE: See Another script to relearn jewelry recipes for a better script. Nothing to see here!


Brute force script to re-learn jewelry recipes. Untinkers jewelry found in inventory (1 item), if it can, then recreates it and puts it in the closet when done.

Doesn't have moon-amber or rainbow pearl items. If an untinker fails (for example, on giant diamond ring - need rediscovery in shower first), it skips and moves on.

Quick & dirty, lots of room for improvement, but did the job for me.

"untinkeritem" is just needed until mafia recognizes jewelry as untinkerable.

View attachment re-jewel.ash
Last edited:


Great initiative :) But is there any chance you could make it retrieve items from the closet, display case, and maybe mall too, if it it under your autoBuyPriceLimit? I think a few of my discoveries in my display-case....
Yeah, that occurred to me this morning, find jewelry wherever it is, untinker / re-tinker and return it.

As for mall use, I found that if I tried to untinker something that I didn't have, mafia would try to acquire the components first. It aborted the script when I carelessly did that and the price of a component exceeded the limit. Would need to check those first in the script. Makes me think of scripting an "all discoveries" script: have a maximum total cost, and maximum cost of acquiring components for each item to try & create, and iterate through each item that's undiscovered and acquire / create each. option: untinker if possible, since discoveries with reuasable parts are cheaper that way. I'm not going to try this last one.

Sounds like the "untinker" command will work for this as of r15955, instead of the visit_url call that the script currently uses.

I'll take a look at this tonight sometime.


Active member
Could just run it through retrieve_item. If (retrieve_item(jewelry)) { untinker jewelry; create jewelry; }

Then it uses whatever locations users have allowed, and it should only try to untinker items that it actually has in inventory.