Structure

Use the structure requirement in a Crafttweaker recipe

Use one of these methods to add a Structure Requirement to the recipe.

//Only requires the structure
.requireStructure(String[][] pattern, Map<char, String> keys)

//Destroys the structure (DON'T drop the blocks)
.destroyStructure(String[][] pattern, Map<char, String> keys)

//Break the structure (drops the blocks)
.breakStructure(String[][] pattern, Map<char, String> keys)

//Place the structure (drops the replaced blocks)
.placeStructure(String[][] pattern, Map<char, String> keys, true)

//Place the structure (DON'T drop the replaced blocks)
.placeStructure(String[][] pattern, Map<char, String> keys, false)
  • The pattern param must be an array of array of strings. See pattern property of structure requirement. Example: [["aaa", "aaa", "aaa"], ["aaa", "ama", "aaa"], ["aaa", "aaa", "aaa"]] Define a 3x3x3 box around the machine m

  • The keys param must be a map of string -> string. See keys property of structure requirement. The keys of the map must be single characters (except m which is reserved for the machine) and the values must be a block ID with the format: namespace:block_id[state1=value,state2=value] (states are optional). Example: {"a": "minecraft:stone", "b": "minecraft:diamond_block"}

Example

.requireStructure([[
    "aaa",
    "a a",
    "aaa",
    " m "
]], {"a": "minecraft:stone"})

A 3x1x3 hollow ring of stone behind the machine.