package net.minecraft.server; import org.bukkit.craftbukkit.inventory.CraftMerchantRecipe; // CraftBukkit public class MerchantRecipe { public ItemStack buyingItem1; public ItemStack buyingItem2; public ItemStack sellingItem; public int uses; public int maxUses; public boolean rewardExp; // CraftBukkit start private CraftMerchantRecipe bukkitHandle; public CraftMerchantRecipe asBukkit() { return (bukkitHandle == null) ? bukkitHandle = new CraftMerchantRecipe(this) : bukkitHandle; } public MerchantRecipe(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int i, int j, CraftMerchantRecipe bukkit) { this(itemstack, itemstack1, itemstack2, i, j); this.bukkitHandle = bukkit; } // CraftBukkit end public MerchantRecipe(NBTTagCompound nbttagcompound) { this.buyingItem1 = ItemStack.a; this.buyingItem2 = ItemStack.a; this.sellingItem = ItemStack.a; this.a(nbttagcompound); } public MerchantRecipe(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2) { this(itemstack, itemstack1, itemstack2, 0, 7); } public MerchantRecipe(ItemStack itemstack, ItemStack itemstack1, ItemStack itemstack2, int i, int j) { this.buyingItem1 = ItemStack.a; this.buyingItem2 = ItemStack.a; this.sellingItem = ItemStack.a; this.buyingItem1 = itemstack; this.buyingItem2 = itemstack1; this.sellingItem = itemstack2; this.uses = i; this.maxUses = j; this.rewardExp = true; } public MerchantRecipe(ItemStack itemstack, ItemStack itemstack1) { this(itemstack, ItemStack.a, itemstack1); } public MerchantRecipe(ItemStack itemstack, Item item) { this(itemstack, new ItemStack(item)); } public ItemStack getBuyItem1() { return this.buyingItem1; } public ItemStack getBuyItem2() { return this.buyingItem2; } public boolean hasSecondItem() { return !this.buyingItem2.isEmpty(); } public ItemStack getBuyItem3() { return this.sellingItem; } public int e() { return this.uses; } public int f() { return this.maxUses; } public void g() { ++this.uses; } public void a(int i) { this.maxUses += i; } public boolean h() { return this.uses >= this.maxUses; } public boolean j() { return this.rewardExp; } public void a(NBTTagCompound nbttagcompound) { NBTTagCompound nbttagcompound1 = nbttagcompound.getCompound("buy"); this.buyingItem1 = new ItemStack(nbttagcompound1); NBTTagCompound nbttagcompound2 = nbttagcompound.getCompound("sell"); this.sellingItem = new ItemStack(nbttagcompound2); if (nbttagcompound.hasKeyOfType("buyB", 10)) { this.buyingItem2 = new ItemStack(nbttagcompound.getCompound("buyB")); } if (nbttagcompound.hasKeyOfType("uses", 99)) { this.uses = nbttagcompound.getInt("uses"); } if (nbttagcompound.hasKeyOfType("maxUses", 99)) { this.maxUses = nbttagcompound.getInt("maxUses"); } else { this.maxUses = 7; } if (nbttagcompound.hasKeyOfType("rewardExp", 1)) { this.rewardExp = nbttagcompound.getBoolean("rewardExp"); } else { this.rewardExp = true; } } public NBTTagCompound k() { NBTTagCompound nbttagcompound = new NBTTagCompound(); nbttagcompound.set("buy", this.buyingItem1.save(new NBTTagCompound())); nbttagcompound.set("sell", this.sellingItem.save(new NBTTagCompound())); if (!this.buyingItem2.isEmpty()) { nbttagcompound.set("buyB", this.buyingItem2.save(new NBTTagCompound())); } nbttagcompound.setInt("uses", this.uses); nbttagcompound.setInt("maxUses", this.maxUses); nbttagcompound.setBoolean("rewardExp", this.rewardExp); return nbttagcompound; } }