001 package net.minecraft.src; 002 003 public class ItemWritableBook extends Item 004 { 005 public ItemWritableBook(int par1) 006 { 007 super(par1); 008 this.setMaxStackSize(1); 009 } 010 011 /** 012 * Called whenever this item is equipped and the right mouse button is pressed. Args: itemStack, world, entityPlayer 013 */ 014 public ItemStack onItemRightClick(ItemStack par1ItemStack, World par2World, EntityPlayer par3EntityPlayer) 015 { 016 par3EntityPlayer.displayGUIBook(par1ItemStack); 017 return par1ItemStack; 018 } 019 020 /** 021 * If this function returns true (or the item is damageable), the ItemStack's NBT tag will be sent to the client. 022 */ 023 public boolean getShareTag() 024 { 025 return true; 026 } 027 028 public static boolean validBookTagPages(NBTTagCompound par0NBTTagCompound) 029 { 030 if (par0NBTTagCompound == null) 031 { 032 return false; 033 } 034 else if (!par0NBTTagCompound.hasKey("pages")) 035 { 036 return false; 037 } 038 else 039 { 040 NBTTagList var1 = (NBTTagList)par0NBTTagCompound.getTag("pages"); 041 042 for (int var2 = 0; var2 < var1.tagCount(); ++var2) 043 { 044 NBTTagString var3 = (NBTTagString)var1.tagAt(var2); 045 046 if (var3.data == null) 047 { 048 return false; 049 } 050 051 if (var3.data.length() > 256) 052 { 053 return false; 054 } 055 } 056 057 return true; 058 } 059 } 060 }