На первый взгляд может показаться, что всё просто: Рома кидает нам карту, мы возвращаем карту с постройками (и заодно сжигаем гигабайты трафика). Но нет — такой подход слишком медленный, а главное, не подходит для построек, которые появляются прямо посреди серии.
Можно было бы использовать схематики, но у нас требования куда выше. Что именно нам было нужно?
1) Экспорт и импорт участка карты с фиксированными координатами (файл хранит относительные координаты внутри постройки + абсолютную координату нуля в мире).
2) Поддержка Tile Entity как из ванильного Майнкрафта, так и из модов.
3) Полное копирование сущностей.
4) Хранение кастомных данных (например, проводов из Immersive Engineering или navigation mesh для нашего сторителлинга).
И именно поэтому мы сделали собственное решение —
StructIO. Эта система родилась ещё в ранних сезонах и до сих пор дорабатывается вместе с нами. Она работает с .dat файлами в формате NBT, а сами файлы внутри команды мы ласково называем датниками. Возможно, вы встречали это слово в постах участников ST.#st #devblogGodGame