Os datapacks (pacotes de dados) expandem o Minecraft com funções, receitas, conquistas ou uma nova geração de mundo, e os resourcepacks fornecem texturas e sons. Ambos dependem de um formato de dados que muda em quase todas as versões do Minecraft. Se um pack não for compatível com a versão do teu servidor ou se um ficheiro dentro dele estiver danificado, o servidor escreve uma mensagem no log. Na maioria dos casos, ignora apenas a entrada afetada; num caso, interrompe o arranque.
Cada secção abaixo trata de uma destas mensagens. Encontras a mensagem completa, com as linhas que se seguem, na Consola ou em Ficheiros, em logs/latest.log. A parte antes dos dois pontos em nomes como <pack>:<entrada> chama-se espaço de nomes e revela quase sempre de que pack ou mod vem o erro. Antes de qualquer intervenção na pasta do mundo ou em ficheiros de packs, cria uma cópia de segurança em Cópias de segurança.
O servidor não arranca: não é possível carregar um datapack
Assim é a mensagem:
Failed to load datapacks, can't proceed with server load. You can either fix your datapacks or reset to vanilla with --safeMode
java.util.concurrent.ExecutionException: java.lang.IllegalStateException: <Motivo>
O que está por trás: o Minecraft interrompe o arranque porque pelo menos um datapack não pôde ser carregado. O servidor fica desligado até isto ser resolvido. Na maioria dos casos, o pack foi criado para uma versão mais antiga ou mais recente do Minecraft, ou um ficheiro dentro dele está danificado. A linha abaixo indica o motivo; Overworld settings missing, por exemplo, aponta para um pack que altera a geração do mundo.
Como resolver:
- Em Cópias de segurança, cria uma cópia de segurança.
- Em Ficheiros, abre a pasta do mundo (por predefinição
world) e, dentro dela, a pastadatapacks. - Remove o último pack adicionado. Se o quiseres manter, descarrega-o primeiro.
- Reinicia o servidor. Se voltar a funcionar, instala novamente o pack numa versão adequada à tua versão do Minecraft.
- Se não souberes qual é o pack responsável, retira os packs um a um e reinicia sempre que o fizeres.
Bom saber: não precisas do parâmetro de arranque --safeMode indicado na mensagem. Se removeres um pack que altera a geração do mundo, os novos chunks voltam a ser criados segundo as regras normais; no limite com os chunks antigos costuma notar-se uma aresta. Depois de uma mudança de versão, ajuda o guia Mudar a versão do Minecraft e o modloader em segurança.
A função de um datapack contém um comando desconhecido
Assim é a mensagem:
Failed to load function <pack>:<caminho>
java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: Whilst parsing command on line 4: Unknown or incomplete command, see below for error at position 0: <--[HERE]
O que está por trás: os datapacks controlam os seus processos através de funções: ficheiros de texto com a extensão .mcfunction, onde estão escritos comandos. Num desses ficheiros há um comando que a tua versão do Minecraft não conhece ou espera de outra forma; na maioria dos casos, o pack foi criado para outra versão. Só essa função falha e o servidor continua a funcionar; as partes do pack que dependem dela não funcionam.
Como resolver:
- Lê a primeira linha: antes dos dois pontos está o namespace do pack e depois o caminho da função.
line 4indica a linha eposition 0a posição nela; em 0, o próprio nome do comando já é desconhecido. - Substitui o pack na pasta
datapacksdo teu mundo pela versão adequada à tua versão do Minecraft. - No caso de packs próprios, abre
data/<pack>/function/<caminho>.mcfunction(em packs mais antigos a pasta chama-sefunctions) e corrige a linha indicada. - Reinicia o servidor ou introduz
reloadna Consola. No Paper e no Spigot, oreloadvolta a carregar todos os plugins; usa aíminecraft:reload.
Bom saber: alguns packs contêm funções para mods opcionais, cujos comandos são desconhecidos sem o mod. Se a mensagem disser respeito apenas a essas partes adicionais, podes ignorá-la.
O pack foi criado para outra versão do Minecraft
Assim é a mensagem:
Couldn't load file/<Pack>.zip pack metadata: Pack declares support for version newer than <Número>, but is missing mandatory fields min_format and max_format
Couldn't load file/<Pack>.zip pack metadata: Pack declares support for format <Número>, but game versions supporting formats …
O que está por trás: cada datapack e resourcepack tem, na sua pasta principal, o ficheiro pack.mcmeta. Nele consta, como número, o formato do pack para o qual foi criado, e cada versão do Minecraft só suporta determinados formatos. Se um pack indicar que foi criado para formatos mais recentes, o servidor exige também os campos min_format e max_format. Se faltarem ou se o número não corresponder, o servidor não carrega o pack. Continua a funcionar, mas sem esse pack.
Como resolver:
- O nome do ficheiro a seguir a
file/mostra qual é o pack afetado. - Em Versão, verifica que versão do Minecraft o teu servidor tem.
- Na página do pack, descarrega a versão exatamente para essa versão, substitui com ela o ficheiro antigo na pasta
datapacksdo teu mundo e reinicia. - No caso de packs próprios, indica em
pack.mcmetaopack_formatadequado à tua versão e, em versões mais recentes, tambémmin_formatemax_format. Os números de cada versão constam na wiki do Minecraft.
Bom saber: as indicações de versão no nome do ficheiro só dizem para que o autor pensou o pack. O que conta é o que está em pack.mcmeta.
A tag de um datapack refere entradas que não existem
Assim é a mensagem:
Couldn't load tag minecraft:load as it is missing following references: <pack>:tick (from file/<Pack>.zip)
Couldn't load tag <namespace>:<tag> as it is missing following references: <mod>:<entrada> (from <mod>.jar)
O que está por trás: uma tag é uma lista com nome. minecraft:load e minecraft:tick listam funções que são executadas ao carregar e continuamente, respetivamente; outras tags agrupam blocos, objetos ou criaturas. Aqui, uma tag indica entradas que não puderam ser carregadas. Na maioria dos casos, a própria função associada tem um erro, ou falta outro pack ou um mod. Entre parênteses consta a origem da tag. O Minecraft omite então a tag inteira, também para outros packs que a utilizem; no caso de minecraft:load ou minecraft:tick, os respetivos processos não arrancam.
Como resolver:
- Resolve primeiro as mensagens „Failed to load function“ do mesmo pack. Muitas vezes, esta mensagem desaparece também.
- Se a entrada em falta pertencer a outro pack ou mod, instala-o na versão adequada à tua versão do Minecraft.
- Se faltarem até entradas com
minecraft:à frente, o pack foi quase sempre criado para outra versão. Substitui-o pela versão adequada. - Reinicia ou volta a carregar os datapacks (
reload, no Paper e no Spigotminecraft:reload).
Bom saber: se entre parênteses constar um ficheiro .jar, a tag vem de um mod: Erros de mods em servidores Forge, NeoForge e Fabric.
Uma receita ou outro ficheiro de datapack não corresponde ao formato de dados
Assim é a mensagem:
Couldn't parse data file '<pack>:<nome>' from '<pack>:recipe/<nome>.json': DataResult.Error['List is too short: 0, expected range [1-9]']
O que está por trás: os datapacks descrevem receitas, conquistas (advancements), predicados e tabelas de saque (loot tables) em ficheiros JSON. O JSON é um formato de texto composto por chavetas, nomes de campos e valores. O ficheiro indicado é JSON válido, mas utiliza campos ou referências que a tua versão do Minecraft não conhece. O Minecraft ignora essa entrada. Uma receita afetada não pode então ser fabricada, e o servidor continua a funcionar normalmente.
Como resolver:
- A parte a seguir a
frommostra o pack e o ficheiro; o texto emDataResult.Error[…]diz o que não corresponde.List is too short: 0significa, por exemplo: uma lista está vazia, apesar de se esperarem entradas. - Descarrega a versão do datapack adequada à tua versão do Minecraft e substitui a antiga na pasta
datapacksdo teu mundo. - No caso de packs próprios, ajusta o ficheiro ao formato atual. A wiki do Minecraft descreve como cada tipo de ficheiro está estruturado.
- Reinicia o servidor.
Bom saber: Not a string: {"item":"minecraft:tnt"} significa que o ficheiro utiliza um formato de receita mais antigo. Esta versão espera aí apenas o nome como texto, ou seja, "minecraft:tnt".
Uma entrada de um datapack ou mod não é legível
Assim é a mensagem:
Couldn't read tag list <namespace>:<tag> from <namespace>:tags/block/<tag>.json in data pack mod/<mod>
java.lang.IllegalStateException: Failed to parse either. First: Not a string: null; Second: Not a JSON object: null
O que está por trás: para algumas entradas, o Minecraft aceita duas formas de escrita. „Failed to parse either“ significa: o conteúdo não corresponde a nenhuma das duas; depois de First e Second consta o motivo da falha em cada uma. Na maioria dos casos, a entrada provém de um mod criado para outra versão do Minecraft ou de um datapack danificado. O grupo afetado, por exemplo uma lista de blocos ou de objetos, fica vazio. Isto pode afetar receitas ou a geração do mundo.
Como resolver:
- Descobre a origem:
in data pack mod/<mod>indica um mod efile/<Pack>.zipum datapack. O namespace antes dos dois pontos também ajuda. - Em Mods ou na pasta
datapacksdo teu mundo, verifica se todos os mods e datapacks são compatíveis com a tua versão do Minecraft. - Atualiza o último mod ou o último pack que adicionaste.
- Se a mensagem surgiu logo depois de instalares um datapack, retira-o a título de teste e reinicia.
Bom saber: se a mensagem disser respeito a um mod, ajudam as secções do artigo Erros de mods em servidores Forge, NeoForge e Fabric.
Faltam progressos (advancements) de um datapack
Assim aparece a mensagem:
Couldn't load advancements: [<pack>:<progress>, <pack>:<progress>]
O que está por trás: Os advancements são os progressos que os jogadores desbloqueiam no jogo. O Minecraft não conseguiu resolver as entradas indicadas ao carregar os datapacks, por exemplo porque remetem para algo que não existe nesta versão. Muitos datapacks e mods também usam progressos de forma invisível como gatilho, por exemplo para detetar que um jogador encontrou uma estrutura. Essas funções deixam então de funcionar. O servidor continua a funcionar.
Como resolver:
- O espaço de nomes antes dos dois pontos indica que datapack ou mod fornece os progressos.
- Atualiza esse pack ou mod para a versão correspondente à tua versão do Minecraft. Se não precisares dele, remove-o.
- Reinicia o servidor ou volta a carregar os datapacks (
reload, no Paper e no Spigotminecraft:reload). - Se a mensagem continuar a aparecer, lê as linhas anteriores em
logs/latest.log. Aí o servidor indica muitas vezes que parte de uma entrada não está correta.
Bom saber: Mesmo que o espaço de nomes seja minecraft, a origem pode ser um datapack. Os packs podem criar entradas próprias sob esse nome.
O predicado do datapack tem o formato errado
Assim aparece a mensagem:
Couldn't parse element predicates:<pack>:<name> - Not a json array: {"condition":"minecraft:any_of","terms":[…]}
O que está por trás: Um predicado é uma condição guardada que um datapack verifica, por exemplo se um jogador tem determinada pontuação. Os comandos e as tabelas de saque recorrem a ele. A tua versão do Minecraft espera neste ponto uma lista entre parênteses retos [ … ], mas o pack fornece um único objeto entre chavetas { … }. Por isso, o Minecraft não carrega o predicado. Tudo o que depende dele no pack comporta-se de forma errada ou não funciona. O servidor em si continua a funcionar.
Como resolver:
- O nome a seguir a
predicates:indica o pack e o predicado. - Descarrega a versão do datapack para a tua versão do Minecraft e substitui a antiga na pasta
datapacksdo teu mundo. - No caso de packs próprios, abre
data/<pack>/predicate/<name>.json(em packs mais antigos a pasta chama-sepredicates) e coloca o ficheiro no formato atual, tal como descrito na wiki do Minecraft. - Reinicia ou volta a carregar os datapacks.
O texto de aviso do resource pack do servidor está mal formatado
Assim aparece a mensagem:
Failed to parse resource pack prompt '<Hint>'
com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.setStrictness(Strictness.LENIENT) to accept malformed JSON at line 1 column 1 path $
O que está por trás: Com resource-pack-prompt em server.properties defines o texto que os jogadores veem quando o servidor lhes oferece um resource pack. O Minecraft espera aí um componente de texto em formato JSON, não uma frase simples. Se o servidor não conseguir ler o valor, omite o aviso. O servidor continua a funcionar normalmente, apenas o teu texto de aviso não aparece.
Como resolver:
- Em Ficheiros, abre o ficheiro
server.propertiesna pasta principal do servidor. - Escreve o valor como texto JSON, por exemplo
resource-pack-prompt={"text":"<Hint>"}. - Se não precisares de um aviso próprio, deixa o valor depois do sinal de igual vazio.
- Guarda o ficheiro e reinicia o servidor.
Bom saber: Os restantes valores do ficheiro são explicados em Configurar o server.properties do Minecraft.
O ficheiro pack.mcmeta de um pack está com erros
Assim aparece a mensagem:
Couldn't load file/<Pack>.zip pack metadata: com.google.gson.stream.MalformedJsonException: <Details>
O que está por trás: O pack.mcmeta é o ficheiro de identificação de cada pack e encontra-se na sua pasta de topo. Aqui não é um JSON válido: falta, por exemplo, uma vírgula, umas aspas ou um parêntese. Por isso, o Minecraft não consegue classificar o pack e não o carrega. O servidor continua a funcionar sem o pack.
Como resolver:
- O mais simples é descarregares de novo o pack a partir da página oficial e substituíres o ficheiro na pasta
datapacksdo teu mundo. - No caso de packs próprios, abre o
pack.mcmeta. Se o pack estiver num arquivo ZIP, descarrega-o, corrige o ficheiro no teu computador e volta a carregar o arquivo. - Verifica o conteúdo com um validador de JSON, ou seja, uma página web ou um editor que assinale erros de sintaxe, e corrige o ponto assinalado. A mensagem indica muitas vezes a linha e a coluna.
- Reinicia o servidor.
Bom saber: Os erros típicos são uma vírgula a seguir à última entrada, aspas tipográficas em vez de aspas retas e um parêntese de fecho em falta.
A receita refere um item que não existe
Assim aparece a mensagem:
Expected item to be an item, was unknown string '<mod>:<item>'
O que está por trás: Uma receita refere um item que não existe no servidor. Quase sempre falta o mod que traz esse item, ou está numa versão em que o item tem outro nome. Apenas a receita afetada é ignorada. O servidor arranca normalmente, mas essa receita não pode ser fabricada no jogo.
Como resolver:
- Lê o nome entre aspas. Antes dos dois pontos está o mod responsável: em
horsepower:flourtrata-se do mod "horsepower". - Verifica em Mods se esse mod está instalado.
- Se estiver instalado, compara a versão dele com a que o teu modpack prevê e ajusta-a.
- Reinicia o servidor e verifica se a mensagem deixa de aparecer.
Bom saber: Se o mod falta de propósito, por exemplo porque o removeste do modpack, podes ignorar a mensagem. Nesse caso falta apenas essa receita. Como combinar mods e modpack, mostra-o Configurar corretamente mods e modpacks do Minecraft.
A receita usa um tipo de processamento desconhecido
Assim aparece a mensagem:
com.google.gson.JsonSyntaxException: Unknown recipe '<mod>:<recipe-type>'
O que está por trás: Muitos mods trazem tipos de receita próprios, por exemplo para um moinho ou uma prensa. Aqui, uma receita usa um tipo de processamento que o servidor não conhece. O mod que o define falta ou é demasiado antigo. A receita é ignorada e o servidor continua a funcionar.
Como resolver:
- O nome antes dos dois pontos indica o mod responsável.
- Instala-o em Mods ou atualiza-o para uma versão compatível com o teu modpack.
- Se a receita vier de um datapack que adicionaste tu mesmo, remove aí a receita ou retira o pack inteiro da pasta
datapacksdo teu mundo. - Reinicia o servidor.
Bom saber: Se faltar um mod por completo, a mensagem aparece muitas vezes seguidas com o mesmo nome antes dos dois pontos. Nesse caso, basta instalar esse mod. Se ele falta de propósito, faltam apenas as receitas que usam o seu tipo de processamento.
Ficheiro JSON vazio nos dados de mods ou datapacks
Este é o aspeto da mensagem:
com.google.gson.JsonParseException: java.io.EOFException: End of input at line 1 column 1 path $
O que está por trás disto: Ao carregar os dados do jogo, ou seja, receitas, tabelas de saque, tags e semelhantes, o Minecraft encontrou um ficheiro JSON vazio. «End of input at line 1 column 1» significa: o ficheiro termina antes de aparecer o primeiro carácter. Muitas vezes provém de um mod, de um datapack ou de um carregamento incompleto ou danificado. A entrada afetada é ignorada e o servidor continua a funcionar.
Como resolver:
- Na Consola ou em
logs/latest.log, lê as linhas imediatamente antes e depois. Normalmente aí indica-se qual é o ficheiro ou o mod afetado. - Se o ficheiro estiver num datapack teu, substitui-o por uma versão completa ou remove-o.
- Se pertencer a um mod ou a um datapack transferido, transfere-o de novo e volta a carregá-lo. Garante que o carregamento é concluído por completo.
- Reinicia o servidor.
Bom saber: Para muitos ficheiros ou ficheiros grandes, um programa SFTP costuma ser mais cómodo do que o carregamento pelo navegador: Editar ficheiros do servidor no painel e ligar por SFTP.
O arquivo do resource pack tem uma estrutura inválida
Este é o aspeto da mensagem:
<Pack> does not contain a valid pack_manifest.json or manifest.json
The resource pack <Pack> is invalid and failed to load
O que está por trás disto: Não foi possível carregar o resource pack. Isto afeta sobretudo packs Bedrock: precisam de um ficheiro manifest.json ou pack_manifest.json que descreva o pack. O motivo mais comum é um nível de pasta adicional, em que o arquivo contém primeiro uma pasta e o ficheiro só se encontra dentro dela. Um arquivo danificado ou um formato de pack inadequado também originam esta mensagem. O pack fica então em falta, mas o servidor continua a funcionar.
Como resolver:
- Lê a mensagem de detalhe nas linhas em redor desta mensagem; ela indica o motivo exato.
- Abre o arquivo no teu computador. O
manifest.jsonoupack_manifest.jsontem de estar diretamente no nível mais alto, não numa subpasta. - Se o ficheiro estiver numa subpasta, volta a compactar o conteúdo dessa pasta num arquivo ZIP e carrega-o novamente.
- Se o arquivo estiver danificado, transfere o pack de novo. Um resource pack Java com
pack.mcmetaem vez de manifesto não serve aqui; tem de ser recriado no formato Bedrock. - Reinicia o servidor.
Bom saber: Outras mensagens do Bedrock são explicadas em Servidor Bedrock e Geyser: mensagens no registo.
O bloco Jigsaw indica um bloco de substituição desconhecido
Este é o aspeto da mensagem:
Failed to parse jigsaw replacement state '<Block>' at BlockPos{x=<x>, y=<y>, z=<z>}
O que está por trás disto: Os blocos Jigsaw são blocos técnicos com os quais as estruturas são montadas a partir de peças individuais. Cada bloco Jigsaw define por que bloco será substituído depois da montagem. Aqui, esse bloco de substituição é desconhecido, normalmente devido a um erro de escrita como minecrat: em vez de minecraft:. Ao gerar, o bloco fica vazio nesse ponto. O servidor continua a funcionar, a estrutura apenas tem uma falha.
Como resolver:
- Anota a posição de
BlockPos{…}: x, y e z. - Vai para lá com permissões de OP em modo criativo, por exemplo com
/tp <x> <y> <z>. - Abre o bloco Jigsaw com o botão direito do rato e corrige o nome no campo do bloco de substituição (no cliente em inglês, «Turns into»).
- Se a estrutura vier de um datapack ou de um mod, o erro está no ficheiro de estrutura respetivo. Nesse caso, ajuda uma versão corrigida do pack ou do mod; comunica o erro ao autor.
Bom saber: A mensagem é inofensiva para o funcionamento. Afeta apenas o aspeto da estrutura nesse único ponto. Como atribuir permissões de OP está explicado em Permissões de OP e comandos no servidor de Minecraft.
A tua mensagem não está aqui?
Lê a mensagem completa na Consola ou em logs/latest.log, incluindo as linhas imediatamente anteriores; muitas vezes indicam qual o pack que estava a ser carregado. O espaço de nomes antes dos dois pontos e indicações como file/<Pack>.zip ou mod/<mod> mostram a origem. Se se seguir um stacktrace, ou seja, linhas indentadas com at …, os nomes das pastas e dos pacotes aí presentes revelam o mod ou o plugin envolvido. Antes de alterares ficheiros do mundo ou de packs, cria uma cópia de segurança em Cópias de segurança. Se não conseguires avançar, abre um ticket e indica a hora da mensagem.