package mekanism.common.recipe.outputs;
import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
public class ItemStackOutput extends MachineOutput<ItemStackOutput>
{
public ItemStack output;
public ItemStackOutput(ItemStack stack)
{
output = stack;
}
public ItemStackOutput() {}
@Override
public void load(NBTTagCompound nbtTags)
{
output = ItemStack.loadItemStackFromNBT(nbtTags.getCompoundTag("output"));
}
public boolean applyOutputs(ItemStack[] inventory, int index, boolean doEmit)
{
if(inventory[index] == null)
{
if(doEmit)
{
inventory[index] = output.copy();
}
return true;
}
else if(inventory[index].isItemEqual(output) && inventory[index].stackSize + output.stackSize <= inventory[index].getMaxStackSize())
{
if(doEmit)
{
inventory[index].stackSize += output.stackSize;
}
return true;
}
return false;
}
@Override
public ItemStackOutput copy()
{
return new ItemStackOutput(output.copy());
}
}