Skip to content

Latest commit

 

History

History
245 lines (179 loc) · 14.3 KB

README_BR.md

File metadata and controls

245 lines (179 loc) · 14.3 KB

Mineflayer

NPM version Build Status Discord Gitter Irc

Try it on gitpod

EN English RU русский ES Español FR Français TR Türkçe ZH 中文 BR Português

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

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

tutorial 1 tutorial 2 tutorial 3 tutorial 4

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

const mineflayer = require('mineflayer')

const bot = mineflayer.createBot({
  host: 'localhost', // IP do servidor de Minecraft
  username: '[email protected]', // Nome de usuário da conta, e-mail se for premium
  password: '12345678' // Senha para servidores premium
  // port: 25565, // Altere apenas se for um servidor que não usa a porta padrão (25565)
  // version: false, // Altere apenas se for necessário uma versão específica
  // auth: 'mojang', // Altere apenas se você tiver uma conta Microsoft (nesse caso, seria auth: 'microsoft')
})

bot.on('chat', (username, message) => {
  if (username === bot.username) return
  bot.chat(message)
})

// Imprimir erros e o motivo do kick se você for expulso:
bot.on('kicked', (reason, loggedIn) => console.log(reason, loggedIn))
bot.on('error', err => console.log(err))

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:

const { mineflayer: mineflayerViewer } = require('prismarine-viewer')
bot.once('spawn', () => {
  mineflayerViewer(bot, { port: 3007, firstPerson: true }) // a porta é onde o plug-in será hospedado no navegador, e firstPerson é para escolher se você deseja a visualização em primeira pessoa ou não
})

E você poderá ver uma representação ao vivo como esta:

viewer

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:

DEBUG="minecraft-protocol" node [...]

No Windows:

set DEBUG=minecraft-protocol
node seu_arquivo.js

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

Testes

Executar Todos os Testes

Basta executar:

npm test

Executar Testes para uma Versão Específica do Minecraft

Execute

npm test -- -g <versão>

onde <versão> é uma versão do Minecraft, como 1.12, 1.15.2...

Executar um Teste Específico

Execute

npm test -- -g <nome_do_teste>

onde <nome_do_teste> é o nome do teste que você deseja executar, como bed, useChests, rayTrace...

Licença

MIT

Esta documentação não é oficialmente mantida. Para ver as últimas atualizações, consulte a documentação original: unstable_api