MC Toolkit

Руководства / Строительство и ресурсы

Губка и блок-конструктор — это не один и тот же файл

.schem, .litematic и .mcstructure для Бедрока выглядят взаимозаменяемыми, пока не сконвертируешь один из них и не обнаружешь, что все сундуки, сущности и состояния блоков исчезли.

.schem и .litematic оба хранят постройку, и именно на конвертации между ними большинство игроков обнаруживает, что эти два формата никогда не сходились в том, что такое постройка на самом деле. Один хранит единственную область блоков. Другой может содержать несколько именованных областей, каждая со своей палитрой. Перенеси город между ними — и дома уцелеют, а их содержимое нет.

Что на самом деле несёт каждый формат

ФорматГде работаетСостояния блоковБлок-сущностиСущности
.schemJava, WorldEdit/Губкададада
.litematicJava, Litematicaдадада
.nbt structureJava, блок-конструкторыдадада
.mcstructureБедрокдадада

Столбцы выглядят одинаково — в этом и ловушка. Разница в обработке палитры и координатном пространстве, а не в списке возможностей.

Палитра — хрупкая часть

Каждый из этих форматов хранит блоки как индекс в палитре — списке уникальных типов блоков, которые использует файл, где каждая позиция содержит число, указывающее в этот список. Постройка с несколькими сотнями различных типов блоков несёт палитру такого размера, а позиции — просто целые числа.

Это значит, что файл читается, только если читатель может разрешить каждую запись палитры. Блок, добавленный в более новой версии Java, вообще не имеет аналога в Бедроке, поэтому при конвертации из Java в Бедрок его приходится заменять или отбрасывать. Воздух — обычная замена, и стена с загадочно пропавшими блоками почти всегда именно это, а не повреждение.

Java и Бедрок называют один и тот же блок по-разному

Вот где Java и Бедрок действительно расходятся. Бедрок записывает состояния блоков как block_type плюс набор состояний «ключ-значение»; Java записывает ID с пространством имён плюс карту состояний. Один и тот же физический блок может быть minecraft:oak_stairs[facing=east,half=bottom] с одной стороны и weirdo_direction плюс upside_down_bit с другой — другие имена и значения состояний, а не те же самые в другом порядке.

Лестницы, плиты, заборы, стены, двери и редстоун-компоненты — вот что переворачивается. Лестница, которая после конвертации отображается вверх ногами, — это ошибка сопоставления состояний, а не плохой файл.

Блок-конструктор хранит не то, что вы думаете

Блок-конструктор, сохраняющий в .nbt, записывает ограничивающий прямоугольник, и этот прямоугольник ограничен 48 блоками по каждой оси. Игра не разбивает большую постройку — всё, что вне прямоугольника, просто не попадает в файл. Если у сконвертированной постройки отсутствует дальний конец, проверьте исходный прямоугольник, прежде чем подозревать конвертер.

Сущности хранятся отдельно от блоков в каждом из этих форматов. Рамки, стойки для брони, картины и мобы — не блоки, и конвертер, который обходит только палитру блоков, молча их отбросит.

Проверьте перед тем, как доверять

Список материалов — самая быстрая проверка на вменяемость: если количество блоков в сконвертированном файле не совпадает с исходным, что-то было заменено. Предпросмотр слоёв показывает это сразу, горизонтальный срез за срезом, без загрузки постройки в мир.

Конвертируйте между .litematic, .schem, Java structure .nbt и Бедрок .mcstructure, с предпросмотром слоёв и списком материалов, в Конвертере схем.

Конвертер схематик →

Другие руководства

Смотреть все →