Main Class: GameRegistry.addRecipe(new ItemStack(mod_MainClass.Bone, 1), new Object[] { "T", 'T', (new ItemStack(mod_MainClass.valhallaPortalLighter,1,-1))}); GameRegistry.registerCraftingHandler(new CraftingHandler()); Crafting handler: package minecrafttale; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import cpw.mods.fml.common.ICraftingHandler; public class CraftingHandler implements ICraftingHandler { @Override public void onCrafting(EntityPlayer player, ItemStack item, IInventory craftMatrix) { for (int i = 0; i < craftMatrix.getSizeInventory(); i++) // Checks all // the slots { if (craftMatrix.getStackInSlot(i) != null) // If there is an item { ItemStack j = craftMatrix.getStackInSlot(i); // Gets the item if (j.getItem() != null && j.getItem() == mod_MainClass.valhallaPortalLighter) { ItemStack k = new ItemStack(mod_MainClass.valhallaPortalLighter, 2, (j.getItemDamage() + 1)); if (k.getItemDamage() >= k.getMaxDamage()) { k.stackSize--; } craftMatrix.setInventorySlotContents(i, k); } } } } @Override public void onSmelting(EntityPlayer player, ItemStack item) { } } Item class: maxStackSize = 1; this.setMaxDamage(64);