Mineflayer
Crie bots para o Minecraft com uma API JavaScript poderosa, estável e de alto nível.
Primeira vez usando o Node.js? Você pode querer começar com o tutorial tutorial
Recursos
Suporta Minecraft 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15, 1.16, 1.17, 1.18, 1.19 e 1.20.
Conhecimento e rastreamento de entidades.
Conhecimento de blocos. Você pode consultar o mundo ao seu redor em milissegundos para encontrar qualquer bloco.
Física e movimento - lida com todas as caixas delimitadoras.
Ataque a entidades e uso de veículos.
Gerenciamento de inventário.
Criação, baús, dispensadores, mesas de encantamento.
Escavação e construção.
Diversas funcionalidades, como saber sua saúde e se está chovendo.
Ativação de blocos e uso de itens.
Chat.
Planos para o Futuro
Dê uma olhada em nossos projetos atuais
Instalação
Primeiro, instale o Node.js >= 18 a partir do nodejs.org
npm install mineflayer
Documentação
Link | Descrição |
---|---|
tutorial | Comece com o Node.js e o Mineflayer |
FAQ_BR.md | Alguma dúvida? Confira isso |
api_br.md unstable_api_br.md | Toda a documentação da API |
history.md | Histórico de mudanças do Mineflayer |
examples/ | Todos os exemplos do Mineflayer |
Contribuições
Por favor, leia CONTRIBUTING_BR.md e prismarine-contribute
Uso
Vídeos
Você pode encontrar um tutorial que explica o processo de começar um bot aqui (em inglês).
Se você quiser aprender mais, pode verificar aqui, os códigos usados nos vídeos aqui
Começando
Se não for especificada uma versão, a versão do servidor será detectada automaticamente. Se nenhuma forma de autenticação for especificada, o login da Mojang será usado automaticamente.
Exemplo: echo
Veja o que o seu bot faz
Graças ao projeto prismarine-viewer, você pode visualizar em uma guia do seu navegador o que o seu bot está fazendo.
Tudo o que você precisa fazer é executar npm install prismarine-viewer
e adicionar o seguinte ao seu bot:
E você poderá ver uma representação ao vivo como esta:
Exemplos Ruins
Exemplo | Descrição |
---|---|
viewer | Visualize o que seu bot vê no jogo |
pathfinder | Faça seu bot se locomover automaticamente para qualquer localização |
chest | Aprenda a usar baús, fornos, dispensadores e mesas de encantamento |
digger | Aprenda como criar um bot que pode quebrar blocos |
discord | Conecte um bot Discord com um bot Mineflayer |
jumper | Aprenda a se mover, pular, usar veículos e atacar entidades próximas |
ansi | Exibe todas as mensagens do chat no console com suas cores correspondentes |
guard | Crie um bot que defenda uma área predefinida de mobs |
multiple-from-file | Use um arquivo de texto com contas para criar bots |
Mais exemplos na pasta de exemplos
Módulos
A maioria do desenvolvimento está ocorrendo em pequenos módulos npm que são usados pelo Mineflayer.
O Caminho do Node™
"Quando os aplicativos são bem feitos, eles são apenas o resíduo realmente específico da aplicação que não pode ser tão facilmente abstraído. Todos os componentes legais e reutilizáveis sublimam no GitHub e no npm, onde todos podem colaborar para avançar a comunidade." — substack de "como eu escrevo módulos"
Módulos
Estes são os principais módulos que compõem o Mineflayer:
Módulo | Descrição |
---|---|
minecraft-protocol | Analisa e cria pacotes do Minecraft, autenticação e criptografia. |
minecraft-data | Módulo independente de linguagem que fornece dados do Minecraft para clientes, servidores e bibliotecas. |
prismarine-physics | Motor de física para entidades do Minecraft |
prismarine-chunk | Representa um pedaço do Minecraft |
node-vec3 | Usa vetores 3D com testes sólidos |
prismarine-block | Representa um bloco e suas informações associadas no Minecraft |
prismarine-chat | Analisador de mensagens de chat do Minecraft (retirado do Mineflayer) |
node-yggdrasil | Biblioteca Node.js para interagir com o sistema de autenticação da Mojang conhecido como Yggdrasil. |
prismarine-world | Implementação principal dos mundos do Minecraft para o Prismarine |
prismarine-windows | Representa as interfaces do Minecraft |
prismarine-item | Representa um item e suas informações associadas no Minecraft |
prismarine-nbt | Analisador de NBT para node-minecraft-protocol |
prismarine-recipe | Representa receitas de crafting do Minecraft |
prismarine-biome | Representa um bioma e suas informações associadas no Minecraft |
prismarine-entity | Representa uma entidade e suas informações associadas no Minecraft |
Depuração
Você pode habilitar a depuração do protocolo usando a variável de ambiente DEBUG
:
No Windows:
Plugins de Terceiros
Mineflayer tem a capacidade de instalar plugins; qualquer pessoa pode criar um plugin que adiciona uma API de alto nível ao Mineflayer.
Os mais atualizados e úteis são:
pathfinder - algoritmo de busca A* avançado com muitos recursos configuráveis
prismarine-viewer - visualizador de chunks na web
web-inventory - visualizador de inventário na web
statemachine - API para comportamentos mais complexos
Armor Manager - gerenciamento automático de armaduras
Collect Block - API rápida e simples para coletar blocos.
Dashboard - Painel de controle para um bot do Mineflayer
PVP - API simples para PVP e PVE.
auto-eat - Plugin para comer automaticamente.
Tool - Plugin com uma API de alto nível para selecionar automaticamente a melhor arma/ferramenta.
Hawkeye - Plugin para mirar automaticamente com arcos.
Mas também dê uma olhada em:
radar - interface de radar na web usando canvas e socket.io Demo no Youtube
blockfinder - encontra blocos no mundo tridimensional
scaffold - ir para um destino específico mesmo que seja necessário construir ou quebrar blocos para alcançá-lo Demo no Youtube
auto-auth - autenticação automática por chat
Bloodhound - determina quem e/ou o que é responsável por causar dano a outra entidade
tps - obter o tps atual (tps processado)
panorama - tirar imagens panorâmicas do seu mundo
Projetos que Usam o Mineflayer
vogonistic/voxel - visualiza o que o bot está fazendo usando voxel.js
JonnyD/Skynet - registra a atividade de um jogador em uma API online
MinecraftChat (última versão de código aberto, criada por AlexKvazos) - Interface de chat na web para o Minecraft https://minecraftchat.net/
Cheese Bot - bot com uma interface limpa. Feito com Node-Webkit. http://bot.ezcha.net/
Chaoscraft - bot de Minecraft que usa algoritmos genéticos, veja seus vídeos no YouTube
hexatester/minetelegram - ponte para o Telegram, feita com Mineflayer e Telegraf.
e centenas mais - todos os projetos que usam o Mineflayer e foram detectados pelo GitHub.
Testes
Executar Todos os Testes
Basta executar:
Executar Testes para uma Versão Específica do Minecraft
Execute
onde <versão>
é uma versão do Minecraft, como 1.12
, 1.15.2
...
Executar um Teste Específico
Execute
onde <nome_do_teste>
é o nome do teste que você deseja executar, como bed
, useChests
, rayTrace
...
Licença
Esta documentação não é oficialmente mantida. Para ver as últimas atualizações, consulte a documentação original: unstable_api