Skip to content

Structure Requirement

Frinn38 edited this page Nov 4, 2021 · 4 revisions

Structure Requirement is used to make the recipe need a structure around the machine to be processed.

The structure can be any size but blocks in unloaded chunks will not be found and the recipe will not start.

The Requirement type of Structure Requirement is : "type": "custommachinery:structure" Put this in the requirement json to define a Structure Requirement.

Properties

Beside the type mandatory property the Structure Requirement have 2 other mandatory properties and 1 optional property.

pattern (Mandatory)

Description : A list of list of string.
Each character of the String represent a block, starting from the left and going to the right.
Each String in the List represent a row, starting from the back and going to the front.
Each List of String in the list represent a floor, starting from the bottom and going to the top.
All String must have the same number of characters, and each floot must have the same number of String
The pattern must have exactly one 'm' character, representing the machine position.

Example : "pattern": [[aaa], [ama], [aaa]] A 3x3x1 vertical ring structure of the same block, around the machine block.

keys (Mandatory)

Description : A map of type : "character": "block". The character key must be unique and can't be 'm' (reserved for the machine block).
The block is described the same way as in the "/setblock" command : namespace:id[property1=value,property2=value...]{tag1:value,tag2:value...}
The [properties] and {tag} are optional.

Example : "keys": {"a": "minecraft:stone"}

jei (Optional)

Description : A boolean, if false the requirement will not display in jei, if true it will display as a little green "+" below the recipe.

Default : true (The requirement will display)

Example : "jei": false (The requirement will not display)

Example

How to define a Structure Requirement:

{
    "type": "custommachinery:structure",
    "pattern": [
        [
            "sssss",
            "s   s",
            "s   s",
            "s   s",
            "sssss",
            "  m  "
        ]
    ],
    "keys": {
        "s": "minecraft:stone"
    }
}

Result : structure_requirement

Clone this wiki locally