File size: 1,110 Bytes
36ba3ef |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
/*
Explore until find an iron_ore, use Vec3(0, -1, 0) because iron ores are usually underground
await exploreUntil(bot, new Vec3(0, -1, 0), 60, () => {
const iron_ore = bot.findBlock({
matching: mcData.blocksByName["iron_ore"].id,
maxDistance: 32,
});
return iron_ore;
});
Explore until find a pig, use Vec3(1, 0, 1) because pigs are usually on the surface
let pig = await exploreUntil(bot, new Vec3(1, 0, 1), 60, () => {
const pig = bot.nearestEntity((entity) => {
return (
entity.name === "pig" &&
entity.position.distanceTo(bot.entity.position) < 32
);
});
return pig;
});
*/
async function exploreUntil(bot, direction, maxTime = 60, callback) {
/*
Implementation of this function is omitted.
direction: Vec3, can only contain value of -1, 0 or 1
maxTime: number, the max time for exploration
callback: function, early stop condition, will be called each second, exploration will stop if return value is not null
Return: null if explore timeout, otherwise return the return value of callback
*/
}
|