replaced world function, removed bad example

This commit is contained in:
MaxRobinsonTheGreat 2023-11-15 22:46:51 -06:00
parent f41417d059
commit 5e25536d37
3 changed files with 12 additions and 27 deletions

View file

@ -25,11 +25,6 @@
{"role": "assistant", "content": "Here!"}
],
[
{"role": "user", "content": "sarah_O.o: can you fly up in the air?"},
{"role": "assistant", "content": "I can't do that."}
],
[
{"role": "user", "content": "joe: Follow me!"},
{"role": "assistant", "content": "Sure!\n```\n// I am going to follow joe.\nawait skills.followPlayer(bot, 'joe');\n```"}

View file

@ -22,7 +22,7 @@ export async function craftItem(bot, itemName, num=1) {
let recipes = bot.recipesFor(getItemId(itemName), null, num, null); // get recipes that don't require a crafting table
let craftingTable = undefined;
if (!recipes || recipes.length === 0) {
craftingTable = getNearestBlock(bot, 'crafting_table');
craftingTable = getNearestBlock(bot, 'crafting_table', 6);
if (craftingTable === null){
log(bot, `${itemName} requires crafting table, but there is none nearby.`)
return false;

View file

@ -1,12 +1,21 @@
import { getAllBlockIds, getAllBlocks, getAllItems } from './mcdata.js';
export function getNearestBlock(bot, block_type) {
export function getNearestBlock(bot, block_type, distance=16) {
/**
* Get the position of the nearest block of the given type.
* @param {Bot} bot - The bot to get the nearest block for.
* @param {string} block_type - The name of the block to search for.
* @param {number} distance - The maximum distance to search.
* @returns {Block} - The nearest block of the given type.
* @example
* let coalBlock = world.getNearestBlock(bot, 'coal_ore', 16);
**/
let block_locs = bot.findBlocks({
matching: (block) => {
return block && block.type === bot.registry.blocksByName[block_type].id
},
maxDistance: 6,
maxDistance: distance,
count: 1
});
if (block_locs.length > 0) {
@ -173,22 +182,3 @@ export function getNearbyBlockTypes(bot) {
}
return found;
}
export function getNearestBlockPosition(bot, blockType) {
/**
* Get the position of the nearest block of the given type.
* @param {Bot} bot - The bot to get the nearest block for.
* @param {string} blockType - The type of the block to search for.
* @returns {Vec3} - The position of the nearest block of the given type if found else null.
* @example
* let position = world.getNearestBlockPosition(bot, 'coal_ore');
**/
let blocks = getNearbyBlocks(bot, 16);
for (let i = 0; i < blocks.length; i++) {
if (blocks[i].name == blockType) {
return blocks[i].position;
}
}
return null;
}