Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PrismarineJS
GitHub Repository: PrismarineJS/mineflayer
Path: blob/master/docs/br/README_BR.md
1467 views

Mineflayer

NPM version Build Status Discord Gitter Irc

Try it on gitpod

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

LinkDescrição
tutorialComece com o Node.js e o Mineflayer
FAQ_BR.mdAlguma dúvida? Confira isso
api_br.md unstable_api_br.mdToda a documentação da API
history.mdHistó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

ExemploDescrição
viewerVisualize o que seu bot vê no jogo
pathfinderFaça seu bot se locomover automaticamente para qualquer localização
chestAprenda a usar baús, fornos, dispensadores e mesas de encantamento
diggerAprenda como criar um bot que pode quebrar blocos
discordConecte um bot Discord com um bot Mineflayer
jumperAprenda a se mover, pular, usar veículos e atacar entidades próximas
ansiExibe todas as mensagens do chat no console com suas cores correspondentes
guardCrie um bot que defenda uma área predefinida de mobs
multiple-from-fileUse 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óduloDescrição
minecraft-protocolAnalisa e cria pacotes do Minecraft, autenticação e criptografia.
minecraft-dataMódulo independente de linguagem que fornece dados do Minecraft para clientes, servidores e bibliotecas.
prismarine-physicsMotor de física para entidades do Minecraft
prismarine-chunkRepresenta um pedaço do Minecraft
node-vec3Usa vetores 3D com testes sólidos
prismarine-blockRepresenta um bloco e suas informações associadas no Minecraft
prismarine-chatAnalisador de mensagens de chat do Minecraft (retirado do Mineflayer)
node-yggdrasilBiblioteca Node.js para interagir com o sistema de autenticação da Mojang conhecido como Yggdrasil.
prismarine-worldImplementação principal dos mundos do Minecraft para o Prismarine
prismarine-windowsRepresenta as interfaces do Minecraft
prismarine-itemRepresenta um item e suas informações associadas no Minecraft
prismarine-nbtAnalisador de NBT para node-minecraft-protocol
prismarine-recipeRepresenta receitas de crafting do Minecraft
prismarine-biomeRepresenta um bioma e suas informações associadas no Minecraft
prismarine-entityRepresenta 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