Experimental Features

Wrapped recipes

You might be aware of the mess that KubeJS is doing to recipes. That mess effectively circumvents Nbt Crafting's modifications.

Since KubeJS leaves officially modded recipe types alone, there's the nbtcrafing:wrapped recipe type. As the name implies, it's nothing more but a simple wrapper over the normal recipes.

It looks only for a single key, recipe. That field can contain any other recipe that you actually want to use.


   "type": "nbtcrafting:wrapped",
    "recipe": {
        "type": "minecraft:crafting_shapeless",
        "ingredients": [
                "item": "minecraft:gravel"
        "result": {
            "item": "minecraft:flint",
            "data": {
                "display": {
                   "Name": "{\"text\":\"Pointy Stone\"}"

Why is this experimental?

At the time of writing, this is still pretty new and I'm not sure if I like and there's no better alternative.

Also, I don't really like the name of the type, if you know a better one, let me know.

Dynamic item stack count

First of:

You can set the special nbtcrafting:count value on any remainder or result stack nbt tag. Yes, you need to specify it in the data section.

The value of this expression is expected to be a full-blown dollar expression beginning with a dollar sign.

So let's talk about the problems and why this is in the experimental section:

stat_changed Advancement Trigger

There's now a nbt_crafting:stat_changed advancement trigger. It requires the stat condition which is takes the identifier of a player stat.

By default it will trigger on every update of that stat.

Optionally you can specify a range property that works the same like number ranges work in command selectors (e. g. 8..10 for a value inclusively between eight and ten).