Um addon de Bedrock é um zip, e o manifest é o motivo da falha
A maioria das importações de .mcaddon rejeitadas é um zip válido com uma linha errada no cabeçalho, e a mensagem de erro nunca diz qual campo quebrou tudo.
Um .mcaddon é um arquivo zip com uma extensão diferente, e o jogo o rejeita por motivos que não têm nada a ver com o zip. O culpado de sempre é o manifest.json — um arquivo pequeno com um cabeçalho cujos dois UUIDs precisam ser distintos e cujo format_version não é a versão do jogo que você está usando como alvo.
Dois UUIDs, nunca o mesmo
Um manifest carrega um header e um array modules. Cada um precisa do seu próprio uuid, e reutilizar o mesmo nos dois é a rejeição mais comum de todas:
{
"format_version": 2,
"header": {
"name": "My Pack",
"description": "Example",
"uuid": "aaaaaaaa-0000-0000-0000-000000000000",
"version": [1, 0, 0],
"min_engine_version": [1, 21, 0]
},
"modules": [
{
"type": "data",
"uuid": "bbbbbbbb-0000-0000-0000-000000000001",
"version": [1, 0, 0]
}
]
}
UUIDs são valores de 128 bits escritos como 32 dígitos hexadecimais em cinco grupos separados por hífen. Qualquer gerador serve; duplicar, não. version e min_engine_version são arrays de três inteiros, não strings — "1.0.0" falha silenciosamente em algumas builds.
Java não tem manifest nenhum
É essa a diferença que derruba quem transita entre as edições. Um pacote de recursos de Java traz um pack.mcmeta com um inteiro pack_format. O Bedrock traz manifest.json com UUIDs e uma lista de módulos. Nenhum dos dois arquivos é lido pela outra edição, e um pacote não pode ser portado apenas renomeando o arquivo.
Confira antes de importar
Descompacte o arquivo e olhe o nível superior. Um pacote aninhado uma pasta abaixo — MyPack/manifest.json em vez de manifest.json — é importado como nada, sem erro algum. O manifest precisa ficar ao lado do conteúdo textures/ ou behavior_packs/ que ele descreve.
Modelos de bloco são um formato à parte
Um JSON de modelo de bloco do Java não é um arquivo de geometria do Bedrock, e os dois não são intercambiáveis:
| Modelo de bloco do Java | Geometria do Bedrock | |
|---|---|---|
| Chave raiz | elements | minecraft:geometry |
| Coordenadas | 0–16 por bloco | 0–16 por bloco |
| Texturas | mapa textures | mapa materials |
Os dois expressam uma grade de cubos de 16 unidades por bloco, e é por isso que um modelo gerado fica certo em um e é importado como uma forma vazia no outro.
Nomes de registro não são intercambiáveis
Bedrock e Java discordam quanto aos identificadores do mesmo conteúdo. Um pacote que referencia um nome de Java para um encantamento, efeito ou bioma vai carregar e depois não fazer nada, silenciosamente, porque o nome não corresponde a entrada alguma. Os próprios registros têm tamanhos diferentes entre as edições, então um pacote feito com base na lista de uma edição não pode ser considerado completo na outra.
Valide o manifest, confira a estrutura do arquivo e gere um modelo de bloco nas Bedrock & Pack Tools.