From fed7295111c9cc21e53f2b30e2a2711a8e5c383c Mon Sep 17 00:00:00 2001 From: loosewheel <76670709+loosewheel@users.noreply.github.com> Date: Tue, 9 Aug 2022 19:44:22 +1000 Subject: [PATCH] Add files via upload --- docs/crafter.txt | 131 +++++++++++++++++++++++++++++++++++++++++++++++ docs/storage.txt | 2 +- 2 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 docs/crafter.txt diff --git a/docs/crafter.txt b/docs/crafter.txt new file mode 100644 index 0000000..9c3d028 --- /dev/null +++ b/docs/crafter.txt @@ -0,0 +1,131 @@ +Crafter +------- + +Crafters can craft items by recipe or desired output item. Crafted items +are placed in the Output inventory, along with any replacement items (for +example if a bucket of milk is used in the craft the bucket is placed in +the Output inventory as well). Source items for the craft must be in the +Input inventory. If the crafter is adjoined to a storage unit the crafter +will also use source items from it as well. + +Only the owner can dig or access the form of the locked version. + +Unowned crafters can only access unowned units. Owned crafters can access +units of the same owner or unowned units. + +UI +Input inventory - top left, source items for crafting. +Player inventory - lower left. +Channel - digilines channel of crafter, press enter or click Set to set. +Crafting grid - center top, enter a recipe to craft. +Automatic - if checked a craft of the recipe is performed every second (if possible). +Preview - this is a preview of the item crafted from the recipe. +Craft - perform 1 craft from the recipe (if possible). +Output inventory - center bottom, where crafted and replacement items are placed. +Search - top right. +Craftable list - right, list of all items that are possible to craft from + the input items. clicking an item crafts it (if possible). + +The form does not update while open. A craft from source items no longer +available will not craft. + +Terms can be entered into the search field, and when enter is pressed or +the Search button is pressed, only items whose name or description contains +these terms are shown in the list. That is if they match any of the space +separated terms. + +When items are placed into the crafting grid a copy is used and the item +returns to where it was taken from. When items are removed from the crafting +grid they are disposed of. + +The preview displays the craft preformed by the recipe. Items cannot be +pulled from here. + +The automatic crafting is only operable when the crafter is in an active +block. Mesecons and digilines operations operate in unloaded blocks. + +Hoppers placed to the top or sides of a crafter will feed items into the +input. Hoppers placed below a crafter will take items from the output. + +Pipeworks tubes can push items into the input, and pull items from the +output. + +Mesecons + Perform 1 craft from the recipe when power is turned on (if possible). + +Digilines messages +"craft [qty]" + Craft from the recipe if possible. qty is optional, if given must be an + integer between 1 to 10. + +"craftitem itemname [qty]" + Craft the given item if possible. itemname must be a valid item name + (eg. "default:wood"). qty is optional, if given must be an integer + between 1 to 10. + +"automatic state" + Sets the automatic running state of the crafter. state must be true or + false. + +"craftable" + Sends a digilines message with it's own channel of the possible craftable + items in the following form: + { + action = "craftable", + items = { + + } + } + The items key is an indexed list of items. Each item entry is + a table with the following keys: + { + name -- string, the name of the item, as : + description -- string, short description of item + } + +"inventory" + Sends a digilines message with it's own channel of the source items, + including any attached storage, in the following form: + { + action = "inventory", + inventory = { + + } + } + The inventory key is an indexed list of items. Each item entry is + a table with the following keys: + { + name -- string, the name of the item, as : + description -- string, short description of item + count -- number, the total number of this item in storage + } + + +Set recipe grid: +{ + action = "recipe", + items = { ... } +} + items must be a string list of item names as :. The grid is + fill left to right, top to bottom. Up to the first 9 items are used. + +* When crafting by item the output quantities may not be as expected. The + first found recipe for the craft which is satisfied by the available + items is used. So if you have saplings and wood in the input and try + to craft sticks, if the first recipe found uses the saplings 1 stick will + be output, if wood then 4 sticks. Also, sometimes the same recipe is + registered for more than 1 item. In this case, what item will actually + be crafted is ambiguous. + +* The file 'crafting_mods.lua' in the mod folder contains a list of + crafting modifications. Modify this file as necessary. The field name + is the item being crafted. Each item in the add list is added to the + output inventory. Each item in the remove list is removed from the + replacements or source storage. + +* Gaining the list of craftable items is an exponential process, based + on the number of unique source items and the total number of items + available. As a guide, 320 source items and 795 total items that resulted + 623 craftable items took approx. 200ms (1st gen i5 processor). This list + is only gained: when the form is opened; when the Search button is clicked; + and when the digilines "craftable" message is sent. diff --git a/docs/storage.txt b/docs/storage.txt index 67e65e6..5bd6e81 100644 --- a/docs/storage.txt +++ b/docs/storage.txt @@ -19,7 +19,7 @@ Channel - digilines channel of indexer. Input - middle. Output - top right. Filter - center right. -Player inventor - lower right. +Player inventory - lower right. When the UI is accessed the storage is scanned, and its contents are displayed in the list. The list contains the following columns: