package net.mcft.copy.betterstorage.api.crafting;

import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;

public abstract class RecipeInputBase implements IRecipeInput {
	
	@Override
	public abstract int getAmount();
	
	@Override
	public abstract boolean matches(ItemStack stack);
	
	@Override
	public void craft(ItemStack input, ContainerInfo containerInfo) {
		if (input == null) return;
		input.stackSize -= getAmount();

		Item item = input.getItem();
		ItemStack containerItem = item.getContainerItemStack(input);
		boolean doesLeaveCrafting = item.doesContainerItemLeaveCraftingGrid(input);
		containerInfo.set(containerItem, doesLeaveCrafting);
	}
	
}

@@ -401,42 +401,8 @@
 urn;
-%0A%09%09input.stackSize -= getAmount();
 %0A%0A%09%09
@@ -486,24 +486,31 @@
 mStack(input
+.copy()
 );%0A%09%09boolean
@@ -633,15 +633,52 @@
 fting);%0A
+%09%09%0A%09%09input.stackSize -= getAmount();%0A
 %09%7D%0A%09%0A%7D%0A

Fix container item crafting in crafting station