Anvil (formato de arquivo)

De Minecraft Wiki
Ir para: navegação, pesquisa
Information icon.svg
Esse recurso é exclusivo para Edição Java. 

Anvil[1] é um formato de armazenamento de arquivo. Ele traz uma lista de mudanças e melhorias em relação ao formato de arquivo anterior, o Region. O Anvil foi implementado no snapshot 12w07a para o lançamento da Edição Java 1.2.1.

Mudanças no MCRegion

Converter um mundo do formato MCRegion para Anvil.

As únicas mudanças do MCRegion para Anvil foram no formato de chunks; o Region ainda é usado, mas rotulado como bigorna. O formato Anvil introduziu essas mudanças no formato de chunks:

  • A altura máxima de construção foi aumentada para 256 (de 128).
  • Seções vazias do mundo não são carregadas na memória ou salvas no disco.
  • O ID de bloco máximo foi aumentado para 4096 (era 256) adicionando uma camada de dados de 4 bits (semelhante a como os metadados são armazenados). Porém, o resto do código do Minecraft não está preparado para tirar vantagem disso.
  • A ordem de blocos foi alterada de XZY para YZX a fim de melhorar a compressão.
  • Os pacotes para envio de chunks foram otimizados (um chunk sem ar é menor do que no formato antigo, e um pedaço com muito ar é ainda menor).
  • Biomas são salvos por coluna X, Z, em vez de serem calculados rapidamente, o que significa que podem ser alterados por ferramentas; isso é útil para marcadores de mapa. Também evita bugs em que os recursos não correspondem ao bioma após alterar o algoritmo do terreno. (Também conhecido como "Mudança de bioma")

Outras informações

O snapshot 12w07a converte mundos automaticamente para o novo formato, mas uma cópia dos arquivos de mundo, é criada nos formatos anteriores para compatibilidade com versões mais antigas do jogo. O gerador de mundos não foi alterado, então há 128 blocos adicionais de ar acima do terreno normal, perfazendo 192 blocos do nível do mar até o limite de altura.

  • As tags 16×128×16 "Blocks", "Data", "SkyLight" e "BlockLight" foram movidas e reaproveitadas. (veja abaixo)
  • A tag "seções" que lista contendo tags de compostos, foi adicionada com até 16 etiquetas de compostos.
  • Cada seção possui tags 16×16×16 "Blocks", "Data", "SkyLight" e "BlockLight".
  • Cada seção tem uma tag de byte "Y" informando a qual seção ela se encontra (observe que algumas posições Y podem ser puladas). 0 está na parte inferior do mundo e 15 é a seção superior.
  • Cada seção também possui uma tag opcional "Add", que é uma matriz de bytes DataLayer, assim como "Data". A tag "Add" não está incluída no conversor, pois o formato antigo nunca tinha IDs de bloco acima de 255. Esta tag extra é criada sempre que um bloco exige, então o método getTile() precisa verificar se o array existe e então combiná-lo com os dados do bloco padrão. Em outras palavras, blockId = (add << 8) + baseId.
  • Cada chunk tem uma matriz de 16 x 16 bytes com IDs de biomas chamado "Biomes". No entanto, se esta matriz estiver ausente, ela será preenchida quando o jogo começar, bem como qualquer valor -1 na matriz. A fonte do conversor fornecida para desenvolvedores não inclui quaisquer fontes de bioma.
  • Observe que o formato antigo é XZY ((x * 16 + z) * 16 + y) e o novo formato é YZX ((y * 16 + z) * 16 + x ) (veja a diferença entre DataLayer e OldDataLayer).
  • O novo formato usa a extensão ".mca" em vez de ".mcr" (o formato antigo é mantido por segurança, com o backup de level.dat como "level.dat_mcr").
  • Um novo tipo de tag NBT chamado IntArray foi adicionado ao Formato NBT (com ID 11) e é usado pela tag "Heightmap".

Informações adicionais podem ser encontradas na página formato de blocos.

Redução do tamanho do mundo pós-conversão

Os dados de mundo do Anvil usam a extensão de arquivo .mca, enquanto McRegion usa .mcr. O jogo deixa os antigos arquivos McRegion após converter um mundo em Anvil, apesar do jogo nunca mais usá-los. Para reduzir o tamanho do arquivo de backups, os arquivos antigos do McRegion podem ser excluídos. Para fazer isso, execute as seguintes etapas:

  • Windows:
    1. Abra o prompt de comando (pressione ⊞ Win e R juntos, digite cmd, e pressione ↵ Enter)
    2. Execute o seguinte comando: del /f /q "[diretório de seu mundo no Minecraft]\region\*.mcr"
  • Linux and macOS:
    1. Abra o terminal
    2. Execute o seguinte comando: rm -f "[diretório de seu mundo no Minecraft]"/region/*.mcr

Histórico

Edição Java
1.2.1 12w07a Adicionado o formato de arquivo Anvil.
1.16 20w14a Os arquivos neste formato agora são abertos no modo síncrono para evitar perda de dados deixando-os corrompidos após travamentos.

Veja também

Referencias