64 KiB
Содержание сгенерировано с помощью DocToc
- API
- Enums
- Classes
- vec3
- mineflayer.Location
- Entity
- Block
- Biome
- Item
- windows.Window (base class)
- Recipe
- mineflayer.Chest
- mineflayer.Furnace
- furnace "open"
- furnace "close"
- furnace "update"
- furnace "updateSlot" (oldItem, newItem)
- furnace.close()
- furnace.takeInput([callback])
- furnace.takeFuel([callback])
- furnace.takeOutput([callback])
- furnace.putInput(itemType, metadata, count, [cb])
- furnace.putFuel(itemType, metadata, count, [cb])
- furnace.inputItem()
- furnace.fuelItem()
- furnace.outputItem()
- furnace.fuel
- furnace.progress
- mineflayer.Dispenser
- mineflayer.EnchantmentTable
- enchantmentTable "open"
- enchantmentTable "close"
- enchantmentTable "updateSlot" (oldItem, newItem)
- enchantmentTable "ready"
- enchantmentTable.close()
- enchantmentTable.targetItem()
- enchantmentTable.enchantments
- enchantmentTable.enchant(choice, [callback])
- enchantmentTable.takeTargetItem([callback])
- enchantmentTable.putTargetItem(item, [callback])
- mineflayer.Villager
- mineflayer.ScoreBoard
- mineflayer.BossBar
- Bot
- mineflayer.createBot(options)
- Properties
- bot.player
- bot.players
- bot.isRaining
- bot.chatPatterns
- bot.settings.chat
- bot.settings.colorsEnabled
- bot.settings.viewDistance
- bot.settings.difficulty
- bot.settings.skinParts.showCape
- 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
- bot.health
- bot.food
- bot.foodSaturation
- bot.physics
- bot.time.day
- bot.time.age
- bot.quickBarSlot
- bot.inventory
- bot.targetDigBlock
- bot.isSleeping
- bot.scoreboards
- bot.scoreboard
- bot.controlState
- Events
- "chat" (username, message, translate, jsonMsg, matches)
- "whisper" (username, message, translate, jsonMsg, matches)
- "actionBar" (jsonMsg)
- "message" (jsonMsg, position)
- "login"
- "spawn"
- "respawn"
- "game"
- "title"
- "rain"
- "time"
- "kicked" (reason, loggedIn)
- "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)
- "entityGone" (entity)
- "entityMoved" (entity)
- "entityDetach" (entity, vehicle)
- "entityAttach" (entity, vehicle)
- "entityUpdate" (entity)
- "entityEffect" (entity, effect)
- "entityEffectEnd" (entity, effect)
- "playerJoined" (player)
- "playerLeft" (player)
- "blockUpdate" (oldBlock, newBlock)
- "blockUpdate:(x, y, z)" (oldBlock, newBlock)
- "chunkColumnLoad" (point)
- "chunkColumnUnload" (point)
- "soundEffectHeard" (soundName, position, volume, pitch)
- "hardcodedSoundEffectHeard" (soundId, soundCategory, position, volume, pitch)
- "noteHeard" (block, instrument, pitch)
- "pistonMove" (block, isPulling, direction)
- "chestLidMove" (block, isOpen)
- "blockBreakProgressObserved" (block, destroyStage)
- "blockBreakProgressEnd" (block)
- "diggingCompleted" (block)
- "diggingAborted" (block)
- "move"
- "forcedMove"
- "mount"
- "dismount" (vehicle)
- "windowOpen" (window)
- "windowClose" (window)
- "sleep"
- "wake"
- "experience"
- "scoreboardCreated" (scoreboard)
- "scoreboardDeleted" (scoreboard)
- "scoreboardTitleChanged" (scoreboard)
- "scoreUpdated" (scoreboard, item)
- "scoreRemoved" (scoreboard, item)
- "scoreboardPosition" (position, scoreboard)
- "bossBarCreated" (bossBar)
- "bossBarDeleted" (bossBar)
- "bossBarUpdated" (bossBar)
- Functions
- Methods
- bot.end()
- bot.quit(reason)
- bot.tabComplete(str, cb, [assumeCommand], [sendBlockInSight])
- bot.chat(message)
- bot.whisper(username, message)
- bot.chatAddPattern(pattern, chatType, description)
- bot.setSettings(options)
- bot.loadPlugin(plugin)
- bot.loadPlugins(plugins)
- bot.sleep(bedBlock, [cb])
- bot.isABed(bedBlock)
- bot.wake([cb])
- bot.setControlState(control, state)
- bot.clearControlStates()
- bot.lookAt(point, [force], [callback])
- bot.look(yaw, pitch, [force], [callback])
- bot.updateSign(block, text)
- bot.equip(item, destination, [callback])
- bot.unequip(destination, [callback])
- bot.tossStack(item, [callback])
- bot.toss(itemType, metadata, count, [callback])
- bot.dig(block, [callback])
- bot.stopDigging()
- bot.digTime(block)
- bot.placeBlock(referenceBlock, faceVector, cb)
- bot.activateBlock(block, [callback])
- bot.activateEntity(entity, [callback])
- bot.consume(callback)
- bot.fish(callback)
- bot.activateItem()
- bot.deactivateItem()
- bot.useOn(targetEntity)
- bot.attack(entity)
- bot.swingArm([hand])
- bot.mount(entity)
- bot.dismount()
- bot.moveVehicle(left,forward)
- bot.setQuickBarSlot(slot)
- bot.craft(recipe, count, craftingTable, [callback])
- bot.writeBook(slot, pages, [callback])
- bot.openChest(chestBlock or minecartchestEntity)
- bot.openFurnace(furnaceBlock)
- bot.openDispenser(dispenserBlock)
- bot.openEnchantmentTable(enchantmentTableBlock)
- bot.openVillager(villagerEntity)
- bot.trade(villagerInstance, tradeIndex, [times], [cb])
- bot.setCommandBlock(pos, command, track_output)
- Методы инвентаря низкого уровня
- bot.creative
API
Enums
Эти данные хранятся не внутри библиотеки Mineflayer minecraft-data , и доступны через node-minecraft-data.
minecraft-data
Данные доступны в модуле 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
Все координаты библиотеки Mineflayer используют данный класс
- x - юг
- y - вверх
- z - запад
Функции и методы, требующие точного аргумента, как правило, используют Vec3
,
а также массив с тремя значениями "x", "y", "z"
mineflayer.Location
Entity
Существами являются игроки, мобы и объекты. Вы также можете получить доступ
к своему существу, используя bot.entity
.
Смотрите prismarine-entity
Block
Смотрите prismarine-block
block.blockEntity
является дополнительным значением с данными объекта "Object"
// 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
Item
Смотрите prismarine-item
windows.Window (base class)
Смотрите prismarine-windows
Recipe
Смотрите 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 idmetadata
- (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
, если сервер ещё не отправил данные. Это нормально.
Пример:
[
{
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
Массив вариантов торговли
Пример:
[
{
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
Объект со всеми элементами скорборда
{
wvffle: { name: 'wvffle', value: 3 },
dzikoysk: { name: 'dzikoysk', value: 6 }
}
ScoreBoard.items
Массив со всеми отсортированными элементами скорборда
[
{ 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 : загружает сторонний плагин, задает новое имя плагина при активном существущем
- pluginName : false : не загружать плагин с заданным именем.
- chat
- colorsEnabled
- viewDistance
- difficulty
- showCape
- showJacket
- showLeftSleeve
- showRightSleeve
- showLeftPants
- showRigthtPants
- 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
Объект игрока
{
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
- слоты, определенные в протоколе
bot.controlState
Обьект, который осуществляет управление ['forward', 'back', 'left', 'right', 'jump', 'sprint', 'sneak'] Или же ['вперед', 'назад', 'влево', 'вправо', 'прыгнуть', 'бежать', 'сесть'] (Не использовать в методе)
Подробнее bot.setControlState.
Events
"chat" (username, message, translate, jsonMsg, matches)
При обращении в чате
username
- имя отправителя (сравните с bot.username, если вы не хотите видет собственные сообщения)message
- сообщение (очищенно от всех цветовых кодов)translate
- Тип сообщение. В большинстве случаев является nulljsonMsg
- сообщение в JSONmatches
- массив совпадений в регулярных выражениях. Может являтся null
"whisper" (username, message, translate, jsonMsg, matches)
При обращении в ЛС
username
- имя отправителяmessage
- сообщение (очищенно от всех цветовых кодов)translate
- Тип сообщение. В большинстве является nulljsonMsg
- сообщение в JSONmatches
- массив совпадений в регулярных выражениях. Может являтся null
"actionBar" (jsonMsg)
При появлении в панели действия
jsonMsg
- сообщение в JSON
"message" (jsonMsg, position)
При появлении любого серверного сообщения, включая чаты
jsonMsg
- сообщение в JSONposition
- (> = 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
: определенный IDname
: один из видов звука [harp
,doubleBass
,snareDrum
,sticks
,bassDrum
].
pitch
: Высота ноты (от 0 до 24 включительно, где 0 - это самый низкий, а 24 - самый высокий). Больше информации о том можно найти на оффициальном Minecraft wiki.
"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, которое имеет похожее 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
- функция
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 равно 1callback(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
является 1craftingTable
- блок верстака, при указании 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
к оригинальному значению.