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[]
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:
- Abra o prompt de comando (pressione ⊞ Win e R juntos, digite
cmd
, e pressione ↵ Enter) - Execute o seguinte comando:
del /f /q "[diretório de seu mundo no Minecraft]\region\*.mcr"
- Abra o prompt de comando (pressione ⊞ Win e R juntos, digite
- Linux and macOS:
- Abra o terminal
- 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[]
- Formato de nível da Edição Java
- Formato de chunks
- Region (formato de arquivo)
Referencias[]
Versões |
| ||||
---|---|---|---|---|---|
Desenvolvimento |
| ||||
Técnico |
| ||||
Multijogador | |||||
Personalização do jogo |