@Override public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound){
  par1NBTTagCompound.setShort("xTile",(short)this.xTile);
  par1NBTTagCompound.setShort("yTile",(short)this.yTile);
  par1NBTTagCompound.setShort("zTile",(short)this.zTile);
  par1NBTTagCompound.setInteger("inTile",Block.getIdFromBlock(this.inTile));
  par1NBTTagCompound.setByte("inData",(byte)this.inData);
  par1NBTTagCompound.setByte("shake",(byte)this.arrowShake);
  par1NBTTagCompound.setByte("inGround",(byte)(this.inGround ? 1 : 0));
  par1NBTTagCompound.setBoolean("isExplosive",this.isExplosive);
}

@ Override public void writeEntityToNBT ( NBTTagCompound par1NBTTagCompound ) { par1NBTTagCompound . setShort ( "xTile" , ( short ) this . xTile ) ; par1NBTTagCompound . setShort ( "yTile" , ( short ) this . yTile ) ; par1NBTTagCompound . setShort ( "zTile" , ( short ) this . zTile ) ; par1NBTTagCompound . setInteger ( "inTile" , Block . getIdFromBlock ( this . inTile ) ) ; par1NBTTagCompound . setByte ( "inData" , ( byte ) this . inData ) ; par1NBTTagCompound . setByte ( "shake" , ( byte ) this . arrowShake ) ; par1NBTTagCompound . setByte ( "inGround" , ( byte ) ( this . inGround ? 1 : 0 ) ) ; par1NBTTagCompound . setBoolean ( "isExplosive" , this . isExplosive ) ; }
( abstract ) protected helper method to write subclass entity data to nbt .
