001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 006 public class TileEntitySkull extends TileEntity 007 { 008 /** Entity type for this skull. */ 009 private int skullType; 010 011 /** The skull's rotation. */ 012 private int skullRotation; 013 014 /** Extra data for this skull, used as player username by player heads */ 015 private String extraType = ""; 016 017 /** 018 * Writes a tile entity to NBT. 019 */ 020 public void writeToNBT(NBTTagCompound par1NBTTagCompound) 021 { 022 super.writeToNBT(par1NBTTagCompound); 023 par1NBTTagCompound.setByte("SkullType", (byte)(this.skullType & 255)); 024 par1NBTTagCompound.setByte("Rot", (byte)(this.skullRotation & 255)); 025 par1NBTTagCompound.setString("ExtraType", this.extraType); 026 } 027 028 /** 029 * Reads a tile entity from NBT. 030 */ 031 public void readFromNBT(NBTTagCompound par1NBTTagCompound) 032 { 033 super.readFromNBT(par1NBTTagCompound); 034 this.skullType = par1NBTTagCompound.getByte("SkullType"); 035 this.skullRotation = par1NBTTagCompound.getByte("Rot"); 036 037 if (par1NBTTagCompound.hasKey("ExtraType")) 038 { 039 this.extraType = par1NBTTagCompound.getString("ExtraType"); 040 } 041 } 042 043 /** 044 * Overriden in a sign to provide the text. 045 */ 046 public Packet getDescriptionPacket() 047 { 048 NBTTagCompound var1 = new NBTTagCompound(); 049 this.writeToNBT(var1); 050 return new Packet132TileEntityData(this.xCoord, this.yCoord, this.zCoord, 4, var1); 051 } 052 053 public void func_82118_a(int par1, String par2Str) 054 { 055 this.skullType = par1; 056 this.extraType = par2Str; 057 } 058 059 public int func_82117_a() 060 { 061 return this.skullType; 062 } 063 064 public void func_82116_a(int par1) 065 { 066 this.skullRotation = par1; 067 } 068 069 @SideOnly(Side.CLIENT) 070 public int func_82119_b() 071 { 072 return this.skullRotation; 073 } 074 075 @SideOnly(Side.CLIENT) 076 public String func_82120_c() 077 { 078 return this.extraType; 079 } 080 }