Jump to content

Recommended Posts

Posted

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();
	}
}

 

  • Guest locked this topic
Guest
This topic is now closed to further replies.

Announcements



×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.