85 lines
3.8 KiB
Markdown
85 lines
3.8 KiB
Markdown
Version 2 of the Crafting Guide file format is a very simple command-based language which is very similar to [YAML](http://www.yaml.org). There are commands for entering all various kinds of data needed to describe a mod, its items, and the recipes for those items. Most commands are optional, and can be entered in any order. Anywhere this isn't true will be called out below.
|
|
|
|
## Example
|
|
|
|
```yaml
|
|
schema: 2
|
|
name: Applied Energistics 2
|
|
version: rv1-stable-1
|
|
description: Crafting recipes from Applied Energistics, by AlgorithmX2
|
|
|
|
item: 128³ Spatial Component
|
|
recipe:
|
|
input: Glowstone Dust, 16³ Spatial Component, Engineering Processor
|
|
pattern: 010 121 010
|
|
tools: Crafting Table
|
|
|
|
item: Cable Anchor
|
|
recipe:
|
|
input: Iron Ingot
|
|
pattern: ... .0. ...
|
|
quantity: 3
|
|
tools: Nether Quartz Cutting Knife
|
|
recipe:
|
|
input: Tin Ingot
|
|
pattern: ... .0. ...
|
|
quantity: 3
|
|
tools: Nether Quartz Cutting Knife
|
|
|
|
item: Certus Quartz Crystal
|
|
gatherable: yes
|
|
```
|
|
|
|
## Command Reference
|
|
|
|
* `schema: <version>` _(required)_
|
|
|
|
The data schema used by the file. The current version is: 2.
|
|
|
|
* `name: <mod name>` _(required)_
|
|
|
|
The name of the mod described in the file. This should be the full name of the mod as referred to in
|
|
its own documentation; only use abbreviations if they are as commonly used as the full name itself
|
|
(e.g., "IC2").
|
|
|
|
* `version: <mod version>` _(required)_
|
|
|
|
The version of the mod being described by the file. This should use whatever version scheme is used
|
|
by the mod itself, and should match whatever is shown in the in-game "Mods" screen.
|
|
|
|
* `item: <item name>`
|
|
|
|
Starts and item declaration. The item name should be the item's actual in-game name. Spelling,
|
|
punctuation (if any), and spaces are relevant. Extended UTF-8 characters are permitted.
|
|
|
|
This command should be used once for each item in the mod. You should avoid using it to declare any
|
|
items from vanilla Minecraft, or from other mods as these will already be added by other files.
|
|
|
|
After an item declaration, the following commands may be used to describe it: `gatherable`, `recipe`.
|
|
|
|
* `gatherable: [yes|no]`
|
|
|
|
Indicates whether an item may be gathered in-game without crafting (e.g., Iron Ore can be gathered,
|
|
but Iron Ingots cannot). If an item is gatherable, then it will never be crafted, even if it has
|
|
recipes listed (e.g., Diamonds will never be crafted, even though they could be made from Diamond
|
|
Blocks).
|
|
|
|
* `recipe:`
|
|
|
|
Starts a recipe declaration. This should be repeated once for each unique way of making the given
|
|
item. Due to limitations with the crafting algorithm, the following rules should be followed when
|
|
entering recipes:
|
|
|
|
1. Do not enter multiple recipes for alternate ingredients. For example, sticks can be made from
|
|
any combination of any kind of planks (e.g., Oak Wood Planks, Spruce Planks). When entering a
|
|
recipe for such an item, simply choose a variant of the ingredients and enter a single recipe
|
|
using that variant (e.g., only use Oak Wood Planks).
|
|
2. Break cycles using `gatherable`. For example, IndustrialCraft adds a recipe to make String from
|
|
Wool. Minecraft, however, already has a recipe for making Wool from String. This creates a cycle
|
|
which can cause an infinite loop in crafting. Avoid such loops by marking the appropriate
|
|
item(s) as `gatherable`
|
|
3. Put the most basic recipe first. For example, with Mekanism, Iron Ingots can be produced in many
|
|
different ways, each yielding more and more iron. Recipes should be listed in order from least
|
|
to most complex.
|
|
4. Put the highest yielding recipe first. Where all recipes are of equivalent complexity (e.g.,
|
|
producing Rose Red from Poppies or Rose Bushes), place the recipe which produces the most first. |