LookAtMySuitBot/js/node_modules/mineflayer/docs/ru/api_ru.md

1615 lines
64 KiB
Markdown
Raw Normal View History

2023-12-24 20:08:39 -05:00
<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
**Содержание** *сгенерировано с помощью [DocToc](https://github.com/thlorenz/doctoc)*
- [API](#api)
- [Enums](#enums)
- [minecraft-data](#minecraft-data)
- [mcdata.blocks](#mcdatablocks)
- [mcdata.items](#mcdataitems)
- [mcdata.materials](#mcdatamaterials)
- [mcdata.recipes](#mcdatarecipes)
- [mcdata.instruments](#mcdatainstruments)
- [mcdata.biomes](#mcdatabiomes)
- [mcdata.entities](#mcdataentities)
- [Classes](#classes)
- [vec3](#vec3)
- [mineflayer.Location](#mineflayerlocation)
- [Entity](#entity)
- [Block](#block)
- [Biome](#biome)
- [Item](#item)
- [windows.Window (base class)](#windowswindow-base-class)
- [Recipe](#recipe)
- [mineflayer.Chest](#mineflayerchest)
- [chest.window](#chestwindow)
- [chest "open"](#chest-open)
- [chest "close"](#chest-close)
- [chest "updateSlot" (oldItem, newItem)](#chest-updateslot-olditem-newitem)
- [chest.close()](#chestclose)
- [chest.deposit(itemType, metadata, count, [callback])](#chestdeposititemtype-metadata-count-callback)
- [chest.withdraw(itemType, metadata, count, [callback])](#chestwithdrawitemtype-metadata-count-callback)
- [chest.count(itemType, [metadata])](#chestcountitemtype-metadata)
- [chest.items()](#chestitems)
- [mineflayer.Furnace](#mineflayerfurnace)
- [furnace "open"](#furnace-open)
- [furnace "close"](#furnace-close)
- [furnace "update"](#furnace-update)
- [furnace "updateSlot" (oldItem, newItem)](#furnace-updateslot-olditem-newitem)
- [furnace.close()](#furnaceclose)
- [furnace.takeInput([callback])](#furnacetakeinputcallback)
- [furnace.takeFuel([callback])](#furnacetakefuelcallback)
- [furnace.takeOutput([callback])](#furnacetakeoutputcallback)
- [furnace.putInput(itemType, metadata, count, [cb])](#furnaceputinputitemtype-metadata-count-cb)
- [furnace.putFuel(itemType, metadata, count, [cb])](#furnaceputfuelitemtype-metadata-count-cb)
- [furnace.inputItem()](#furnaceinputitem)
- [furnace.fuelItem()](#furnacefuelitem)
- [furnace.outputItem()](#furnaceoutputitem)
- [furnace.fuel](#furnacefuel)
- [furnace.progress](#furnaceprogress)
- [mineflayer.Dispenser](#mineflayerdispenser)
- [dispenser "open"](#dispenser-open)
- [dispenser "close"](#dispenser-close)
- [dispenser "updateSlot" (oldItem, newItem)](#dispenser-updateslot-olditem-newitem)
- [dispenser.close()](#dispenserclose)
- [dispenser.items()](#dispenseritems)
- [dispenser.deposit(itemType, metadata, count, [callback])](#dispenserdeposititemtype-metadata-count-callback)
- [dispenser.withdraw(itemType, metadata, count, [callback])](#dispenserwithdrawitemtype-metadata-count-callback)
- [dispenser.count(itemType, [metadata])](#dispensercountitemtype-metadata)
- [mineflayer.EnchantmentTable](#mineflayerenchantmenttable)
- [enchantmentTable "open"](#enchantmenttable-open)
- [enchantmentTable "close"](#enchantmenttable-close)
- [enchantmentTable "updateSlot" (oldItem, newItem)](#enchantmenttable-updateslot-olditem-newitem)
- [enchantmentTable "ready"](#enchantmenttable-ready)
- [enchantmentTable.close()](#enchantmenttableclose)
- [enchantmentTable.targetItem()](#enchantmenttabletargetitem)
- [enchantmentTable.enchantments](#enchantmenttableenchantments)
- [enchantmentTable.enchant(choice, [callback])](#enchantmenttableenchantchoice-callback)
- [enchantmentTable.takeTargetItem([callback])](#enchantmenttabletaketargetitemcallback)
- [enchantmentTable.putTargetItem(item, [callback])](#enchantmenttableputtargetitemitem-callback)
- [mineflayer.Villager](#mineflayervillager)
- [villager "open"](#villager-open)
- [villager "close"](#villager-close)
- [villager "updateSlot" (oldItem, newItem)](#villager-updateslot-olditem-newitem)
- [villager "ready"](#villager-ready)
- [villager.close()](#villagerclose)
- [villager.trades](#villagertrades)
- [mineflayer.ScoreBoard](#mineflayerscoreboard)
- [ScoreBoard.name](#scoreboardname)
- [ScoreBoard.title](#scoreboardtitle)
- [ScoreBoard.itemsMap](#scoreboarditemsmap)
- [ScoreBoard.items](#scoreboarditems)
- [mineflayer.BossBar](#mineflayerbossbar)
- [BossBar.title](#bossbartitle)
- [BossBar.health](#bossbarhealth)
- [BossBar.dividers](#bossbardividers)
- [BossBar.entityUUID](#bossbarentityuuid)
- [BossBar.shouldDarkenSky](#bossbarshoulddarkensky)
- [BossBar.isDragonBar](#bossbarisdragonbar)
- [BossBar.createFog](#bossbarcreatefog)
- [BossBar.color](#bossbarcolor)
- [Bot](#bot)
- [mineflayer.createBot(options)](#mineflayercreatebotoptions)
- [Properties](#properties)
- [bot.entity](#botentity)
- [bot.entities](#botentities)
- [bot.username](#botusername)
- [bot.spawnPoint](#botspawnpoint)
- [bot.game.levelType](#botgameleveltype)
- [bot.game.dimension](#botgamedimension)
- [bot.game.difficulty](#botgamedifficulty)
- [bot.game.gameMode](#botgamegamemode)
- [bot.game.hardcore](#botgamehardcore)
- [bot.game.maxPlayers](#botgamemaxplayers)
- [bot.player](#botplayer)
- [bot.players](#botplayers)
- [bot.isRaining](#botisraining)
- [bot.chatPatterns](#botchatpatterns)
- [bot.settings.chat](#botsettingschat)
- [bot.settings.colorsEnabled](#botsettingscolorsenabled)
- [bot.settings.viewDistance](#botsettingsviewdistance)
- [bot.settings.difficulty](#botsettingsdifficulty)
- [bot.settings.skinParts.showCape](#botsettingsskinpartsshowcape)
- [bot.settings.skinParts.showJacket](#botsettingsskinpartsshowjacket)
- [bot.settings.skinParts.showLeftSleeve](#botsettingsskinpartsshowleftsleeve)
- [bot.settings.skinParts.showRightSleeve](#botsettingsskinpartsshowrightsleeve)
- [bot.settings.skinParts.showLeftPants](#botsettingsskinpartsshowleftpants)
- [bot.settings.skinParts.showRightPants](#botsettingsskinpartsshowrightpants)
- [bot.settings.skinParts.showHat](#botsettingsskinpartsshowhat)
- [bot.experience.level](#botexperiencelevel)
- [bot.experience.points](#botexperiencepoints)
- [bot.experience.progress](#botexperienceprogress)
- [bot.health](#bothealth)
- [bot.food](#botfood)
- [bot.foodSaturation](#botfoodsaturation)
- [bot.physics](#botphysics)
- [bot.time.day](#bottimeday)
- [bot.time.age](#bottimeage)
- [bot.quickBarSlot](#botquickbarslot)
- [bot.inventory](#botinventory)
- [bot.targetDigBlock](#bottargetdigblock)
- [bot.isSleeping](#botissleeping)
- [bot.scoreboards](#botscoreboards)
- [bot.scoreboard](#botscoreboard)
- [bot.controlState](#botcontrolstate)
- [Events](#events)
- ["chat" (username, message, translate, jsonMsg, matches)](#chat-username-message-translate-jsonmsg-matches)
- ["whisper" (username, message, translate, jsonMsg, matches)](#whisper-username-message-translate-jsonmsg-matches)
- ["actionBar" (jsonMsg)](#actionbar-jsonmsg)
- ["message" (jsonMsg, position)](#message-jsonmsg-position)
- ["login"](#login)
- ["spawn"](#spawn)
- ["respawn"](#respawn)
- ["game"](#game)
- ["title"](#title)
- ["rain"](#rain)
- ["time"](#time)
- ["kicked" (reason, loggedIn)](#kicked-reason-loggedin)
- ["end"](#end)
- ["spawnReset"](#spawnreset)
- ["death"](#death)
- ["health"](#health)
- ["entitySwingArm" (entity)](#entityswingarm-entity)
- ["entityHurt" (entity)](#entityhurt-entity)
- ["entityWake" (entity)](#entitywake-entity)
- ["entityEat" (entity)](#entityeat-entity)
- ["entityCrouch" (entity)](#entitycrouch-entity)
- ["entityUncrouch" (entity)](#entityuncrouch-entity)
- ["entityEquipmentChange" (entity)](#entityequipmentchange-entity)
- ["entitySleep" (entity)](#entitysleep-entity)
- ["entitySpawn" (entity)](#entityspawn-entity)
- ["playerCollect" (collector, collected)](#playercollect-collector-collected)
- ["entityGone" (entity)](#entitygone-entity)
- ["entityMoved" (entity)](#entitymoved-entity)
- ["entityDetach" (entity, vehicle)](#entitydetach-entity-vehicle)
- ["entityAttach" (entity, vehicle)](#entityattach-entity-vehicle)
- ["entityUpdate" (entity)](#entityupdate-entity)
- ["entityEffect" (entity, effect)](#entityeffect-entity-effect)
- ["entityEffectEnd" (entity, effect)](#entityeffectend-entity-effect)
- ["playerJoined" (player)](#playerjoined-player)
- ["playerLeft" (player)](#playerleft-player)
- ["blockUpdate" (oldBlock, newBlock)](#blockupdate-oldblock-newblock)
- ["blockUpdate:(x, y, z)" (oldBlock, newBlock)](#blockupdatex-y-z-oldblock-newblock)
- ["chunkColumnLoad" (point)](#chunkcolumnload-point)
- ["chunkColumnUnload" (point)](#chunkcolumnunload-point)
- ["soundEffectHeard" (soundName, position, volume, pitch)](#soundeffectheard-soundname-position-volume-pitch)
- ["hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch)](#hardcodedsoundeffectheard-soundid-soundcategory-position-volume-pitch)
- ["noteHeard" (block, instrument, pitch)](#noteheard-block-instrument-pitch)
- ["pistonMove" (block, isPulling, direction)](#pistonmove-block-ispulling-direction)
- ["chestLidMove" (block, isOpen)](#chestlidmove-block-isopen)
- ["blockBreakProgressObserved" (block, destroyStage)](#blockbreakprogressobserved-block-destroystage)
- ["blockBreakProgressEnd" (block)](#blockbreakprogressend-block)
- ["diggingCompleted" (block)](#diggingcompleted-block)
- ["diggingAborted" (block)](#diggingaborted-block)
- ["move"](#move)
- ["forcedMove"](#forcedmove)
- ["mount"](#mount)
- ["dismount" (vehicle)](#dismount-vehicle)
- ["windowOpen" (window)](#windowopen-window)
- ["windowClose" (window)](#windowclose-window)
- ["sleep"](#sleep)
- ["wake"](#wake)
- ["experience"](#experience)
- ["scoreboardCreated" (scoreboard)](#scoreboardcreated-scoreboard)
- ["scoreboardDeleted" (scoreboard)](#scoreboarddeleted-scoreboard)
- ["scoreboardTitleChanged" (scoreboard)](#scoreboardtitlechanged-scoreboard)
- ["scoreUpdated" (scoreboard, item)](#scoreupdated-scoreboard-item)
- ["scoreRemoved" (scoreboard, item)](#scoreremoved-scoreboard-item)
- ["scoreboardPosition" (position, scoreboard)](#scoreboardposition-position-scoreboard)
- ["bossBarCreated" (bossBar)](#bossbarcreated-bossbar)
- ["bossBarDeleted" (bossBar)](#bossbardeleted-bossbar)
- ["bossBarUpdated" (bossBar)](#bossbarupdated-bossbar)
- [Functions](#functions)
- [bot.blockAt(point)](#botblockatpoint)
- [bot.blockInSight(maxSteps, vectorLength)](#botblockinsightmaxsteps-vectorlength)
- [bot.canSeeBlock(block)](#botcanseeblockblock)
- [bot.findBlock(options)](#botfindblockoptions)
- [bot.canDigBlock(block)](#botcandigblockblock)
- [bot.recipesFor(itemType, metadata, minResultCount, craftingTable)](#botrecipesforitemtype-metadata-minresultcount-craftingtable)
- [bot.recipesAll(itemType, metadata, craftingTable)](#botrecipesallitemtype-metadata-craftingtable)
- [Methods](#methods)
- [bot.end()](#botend)
- [bot.quit(reason)](#botquitreason)
- [bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight])](#bottabcompletestr-cb-assumecommand-sendblockinsight)
- [bot.chat(message)](#botchatmessage)
- [bot.whisper(username, message)](#botwhisperusername-message)
- [bot.chatAddPattern(pattern, chatType, description)](#botchataddpatternpattern-chattype-description)
- [bot.setSettings(options)](#botsetsettingsoptions)
- [bot.loadPlugin(plugin)](#botloadpluginplugin)
- [bot.loadPlugins(plugins)](#botloadpluginsplugins)
- [bot.sleep(bedBlock, [cb])](#botsleepbedblock-cb)
- [bot.isABed(bedBlock)](#botisabedbedblock)
- [bot.wake([cb])](#botwakecb)
- [bot.setControlState(control, state)](#botsetcontrolstatecontrol-state)
- [bot.clearControlStates()](#botclearcontrolstates)
- [bot.lookAt(point, [force], [callback])](#botlookatpoint-force-callback)
- [bot.look(yaw, pitch, [force], [callback])](#botlookyaw-pitch-force-callback)
- [bot.updateSign(block, text)](#botupdatesignblock-text)
- [bot.equip(item, destination, [callback])](#botequipitem-destination-callback)
- [bot.unequip(destination, [callback])](#botunequipdestination-callback)
- [bot.tossStack(item, [callback])](#bottossstackitem-callback)
- [bot.toss(itemType, metadata, count, [callback])](#bottossitemtype-metadata-count-callback)
- [bot.dig(block, [callback])](#botdigblock-callback)
- [bot.stopDigging()](#botstopdigging)
- [bot.digTime(block)](#botdigtimeblock)
- [bot.placeBlock(referenceBlock, faceVector, cb)](#botplaceblockreferenceblock-facevector-cb)
- [bot.activateBlock(block, [callback])](#botactivateblockblock-callback)
- [bot.activateEntity(entity, [callback])](#botactivateentityentity-callback)
- [bot.consume(callback)](#botconsumecallback)
- [bot.fish(callback)](#botfishcallback)
- [bot.activateItem()](#botactivateitem)
- [bot.deactivateItem()](#botdeactivateitem)
- [bot.useOn(targetEntity)](#botuseontargetentity)
- [bot.attack(entity)](#botattackentity)
- [bot.swingArm([hand])](#botswingarmhand)
- [bot.mount(entity)](#botmountentity)
- [bot.dismount()](#botdismount)
- [bot.moveVehicle(left,forward)](#botmovevehicleleftforward)
- [bot.setQuickBarSlot(slot)](#botsetquickbarslotslot)
- [bot.craft(recipe, count, craftingTable, [callback])](#botcraftrecipe-count-craftingtable-callback)
- [bot.writeBook(slot, pages, [callback])](#botwritebookslot-pages-callback)
- [bot.openChest(chestBlock or minecartchestEntity)](#botopenchestchestblock-or-minecartchestentity)
- [bot.openFurnace(furnaceBlock)](#botopenfurnacefurnaceblock)
- [bot.openDispenser(dispenserBlock)](#botopendispenserdispenserblock)
- [bot.openEnchantmentTable(enchantmentTableBlock)](#botopenenchantmenttableenchantmenttableblock)
- [bot.openVillager(villagerEntity)](#botopenvillagervillagerentity)
- [bot.trade(villagerInstance, tradeIndex, [times], [cb])](#bottradevillagerinstance-tradeindex-times-cb)
- [bot.setCommandBlock(pos, command, track_output)](#botsetcommandblockpos-command-track_output)
- [Методы инвентаря низкого уровня](#%D0%BC%D0%B5%D1%82%D0%BE%D0%B4%D1%8B-%D0%B8%D0%BD%D0%B2%D0%B5%D0%BD%D1%82%D0%B0%D1%80%D1%8F-%D0%BD%D0%B8%D0%B7%D0%BA%D0%BE%D0%B3%D0%BE-%D1%83%D1%80%D0%BE%D0%B2%D0%BD%D1%8F)
- [bot.clickWindow(slot, mouseButton, mode, cb)](#botclickwindowslot-mousebutton-mode-cb)
- [bot.putSelectedItemRange(start, end, window, slot, cb)](#botputselecteditemrangestart-end-window-slot-cb)
- [bot.putAway(slot, cb)](#botputawayslot-cb)
- [bot.closeWindow(window)](#botclosewindowwindow)
- [bot.transfer(options, cb)](#bottransferoptions-cb)
- [bot.openBlock(block, Class)](#botopenblockblock-class)
- [bot.openEntity(entity, Class)](#botopenentityentity-class)
- [bot.moveSlotItem(sourceSlot, destSlot, cb)](#botmoveslotitemsourceslot-destslot-cb)
- [bot.updateHeldItem()](#botupdatehelditem)
- [bot.creative](#botcreative)
- [bot.creative.setInventorySlot(slot, item, [callback])](#botcreativesetinventoryslotslot-item-callback)
- [bot.creative.flyTo(destination, [cb])](#botcreativeflytodestination-cb)
- [bot.creative.startFlying()](#botcreativestartflying)
- [bot.creative.stopFlying()](#botcreativestopflying)
<!-- END doctoc generated TOC please keep comment here to allow auto update -->
# API
## Enums
Эти данные хранятся не внутри библиотеки Mineflayer [minecraft-data](https://github.com/PrismarineJS/minecraft-data) ,
и доступны через [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data).
### minecraft-data
Данные доступны в модуле [node-minecraft-data](https://github.com/PrismarineJS/node-minecraft-data)
Используйте `require('minecraft-data')(bot.version)`
### mcdata.blocks
Идентификация блоков по ID
### mcdata.items
Идентификация предметов по ID
### mcdata.materials
Объект в качестве идентификатора элемента инструмента
### mcdata.recipes
Идентификация крафтов по ID
### mcdata.instruments
Идентификация инструментов по ID
### mcdata.biomes
Идентификация биомов по ID
### mcdata.entities
Идентификация существ по ID
## Classes
### vec3
Смотрите [andrewrk/node-vec3](https://github.com/andrewrk/node-vec3)
Все координаты библиотеки Mineflayer используют данный класс
* x - юг
* y - вверх
* z - запад
Функции и методы, требующие точного аргумента, как правило, используют `Vec3`,
а также массив с тремя значениями "x", "y", "z"
### mineflayer.Location
### Entity
Существами являются игроки, мобы и объекты. Вы также можете получить доступ
к своему существу, используя `bot.entity`.
Смотрите [prismarine-entity](https://github.com/PrismarineJS/prismarine-entity)
### Block
Смотрите [prismarine-block](https://github.com/PrismarineJS/prismarine-block)
`block.blockEntity` является дополнительным значением с данными объекта "Object"
```js
// sign.blockEntity
{
x: -53,
y: 88,
z: 66,
id: 'minecraft:sign', // 'Sign' в 1.10
Text1: { toString: Function }, // ChatMessage object
Text2: { toString: Function }, // ChatMessage object
Text3: { toString: Function }, // ChatMessage object
Text4: { toString: Function } // ChatMessage object
}
```
### Biome
Смотрите [prismarine-biome](https://github.com/PrismarineJS/prismarine-biome)
### Item
Смотрите [prismarine-item](https://github.com/PrismarineJS/prismarine-item)
### windows.Window (base class)
Смотрите [prismarine-windows](https://github.com/PrismarineJS/prismarine-windows)
### Recipe
Смотрите [prismarine-recipe](https://github.com/PrismarineJS/prismarine-recipe)
### mineflayer.Chest
Предоставляет сеанс взаимодействия с сундуками ( Открытие и закрытие )
Смотрите `bot.openContainer(chestBlock or minecartchestEntity)`.
#### chest.window
Если сундук открыт, этим свойством является `ChestWindow`.
Если же сундук закрыт, этим свойством является `null`.
#### chest "open"
Срабатывает, когда сундук открыт
#### chest "close"
Срабатывает, когда сундук закрыт
#### chest "updateSlot" (oldItem, newItem)
Срабатывает, когда в просматриваемом Вами сундуке обновляются слоты
#### chest.close()
#### chest.deposit(itemType, metadata, count, [callback])
* `itemType` - ID предмета
* `metadata` - числовое значение. `null` может совпадать с чем угодно.
* `count` - количество предметов. `null` является 1 предметом
* `callback(err)` - (необязательно) - Срабатывает при успешном действии
#### chest.withdraw(itemType, metadata, count, [callback])
* `itemType` - ID предмета
* `metadata` - числовое значение. `null` может совпадать с чем угодно.
* `count` - количество предметов. `null` является 1 предметом
* `callback(err)` - (необязательно) - Срабатывает при успешном действии
#### chest.count(itemType, [metadata])
Возвращает количество предметов разных типов
* `itemType` - ID предмета
* `metadata` - (необязательно) - Срабатывает при успешном действии
#### chest.items()
Возвращает список предметов в `Item`, которые на момент вызова находились в сундуке.
### mineflayer.Furnace
Смотрите `bot.openFurnace(furnaceBlock)`.
#### furnace "open"
Срабатывает, когда печь открыта
#### furnace "close"
Срабатывает, когда печь закрыта
#### furnace "update"
Срабатывает при обновлении `furnace.fuel` и/или обновлении `furnace.progress`.
#### furnace "updateSlot" (oldItem, newItem)
Срабатывает, когда в печи обновился слот для плавки
#### furnace.close()
#### furnace.takeInput([callback])
* `callback(err, item)`
#### furnace.takeFuel([callback])
* `callback(err, item)`
#### furnace.takeOutput([callback])
* `callback(err, item)`
#### furnace.putInput(itemType, metadata, count, [cb])
#### furnace.putFuel(itemType, metadata, count, [cb])
#### furnace.inputItem()
Возвращает предметы в `Item`, которые на момент вызова находились в печи.
#### furnace.fuelItem()
Возвращает предмет в `Item`, которые на момент вызова находились в слоте для топлива печи.
#### furnace.outputItem()
Возвращает предмет в `Item`, который на момент вызова был доступен для вывода
#### furnace.fuel
Возвращает количество топлива в печи
#### furnace.progress
Возвращает прогресс плавки предмета
### mineflayer.Dispenser
Смотрите `bot.openDispenser(dispenserBlock)`.
#### dispenser "open"
Срабатывает, когда раздатчик был открыт
#### dispenser "close"
Срабатывает, когда раздатчик был закрыт
#### dispenser "updateSlot" (oldItem, newItem)
Срабатывает, когда в раздатчик положили предмет
#### dispenser.close()
#### dispenser.items()
Возвращает список предметов в `Item`, которые лежат в раздатчике.
#### dispenser.deposit(itemType, metadata, count, [callback])
* `itemType` - ID предмета
* `metadata` - числовое значение. `null` может совпадать с чем угодно.
* `count` - количество предметов. `null` является 1 предметом
* `callback(err)` - (необязательно) - Срабатывает при успешном действии
#### dispenser.withdraw(itemType, metadata, count, [callback])
* `itemType` - ID предмета
* `metadata` - числовое значение. `null` может совпадать с чем угодно.
* `count` - количество предметов. `null` является 1 предметом
* `callback(err)` - (необязательно) - Срабатывает при успешном действии
#### dispenser.count(itemType, [metadata])
Возвращает число определенного предмета, находящегося в раздатчике.
* `itemType` - numerical item id
* `metadata` - (optional) numerical value. `null` means match anything.
### mineflayer.EnchantmentTable
Смотрите `bot.openEnchantmentTable(enchantmentTableBlock)`.
#### enchantmentTable "open"
Срабатывает, когда стол зачарований был открыт
#### enchantmentTable "close"
Срабатывает, когда стол зачарований был закрыт
#### enchantmentTable "updateSlot" (oldItem, newItem)
Срабатывает, когда в стол зачарований положили предмет
#### enchantmentTable "ready"
Срабатывает, когда `enchantmentTable.enchantments` готов к зачарованию и вы
можете зачаровать предмет, используя `enchantmentTable.enchant(choice)`.
#### enchantmentTable.close()
#### enchantmentTable.targetItem()
Возвращает текущий предмет в столе зачарования. Этот метод может использоваться как для того чтобы положить предмет, так и для того, чтобы забрать его.
#### enchantmentTable.enchantments
Возвращает массив из трёх зачарований, доступных для выбориа
`level` может являтся `null`, если сервер ещё не отправил данные. Это нормально.
Пример:
```js
[
{
level: 3
},
{
level: 4
},
{
level: 9
}
]
```
#### enchantmentTable.enchant(choice, [callback])
* `choice` - [0-2], индекс массива (уровня зачарования), который Вы можете выбрать
* `callback(err, item)` - (необязательно) Срабатывает, когда предмет зачарован
#### enchantmentTable.takeTargetItem([callback])
* `callback(err, item)`
#### enchantmentTable.putTargetItem(item, [callback])
* `callback(err)`
### mineflayer.Villager
Смотрите `bot.openVillager(villagerEntity)`.
#### villager "open"
Срабатывает, когда GUI торговли открыто
#### villager "close"
Срабатывает, когда интерфейс торговли закрыт
#### villager "updateSlot" (oldItem, newItem)
Срабатывает, когда предмет был положен в ячейку для торговли
#### villager "ready"
Возвращает, когда `villager.trades` был загружен
#### villager.close()
#### villager.trades
Массив вариантов торговли
Пример:
```js
[
{
firstInput: Item,
output: Item,
hasSecondItem: false,
secondaryInput: null,
disabled: false,
tooluses: 0,
maxTradeuses: 7
},
{
firstInput: Item,
output: Item,
hasSecondItem: false,
secondaryInput: null,
disabled: false,
tooluses: 0,
maxTradeuses: 7
},
{
firstInput: Item,
output: Item,
hasSecondItem: true,
secondaryInput: Item,
disabled: false,
tooluses: 0,
maxTradeuses: 7
}
]
```
### mineflayer.ScoreBoard
#### ScoreBoard.name
Имя скорборда
#### ScoreBoard.title
Название скорборда (может не совпадать с ScoreBoard.title)
#### ScoreBoard.itemsMap
Объект со всеми элементами скорборда
```js
{
wvffle: { name: 'wvffle', value: 3 },
dzikoysk: { name: 'dzikoysk', value: 6 }
}
```
#### ScoreBoard.items
Массив со всеми отсортированными элементами скорборда
```js
[
{ name: 'dzikoysk', value: 6 },
{ name: 'wvffle', value: 3 }
]
```
### mineflayer.BossBar
#### BossBar.title
Название боссбара, передается в `ChatMessage`
#### BossBar.health
Количество здоровья от `0` до `1`. Пример: ( 0.9873 )
#### BossBar.dividers
Количество ячеек, является одним числом из `0`, `6`, `10`, `12`, `20`
#### BossBar.entityUUID
UIID босса
#### BossBar.shouldDarkenSky
Определяет, стоит ли затемнять небо
#### BossBar.isDragonBar
Определяет, является ли боссбар - боссбаром Дракона Края
#### BossBar.createFog
Определяет, стоит ли создават туман
#### BossBar.color
Определяет цвет боссбара `pink`, `blue`, `red`, `green`, `yellow`, `purple`, `white` ("розовый", "голубой", "красный", "желтый", "фиолетовый", "белый")
## Bot
### mineflayer.createBot(options)
Create and return an instance of the class bot.
`options` это объект, который содержит в себе :
* username : по умолчанию "Player"
* port : по умолчанию 25565
* password : может быть пропущен, если подключение осуществляется к пиратскому серверу
* host : default to localhost
* version : по умолчанию установлен автоопределитель версии сервера. Пример использования : "1.12.2"
* clientToken : генерируется, если задан пароль
* accessToken : генерируется, если задан пароль
* logErrors : установлен по умолчанию, используется для отлова ошибок
* keepAlive : отправка пакета активности, по умолчанию активен
* checkTimeoutInterval : по умолчанию `30*1000` (30 сек.), не используется если не используется keepAlive
* loadInternalPlugins : по умолчанию активен
* plugins : объект : по умолчанию {}
- pluginName : false : не загружать плагин с заданным именем. `pluginName`
- pluginName : true : загрузить плагин с заданным именем. `pluginName` даже если loadInternalplugins отключен
- pluginName : external plugin inject function : загружает сторонний плагин, задает новое имя плагина при активном существущем
* [chat](bot.settings.chat)
* [colorsEnabled](bot.settings.colorsEnabled)
* [viewDistance](bot.settings.viewDistance)
* [difficulty](bot.settings.difficulty)
* [showCape](bot.settings.skinParts.showCape)
* [showJacket](bot.settings.skinParts.showJacket)
* [showLeftSleeve](bot.settings.skinParts.showLeftSleeve)
* [showRightSleeve](bot.settings.skinParts.showRightSleeve)
* [showLeftPants](bot.settings.skinParts.showLeftPants)
* [showRigthtPants](bot.settings.skinParts.showRightPants)
* [showHat](bot.settings.skinParts.showHat)
* chatLengthLimit : максимальное количество символов, отправляемое в чат. Если не установлено, будет установлено следующее: 100 в < 1.11 и 256 в >= 1.11.
### Properties
#### bot.entity
Ваше собственное существо. Смотрите `Entity`.
#### bot.entities
Все ближайшие существа.
#### bot.username
Используйте это, чтобы узнать имя бота.
#### bot.spawnPoint
Показывает координаты спавна бота
#### bot.game.levelType
#### bot.game.dimension
#### bot.game.difficulty
#### bot.game.gameMode
#### bot.game.hardcore
#### bot.game.maxPlayers
### bot.player
Объект игрока
```js
{
username: 'player',
displayName: { toString: Function }, // Объект ChatMessage.
gamemode: 0,
ping: 28,
entity: entity // null, если Вы находитесь слишком далеко
}
```
#### bot.players
Показывает всех игроков, которые находятся на сервере
#### bot.isRaining
#### bot.chatPatterns
Массив шаблонов следующего формата:
{ /regex/, "chattype", "description")
* /regex/ - шаблон регулярного выражения, который должен иметь как минимум две группы захвата
* 'chattype' - тип чата, который может является "chat" или "whisper"
* 'description' - описание шаблона, необязательно
#### bot.settings.chat
Выбор:
* `enabled` (default)
* `commandsOnly`
* `disabled`
#### bot.settings.colorsEnabled
По умолчанию активен, используется для отображения кодов цветов
#### bot.settings.viewDistance
Выбор:
* `far` (по умолчанию)
* `normal`
* `short`
* `tiny`
#### bot.settings.difficulty
Вернет то же, что и в server.properties.
#### bot.settings.skinParts.showCape
Если у вас есть плащ, вы можете отключить его, установив для него значение false.
#### bot.settings.skinParts.showJacket
#### bot.settings.skinParts.showLeftSleeve
#### bot.settings.skinParts.showRightSleeve
#### bot.settings.skinParts.showLeftPants
#### bot.settings.skinParts.showRightPants
#### bot.settings.skinParts.showHat
#### bot.experience.level
#### bot.experience.points
Общее количество очков опыта.
#### bot.experience.progress
От 0 до 1 - сумма для перехода на следующий уровень.
#### bot.health
Число от 0 до 20. Каждое число является половиной ячейки здоровья в игре
#### bot.food
Число от 0 до 20. Каждое число является половиной ячейки голода в игре
#### bot.foodSaturation
Покажет насыщенность голода. Голод не уменьшается
если насыщенность больше нуля. Игроки, зашедшие на сервер, автоматически получают
насыщенность 5,0. Еда увеличивает как насыщенность так и голод
#### bot.physics
Изменение значений скорости, отдачи, скорости прыжка и т.д
Изменяйте на свой страх и риск!
#### bot.time.day
Время суток в тиках.
Время основано на тиках, где каждую секунду происходит 20 тиков. 24000 в Майнкрафте
являются 20 минутам реальной игры
Время суток основано на тиках. 0 - восход, 6000
полдень, 12000 - закат, а 18000 - полночь.
#### bot.time.age
Возраст мира в тиках
#### bot.quickBarSlot
Показывает, какой слот сейчас активен ( 0 - 8 )
#### bot.inventory
Является `Window`, отображающий ваш инвентарь.
#### bot.targetDigBlock
Показывает блок, который вы сейчас копаете, или же `null`.
#### bot.isSleeping
Возвращает true или false, в зависимости от того,
лежите вы в кровати или нет
#### bot.scoreboards
Показывает все известные скорборды
#### bot.scoreboard
Показывает все скорборды в "Object"
* `belowName` - скорборд размещен снизу
* `sidebar` - скорборд размещен на боковой панели
* `list` - скорборд помещен в список
* `0-18` - слоты, определенные в [протоколе](https://wiki.vg/Protocol#Display_Scoreboard)
#### bot.controlState
Обьект, который осуществляет управление ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak']
Или же ['вперед', 'назад', 'влево', 'вправо', 'прыгнуть', 'бежать', 'сесть'] (Не использовать в методе)
Подробнее [bot.setControlState](#botsetcontrolstatecontrol-state).
### Events
#### "chat" (username, message, translate, jsonMsg, matches)
При обращении в чате
* `username` - имя отправителя (сравните с bot.username, если вы не хотите видет собственные сообщения)
* `message` - сообщение (очищенно от всех цветовых кодов)
* `translate` - Тип сообщение. В большинстве случаев является null
* `jsonMsg` - сообщение в JSON
* `matches` - массив совпадений в регулярных выражениях. Может являтся null
#### "whisper" (username, message, translate, jsonMsg, matches)
При обращении в ЛС
* `username` - имя отправителя
* `message` - сообщение (очищенно от всех цветовых кодов)
* `translate` - Тип сообщение. В большинстве является null
* `jsonMsg` - сообщение в JSON
* `matches` - массив совпадений в регулярных выражениях. Может являтся null
#### "actionBar" (jsonMsg)
При появлении в панели действия
* `jsonMsg` - сообщение в JSON
#### "message" (jsonMsg, position)
При появлении любого серверного сообщения, включая чаты
* `jsonMsg` - сообщение в JSON
* `position` - (> = 1.8.1): положение сообщения чата может быть
* Чат
* Система
* информация об игре
#### "login"
Срабатывает при успешном подключении к серверу
Отличается от "spawn"
#### "spawn"
Выдается один раз после того, как вы вошли на сервер
и каждый раз, после смерти.
#### "respawn"
Срабатывает при появлении в мире
Обычно используется вызов "spawn"
#### "game"
Срабатывает, если сервер меняет свойства в server.properties
#### "title"
Срабатывает, когда сервер отправляет заголовок
* `text` - заголовок текста
#### "rain"
Срабатывает, когда начинается или прекращается дождь. Если вы присоединитесь к
серверу, на котором уже идет дождь, это событие также сработает.
#### "time"
Срабатывает, когда сервер принудительно обновляет время. Смотрите `bot.time`.
#### "kicked" (reason, loggedIn)
Срабатывает при отключении от сервера. `reason`
выводит причину отключения. `loggedIn`
является `true`, если вы были кикнуты после успешного входа в систему,
или `false`, если отключение произошло во время подключения
#### "end"
Срабатывает, когда вы отключены от сервера
#### "spawnReset"
Срабатывает, когда вы не можете заспавнится у своей кровати, и ваша точка появления сбрасывается
#### "death"
Срабатывает, когда вы умерли
#### "health"
Срабатывает, когда значения здоровья или голода изменяются
#### "entitySwingArm" (entity)
#### "entityHurt" (entity)
#### "entityWake" (entity)
#### "entityEat" (entity)
#### "entityCrouch" (entity)
#### "entityUncrouch" (entity)
#### "entityEquipmentChange" (entity)
#### "entitySleep" (entity)
#### "entitySpawn" (entity)
#### "playerCollect" (collector, collected)
Если существо подняло предмет
* `collector` - существо, поднявшее предмет
* `collected` - существо, которое являлось поднятым предметом
#### "entityGone" (entity)
#### "entityMoved" (entity)
#### "entityDetach" (entity, vehicle)
#### "entityAttach" (entity, vehicle)
Если существо сидит в транспортном средстве,
таком как лодка, вагонетка
* `entity` - существо, которое сидит в транспортном средстве
* `vehicle` - существо, которое является транспортным средством
#### "entityUpdate" (entity)
#### "entityEffect" (entity, effect)
#### "entityEffectEnd" (entity, effect)
#### "playerJoined" (player)
#### "playerLeft" (player)
#### "blockUpdate" (oldBlock, newBlock)
Срабатывает, когда блок обновлен. `oldBlock` и` newBlock` могут сравниватся
Стоит заметить, что `oldBlock` может быть `null`.
#### "blockUpdate:(x, y, z)" (oldBlock, newBlock)
Срабатывает при обновлении блока в определенном месте. `oldBlock` и` newBlock` могут сравниватся
Стоит заметить, что `oldBlock` может быть `null`.
#### "chunkColumnLoad" (point)
#### "chunkColumnUnload" (point)
Fires when a chunk has updated. `point` is the coordinates to the corner
of the chunk with the smallest x, y, and z values.
#### "soundEffectHeard" (soundName, position, volume, pitch)
Срабатывает, когда вы слышите звуковой эффект
* `soundName`: имя звукового эффекта
* `position`: координаты, где был проигран звук
* `volume`: уровень звука, 1.0 является 100%
* `pitch`: искажение звука, 63 является 100%
#### "hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch)
Срабатывает, когда вы слышите сильной искаженный звуковой эффект
* `soundId`: ID имя звукового эффекта
* `soundCategory`: категория звукового эффекта
* `position`: координаты, где был проигран звук
* `volume`: уровень звука, 1.0 является 100%
* `pitch`: Искажение звука, 63 является 100%
#### "noteHeard" (block, instrument, pitch)
Срабатывает, когда был проигран звук нотного блока
* `block`: имя блока
* `instrument`:
- `id`: определенный ID
- `name`: один из видов звука [`harp`, `doubleBass`, `snareDrum`, `sticks`, `bassDrum`].
* `pitch`: Высота ноты (от 0 до 24 включительно, где 0 - это
    самый низкий, а 24 - самый высокий). Больше информации о том можно найти на
[оффициальном Minecraft wiki](http://www.minecraftwiki.net/wiki/Note_Block).
#### "pistonMove" (block, isPulling, direction)
#### "chestLidMove" (block, isOpen)
#### "blockBreakProgressObserved" (block, destroyStage)
Срабатывает, когда вы наблюдаете процесс разрушения блока
* `block`: имя блока, который ломается
* `destroyStage`: уровень прогресса (0 - 9)
#### "blockBreakProgressEnd" (block)
Срабатывает, когда процесс разрушения блока прекращен.
Происходит при прекращении разрушения блока или его полного разрушения
* `block`: имя блока, процесс разрушения которого был прекращен
#### "diggingCompleted" (block)
* `block` - блок, который больше не существует
#### "diggingAborted" (block)
* `block` - блок, который все ещё существует
#### "move"
Срабатывает при движении бота. Если вы хотите узнать текущее положение, используйте
`bot.entity.position` если вы хотите узнать предыдущее положение, используйте
`bot.entity.position.minus(bot.entity.velocity)`.
#### "forcedMove"
Срабатывает при принудительном перемещении бота (телепорт, спавн). Если вы хотите узнать текущее положение, используйте
`bot.entity.position`.
#### "mount"
Срабатывает, если вы устанавливаете объект, например тележку. Чтобы получить доступ к ней,
используйте `bot.vehicle`.
Чтобы установить её, используйте `mount`.
#### "dismount" (vehicle)
Срабатывает, если вы слезли с существа
#### "windowOpen" (window)
Срабатывает, если вы используете верстак, сундук и т.д
#### "windowClose" (window)
Срабатывает, если вы закрыли верстак, сундук и т.д
#### "sleep"
Срабатывает, если вы лягли спать
#### "wake"
Срабатывает, если вы проснулись
#### "experience"
Срабатывает, если значение `bot.experience.*` было обновлено
#### "scoreboardCreated" (scoreboard)
Срабатывает, если скорборд был создан
#### "scoreboardDeleted" (scoreboard)
Срабатывает, если скорборд был удален
#### "scoreboardTitleChanged" (scoreboard)
Срабатывает, если скорборд был обновлен
#### "scoreUpdated" (scoreboard, item)
Срабатывает, если значение в скорборде было обновлено
#### "scoreRemoved" (scoreboard, item)
Срабатывает, если значение в скорборде было удалено
#### "scoreboardPosition" (position, scoreboard)
Срабатывает, если позиция скорборда была обновлена
#### "bossBarCreated" (bossBar)
Срабатывает, если боссбар был создан
#### "bossBarDeleted" (bossBar)
Срабатывает, если боссбар был удален
#### "bossBarUpdated" (bossBar)
Срабатывает, если боссбар был обновлен
### Functions
#### bot.blockAt(point)
Возвращает блок в `point` или `null`, если эта точка не загружена
Смотрите `Block`.
#### bot.blockInSight(maxSteps, vectorLength)
Возвращает блок, на который смотрит бот, либо `null`
* `maxSteps` - количество блоков, по умолчанию 256.
* `vectorLength` - длина вектора, по умолчанию `5/16`.
#### bot.canSeeBlock(block)
Возвращает true или false, в зависимости от того,
видит ли бот указанный блок, или нет
#### bot.findBlock(options)
Находит ближайший блок, указанный в точке
* `options` - Дополнительные параментры для поиска:
- `point` -Начальная точка для поиска.
- `matching` - Функция, которая возвращает true, если указанный блок найден. Значение является ID блока, или массивом ID блоков
- `maxDistance` - Максимальная дистанция поиска, по умолчанию 16.
Это простой пример, для более полного поиска, использующего алгоритмы,
используйте [mineflayer-blockfinder](https://github.com/Darthfett/mineflayer-blockfinder), которое имеет похожее API
#### bot.canDigBlock(block)
Возвращает, является ли `block` ломаемым и находится в пределах диапазона
#### bot.recipesFor(itemType, metadata, minResultCount, craftingTable)
Возвращает список рецептов (Recipe) которые вы можете использовать для крафта
предмета(itemType) с метаданными(metadata).
* `itemType` - ID предмета, который вы хотите создать
* `metadata` - значение метаданных создаваемого предмета, null соответствует любым метаданным
* `minResultCount` - количество создаваемого предмета, null эквивалентно 1 предмету,
присутствует проверка на количество материала, требуемого для изготовления предмета
* `craftingTable` - блок верстака, при указании null предмет создается в вашем инвентаре
#### bot.recipesAll(itemType, metadata, craftingTable)
То же, что и bot.recipesFor, но без проверки на количество материала, требуемого для изготовления предмета
### Methods
#### bot.end()
Завершить соединение с сервером
#### bot.quit(reason)
Принудительно завершить соиденение по собственной причине (по умолчанию 'disconnect.quitting').
#### bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight])
Запрашивает чат севрера
* `str` - Строка для завершения
* `callback(matches)`
- `matches` - Массив с совпадениями.
* `assumeCommand` - Поле отправлено на сервер, по умолчанию отключено.
* `sendBlockInSight` - Поле отправлено на сервер, по умолчанию включено. Установите для этого параметра значение false, если вы хотите повысить производительность.
#### bot.chat(message)
Отправляет сообщение. При необходимости разбивает большое сообщение на несколько маленьких
#### bot.whisper(username, message)
Аналог "/tell <никнейм>". Все разделенные сообщения будут отправлятся пользователю
#### bot.chatAddPattern(pattern, chatType, description)
Добавляет шаблон чата. Полезно, если формат чата сильно меняется за счёт плагинов
* `pattern` - регулярное выражение для совпадения
* `chatType` - вид сообщения. Например: "chat" или "whisper"
* 'description' - Необязательно, описание шаблона
#### bot.setSettings(options)
Посмотреть значение `bot.settings`.
#### bot.loadPlugin(plugin)
Загрузить плагин
* `plugin` - функция
```js
function somePlugin (bot, options) {
function someFunction () {
bot.chat('Yay!')
}
bot.someFunction = someFunction
}
const bot = mineflayer.createBot({})
bot.loadPlugin(somePlugin)
bot.once('login', () => {
bot.someFunction() // Yay!
})
```
#### bot.loadPlugins(plugins)
О загрузке плагинов смотрите в `bot.loadPlugin`.
* `plugins` - массив функций
#### bot.sleep(bedBlock, [cb])
Отправить бота спать. `bedBlock` должен являтся блоком. `cb` может иметь параментр "err", если бот не может лечь спать
#### bot.isABed(bedBlock)
Возвращает true если `bedBlock` является кроватью
#### bot.wake([cb])
Встать с кровати. `cb` может иметь параментр "err", если бот не может встать
#### bot.setControlState(control, state)
* `control` - одно из ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak']
* `state` - `true` или `false`
#### bot.clearControlStates()
Отключить элементы управления
#### bot.lookAt(point, [force], [callback])
* `point` - наклонить голову к указанной точке
* `force` - Смотрите `force` в `bot.look`
* `callback()` необязательно, вызывается если вы смотрите на указанную точку
#### bot.look(yaw, pitch, [force], [callback])
Установить направление головы
* `yaw` - Количество радианов для вертикальной оси
* `pitch` - Количество радианов для поворота вверх или вниз. 0 - строго вперед.
pi / 2 - смотреть вверх. -pi / 2 - смотреть вниз
* `force` - Если установлен true, плавный переход не состоится. Укажите значение true,
для проверки на стороне сервера. Рекомендуется включать, чтобы избежать конфликтов с античитом
* `callback()` - необязательно, вызывается, если бот смотрит на указанную точку
#### bot.updateSign(block, text)
Обновить текст на табличке
#### bot.equip(item, destination, [callback])
Надеть вещи из инвентаря
* `item` - Предмет. Смотрите `window.items()`.
* `destination`
- `"hand"` - `null` альтернатива к этому
- `"head"`
- `"torso"`
- `"legs"`
- `"feet"`
* `callback(error)` - необязательно. вызывается при успешной экипировке,
или при ошибке
#### bot.unequip(destination, [callback])
Снять предмет
#### bot.tossStack(item, [callback])
* `item` - стак предмета, который вы хотите выбросить
* `callback(error)` - необязательно, вызывается если предмет выкинут, либо при ошибке
#### bot.toss(itemType, metadata, count, [callback])
* `itemType` - ID предмета, который вы хотите выбросить
* `metadata` - метаданные предмета. Используйте `null`
чтобы выбрать любые метаданные
* `count` - количество предмета. null равно 1
* `callback(err)` - (необязательно) вызывается при успешной операции
#### bot.dig(block, [callback])
Начать ломать блок предметом, который экипирован в руке
Смотрите также события "diggingCompleted" и "diggingAborted".
Обратите внимание, что вы не сможете ломать другие блоки,
пока выбранный блок не будет сломан, либо не будет вызвана функция
`bot.stopDigging()`.
* `block` - блок, который нужно ломать
* `callback(err)` - (необязательно) вызывается если блок сломан, или операция прервана
#### bot.stopDigging()
#### bot.digTime(block)
Покажет время, которое нужно потратить, чтобы сломать блок
#### bot.placeBlock(referenceBlock, faceVector, cb)
* `referenceBlock` - блок, который вы хотите разместить рядорм
* `faceVector` - один из шести направлений `new Vec3(0, 1, 0)`, чтобы указать сторону,
куда нужно поставить блок
* `cb` вызывается, если сервер подтвердит, что блок поставлен
Новый блок будет размещен на координатах `referenceBlock.position.plus(faceVector)`.
#### bot.activateBlock(block, [callback])
Ударить нотный блок, открыть дверь и т.д
* `block` - активируемый блок
* `callback(err)` - (необязательно) вызывается, если блок активирован
#### bot.activateEntity(entity, [callback])
Нажать на существо, например житель, или NPC
* `entity` - активируемре существо
* `callback(err)` - (необязательно) вызывается, если существо активировано
#### bot.consume(callback)
Съесть/выпить предмет, который находится в руке
* `callback(error)` - вызывается, если предмет использован
#### bot.fish(callback)
Использовать удочку
* `callback(error)` - вызывается, если рыбалка окончена
#### bot.activateItem()
Активирует предмет, который находится в руке. Используется для выстрела из лука, бросания яиц и т.д
#### bot.deactivateItem()
Деактивирует предмет, который находится в руке. Например для прекращения натягивания тетевы лука и т.д
#### bot.useOn(targetEntity)
Использует предмет, который находится в руке на существе. Например, одеть седло или использовать ножницы
#### bot.attack(entity)
Атаковать игрока или моба
#### bot.swingArm([hand])
Сыграть анимацию удара руки
* `hand` может быть `left` или `right`. По умолчанию: `right`
#### bot.mount(entity)
Сесть в транспортное средство.
#### bot.dismount()
Вылезть из транспортного средства.
#### bot.moveVehicle(left,forward)
Двигатся в транспортном средстве:
* по сторонам: -1 или 1 : -1 означает вправо, 1 означает влево
* вперед/назад: -1 или 1 : -1 означает назад, 1 означает вперед
Направление относительно того, куда смотрит бот
#### bot.setQuickBarSlot(slot)
* `slot` - выбрать слот ( 0 - 8 )
#### bot.craft(recipe, count, craftingTable, [callback])
* `recipe` - рецепт крафта. Смотрите `bot.recipesFor`.
* `count` - количество предмета крафта
Если вы хотите скрафтить 8 досок в палки, вы должны установить
`count` в `2`. `null` является 1
* `craftingTable` - блок верстака, при указании null предмет крафтится в вашем инвентаре
* `callback` - (необязательно) Вызыватся если крафт завершен успешно
#### bot.writeBook(slot, pages, [callback])
* `slot` - слот в инвентаре ( 0 - 36)
* `pages` - массив страниц
* `callback(error)` - необязательно. вызывается если редактирование завершено, либо при вызове ошибки
#### bot.openChest(chestBlock or minecartchestEntity)
Устарело.Открывает сундук. Такой же как "openContainer"
#### bot.openFurnace(furnaceBlock)
Открывает печь
#### bot.openDispenser(dispenserBlock)
Открывает раздатчик
#### bot.openEnchantmentTable(enchantmentTableBlock)
Открывает стол зачарований
#### bot.openVillager(villagerEntity)
Открывает торговлю с жителем
#### bot.trade(villagerInstance, tradeIndex, [times], [cb])
Использует `villagerInstance` для торговли
#### bot.setCommandBlock(pos, command, track_output)
.Установить командный блок по координатам
### Методы инвентаря низкого уровня
Эти методы могут быть иногда полезны, но мы рекомендуем использовать методы, описанные выше
#### bot.clickWindow(slot, mouseButton, mode, cb)
Нажать на слот
#### bot.putSelectedItemRange(start, end, window, slot, cb)
Поместить предмет в слот в указаном диапазоне
#### bot.putAway(slot, cb)
Поместить предмет в слот инвентаря
#### bot.closeWindow(window)
Закрыть окно(GUI)
#### bot.transfer(options, cb)
Поместить предмет с одного диапазона в другой. `options` это объект, содержащий :
* `window` : окно, куда требуется положить предмет
* `itemType` : тип предмета
* `metadata` : метаданные предмета
* `sourceStart` и `sourceEnd` : старый диапазон
* `destStart` и `destEnd` : новый диапазон
#### bot.openBlock(block, Class)
Открыть блок, например сундук
* `block` блок, который нужен открыть
* `Class` тип окна, которое нужно открыть
#### bot.openEntity(entity, Class)
Открыть GUI существа, например жителя
* `entity` существо, GUI которого нужно открыть
* `Class` тип окна, которое нужно открыть
#### bot.moveSlotItem(sourceSlot, destSlot, cb)
Поместить предмет со слота `sourceSlot` в слот `destSlot` в открытом окне
#### bot.updateHeldItem()
Обновить `bot.heldItem`.
### bot.creative
Данные функции использются в творческом режиме
#### bot.creative.setInventorySlot(slot, item, [callback])
Дает боту указанный предмет в слоте инвентаря. Не рекомендуется
выдавать дважды в один слот
* `slot` номер слота ( 0 -36 )
* `item` предмет, NBT-тег
    Если `item` равен` null`, элемент в указанном слоте удаляется.
* `callback(err)` (необязательно) вызывается, если сервер одобрил выдачу предмета
Если этот метод меняет ваш инвентарь, вы можете использовать `bot.inventory.on("updateSlot")`.
#### bot.creative.flyTo(destination, [cb])
Вызывает `startFlying()` и движется к месту назначения.
`destination` это `Vec3`, координаты `x` и `z`, которые обычно заканчиваются на `.5`.
Функция не будет рабоать, если присутствуют препятствия.
Рекомендуется отправлять на небольшие расстояния
Когда бот прибывает в пункт назначения, вызывается `cb`.
Этот метод не пытается найти путь до точки.
Ожидается, что реализация поиска пути будет использовать этот метод для перемещения на <2 блоков одновременно.
Чтобы остановить полет, используйте `stopFlying()`.
#### bot.creative.startFlying()
Установите `bot.physics.gravity` к `0`.
Чтобы остановить полет, используйте `stopFlying()`.
Этот метод полезен, если вы хотите летать, копая землю под собой.
Нет необходимости вызывать эту функцию перед вызовом `flyTo()`.
Обратите внимание, что во время полета `bot.entity.velocity` может быть не точным.
#### bot.creative.stopFlying()
Восстанавливает `bot.physics.gravity` к оригинальному значению.