Quadros e discos personalizados precisam de dois pacotes, e a instalação de apenas um deles é o erro mais comum
O datapack registra o conteúdo; o resource pack fornece a textura e o som. Apenas o datapack registra, mas não há nada para mostrar. Além do limite de 4x4 e por que a duração do disco não é apenas estética.
Quadros e discos de música são ambos registros reais no Java moderno, o que significa que você pode adicioná-los em vez de substituir os padrões do jogo. Nada que você adicione desloca um quadro ou disco existente.
O problema é que o conteúdo é dividido em dois tipos de pacotes diferentes, e cada um é inútil sozinho.
Onde cada coisa vai
O datapack registra o item:
data/<ns>/painting_variant/<id>.json asset_id, width, height, title, author
data/<ns>/jukebox_song/<id>.json sound_event, description, length, comparator
O resource pack fornece o que você vê e ouve:
assets/<ns>/textures/painting/<id>.png
assets/<ns>/sounds/<id>.ogg
assets/<ns>/sounds.json
Instale apenas o datapack e o conteúdo será registrado com sucesso — ele existe, /give o encontra, e simplesmente não há textura nem áudio. Esse é um resultado muito mais confuso do que uma falha total, e é a razão usual pela qual um quadro personalizado "não funcionou". A ferramenta nesta página envia ambos em um único arquivo zip especificamente para que não possam ser separados.
Observe os dois arquivos pack.mcmeta. Eles são pacotes separados com identidades separadas; não existe um formato combinado que contenha ambos.
IDs de registro são mais rigorosos que nomes de arquivo
Um ID pode conter apenas a-z, 0-9, _, . e -. Qualquer outra coisa e o pacote falha ao carregar — não apenas a entrada quebrada, mas o pacote inteiro. Letras maiúsculas e espaços são os dois que pegam as pessoas, porque ambos são perfeitamente comuns no nome do arquivo que você arrastou.
Quadros: 1×1 a 4×4
Os tamanhos padrão variam de 1 × 1 a 4 × 4 blocos, oferecendo dezesseis formas possíveis. Uma variante fora desse intervalo ainda será renderizada — o jogo não a rejeita — mas não pode ser pendurada em uma parede do tamanho que os jogadores esperam, então é efetivamente impossível de colocar em uma construção normal.
O tamanho é declarado no JSON como width e height, em blocos. Não é inferido do PNG, então um quadro de 3 × 1 cuja textura é quadrada é um arquivo válido que é exibido esticado.
A duração do disco não é um rótulo
length_in_seconds controla duas coisas: o tempo do Toca-Discos (Jukebox) e a rampa do comparador — o sinal que um comparador lê de um Toca-Discos tocando aumenta ao longo da duração declarada da faixa.
Portanto, uma duração imprecisa não é um erro estético. Declare uma faixa de 200 segundos como 100 e o comparador termina sua rampa na metade, o que silenciosamente quebra qualquer redstone configurada para o fim de um disco. Esta ferramenta lê a duração real do arquivo em vez de pedir para você digitá-la, exatamente por essa razão.
As faixas também são escritas com "stream": true em sounds.json. A música é longa, e carregar uma faixa completa na memória antes de tocá-la causa travamentos — o streaming é o padrão certo para qualquer coisa com duração de disco, e o errado para um efeito sonoro curto.