Часть 10 (Взаимодействие с коровами) Создаём асинхронную функцию async function startMilking(). После чего нашему объекту присваиваем фильтр. С помощью фильтра, определяем является ли корова взрослой. Если будет детёнышем, то бот молоко собрать не сможет. А также ставим дистанцию с которой бот будет собирать молоко, ставим < 5 блоков: e.position.distanceTo(bot.entity.position) < 5 bot.on('spawn', async function() { await startMilking() async function startMilking() { setTimeout(async function() { let nearbyCows = Object.values(bot.entities).filter(e => e.name == 'cow' && e.position.distanceTo(bot.entity.position) < 5 && !e.metadata[16]); let cow = nearbyCows[Math.floor(Math.random() * nearbyCows.length)]; await bot.lookAt(cow.position, false) let empty_bucket = bot.inventory.items().filter(item => item.name == 'bucket')[0]; // Необязательный вывод в консоль if(!empty_bucket) {console.log('[Предупреждение] В моем инвентаре нет пустого ведра');return startMilking(); await startMilking();
Пишем бота на JavaScript для Minecraft (1.8-1.18) / Часть 10-14
23 ноября 202223 ноя 2022
3
2 мин