A promise that resolves when the job is done.
const dimension = world.getDimension(MinecraftDimensionTypes.overworld);
function* generator(startLocation: Vec3): Generator<number, Block | undefined, void> {
const total = 10 * 10 * 10;
for (let x = 0; x < 10; x++) {
for (let z = 0; z < 10; z++) {
for (let y = 0; y < 10; y++) {
const location = startLocation.add(x, y, z);
const block = dimension.getBlock(location);
if (block && block.isSolid) {
return block;
}
yield (x * 10 * 10 + z * 10 + y) / total;
}
}
}
}
jobProgressPromise(generator(Vec3.from(0, 0, 0)), console.log)
.then(console.log);
Runs a job and returns a promise that resolves when the job is done. The promise also reports progress once per tick.