/// <summary>
        /// Returns the extended block ID for a location in a chunk, merged from a byte array and a NibbleArray to form a
        /// full 12-bit block ID.
        /// </summary>
        public virtual int GetExtBlockID(int par1, int par2, int par3)
        {
            int i = BlockLSBArray[par2 << 8 | par3 << 4 | par1] & 0xff;

            if (BlockMSBArray != null)
            {
                return(BlockMSBArray.Get(par1, par2, par3) << 8 | i);
            }
            else
            {
                return(i);
            }
        }
 /// <summary>
 /// Gets the saved Block-light value in the extended block storage structure.
 /// </summary>
 public virtual int GetExtBlocklightValue(int par1, int par2, int par3)
 {
     return(BlocklightArray.Get(par1, par2, par3));
 }
 /// <summary>
 /// Returns the metadata associated with the block at the given coordinates in this ExtendedBlockStorage.
 /// </summary>
 public virtual int GetExtBlockMetadata(int par1, int par2, int par3)
 {
     return(BlockMetadataArray.Get(par1, par2, par3));
 }