No Kebab
Активный0.0
Установок
Последнее обновление
Версии
No Kebab
Обзор проблемы
В стандартной версии Minecraft существует неприятная особенность: если картина загружается с идентификатором, который не соответствует ни одному из существующих вариантов, игра автоматически заменяет её на другую без всяких предупреждений. Это особенно проблематично при работе с картинами, управляемыми через данные - любая ошибка в ваших датапаках может привести к потере уже размещённых картин при загрузке мира.
Решение
Мод No Kebab создаёт защитный механизм против этой проблемы. Хотя невалидные картины всё равно будут заменены на другие варианты, они сохранят в памяти оригинальный идентификатор варианта из своих NBT-данных и будут хранить этот ID при сохранении игры. Когда вы в следующий раз загрузите этот мир с правильным набором вариантов, эти картины восстановят свой первоначальный внешний вид.
Интересный факт: До версии MC 1.21 невалидные картины всегда превращались в вариант minecraft:kebab, что и дало название этому моду.
Совместимость
Основной функционал полностью работает на стороне сервера.
Клиентская часть требуется только при включённой функции Missingno Display, и в этом случае она потребуется на всех клиентах.
Отображение Missingno
Эта функция изменяет внешний вид невалидных картин, делая их заметными и показывая их идентификатор.
По умолчанию функция отключена на выделенных серверах и включена на локальных серверах (одиночная игра и LAN). Настройку можно изменить в файле конфигурации nokebab.properties с помощью опции customTracker. Для применения изменений требуется полный перезапуск.
Миграция картин
Команда /nokebab migrate позволяет массово изменять варианты существующих картин. Для её использования требуется уровень разрешений 3 (Администратор).
Важно: эта команда изменяет только варианты картин в загруженных чанках. Картины в форме предметов или в незагруженных чанках не будут затронуты.
Если миграция приведёт к тому, что картина больше не сможет поместиться на своей стене, эта картина будет пропущена с выводом сообщения об ошибке.
Синтаксис команды
/nokebab migrate <режим> <источник> <назначение>
<источник> - вариант картин, которые нужно мигрировать. <назначение> - вариант, на который они будут заменены. Их специфика зависит от выбранного режима.
<режим> может быть:
literal- ищет картины, точно соответствующие источнику, и изменяет их все на один и тот же вариантregex- позволяет использовать регулярные выражения, поэтому<источник>может соответствовать нескольким вариантам, а<назначение>может использовать переменные подстановки
Например, команда для изменения пространства имён нескольких картин будет выглядеть так:
/nokebab migrate regex "oldspace:(.*)" "newspace:$1"