🇺🇸 Английский | 🇷🇺 русский | 🇪🇸 испанский |
---|
Создавайте ботов Minecraft с помощью мощного, стабильного и высокоуровневого JavaScript API.
Впервые используете node.js? Вы можете начать с учебника
- Features
- Дорожная карта
- Установка
- Documentation
- Contribute
- Использование
- Пример эха
- Посмотрите, что делает ваш бот
- Дополнительные примеры
- Modules
- The Node Way ™
- Modules
- Отладка
- Сторонние плагины
- Проекты с использованием Mineflayer
- Тестирование
- Настройка
- Тестирование всего
- Тестирование конкретной версии
- Тестирование конкретного теста
- Лицензия
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
Тестирование
После первого клонирования проекта требуется некоторая настройка, но после этого их очень легко запустить.
Настройка
Для успешного выполнения всех тестов вы должны сначала:
- создать новую папку, в которой будут храниться jar-файлы сервера minecraft
- установить MC_SERVER_JAR_DIR в эту папку
Пример:
-
mkdir server_jars
-
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