Anvil (формат карт)

Материал из Minecraft Wiki
Перейти к: навигация, поиск

Новый формат мира Anvil был представлен в Minecraft 1.2[1]. По сравнению с предыдущим форматом Region, Anvil содержит в себе множество нововведений и улучшений.

Отличия от McRegion[править | править код]

Конвертирование мира
  • Максимальная высота размещения блоков увеличена со 128 до 256 блоков.
  • Пустые секции карты не загружаются в память.
  • Максимальное значение идентификатора блоков и предметов было увеличено с 256 до 4096.
  • Информация о расположении блоков теперь записывается в формате y/z/x (раньше x/z/y). Это сделано для лучшего сжатия.
  • Пакеты, по которым отправлялся чанк, были обновлены (полный чанк высотой 128 блоков, меньше чем в старом формате, и чанк с большим количеством пустого места ещё меньше).
  • Биомы теперь тоже сохраняются, а это значит, их можно будет изменять (с помощью редакторов).

Дополнительная информация[править | править код]

Начиная с предварительной версии 12w07a и версии 1.2, игра автоматически преобразует карты в новый формат. При этом копии старых файлов остаются. Это сделано для совместимости со старыми версиями Minecraft. Генерация мира не была изменена, таким образом, будут ещё 128 блоков воздуха выше обычного ландшафта. И 192 блока воздуха от уровня моря до максимальной высоты.

  • Теги 16x128x16 “Blocks”, “Data”, “SkyLight” и “BlockLight” были удалены .
  • Добавлен тег “Sections” типа NBT_List содержащий NBT_Compound, вместе с 16 составными тегам.
  • Каждая 16x16x16 секция содержит “Blocks”, “Data”, “SkyLight” и “BlockLight” теги.
  • У каждой секции есть “Y” NBT_Byte тег, говорящий, какая это секция (заметьте, что некоторые Y позиции могут быть пропущены). 0 самая нижняя, а 15 самая верхняя секция.
  • У каждой секции также есть тег “AddBlocks”, который является байтовым массивом DataLayer точно так же, как “Data”. Тег “AddBlocks” не включён в конвертер, так как у старого формата никогда не было ID блоков больше 255. Этот дополнительный тег создается всякий раз, когда блок требует, чтобы getTile () метод должен проверить, существует ли массив, а затем объединить их с данными блока по умолчанию. Другими словами, blockId = (addBlock << 8) + baseId.
  • Каждый чанк имеет 16×16 байтовый массив с ИДи биома под названием “Biomes”. Если этот массив отсутствует он будет заполнен, когда начинается игра.
  • Отметьте, старый формат — XZY, новый формат — YZX (см. различие между DataLayer и OldDataLayer).
  • Новый формат использует расширение “.mca” вместо “.mcr” (старый формат сохранен для безопасности с level.dat, под названим “level.dat_mcr”).

Автономный конвертер и исходный код[править | править код]

Конвертер и исходный код были выпущены индивидуально для разработчиков, чтобы исследовать его и подготовиться.[1]

Сокращение размера мира после конвертирования (SMP)[править | править код]

Для уменьшения размера мира можно удалить резервные файлы созданные при конвертировании.(После их резервного копирования!)
Это можно сделать:

  • На Windows
    1. Запустите Проводник (Win+e)
    2. найдите папку содержащую мир сервера
    3. выберите её
    4. ищите в этой папке (F3)
    5. введите *.mcr
    6. отметьте все найденные результаты(ctrl-a)
    7. нажмите delete
  • На Linux
    1. cd в папку, которая содержит мир сервера
    2. выполните следующую команду
find . -name \*.mcr -delete

Примечания[править | править код]