🛠️ How to Use Tools in Crafting Recipes for Minecraft Modding
Simple guide for beginners using Forge, Fabric, or data packs
Table of Contents
⭐ TL;DR
Tools in crafting recipes don’t get consumed unless you tell the game they should be.
To use a tool in crafting, you typically:
- Add it as an ingredient
- Mark it as “Damageable”
- Return it in the crafting output with damage applied
- (Optional) Make it break when its durability reaches zero
🧩 Why Use Tools in Crafting Recipes?
Adding tools to recipes creates more realistic gameplay.
Examples:
- Using a hammer to shape ingots
- Using a knife to cut food items
- Using shears in custom crafting
- Using a mortar & pestle to grind ingredients
Tools help you design progression, immersion, and balanced mechanics.
🧰 Approaches: Forge, Fabric & Data Packs
Below are the three common ways to implement tool-based crafting.
Pick the one that matches your modding workflow.
🔥 1. Using Tools in Crafting with Forge (Java)

Forge gives you full control through custom recipe classes.
✔️ Basic Steps
- Create a custom recipe class
- Extend or
SpecialRecipeCustomRecipe
- Extend or
- Detect the tool in the crafting grid
- Copy the tool with damage
- Return the modified tool via
getRemainingItems()
🧪 Example (Conceptual)
@Override
public NonNullList<ItemStack> getRemainingItems(CraftingContainer container) {
NonNullList<ItemStack> remain = NonNullList.withSize(container.getContainerSize(), ItemStack.EMPTY);
for (int i = 0; i < container.getContainerSize(); i++) {
ItemStack stack = container.getItem(i);
if (stack.getItem() instanceof HammerItem) {
ItemStack damaged = stack.copy();
damaged.hurt(1, random, null); // damage tool by 1
remain.set(i, damaged);
}
}
return remain;
}
🎯 What this does
- The hammer is used in the recipe
- It takes 1 durability damage
- It stays in the crafting grid
Perfect for tools like:
🔨 Hammers • 🔪 Knives • 🧹 Brushes • ✂️ Shears
🌿 2. Using Tools in Crafting with Fabric
Fabric uses a similar approach but with the Fabric API.
✔️ Basic Steps
- Register a custom recipe serializer
- Implement a custom recipe class
- Override logic
getRemainder()
Example Pattern
@Override
public ItemStack getRemainder(ItemStack stack) {
if (stack.getItem() instanceof KnifeItem) {
ItemStack copy = stack.copy();
copy.damage(1, random, null);
return copy;
}
return ItemStack.EMPTY;
}
👍 Fabric Tip
Fabric lets you add remainder items directly in the item’s JSON if your tool always returns itself.
📦 3. Using Tools in Crafting Recipes with Data Packs (Vanilla)
In vanilla JSON recipes, you cannot directly damage tools.
But you can make a tool act as a catalyst by using:
item:+count: 0- OR a custom system using item modifiers (1.20+)
Basic Concept
You include the tool as an ingredient but return it unchanged via crafting remainder defined in the item JSON.
Example: Knife with crafting remainder
data/yourmod/items/knife.json
{
"durability": 250,
"crafting_remainder": "yourmod:knife"
}
Example Recipe
{
"type": "minecraft:crafting_shapeless",
"ingredients": [
{"item": "yourmod:knife"},
{"item": "minecraft:carrot"}
],
"result": {"item": "yourmod:sliced_carrot", "count": 2}
}
Vanilla doesn’t support durability loss in crafting.
But it’s good for simple tool-like behavior.
🍳 Practical Example: Adding a Knife to a Food-Cutting Recipe (Forge/Fabric)
Recipe Input
- 1 Knife
- 1 Bread
Recipe Output
- 6 Bread Slices
- Knife returns with -1 durability
What Happens
✔ Tool stays
✔ Tool damages
✔ Crafting feels immersive
✔ Bread becomes sliced effortlessly
⚒️ Design Tips for Better Tool-Based Crafting
💡 Make tools matter
Give them special abilities:
- Knife = cutting
- Hammer = shaping
- Mortar = grinding
- Brush = artifact cleaning
🧩 Use durability strategically
Durability creates progression:
- Weak → stone tools
- Mid → iron tools
- Late → custom magical tools
🧪 Consider compatibility
If you want your tools to work with other mods’ recipes, use:
- Forge Tags
- Fabric Tags
Example: forge:tools/knives
📱 Mobile-Friendly UI Tip
Use short recipe descriptions and icons in JEI/REI to help players quickly understand your new tool mechanics.
Related Article: Enable Recipe Instructions in Chef Life Easily
✅ Final Thoughts
Adding tools to crafting recipes makes your Minecraft mod feel more real, more fun, and more balanced. Whether you’re using Forge, Fabric, or data packs, the pattern is the same:
👉 Add tool → Return tool → Damage tool → Enable progression
Print
How to Use Tools in Crafting Recipes for Minecraft Modding
- Total Time: 30 minutes
- Yield: Multiple crafting recipes created
- Diet: N/A
Description
A beginner’s guide to using tools in crafting recipes for Minecraft using Forge, Fabric, or data packs, enhancing gameplay realism.
Ingredients
- Hammer
- Knife
- Shears
- Mortar & Pestle
- Crafting Grid Items
Instructions
- Choose the modding approach: Forge, Fabric, or Data Packs.
- Create and register custom recipe classes/serializers based on your chosen method.
- Add tools as ingredients without consuming them unless specified.
- Implement durability management for tools used in crafting recipes.
- Return tools with appropriate damage after crafting, when applicable.
Notes
Consider using tools strategically to enhance gameplay immersion and balance.
- Prep Time: 30 minutes
- Cook Time: 0 minutes
- Category: Game Development
- Method: Modding
- Cuisine: Gaming
Nutrition
- Serving Size: 1 Recipe
- Calories: N/A
- Sugar: N/A
- Sodium: N/A
- Fat: N/A
- Saturated Fat: N/A
- Unsaturated Fat: N/A
- Trans Fat: N/A
- Carbohydrates: N/A
- Fiber: N/A
- Protein: N/A
- Cholesterol: N/A