Anvil (формат карт)
Новый формат мира 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
- Запустите Проводник (Win+e)
- найдите папку содержащую мир сервера
- выберите её
- ищите в этой папке (F3)
- введите *.mcr
- отметьте все найденные результаты(ctrl-a)
- нажмите delete
- На Linux
- cd в папку, которая содержит мир сервера
- выполните следующую команду
find . -name \*.mcr -delete