Hello there, i'm new here.
I created recipe class and then hooked getCraftingResult.
But after changing ItemStack, same items in inventory are also changing.
I tried with NBT but got same problem.
Here's only recipe code:
package com.enchapples;
import java.util.List;
import com.ibm.icu.util.Output;
import net.minecraft.inventory.InventoryCrafting;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.item.crafting.IRecipe;
import net.minecraft.item.crafting.ShapelessRecipes;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.world.World;
import scala.actors.threadpool.Arrays;
import scala.collection.parallel.ParIterableLike.Copy;
public class EnchantedAppleRecipe extends ShapelessRecipes
{
// private EnchantedApple AppleInput;
// private EnchantedApple AppleClass;
private ItemStack AppleOutput;
private ItemStack AppleInput;
// private EnchantedApple PendingItem;
public EnchantedAppleRecipe(ItemStack Output, List Input)
{
super(Output, Input);
AppleOutput = Output;
AppleInput = (ItemStack)Input.get(0);
//AppleClass = (EnchantedApple)Output.getItem();
//AppleInput = (EnchantedApple)((ItemStack)Input.get(0)).getItem();
}
@Override
public ItemStack getCraftingResult(InventoryCrafting IC)
{
ItemStack Result = AppleOutput.copy();
int PotionDuration = (60 * 20);
if (Result.stackTagCompound != null)
PotionDuration = AppleInput.stackTagCompound.getInteger("PotionDuration");
if (Result.stackTagCompound == null)
Result.setTagCompound(new NBTTagCompound());
Result.stackTagCompound.setInteger("PotionDuration", PotionDuration);
Result.stackTagCompound.setBoolean("Update", true);
return Result.copy();
}
}