Skip to content

Creating a recipe for your machine

Frinn38 edited this page Jun 16, 2022 · 3 revisions

All the machines share the same item, with Id : custommachinery:custom_machine_item the machine the item will be linked to is defined with nbt.

The nbt key is machine and its value should be the machine id like: custommachinery:power_crusher (the namespace should always be included).

Vanilla json recipes, Crafttweaker and KubeJS have differents ways to handle items nbt so I will put an exemple of each below.

The recipe will be: recipe

Vanilla json:

{
    "type": "minecraft:crafting_shaped",
    "pattern":
    [
        "xxx",
        "x x",
        "xxx"
    ],
    "key":
    {
        "x":
        {
            "item": "minecraft:diamond"
        }
    },
    "result":
    {
        "item": "custommachinery:custom_machine_item",
        "count": 1,
        "nbt": {"machine":"custommachinery:power_crusher"}
    }
}

Crafttweaker script:

craftingTable.addShaped("power_crusher", <item:custommachinery:custom_machine_item>.withTag({machine: "custommachinery:power_crusher" as string}), [
    [<item:minecraft:diamond>, <item:minecraft:diamond>, <item:minecraft:diamond>],
    [<item:minecraft:diamond>, <item:minecraft:air>, <item:minecraft:diamond>],
    [<item:minecraft:diamond>, <item:minecraft:diamond>, <item:minecraft:diamond>]
]);

KubeJS script:

onEvent('recipes', e => {
    event.shaped(Item.of('custommachinery:custom_machine_item', {machine:"custommachinery:power_crusher"}), [
        'DDD',
        'D D',
        'DDD'
    ], {
        'D': 'minecraft:diamond'
    })
})
Clone this wiki locally