crafting_recipe
![code/datums/components/crafting/_recipes.dm 1](git.png)
Vars | |
blacklist | type paths of items explicitly not allowed as an ingredient |
---|---|
category | where it shows up in the crafting UI |
chem_catalysts | like tool_behaviors but for reagents |
crafting_flags | crafting_flags var to hold bool values |
delete_contents | Whether we should delete the contents of the crafted storage item (Only works with storage items, used for ammo boxes, donut boxes, internals boxes, etc) |
desc | description displayed in game Optional, if not set uses result desc |
machinery | Required machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value. |
mass_craftable | Allows you to craft so that you don't have to click the craft button many times. |
name | in-game display name Optional, if not set uses result name |
non_craftable | Whether the result can be crafted with a crafting menu button |
parts | type paths of items that will be forceMoved() into the result, or added to the reagents of it |
placement_checks | Bitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT|STACK_CHECK_TRAM_FORBIDDEN|STACK_CHECK_TRAM_EXCLUSIVE) |
reaction | Chemical reaction described in the recipe |
reqs | type paths of items consumed associated with how many are needed |
result | type path of item resulting from this craft |
result_amount | Resulting amount (for stacks only) |
steps | Steps needed to achieve the result |
structures | Required structures for the craft, set the assigned value of the typepath to CRAFTING_STRUCTURE_CONSUME or CRAFTING_STRUCTURE_USE. Lazy associative list: type_path key -> flag value. |
time | time in seconds. Remember to use the SECONDS define! |
tool_behaviors | String defines of items needed but not consumed. Lazy list. |
tool_paths | Type paths of items needed but not consumed. Lazy list. |
Procs | |
atmos_pipe_check | Check if the pipe used for atmospheric device crafting is the proper one |
check_requirements | Run custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client |
crafting_ui_data | Additional UI data to be passed to the crafting UI for this recipe |
Var Details
blacklist
![code/datums/components/crafting/_recipes.dm 11](git.png)
type paths of items explicitly not allowed as an ingredient
category
![code/datums/components/crafting/_recipes.dm 25](git.png)
where it shows up in the crafting UI
chem_catalysts
![code/datums/components/crafting/_recipes.dm 23](git.png)
like tool_behaviors but for reagents
crafting_flags
![code/datums/components/crafting/_recipes.dm 46](git.png)
crafting_flags var to hold bool values
delete_contents
![code/datums/components/crafting/_recipes.dm 41](git.png)
Whether we should delete the contents of the crafted storage item (Only works with storage items, used for ammo boxes, donut boxes, internals boxes, etc)
desc
![code/datums/components/crafting/_recipes.dm 7](git.png)
description displayed in game Optional, if not set uses result desc
machinery
![code/datums/components/crafting/_recipes.dm 27](git.png)
Required machines for the craft, set the assigned value of the typepath to CRAFTING_MACHINERY_CONSUME or CRAFTING_MACHINERY_USE. Lazy associative list: type_path key -> flag value.
mass_craftable
![code/datums/components/crafting/_recipes.dm 43](git.png)
Allows you to craft so that you don't have to click the craft button many times.
name
![code/datums/components/crafting/_recipes.dm 4](git.png)
in-game display name Optional, if not set uses result name
non_craftable
![code/datums/components/crafting/_recipes.dm 35](git.png)
Whether the result can be crafted with a crafting menu button
parts
![code/datums/components/crafting/_recipes.dm 21](git.png)
type paths of items that will be forceMoved() into the result, or added to the reagents of it
placement_checks
![code/datums/components/crafting/_recipes.dm 31](git.png)
Bitflag of additional placement checks required to place. (STACK_CHECK_CARDINALS|STACK_CHECK_ADJACENT|STACK_CHECK_TRAM_FORBIDDEN|STACK_CHECK_TRAM_EXCLUSIVE)
reaction
![code/datums/components/crafting/_recipes.dm 37](git.png)
Chemical reaction described in the recipe
reqs
![code/datums/components/crafting/_recipes.dm 9](git.png)
type paths of items consumed associated with how many are needed
result
![code/datums/components/crafting/_recipes.dm 13](git.png)
type path of item resulting from this craft
result_amount
![code/datums/components/crafting/_recipes.dm 39](git.png)
Resulting amount (for stacks only)
steps
![code/datums/components/crafting/_recipes.dm 33](git.png)
Steps needed to achieve the result
structures
![code/datums/components/crafting/_recipes.dm 29](git.png)
Required structures for the craft, set the assigned value of the typepath to CRAFTING_STRUCTURE_CONSUME or CRAFTING_STRUCTURE_USE. Lazy associative list: type_path key -> flag value.
time
![code/datums/components/crafting/_recipes.dm 19](git.png)
time in seconds. Remember to use the SECONDS define!
tool_behaviors
![code/datums/components/crafting/_recipes.dm 15](git.png)
String defines of items needed but not consumed. Lazy list.
tool_paths
![code/datums/components/crafting/_recipes.dm 17](git.png)
Type paths of items needed but not consumed. Lazy list.
Proc Details
atmos_pipe_check
Check if the pipe used for atmospheric device crafting is the proper one
check_requirements
Run custom pre-craft checks for this recipe, don't add feedback messages in this because it will spam the client
user: The /mob that initiated the crafting collected_requirements: A list of lists of /obj/item instances that satisfy reqs. Top level list is keyed by requirement path.
crafting_ui_data
Additional UI data to be passed to the crafting UI for this recipe