Scrap Mechanic

Scrap Mechanic

评价数不足
How to create custom crafting recipes (Windows Only)
由 Tiny Desk Engineer 制作
This guide will explain how to make custom crafting recipes for Scrap Mechanic Survival.
   
奖励
收藏
已收藏
取消收藏
Item UUIDs
The first part of making a custom crafting recipe is figuring out an item's UUID.
If you go to your Steam Library, and right-click on Scrap Mechanic, select Manage>Browse Local Files and then look in Survival>CraftingRecipes>item_names.json. If your computer says that you don't have a program to open that kind of file, and you have Windows, don't worry, Notepad works fine for JSON.
Now, This is a UUID:

"f08d772f-9851-400f-a014-d847900458a7"

And this is an item name:

"obj_interactive_fridge"

This is how UUIDs and item names are grouped in the item_names.json file:

{ //-------------------------------------- // appliances.json //-------------------------------------- "f08d772f-9851-400f-a014-d847900458a7": "obj_interactive_fridge", "d0afb527-e786-4a22-a907-6da7e7cba8cb": "obj_interactive_locker", "90dbaebf-8ea1-4a5a-8f6f-86ddde77c6c8": "obj_interactive_filecabinet", "8694192c-d91b-444c-a184-910911bbb354": "obj_interactive_stafftoilet", //-------------------------------------- // blocks.json //-------------------------------------- "1fc74a28-addb-451a-878d-c3c605d63811": "blk_scrapwood", "df953d9c-234f-4ac2-af5e-f0490b223e71": "blk_wood1", "1897ee42-0291-43e4-9645-8c5a5d310398": "blk_wood2", "061b5d4b-0a6a-4212-b0ae-9e9681f1cbfb": "blk_wood3", "1f7ac0bb-ad45-4246-9817-59bdf7f7ab39": "blk_scrapmetal", "8aedf6c2-94e1-4506-89d4-a0227c552f1e": "blk_metal1", "1016cafc-9f6b-40c9-8713-9019d399783f": "blk_metal2", "c0dfdea5-a39d-433a-b94a-299345a5df46": "blk_metal3", "30a2288b-e88e-4a92-a916-1edbfc2b2dac": "blk_scrapstone", "a6c6ce30-dd47-4587-b475-085d55c6a3b4": "blk_concrete1", "ff234e42-5da4-43cc-8893-940547c97882": "blk_concrete2", "e281599c-2343-4c86-886e-b2c1444e8810": "blk_concrete3", "f0cba95b-2dc4-4492-8fd9-36546a4cb5aa": "blk_cardboard", "c56700d9-bbe5-4b17-95ed-cef05bd8be1b": "blk_sand", "628b2d61-5ceb-43e9-8334-a4135566df7a": "blk_plastic", "5f41af56-df4c-4837-9b3c-10781335757f": "blk_glass", "749f69e0-56c9-488c-adf6-66c58531818f": "blk_glasstile", "b5ee5539-75a2-4fef-873b-ef7c9398b3f5": "blk_armoredglass", "f406bf6e-9fd5-4aa0-97c1-0b3c2118198e": "blk_bubblewrap", "920b40c8-6dfc-42e7-84e1-d7e7e73128f6": "blk_restroom", "8ca49bff-eeef-4b43-abd0-b527a567f1b7": "blk_tiles", "0603b36e-0bdb-4828-b90c-ff19abcdfe34": "blk_bricks", "073f92af-f37e-4aff-96b3-d66284d5081c": "blk_lights", "09ca2713-28ee-4119-9622-e85490034758": "blk_caution", "f5ceb7e3-5576-41d2-82d2-29860cf6e20e": "blk_crackedconcrete", "cd0eff89-b693-40ee-bd4c-3500b23df44e": "blk_concretetiles", "220b201e-aa40-4995-96c8-e6007af160de": "blk_metalbricks", "25a5ffe7-11b1-4d3e-8d7a-48129cbaf05e": "blk_beam", "9be6047c-3d44-44db-b4b9-9bcf8a9aab20": "blk_insulation", "b145d9ae-4966-4af6-9497-8fca33f9aee3": "blk_drywall", "febce8a6-6c05-4e5d-803b-dfa930286944": "blk_carpet", "e981c337-1c8a-449c-8602-1dd990cbba3a": "blk_plasticwall", "4aa2a6f0-65a4-42e3-bf96-7dec62570e0b": "blk_metalnet", "3d0b7a6e-5b40-474c-bbaf-efaa54890e6a": "blk_crossnet", "ea6864db-bb4f-4a89-b9ec-977849b6713a": "blk_tryponet", "a479066d-4b03-46b5-8437-e99fec3f43ee": "blk_stripednet", "b4fa180c-2111-4339-b6fd-aed900b57093": "blk_squarenet", "027bd4ec-b16d-47d2-8756-e18dc2af3eb6": "blk_spaceshipmetal", "4ad97d49-c8a5-47f3-ace3-d56ba3affe50": "blk_spaceshipfloor", "f7d4bfed-1093-49b9-be32-394c872a1ef4": "blk_treadplate", "3e3242e4-1791-4f70-8d1d-0ae9ba3ee94c": "blk_warehousefloor", "d740a27d-cc0f-4866-9e07-6a5c516ad719": "blk_wornmetal", "c4a2ffa8-c245-41fb-9496-966c6ee4648b": "blk_framework", }

If you understand what the item names mean, you can find any survival item in here.

An extra tip: use Notepad's "Find..." option in the Edit tab to find a specific item name or UUID. It works well with finding specific items you want to remove from crafting recipes, or finding items you can't find. An example from experience: I was looking for Component Kit's UUID in the Resources section of the file, but for some reason it was in Consumables, under the name "obj_consumable_component"
Recipe Formatting
Now, JSON files follow a very strict set of rules, which means if you are making large changes to certain crafting recipe files, you should make backups of the original JSON files and of the last working modified versions as well. If you are going to make large changes that you want to keep, You will want to make a folder, maybe with some extra folders inside of it, stored outside of steam to keep backups in.

This is a basic placeholder recipe:

{ "itemID": "UUID", "quantity": #, "craftTime": #, "ingredientList": [ { "quantity": #, "itemID": "UUID" }, { "quantity": #, "itemID": "UUID" } ] }

The main rule of JSON is that, if you add a bracket (eg. [], {}), there must always be another bracket of the opposite side after it, closing off the bracket into one section

Another rule is: The closing bracket must be after the opening bracket, there can't be any in between.
And: They must be a part of the same group

Examples:

Incorrect: { "placeholder" // Incorrect: no comma "placeholder", "placeholder" } { "placeholder", "placeholder" { // Incorrect: bracket facing wrong way { "stringplaceholder": placeholder, // Incorrect: does not have quotes "numberplaceholder": "placeholder" // Incorrect: string instead of a number // Incorrect: no closing bracket
Creating your first recipe
Now, for this section, I will use my own edited recipe as an example

{ "itemId": "f6250bf4-9726-406f-a29a-945c06e460e5", "quantity": 1, "craftTime": 0, "ingredientList": [ { "quantity": 20, "itemId": "1016cafc-9f6b-40c9-8713-9019d399783f" }, { "quantity": 10, "itemId": "36335664-6e61-4d44-9876-54f9660a8565" }, { "quantity": 10, "itemId": "5530e6a0-4748-4926-b134-50ca9ecb9dcf" } ] }

If you use Notepad's Find function (Mentioned in an earlier section) you can copy-paste the UUIDs in this recipe and you can find what this code adds to the craftbot. If you have looked at my earlier discussions, You will recognize this recipe.
2 条留言
Tweetyy 8 月 20 日 下午 12:08 
hi! im russian boy and dont understand how it works
I'm using a translator, and I want to say that I wrote something like code, but I don't understand why the craft doesn't appear in the craft bot.
How can I show you a screenshot of my screen so you can see what I did wrong?
Tiny Desk Engineer  [作者] 2020 年 6 月 9 日 上午 8:45 
Also: Just a reminder: Backup your original and modified JSON files!