Skip to main content
Glama
BlockVeins.ts1.25 kB
import { Bot } from 'mineflayer' import { Block } from 'prismarine-block' export function findFromVein (bot: Bot, block: Block, maxBlocks: number, maxDistance: number, floodRadius: number): Block[] { const targets: Block[] = [] const open: Block[] = [block] const seenPositions: string[] = [block.position.toString()] const type = block.type const center = block.position for (let i = 0; i < maxBlocks; i++) { const next = open.pop() if (next == null) break targets.push(next) for (let x = -floodRadius; x <= floodRadius; x++) { for (let y = -floodRadius; y <= floodRadius; y++) { for (let z = -floodRadius; z <= floodRadius; z++) { const neighborPos = next.position.offset(x, y, z) if (neighborPos.manhattanDistanceTo(center) > maxDistance) continue const neighbor = bot.blockAt(neighborPos) if (neighbor == null || neighbor.type !== type) continue if (targets.includes(neighbor)) continue if (open.includes(neighbor)) continue if (seenPositions.includes(neighbor.position.toString())) continue open.push(neighbor) seenPositions.push(neighbor.position.toString()) } } } } return targets }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/leo4life2/minecraft-mcp-http'

If you have feedback or need assistance with the MCP directory API, please join our Discord server