Skip to content

Recipe Specification

Ted Senft edited this page Dec 20, 2020 · 6 revisions

The following page goes over the specifications for creating a new recipe for Miniaturization crafting. Here is a basic template:

{
  "type": "compactcrafting:miniaturization",
  "version": 1,
  "layers": [ ],
  "catalyst": { },
  "components": { },
  "outputs": [ ]
}

Version

Versions are required, in integer format. The current spec calls for version 1.

Layers

This property is an array of layer definitions. See the layer specs page for more information on how to define layers.

Example layer definition, using the filled layer type:

{
  "type": "compactcrafting:filled",
  "component": "C"
}

Catalyst

This property is a JSON representation of the catalyst itemstack. It currently takes an item ID and a count, but the count will be set to 1 if it is anything different. This is planned to change in a future update -- it will eventually become possible to require a player to have, for example, a full stack of redstone to trigger a craft.

Note that Count is case sensitive; this is due to the JSON loader.

"catalyst": {
    "id": "minecraft:diamond",
    "Count": 1
}

Components

Components are a mapping of blocks in a layer definition to what states they are in-world. These are standard blockstates and are interpreted by the vanilla blockstate loader. See an example below, which specifies the C and D components:

"components": {
  "C": {
    "Name": "minecraft:coal_block"
  },

  "D": {
    "Name": "minecraft:diamond_block"
  }
}

Outputs

Similar to the catalyst definition, this is an array of output item stacks that the recipe will create once the crafting process is completed.

Example (note Count is case sensitive):

{
  "id": "minecraft:diamond_block",
  "Count": 27
}
Clone this wiki locally