Back to mods
CraftByCommand project artwork

CurseForge · Minecraft mod

CraftByCommand

Craft items using commands, even when it's a lot of resources !

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which CraftByCommand release should I use?

Updated today
Latest stable file craftByCommands-1.3.jar
Game version 1.21.11
Loader Fabric

craftByCommands-1.3.jar targets 1.21.11 with Fabric. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is CraftByCommand required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release Fabric
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does craftByCommands-1.3.jar need?

craftByCommands-1.3.jar. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

ItemTanks Optional for craftByCommands-1.3.jar
optional
Matching file found Matched file: ItemTanks-1.1.jar

We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add CraftByCommand without breaking your instance.

Built for craftByCommands-1.3.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use craftByCommands-1.3.jar. It targets 1.21.11 with Fabric; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside craftByCommands-1.3.jar. It opens that exact file at the source.

About this project

What does CraftByCommand add?

Craft items with commands !

Fully customizable command recipe mod!

For players

To craft, do /craft or /c, then put the recipe id. They will be suggested.

To check a recipe's resources, do /seeRecipe, /resourcesFor or /sr, then the recipe id. They will be suggested.

For server owners

The recipe making system is really technical. Here is an exemple recipe :

{
  "id": "normal:milk_bucket",
  "result": {
    "id": "minecraft:bucket",
    "count": 1
  },
  "ingredients": [
    {
      "id": "minecraft:milk_bucket",
      "count": 1
    }
  ]
}

This takes a milk bucket and turns it into an empty bucket. It ignores the orginial bucket data.

Here is an exemple with the same bucket, but with a custom name (how to add minecraft data) :

{
  "id": "normal:milk_bucket",
  "result": {
    "id": "minecraft:milk_bucket",
    "count": 1,
    "components": {
      "minecraft:custom_name": {
        "text": "",
        "extra": [
          {
            "text": "M",
            "color": "#424242",
            "italic": false
          },
          {
            "text": "i",
            "color": "#818181",
            "italic": false
          },
          {
            "text": "l",
            "color": "#C0C0C0",
            "italic": false
          },
          {
            "text": "k",
            "color": "white",
            "italic": false
          }
        ]
      }
    }
  },
  "ingredients": [
    {
      "id": "minecraft:milk_bucket",
      "count": 1
    }
  ]
}

Then, you have the custom items, like this one :

{
  "id": "osc:fixed_stab",
  "result": {
    "id": "custom:stab_fixed",
    "extra": {}
  },
  "ingredients": [
    {
      "id": "minecraft:tnt",
      "count": 500
    },
    {
      "id": "minecraft:fishing_rod",
      "match": {
        "forbidden": [
          "components.minecraft:custom_data.oc_type"
        ]
      }
    }
  ]
}

This does two things. First, the 'custom:' for the result item will be explained in the For developpers section. The 'match' is what is interesting here : 'forbidden' means that the ingredient should not have 'components.minecraft:custom_data.oc_type' (whatever it's data is). If it was 'required', then the item would have to have this data. This is used to restrain which items can be used (here, don't use orbitals fishing rods to craft other orbitals)

For developpers

Here, we'll speak about our 'custom:' flag. It means the mod will take the other part of the id (for custom:myitem it will take myitem) and pass it to all executors registered. You register it by giving a modid and a BiFunction<Recipe.ResultContainer, ServerPlayerEntity, ItemStack> to the registerExecutor method in the Registry class. The result container gives you access to that id and the extra data (empty in our previous exemple) which can be used for extra customization, the player is the crafter and the itemstack is what you return (given to player).

The mod applies the recipe container to all mod's functions and returns the first non-null stack found. So, if your executor recieves an unknown id, you should return null. To avoid duped id (where the same mod would return it's stack, depending on who is first in the map), consider using somthing like custom:mymod_myitem. Avoid using two colons.

Project description from CurseForge.

Pick your setup

CraftByCommand by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

CraftByCommand versions and loaders

2 of 2 releases match

Looking for an older file? The official CurseForge project page is in Resources.