/ mineflayer

🇺🇸 Английский 🇷🇺 русский 🇪🇸 испанский

Создавайте ботов Minecraft с помощью мощного, стабильного и высокоуровневого JavaScript API.

Впервые используете node.js? Вы можете начать с учебника

Features

  • Поддерживает Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15 и 1.16.
  • Знание и отслеживание сущностей.
  • Блокировать знания. Вы можете задавать вопросы окружающему миру. Миллисекунды на поиск любого блока.
  • Физика и движение — обработка всех ограничивающих рамок.
  • Атака на объекты и использование транспортных средств.
  • Управление запасами.
  • Создание предметов, сундуки, раздатчики, таблицы зачарования.
  • Копание и строительство.
  • Разное, например, знание вашего здоровья и его состояния. идет дождь.
  • Активация блоков и использование предметов.
  • Чат.

Дорожная карта

Проверьте эту страницу, чтобы узнать, какие у нас текущие проекты.

Установка

Сначала установите nodejs> = 14 с nodejs.org, затем:

npm install mineflayer

Documentation

ссылка description
tutorial Начните с узла .js и mineflayer
FAQ.md Есть вопрос? сначала перейдите туда
api.md unstable_api.md Полный справочник по API
history.md Журнал изменений для Mineflayer
examples/ Ознакомьтесь со всеми примерами минных заговоров

Contribute

Пожалуйста, прочтите CONTRIBUTING.md и prismarine-submit

Использование

Видео

Обучающее видео, объясняющее базовый процесс настройки для бота, может быть найдено здесь.

Если вы хотите узнать больше, есть другие видеоуроки и соответствующие исходные коды для этих ботов.

Начало работы

Если версия не указана, версия сервера будет угадана автоматически, вы можете установить конкретную с помощью опции версии. n. Например, версия: "1.8" .

Пример эха

 const mineflayer = require ('  mineflayer ') const bot = mineflayer. createBot ({host: 'localhost',//необязательный порт: 25565,//необязательное имя пользователя: 'email@example.com',//адрес электронной почты и пароль требуются только для пароля: '12345678',//online-mode =  true server version: false,//false соответствует автоматическому определению версии (это значение по умолчанию), введите, например, «1.8.8», если вам нужна конкретная версия auth: 'mojang'//необязательно; по умолчанию используется mojang, если используется  учетная запись microsoft, установленная на 'microsoft'}) bot.on ('chat', function (username, message) {if (username === bot.username) return bot.chat (message)})//Журнал ошибок и  причины удара: bot.on ('kicked', (cause, loggedIn) => console.log (cause, loggedIn)) bot.on ('error', err => console.log (err)) 

Посмотрите, что делает ваш бот

Благодаря проекту prismarine-viewer можно отображать в окне браузера, что делает ваш бот. Просто запустите npm установите prismarine-viewer и добавьте это к своему боту:

 const mineflayerViewer = require ('prismarine-viewer'). mineflayerbo  t.once ('spawn', () => {mineflayerViewer (bot, {port: 3007, firstPerson: true})}) 

И вы получите вид в реальном времени выглядит следующим образом:

Дополнительные примеры

пример описание
viewer отобразить вид мира вашего бота в браузере
pathfinder заставить вашего бота автоматически переходить в любое место
сундук Использовать сундуки , печи, раздатчики, столы чар
копатель Узнайте, как создать простого бота, способного копать блок
discord соединить бота Discord с ботом-минитером
прыгун Узнайте, как двигаться, прыгать, ездить на транспортных средствах, атаковать близлежащие объекты

И многое другое в папке примеров

Modules

Большая часть активной разработки h добавление внутри небольших пакетов npm, которые используются mineflayer.

The Node Way ™

«Когда приложения сделаны хорошо, они просто действительно специфические для конкретного приложения, солоноватые остатки, которые не так легко удалить. Все красивые, многоразовые компоненты сублимируются на github и npm, где каждый может сотрудничать, чтобы продвигать общественное достояние. «- подстек из» как я пишу модули «

Modules

Это основные модули, из которых состоит Mineflayer:

module description
minecraft-protocol Анализировать и сериализовать пакеты minecraft, а также аутентификацию и шифрование.
minecraft-data Независимый от языка модуль, предоставляющий данные minecraft для клиентов, серверов и библиотек minecraft.
prismarine-Physics Обеспечить физический движок для объектов minecraft
prismarine-chunk Класс для хранения данных фрагментов для Minecraft
node-vec3 Трехмерная векторная математика с надежными модульными тестами
prismarine-block Представляет блок minecraft со связанными с ним данными
prismarine-chat Парсер сообщения чата minecraft (извлеченный из mineflayer)
node-yggdrasil Библиотека Node.js для взаимодействия с системой аутентификации Mojang, известной как Yggdrasil
prismarine-world Основная реализация миров для призмарина
prismarine-windows Представляют окна minecraft
prismarine-item Представляют элемент minecraft со связанными с ним данными
prismarine-nbt Парсер NBT для протокола node-minecraft
прис морской рецепт Представьте рецепты minecraft
prismarine-biome Представьте биом minecraft с связанные с ним данные
prismarine-entity Представляют сущность minecraft

Отладка

Вы можете включить вывод отладки некоторых протоколов с помощью переменной среды DEBUG :

 DEBUG = узел "minecraft-protocol" [...] 

В Windows:

  установите DEBUG = minecraft  -protocolnode your_script.js  

Сторонние плагины

Mineflayer подключаемый; любой может создать плагин, который добавляет API еще более высокого уровня поверх Mineflayer.

Наиболее обновленными и полезными являются:

  • pathfinder — advanced A * поиск пути с множеством настраиваемых функций.
  • prismarine-viewer — простой веб-просмотрщик фрагментов
  • web-inventory — веб-просмотрщик инвентаря
  • Statemachine — API конечного автомата для более сложных действий ботов.
  • Armor Manager — автоматическое управление броней
  • Collect Block — Быстрый и простой API для сбора блоков.
  • Панель инструментов — Панель управления для бота-минитера.
  • PVP — Простой API для базового PVP и PVE.
  • auto-eat — Автоматическое поедание еды.
  • Tool — Утилита для автоматического выбора инструмента/оружия с высокоуровневым API.
  • Hawkeye — Утилита для использования автоматического прицеливания из луков.

Но также обратите внимание:

  • navigate — легко получить, используя поиск пути A *. Демо YouTube
  • radar — веб-интерфейс радара с использованием Canvas и socket.io. Демо YouTube
  • blockfinder — найдите блоки в трехмерном мире
  • scaffold — доберитесь до целевого пункта назначения, даже если для этого вам нужно построить или разбить блоки. Демо YouTube
  • auto-auth — аутентификация бота на основе чата
  • Bloodhound — определяет, кто и что несет ответственность за нанесение ущерба другому объекту
  • tps — получить текущие tps (обработанные tps)

Проекты с использованием Mineflayer

  • rom1504/rbot
    • YouTube — построение винтовой лестницы
    • YouTube — копирование здания
  • Darthfett/Helperbot
  • vogonistic/voxel — визуализируйте, что делает бот с помощью voxel.js.
  • JonnyD/Skynet — регистрируйте активность игрока в онлайн-API.
  • MinecraftChat (последний открытый исходная версия, созданная AlexKvazos) — клиент веб-чата Minecraft https://minecraftchat.net/
  • Cheese Bot — бот на основе плагина с чистым графическим интерфейсом. Сделано с помощью Node-Webkit. http://bot.ezcha.net/
  • Chaoscraft — бот Minecraft, использующий генетические алгоритмы, см. его видео на YouTube.
  • hexatester/minetelegram — Minecraft — Telegram bridge, build поверх mineflayer и telegraf.
  • ProZedd/mineflayer-printer — печатает схемы minecraft
  • и сотни других — все проекты, обнаруженные github, используют mineflayer

Тестирование

После первого клонирования проекта требуется некоторая настройка, но после этого их очень легко запустить.

Настройка

Для успешного выполнения всех тестов вы должны сначала:

  1. создать новую папку, в которой будут храниться jar-файлы сервера minecraft
  2. установить MC_SERVER_JAR_DIR в эту папку

Пример:

  1. mkdir server_jars
  2. export MC_SERVER_JAR_DIR =/full/path/to/server_jars

Где «/full /path/to/»- это полное имя пути.

Тестирование всего

Просто запустите: npm test

Тестирование конкретной версии

Выполните npm test -g , где — это версия minecraft, например 1.12 , 1.15.2

Тестирование конкретного теста

Запустить npm test -g , где — это имя теста, например кровать , useChests , rayTrace

Лицензия

MIT

Оцените статью
Gamicon.ru
Добавить комментарий