Изменения:
- переработана система safeguard
- добавлена проверка на headless-окружения для команды edit
- небольшие улучшения производительности после исправления чанков
Исправления:
- артефакты чанков
- редстоун не вращался вместе с объектами
- лут для подземных объектов
- смещение при shrinkwrap (в основном затрагивало jigsaw-структуры)
- studio open не работал вне режима наблюдателя
- jigsaw-редактор ломался при открытии части с отсутствующим объектом
- трава не размещалась на моховых блоках
- /iris object convert для .schem-файлов с более чем 127 типами блоков
- парсинг legacy-объектов
- кастомные данные блоков не работали (влияло на интеграции с nexo furniture, ItemsAdder, Mythic Crucible furniture, HMC Leaves, KGenerator)
Изменения:Исправления:
- Добавлена поддержка версий 1.21.9 и 1.21.10
- Настройка Gradle теперь выводит информацию в консоль при ошибке
- Перестроен общий загрузчик классов KTS для большей совместимости с IntelliJ
- Повышена скорость регенерации
- Оптимизирован кеш шумов
- Оптимизированы карты векторов объектов
- Оптимизирована палитра данных для Mantle slices
- Общие оптимизации генерации чанков
- Несколько исправлений в скриптах:
- Препроцессоры теперь применяются корректно
- Исправлена опечатка в описании препроцессоров
- Исправлена ошибка генерации build.gradle.kts при внешних зависимостях на Windows
- Исправлена работа разрешателя зависимостей KTS
- Исправлена сериализация тайловых сущностей на серверах Paper 1.21.6+
- Исправлено удаление идентификаторов объектов, вызывавшее пропажу лута
- Исправлена команда Studio loot
- Исправлены ошибки с Object Smart Bore
- Исправлена команда Object Place, вызывавшая нежелательные обновления блоков
Исправления:
десериализация непомеченных версией mantle plates
конвертер для сложных схем
Изменения:
оптимизация объектов для предотвращения коллизий хэшей
Изменения:Исправления:
- Движок JavaScript заменён на Kotlin-скрипты, чтобы сделать автодополнение возможным.
- Генерация файлов проекта для IntelliJ IDEA.
- Добавлен API для пользовательских флагов мантии, создаваемых скриптами.
- Автодополнение для ванильных и кастомных свойств блоков.
- Добавлена настройка legacyRarity в dimension для изменения алгоритма редкости, так как он ломался при использовании более двух значений.
- ⚠️ ВНИМАНИЕ: изменение этой опции может сломать выражения и карты изображений.
- Добавлена настройка offsetNoiseTypes в settings.json для применения смещения на основе seed к типам шума, чтобы исправить проблему, когда разные сиды выглядели слишком похоже.
- ⚠️ ВНИМАНИЕ: изменение этой опции сломает существующие миры Iris.
- Новая команда для генерации конфигов для структур датапаков:
/iris dev generateStructures [pack=<pack>] [force=true|false]- Новый параметр datapackStructures в jigsaw-структурах, который используется для указания, какие структуры из датапаков можно размещать.
- Добавлено условие наклона для полублоков.
- Добавлено автодополнение для стаков мобов MythicMobs.
- Отображение базового блока при использовании отдельного ItemsAdder.
- Зависание студийного табло (scoreboard).
- Неправильное форматирование файла кэша миров.
- Команда find/goto иногда случайно не находила существующие объекты.
- Пак не устанавливался корректно при прямом использовании Bukkit API для создания Iris-мира.
Исправления:Изменения:
- Потенциальные проблемы в CountingDataInputStream
- Некорректное изменение размера битов данных, вызывавшее повреждение мантии
- Неправильная перезагрузка пространств имён ItemsAdder
- Отсутствие ожидания завершения обновления чанка
- Хук завершения работы не срабатывал при остановке через сигнал выхода
- Пропуск крепости при расчёте радиуса мантии
- Несколько небезопасных операций с мантией
- Случайный NullPointerException в загрузчике ресурсов
- Структуры размещались некорректно
- Централизация файловых каналов мантии для предотвращения параллельного доступа
- Добавлена проверка размера для предотвращения дальнейшей порчи данных при смещении чтения
- Изменён цикл обрезки, чтобы один шаг выполнялся раз в секунду
- Общая оптимизация генератора и обновлятора
Изменения:Исправления:
- Добавлена поддержка 1.21.8
- Добавлен параметр для команды /iris create, позволяющий автоматически сделать мир основным после перезапуска
- Добавлены опции для кастомизации форм пещер
- Добавлен провайдер данных для поддержки большего числа плагинов с кастомными сущностями
- Поддержка автономных блоков ItemsAdder без IABlockInjector
- Сохранение структуры, установленной в блок
Обслуживание:
- Детерминизм пещер
- Вычисление максимального размера пещеры для больших радиусов
- Исправлено размещение кастомных блоков, таких как hmcleaves или nexo furniture
- Небезопасные операции с чанками мантии
- Неправильное использование перенесённого bukkit.yml
- Игнорирование миров при генерации датапака при обновлении с версий ниже 3.7.0
- Не загружались оставшиеся миры, если один мир не удавалось загрузить
- Исправлено неправильное чтение значений enum
- Рефакторинг команды /iris create
- Рефакторинг команды /iris studio regen
Изменения:
- Поддержка версий 1.21.6 и 1.21.7 🎉
- Обновлён пакет overworld для 1.21.5+ до версии 31100
- Заменена система загрузки мира через контекст на байткод-инъекции
- Полная изоляция высоты мира, даже между мирами Iris
- Открыт доступ к большинству параметров типа измерения
- Разрешена генерация руд на поверхности
- Используется очередь тикетов для предгенерации по умолчанию
- Удалено предупреждение о несовместимости с Multiverse Core
Исправления:
- Уменьшение высоты мира больше не удаляет весь чанк
- Исправлены мелкие баги генерации датапаков
- Splash-экран больше не отображается дважды
- Инициализация генераторов для изолированных биомов и регионов
- Исправлено автодополнение сниппетов
- Теперь показываются обязательные свойства в файлах паков
- Исправлена генерация залежей, появлявшихся столбцами
Изменения:
– Разрешена рекурсия для вырезания (carving)
– Реализованы кастомные условия для Mythic Mobs
– Исключения JSON and zip file closed больше не отправляются в Sentry
– Глобальный кеш предварительной генерации временно отключён по умолчанию
– Добавлена дополнительная информация об движке в контекст Sentry:
— Является ли миром Studio
— Закрыт ли движок
— Версия, ID и хэш пака
— Время простоя Mantle, количество загруженных и поставленных в очередь регионов
– Добавлен Server ID (опционально), основанный на хэше JVM, процессора, объёма памяти и установленных плагинов
Исправления:
– Спавнеры не создавали сущностей из-за использования старого формата
– Удаление временных файлов Mantle до полной записи
– Ошибка при создании временного файла, если пользователь удалил временную директорию
– Деление на ноль в движке svc
– Удаление неиспользуемого утиля, вызывавшего ClassNotFoundException
– Использование корректного алгоритма перемешивания для лута
– Ненадёжная работа метода параллельной загрузки
– NullPointerException при создании кубоидов
– IndexOutOfBoundsException при получении выделения с помощью ванды
– Удаление легаси-символов перед десериализацией MiniMessage
Обслуживание:
– Обновлён Gradle Wrapper до 8.14.2 и переход на Kotlin DSL
Изменения:
– Повышена скорость записи Mantle
– Добавлена возможность отказаться от анонимной автоотчётности через Sentry
Исправления:
– Исправлена ошибка записи Mantle на Windows
– Исправлено: бенчмаркинг не отключался как положено
– Исправлено: краш или остановка при записи кеша предварительной генерации вызывала повреждение данных
– Исправлено: движок тиковал игроков в неправильном измерении
- Функции:
– Поддержка Minecraft 1.21.5
– Добавлен перевод на японский язык
– Обновлены переводы: литовский, вьетнамский, китайский
- Исправления:
– Исправлено: Mantle хранился в одной папке для всех миров, что приводило к потере или повреждению данных
– Исправлено: Mantle выгружался и сохранялся при любом переходе между мирами, а не только при переходе в целевой
– Исправлено: команды не загружались, если путь к JAR-файлу плагина содержал специальные символы