Table Recipes

Extended Crafting allows you to easily add your own Extended Crafting Table recipes using both Datapacks and CraftTweaker.

Datapacks

Prerequisites
  • You can learn more about using vanilla datapacks here.
  • You can learn more about creating recipe JSON files here.

The Recipe File

This section will go over the values available to use in a Table Crafting recipe. Syntax can be inferred from the example jsons below.

Shaped

FieldRequiredDescription
type✓The recipe type must be extendedcrafting:shaped_table.
tierThe tier of table required for this recipe. If omitted the recipe will work for all tables with enough grid space.
pattern✓The recipe pattern.
key✓The recipe key, for specifying which item each character represents.
result✓The item that this recipe will output when crafted.

Shapeless

FieldRequiredDescription
type✓The recipe type must be extendedcrafting:shapeless_table.
tierThe tier of table required for this recipe. If omitted the recipe will work for all tables with enough grid space.
ingredients✓An array of 1-81 input items.
result✓The item that this recipe will output when crafted.

Example Files

Shaped

Tier 1 (3x3)

{
  "type": "extendedcrafting:shaped_table",
  "pattern": [
    "XXX",
    "X X",
    "XXX"
  ],
  "key": {
    "X": {
      "tag": "c:ingots/gold"
    }
  },
  "result": {
    "id": "minecraft:apple"
  }
}

Tier 2 (5x5)

{
  "type": "extendedcrafting:shaped_table",
  "pattern": [
    "XXXXX",
    "X   X",
    "X   X",
    "X   X",
    "XXXXX"
  ],
  "key": {
    "X": {
      "tag": "c:ingots/gold"
    }
  },
  "result": {
    "id": "minecraft:apple"
  }
}

Tier 3 (7x7)

{
  "type": "extendedcrafting:shaped_table",
  "pattern": [
    "XXXXXXX",
    "X     X",
    "X     X",
    "X     X",
    "X     X",
    "X     X",
    "XXXXXXX"
  ],
  "key": {
    "X": {
      "tag": "c:ingots/gold"
    }
  },
  "result": {
    "id": "minecraft:apple"
  }
}

Tier 4 (9x9)

{
  "type": "extendedcrafting:shaped_table",
  "pattern": [
    "XXXXXXXXX",
    "X       X",
    "X       X",
    "X       X",
    "X       X",
    "X       X",
    "X       X",
    "X       X",
    "XXXXXXXXX"
  ],
  "key": {
    "X": {
      "tag": "c:ingots/gold"
    }
  },
  "result": {
    "id": "minecraft:apple"
  }
}

Shapeless

{
  "type": "extendedcrafting:shapeless_table",
  "ingredients": [
    {
      "item": "minecraft:coal"
    },
    {
      "item": "minecraft:coal"
    }
  ],
  "result": {
    "id": "minecraft:apple"
  }
}

CraftTweaker

Extended Crafting comes with CraftTweaker support built-in. You can make use of CraftTweaker to easily manage Table Crafting recipes.

Recipe Manager Support

CraftTweaker integration supports Recipe Managers! Access all applicable methods using <recipetype:extendedcrafting:table>!

Adding A Shaped Recipe

<recipetype:extendedcrafting:table>.addShaped(name, <output>, [[<>, <>, <>], [<>, <>, <>], [<>, <>, <>]]);  
<recipetype:extendedcrafting:table>.addShaped(name, <output>, [[<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>]]);  
<recipetype:extendedcrafting:table>.addShaped(name, <output>, [[<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>]]);  
<recipetype:extendedcrafting:table>.addShaped(name, <output>, [[<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>]]);  

<recipetype:extendedcrafting:table>.addShaped(name, tier, <output>, [[<>, <>, <>], [<>, <>, <>], [<>, <>, <>]]);  
<recipetype:extendedcrafting:table>.addShaped(name, tier, <output>, [[<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>], [<>, <>, <>, <>, <>]]);  
<recipetype:extendedcrafting:table>.addShaped(name, tier, <output>, [[<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>]]);  
<recipetype:extendedcrafting:table>.addShaped(name, tier, <output>, [[<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>], [<>, <>, <>, <>, <>, <>, <>, <>, <>]]);
FieldRequiredDescription
name✓A unique name for this recipe. Must be all lower case and have no spaces.
tierThe required crafting table tier. The tiers are 1-4, or 0 for any that are big enough. Not adding this parameter will make the tier 0.
output✓The output item of this recipe.
<>✓An input ingredient for the slot shown. These input arrays work in the same way as the normal crafting recipes, check out the CraftTweaker wiki for more information.

Example

<recipetype:extendedcrafting:table>.addShaped("test_shaped", 2, <item:minecraft:stick>, [
  [<tag:item:c:ingots/iron>, <item:minecraft:air>, <item:minecraft:air>], 
  [<tag:item:c:ingots/gold>, <tag:item:c:ingots/gold>, <item:minecraft:air>], 
  [<tag:item:c:ingots/gold>, <item:minecraft:air>, <item:minecraft:air>]
]);

Adding A Shapeless Recipe

<recipetype:extendedcrafting:table>.addShapeless(name, <output>, [<input>, <input>]); 
<recipetype:extendedcrafting:table>.addShapeless(name, tier, <output>, [<input>, <input>]);
FieldRequiredDescription
name✓A unique name for this recipe. Must be all lower case and have no spaces.
tierThe required crafting table tier. The tiers are 1-4, or 0 for any that are big enough. Not adding this parameter will make the tier 0.
output✓The output item of this recipe.
input✓An array of 1-81 items required to make the recipe.

Example

<recipetype:extendedcrafting:table>.addShaped("test_shaped", 2, <item:minecraft:stick>, [
  <tag:item:c:ingots/iron>, <tag:item:c:ingots/iron>, <tag:item:c:ingots/iron>, <tag:item:c:ingots/iron>
]);

Removing Recipes

<recipetype:extendedcrafting:table>.remove(<output>);
FieldRequiredDescription
output✓The item to remove all recipes for.