const memory = require('../lib/memory'); module.exports = async function rememberSigns(bot, db, sayWithPersona) { try { const signs = bot.findBlocks({ matching: block => block.name.includes('sign'), maxDistance: 16, count: 10 }); for (const pos of signs) { const block = bot.blockAt(pos); // In some Mineflayer versions, use .getSignText(), otherwise use .signText or .getBlockEntityData() const signText = block.getSignText?.() || block.signText || null; if (signText && signText.trim()) { const label = signText.trim(); const data = { x: pos.x, y: pos.y, z: pos.z }; memory.saveMemory(db, label, data, (err) => { if (!err) { sayWithPersona(`you memorized a place labeled '${label}'.`); } else { console.error("Failed to remember sign label:", err); sayWithPersona("you saw a sign but forgot it instantly. classic."); } }); } } } catch (err) { console.error("remember-signs.js failed:", err); sayWithPersona("you tried to read signs and got confused."); } };