function watchEnchantmentTable(bot: Bot) { var enchant = bot.client.blockAt(0, 1, 1); var table = bot.client.openEnchantmentTable(enchant); table.on('open', () => { bot.chat("/msg Zielski " + itemToString(table.targetItem())) }) table.on('updateSlot', (oldItem, newItem) => { bot.chat(`/msg Zielski Enchant update: ${itemToString(oldItem)} -> ${itemToString(newItem)}`) }) table.on('close', () => { bot.chat('/msg Zielski Enchant zamknięty') }) table.on('ready', () => { bot.chat(`/msg Zielski Enchanty: ${table.enchantments.map(o => o.level).join(', ')}`) }) bot.client.on('chat', onChat) //Tu sie pomeczysz function onChat(username, message) { //Tu sie pomeczysz if (username === bot.username) return const command = message.split(' ') switch (true) { case /^close$/.test(message): closeEnchantmentTable() break case /^put \w+$/.test(message): // put name // ex: put diamondsword putItem(command[1]) break case /^add lapis$/.test(message): addLapis() break case /^enchant \d+$/.test(message): // enchant choice // ex: enchant 2 enchantItem(command[1]) break case /^take$/.test(message): takeEnchantedItem() break } function closeEnchantmentTable() { table.close() } function putItem(name) { const item = itemByName(table.window.items(), name) if (item) { table.putTargetItem(item, (err) => { if (err) { bot.chat(`/msg Zielski Błąd przy wkładaniu ${itemToString(item)}`) } else { bot.chat(`/msg Zielski Włożone ${itemToString(item)}`) } }) } else { bot.chat(`/msg Zielski unknown item ${name}`) } } function addLapis() { const item = itemByType(table.window.items(), 351) if (item) { table.putLapis(item, (err) => { if (err) { bot.chat(`/msg Zielski Błąd przy wkładaniu ${itemToString(item)}`) } else { bot.chat(`/msg Zielski Włożone ${itemToString(item)}`) } }) } else { bot.chat("/msg Zielski Nie ma lapisu") } } function enchantItem(choice) { choice = parseInt(choice, 10) table.enchant(choice, (err, item) => { if (err) { bot.chat('/msg Zielski error enchanting') } else { bot.chat(`/msg Zielski enchanted ${itemToString(item)}`) } }) } function takeEnchantedItem() { table.takeTargetItem((err, item) => { if (err) { bot.chat('/msg Zielski error getting item') } else { bot.chat(`/msg Zielski got ${itemToString(item)}`) } }) } } function itemByName(items, name) { let item let i for (i = 0; i < items.length; ++i) { item = items[i] if (item && item.name === name) return item } return null } function itemByType(items, type) { let item let i for (i = 0; i < items.length; ++i) { item = items[i] if (item && item.type === type) return item } return null } }