public static bool IsAir(this BlockState state)
 {
     return(state.Id == (uint)BlockId.Air);
 }
 public static bool IsWood(this BlockState state)
 {
     return(state.IsSameId(BlockStates.Wood())); // || state.IsSameId(BlockStates.Wood2());
 }
        /*
         * public static async Task<bool> CanBlockStay(this BlockState state, IWorld world, IGrainFactory grainFactory, int x, int y, int z)
         * {
         *  if (state.IsSameId(BlockStates.Grass()))
         *  {
         *      if (y > 0)
         *      {
         *          var downState = await world.GetBlockState(grainFactory, x, y - 1, z);
         *          if (downState == BlockStates.Dirt() ||
         *              downState == BlockStates.Grass())
         *          {
         *              return true;
         *          }
         *      }
         *
         *      return false;
         *  }
         *  else
         *  {
         *      return true;
         *  }
         * }
         */

        public static uint ToUInt32(this BlockState blockState)
        {
            return(ChunkSectionCompactStorage.ToUInt32(ref blockState));
        }
 public static bool IsLeaves(this BlockState state)
 {
     return(state.IsSameId(BlockStates.Leaves())); // || state.IsSameId(BlockStates.Leaves2());
 }