• Поддержка версии 1.21.9. Имейте в виду, что ветка Paper всё ещё находится в экспериментальном режиме, и некоторые функции могут не работать. Известная проблема — скины игроков могут не применяться.
• Исправлена обработка переменной %filler% при наведении на строки голограммы.
• Исправлена ошибка импорта домов Essentials в некоторых случаях.
• Добавлен новый плейсхолдер %cmi_p_[nickname/uuid]name% для получения реального имени игрока.
• Добавлены новые плейсхолдеры %cmi_baltop_cname[1-10]% и %cmi_playtimetop_cname_[1-10]% для получения реальных имён игроков из топов.
• Добавлена возможность использовать несколько переменных %filler% в строках голограмм, что позволяет центрировать текст внутри существующего текста, если заключить его с обеих сторон этой переменной.
• Небольшое улучшение команды /scan — теперь при указании только названия мира без диапазона будет сканироваться весь мир.
• Добавлена опция автозаполнения пустого пространства в голограммах с помощью переменной %filler% и настройки количества заполнителя в GUI. Имейте в виду, что выравнивание зависит от шрифта, поэтому возможны небольшие смещения. Пример строки:
1. %cmi_baltop_name_1%%filler%%cmi_baltop_money_1%
Расстояние задаётся в GUI голограмм, по умолчанию — 245 поинтов, что немного меньше максимальной ширины голограммы при новом методе.
• Для китов в GUI описание теперь показывается под названием, а не в конце.
• Небольшие корректировки в обработке банов для серверов на Paper.
•Исправлена работа чат-баблов на серверах Paper 1.21–1.21.3.
• Дополнительная корректировка обработки тихого редактирования сундуков.
• Исправлена ошибка при проверке создания портала.
• Небольшое исправление/изменение для /maxhp, теперь поддерживаются дробные значения (например, /maxhp set Zrips 20.5).
• Исправлена команда /dialogs, переменная -s теперь обрабатывается корректно.
• Исправлена обработка локализации для некоторых языков.
• Улучшена команда /cmi sc для новых версий: теперь текст табличек вставляется в том же порядке, в котором был скопирован, в зависимости от того, с какой стороны вы смотрите на табличку. Ориентация таблички больше не имеет значения, всё зависит от направления взгляда игрока.
• Добавлена новая переменная oneside для команды /cmi sc, которая копирует только одну сторону таблички (ту, на которую вы смотрите), и при вставке изменяет только её.
• Теперь команда /cmi sc учитывает права на цвета табличек: текст при вставке будет очищаться от недоступных цветов в зависимости от прав cmi.color.signs.[color].
• Добавлена опция для ограничения редактирования шалкеров из инвентаря: требуется право cmi.openshulker.edit. По умолчанию оно выдано, но вы можете его отрицать, чтобы оставить только возможность предпросмотра без редактирования.
• Корректировка проверки AFK для игроков, которые заходят на сервер и не выполняют никаких действий.
• Исправлен баг, из-за которого notarget мешал животным реагировать на вас, когда вы держите в руках их еду.
• Улучшено автодополнение для команды /saveditems, теперь корректно подставляются названия сохранённых предметов для подкоманд get/remove.
• Небольшое улучшение механизма обнаружения экономики: теперь выполняется дополнительная проверка после полной загрузки сервера, если экономический плагин загружается позже CMI (что является некорректной настройкой, так как плагины экономики должны грузиться первыми).
• Исправлена ошибка форматирования баланса экономики в некоторых случаях.
• Внесены внутренние изменения в обработку чат-баблов (chatbubble), как подготовка к будущему обновлению и расширенной поддержке Paper-серверов с новыми возможностями для игровых сообщений (работа в процессе).
• Полностью переработана команда mirror:
— Добавлены новые опции, расчет работает по-другому, чем раньше.
— Появились визуальные частицы, показывающие, где будет размещён блок, с динамической информацией о количестве.
— По умолчанию ограничение — максимум 16 блоков за действие. В action bar выводится сообщение о том, сколько блоков из потенциальных будет поставлено.
— Всего теперь 22 режима зеркала, включая 3 режима для построения блоков по кругу.
— Добавлен оффсет начальной точки (8 вариантов), что покрывает все комбинации зеркалирования — теперь можно строить и с чётным количеством блоков.
• Улучшена производительность при включённой опции принудительной загрузки данных игрока при входе.
• Исправлена работа команды invremove.
• Исправлено сообщение об ошибке при отправке bungee-тип сообщений.
• Возвращена поддержка серверов на Java 8 (на время).
• Изменена обработка shulkerbackpack для устранения потенциального эксплойта с чит-клиентами.
• Исправлена проблема с командой recipe, когда некоторые рецепты могли пропускаться при использовании datapack'ов или сторонних плагинов.
• Добавлена автоматическая система бэкапов базы данных:
— Работает по умолчанию, сохраняет ключевые таблицы каждые 24 часа.
— Проверка бэкапов — через 1 минуту после запуска сервера и затем каждый час.
— Сохраняются в отдельную папку DatabaseBackups как sqlite-файлы, независимо от того, используется MySQL или SQLite.
— Файлы могут автоматически архивироваться (например, с 500 МБ до ~65 МБ).
— По умолчанию сохраняются только player data и player rewards.
— При восстановлении архив будет автоматически разархивирован.
— Кастомные бэкапы (имя должно заканчиваться на .db) не удаляются автоматически.
• Новый командный инструмент:
/cmi database [action] (playerName) (dataType) (fileName)
— Можно создать новый бэкап (только из консоли) или восстановить данные игрока.
— При создании по умолчанию файл получает отметку времени и участвует в автосистеме.
— При восстановлении можно указать конкретный бэкап или использовать последний (cmi.sqlite.db).
— По умолчанию сохраняются/восстанавливаются основные таблицы данных игрока и наград.
• Дополнительные исправления:
— Ошибка при использовании команды titlemsg в новых версиях.
— Ошибка с silent chests.
— Некорректная работа usermeta при сохранённых hex-цветах.
— Чеки больше нельзя внести с помощью левой кнопки или Q, только правым кликом.
• Исправлено: проблема с командой itemframe на Spigot 1.21.6+ при установке состояния невидимости.
• Оптимизация: улучшена обработка голограмм при выходе игрока.
• Изменено: команда notarget теперь позволяет игрокам подбирать сферы опыта.
• Исправлено: команда killall некорректно работала при указании диапазона.
• Оптимизация: повышена производительность при глобальной замене переменных в строках локализации и командах.
• Исправлено: сохранение инвентаря на серверах Spigot.
• Исправлено: заряд полёта продолжал тратиться в режиме наблюдателя, теперь расход идёт только в Survival и Adventure.
• Диалоги:
— Добавлена возможность числового сравнения плейсхолдеров (%placeholder%>=20).
— Добавлена проверка на отсутствие определённого разрешения через !permission.
• Исправлено: проблема с тихим открытием сундуков.
• Исправлено: команда /heal принимала отрицательные значения
• Исправлено: команда /itemframe не работала на серверах версии 1.21.6+
• Исправлено: GUI для gamerule сжимался при использовании последних версий CMILib
• Добавлена поддержка Custom Model Data для работы с предметом elytra — теперь можно запросить конкретный предмет с заданным custom model data для запуска, потребления или общего использования при полёте.
• Оптимизирована работа с голограммами при использовании нового метода отображения
• Исправлено: команда /give показывала двойное сообщение об ошибке, если не удавалось определить целевого игрока; также исправлено некорректное сообщение, когда запрашиваемый предмет не был распознан
• Исправлено: команда /cuff показывала информационное окно при неудаче из-за попытки надеть наручники на самого себя
• Добавлена возможность задавать условия для диалогов не только по правам (permission), но и по значению плейсхолдера. Теперь можно проверять либо общее значение плейсхолдера, либо конкретное, указанное вами. Подробности — на zrips.net/cmi/commands/dialogs в разделе new conditions
Всё о диалогах!!!
Подробнее: Dialogs – Zrips
• Добавлено текстовое поле ввода для диалогов. Переменная [value] может использоваться в секциях commands/opendialog для вставки введённого значения, которое затем можно обрабатывать под свои нужды.
• Добавлена возможность задавать кастомное значение для выбора одиночной кнопки (singleton) в диалогах, чтобы использовать переменную [value] внутри команд или открытия диалога на основе выбранного значения, вместо жёстко заданных команд. Теперь в секции singleton можно задать базовое действие для всей группы, а не для каждой опции отдельно — это упрощает настройку, если нужно использовать [value] для полу-динамических результатов.
• Добавлена возможность использовать [value] для булевого типа ввода в диалогах, что заменит его на true/false в зависимости от выбора. Опционально можно задать собственное значение, которое будет выводиться вместо true/false при выборе или снятии галочки.
• Поддержка плейсхолдеров в некоторых секциях конфигурации ввода для диалогов. Подробнее на вики.
• Добавлена возможность скрывать поля ввода, визуальные элементы, кнопки и отключать целые диалоги, если у игрока нет определённого разрешения. Это позволяет скрывать части интерфейса диалога. Учтите, что при отключении кнопки она будет заменена на 1-пиксельную невидимую кнопку, чтобы сохранить расположение элементов (актуально только при более чем одном столбце кнопок). Поля текста и ввода в таком случае будут полностью скрыты.
• Изменён источник выполнения команд по умолчанию в диалогах — ранее команды выполнялись от имени консоли, теперь от имени игрока. Чтобы вернуть выполнение от консоли, добавьте asConsole! в начало команды. Это сделано для предотвращения потенциальных эксплойтов и ошибок в будущем, когда игроки выполняют команды, к которым у них нет доступа.
• Проведён общий рефакторинг, обновление и улучшение обработки диалогов для упрощения внутренней логики и облегчения использования API.
• Добавлена поддержка всплывающих подсказок (tooltip) для пользовательских диалогов. Можно задать с помощью простой записи Tooltip: 'Some text', поддерживаются многострочные варианты и плейсхолдеры. Подробности: Dialogs – Zrips — рекомендуется ознакомиться, так как внесены изменения и приведён более крупный пример с дополнительными вариантами использования.
• Добавлена возможность отображать поле с предметом в диалогах.
• Добавлена возможность добавлять булево (галочка) поле в диалоги, которое может выполнять разные действия в зависимости от выбранного состояния.
• Добавлена возможность создания одиночной кнопки (меняет выбранное при нажатии), которая может выполнять разные команды в зависимости от текущего выбора.
• Переработан и обновлён базовый код обработки диалогов для лучшей масштабируемости и совместимости с будущими обновлениями — в основном для поддержки большего количества полей ввода, которыми можно будет гибко управлять.
• Небольшое обновление обработки рюкзаков шалкеров, чтобы избежать записи лишних данных после закрытия интерфейса.
• Добавлена возможность отключать нацеливание шалкеров на игрока во время AFK (включено по умолчанию). Это делает игрока «невидимым» для шалкеров в AFK-режиме, что выступает как защитный механизм и естественное поведение. Уже выпущенные снаряды при переходе в AFK не будут останавливаться, чтобы игроки не могли злоупотреблять функцией для укрытия — снаряды продолжат преследовать цель, только новые не будут запускаться.
• Исправлено автозаполнение названий предметов в команде give в некоторых случаях
• Исправлено: команды диалогов выполнялись на первом игроке, использовавшем диалог, если применялась подстановка переменных
• Исправлено: редактор табличек диалога иногда игнорировал защиту территории
• Исправлено: прогрев (warmup) и кулдаун команд не всегда срабатывали при использовании пространства имён
• Исправлено: ошибка при создании пользовательских диалогов с некорректно заданными значениями
• Исправлено: анти-AFK не распознавал бездействие при использовании некоторых анти-AFK устройств
• Исправлено: анимация сидения возвращала в исходный мир, если плагин переместил игрока
• Исправлено: плейсхолдер %cmi_user_weather% ошибочно показывал грозу при ясной погоде
• Интерфейс табличек (Sign Dialog UI): на серверах 1.21.6 больше не работает — теперь доступен только с 1.21.7+
• Существенный прирост производительности при обработке цвета, особенно с градиентами на длинных строках (требуется последняя версия CMILib)
• Исправлено: itemnbt ошибочно отображал строки как [encoded], хотя это не так
• Улучшено распознавание старого формата предметов — охватывает больше вариантов; при переходе на новые версии рекомендуется выполнить /cmi util convertitems на 1.21.4
• Исправлено: /cmi killall -list выводил пустой список
• Исправлено: armorchange не срабатывал в некоторых случаях, из-за чего эффекты брони не применялись
• Обновлён редактор табличек — теперь вызывает SignChangeEvent, если он отменён сторонним плагином, UI просто закроется
• Добавлена новая команда: /cmi dialogs [dialogName] (playerName) — открывает определённый диалог для игрока.
– По умолчанию есть 3 примера в папке Dialogs
– Элементы UI могут: выполнять команды, открывать другие окна, переходить на URL
– Пока нет редактора в игре — всё редактируется через файлы
– Добавлен скрытый /cmi reload dialogs — перезагружает только диалоги без лага, в отличие от полной перезагрузки плагина
Больше информации тут: Dialogs – Zrips
• Исправлена ошибка , из-за которой некоторые значки эмодзи не отображались в emojipicker.
• Исправлено сообщение об ошибке при попытке загрузить старые сохраненные инвентари на последних серверах Minecraft, которые не загружаются из-за измененного формата.
• Добавлен редактор типа диалога для максимального количества игроков, если в команде не указаны переменные. Появится ползунок, где можно выбрать максимальное количество игроков. По умолчанию диапазон составляет от 1 до 200, но если значение превысит 175, диапазон увеличится до 999