Perguntas Frequentes
Este documento de perguntas frequentes tem o objetivo de ajudar as pessoas com informações básicas.
Como ocultar erros?
Para ocultar erros, você pode adicionar a opção hideErrors: true
nas configurações ao criar o bot. Também é possível usar os seguintes eventos:
Meu evento de chat não está sendo emitido em um servidor personalizado. Como posso resolver isso?
Alguns servidores Spigot, em particular certos plugins, utilizam formatos personalizados de chat. Nesse caso, é necessário analisar esses formatos com expressões regulares personalizadas. Recomenda-se ler e modificar o arquivo chat_parsing.js para que funcione com o plugin de chat específico do seu servidor. Você também pode consultar http://prismarinejs.github.io/mineflayer/#/tutorial?id=custom-chat para obter mais informações.
Como posso coletar informações de um plugin de chat personalizado?
A maioria dos servidores de Minecraft possui plugins que enviam mensagens ao chat quando ocorrem eventos. Se a informação enviada for simples, você pode utilizar a solução mencionada anteriormente. No entanto, se as mensagens contêm muita informação em um único bloco de texto, outra opção é utilizar o evento "messagestr"
, que permite analisar as mensagens de forma mais fácil.
Exemplo:
Suponha que a mensagem seja semelhante a esta:
Como posso enviar um comando?
Usando bot.chat()
.
Exmemplo:
É possível criar vários bots e controlá-los separadamente?
Você pode criar bots diferentes com a função createBot
e executar ações diferentes para cada um deles. Dê uma olhada no arquivo multiple.js
para mais informações.
Como faço para o bot largar todo o seu inventário?
Você pode usar a função bot.inventory.items()
para obter uma matriz dos itens no inventário do bot. Você pode criar uma função recursiva para largar cada item usando bot.toss()
. Veja um exemplo aqui.
Como vejo os pacotes que foram enviados/recebidos?
Você pode ativar o modo de depuração. Para obter mais informações, consulte este link.
Quero evitar desconexões devido a lag no servidor, como posso fazer isso?
Uma maneira de evitar desconexões devido à latência no servidor é aumentar o valor na opção checkTimeoutInterval
(por exemplo, 300*1000
, que representa 5 minutos, em vez do valor padrão, que é 30 segundos). Se mesmo assim você continuar sendo desconectado do servidor, você pode se reconectar automaticamente usando este exemplo aqui.
Como posso obter a descrição/texto de um item?
Você pode usar a propriedade item.nbt
. É recomendável utilizar a biblioteca prismarine-nbt
. O método nbt.simplify()
pode ser útil para simplificar a obtenção da descrição de um item.
Exemplo:
Como posso enviar uma mensagem do console para o servidor?
Você pode usar uma biblioteca como repl
para ler o que você escreve no console e usar bot.chat()
para enviá-lo para o servidor. Você pode encontrar um exemplo aqui.
Ao criar um plugin, como posso especificar outro plugin como dependência?
Na função inject()
do seu plugin, você pode executar a função bot.loadPlugin()
para carregar esse plugin. Se o plugin já estiver carregado anteriormente, nada acontecerá.
Nota: a ordem em que os plugins são carregados é dinâmica; você nunca deve chamar outro plugin em sua função inject()
.
Como posso usar um proxy SOCKS5?
Nas opções de mineflayer.createBot(opções)
, remova o seu host
das opções e coloque as informações necessárias nas variáveis PROXY_IP
, PROXY_PORT
, PROXY_USERNAME
, PROXY_PASSWORD
, MC_SERVER_IP
e MC_SERVER_PORT
. Em seguida, adicione o seguinte ao seu objeto de opções:
Erros Comuns
UnhandledPromiseRejectionWarning: Error: Failed to read asymmetric key
Isso ocorre quando você fornece uma versão incorreta ao mineflayer, ou o mineflayer detecta a versão errada.
TypeError: Cannot read property '?' of undefined
Você pode estar tentando acessar uma propriedade do bot que ainda não existe; tente acessar a propriedade após o evento spawn
.
SyntaxError: Unexpected token '?'
Atualize a versão do seu Node.js.
O bot não consegue quebrar/colocar blocos ou abrir baús
Verifique se a proteção do spawn não está impedindo o bot de realizar a ação.
Esta documentação não é oficial. Para as informações mais atualizadas, consulte a documentação original: FAQ.