Fixed level calculation running in its on thread. getBlockAt will attempt to load a chunk if not already loaded causing a CME exception if not run on the main thread.