Gold Плагин Смешанный Content Management Interface & CMI [9.8.4.2]

Всё о диалогах!!!
Подробнее: Dialogs – Zrips
  • Добавлено текстовое поле ввода для диалогов. Переменная [value] может использоваться в секциях commands/opendialog для вставки введённого значения, которое затем можно обрабатывать под свои нужды.
  • Добавлена возможность задавать кастомное значение для выбора одиночной кнопки (singleton) в диалогах, чтобы использовать переменную [value] внутри команд или открытия диалога на основе выбранного значения, вместо жёстко заданных команд. Теперь в секции singleton можно задать базовое действие для всей группы, а не для каждой опции отдельно — это упрощает настройку, если нужно использовать [value] для полу-динамических результатов.
  • Добавлена возможность использовать [value] для булевого типа ввода в диалогах, что заменит его на true/false в зависимости от выбора. Опционально можно задать собственное значение, которое будет выводиться вместо true/false при выборе или снятии галочки.
  • Поддержка плейсхолдеров в некоторых секциях конфигурации ввода для диалогов. Подробнее на вики.
  • Добавлена возможность скрывать поля ввода, визуальные элементы, кнопки и отключать целые диалоги, если у игрока нет определённого разрешения. Это позволяет скрывать части интерфейса диалога. Учтите, что при отключении кнопки она будет заменена на 1-пиксельную невидимую кнопку, чтобы сохранить расположение элементов (актуально только при более чем одном столбце кнопок). Поля текста и ввода в таком случае будут полностью скрыты.
  • Изменён источник выполнения команд по умолчанию в диалогах — ранее команды выполнялись от имени консоли, теперь от имени игрока. Чтобы вернуть выполнение от консоли, добавьте asConsole! в начало команды. Это сделано для предотвращения потенциальных эксплойтов и ошибок в будущем, когда игроки выполняют команды, к которым у них нет доступа.
  • Проведён общий рефакторинг, обновление и улучшение обработки диалогов для упрощения внутренней логики и облегчения использования API.
Автор: bobobo
  • Лайк 0
Реакции:1 пользователя
  • Добавлена поддержка всплывающих подсказок (tooltip) для пользовательских диалогов. Можно задать с помощью простой записи Tooltip: 'Some text', поддерживаются многострочные варианты и плейсхолдеры. Подробности: Dialogs – Zrips — рекомендуется ознакомиться, так как внесены изменения и приведён более крупный пример с дополнительными вариантами использования.
  • Добавлена возможность отображать поле с предметом в диалогах.
  • Добавлена возможность добавлять булево (галочка) поле в диалоги, которое может выполнять разные действия в зависимости от выбранного состояния.
  • Добавлена возможность создания одиночной кнопки (меняет выбранное при нажатии), которая может выполнять разные команды в зависимости от текущего выбора.
  • Переработан и обновлён базовый код обработки диалогов для лучшей масштабируемости и совместимости с будущими обновлениями — в основном для поддержки большего количества полей ввода, которыми можно будет гибко управлять.
  • Небольшое обновление обработки рюкзаков шалкеров, чтобы избежать записи лишних данных после закрытия интерфейса.
  • Добавлена возможность отключать нацеливание шалкеров на игрока во время AFK (включено по умолчанию). Это делает игрока «невидимым» для шалкеров в AFK-режиме, что выступает как защитный механизм и естественное поведение. Уже выпущенные снаряды при переходе в AFK не будут останавливаться, чтобы игроки не могли злоупотреблять функцией для укрытия — снаряды продолжат преследовать цель, только новые не будут запускаться.
Автор: bobobo
  • Исправлено автозаполнение названий предметов в команде give в некоторых случаях
  • Исправлено: команды диалогов выполнялись на первом игроке, использовавшем диалог, если применялась подстановка переменных
  • Исправлено: редактор табличек диалога иногда игнорировал защиту территории
  • Исправлено: прогрев (warmup) и кулдаун команд не всегда срабатывали при использовании пространства имён
  • Исправлено: ошибка при создании пользовательских диалогов с некорректно заданными значениями
  • Исправлено: анти-AFK не распознавал бездействие при использовании некоторых анти-AFK устройств
  • Исправлено: анимация сидения возвращала в исходный мир, если плагин переместил игрока
  • Исправлено: плейсхолдер %cmi_user_weather% ошибочно показывал грозу при ясной погоде
Автор: bobobo
Список изменений:
🔹 Интерфейс табличек (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
Автор: bobobo
🔹 Исправлено: некоторые эмодзи не отображались в emojipicker
🔹 Исправлено: ошибка при загрузке старых сохранённых инвентарей на новых версиях Minecraft из-за изменений формата
🔹 Добавлен диалоговый редактор для команды maxplayers, если не указаны переменные — появляется слайдер выбора. Диапазон от 1 до 200, если выбрать больше 175 — расширяется до 999
🔹 Добавлен диалоговый редактор для команды setmotd
🔹 Добавлен tab-complete для usermeta, теперь автодополняются существующие ключи пользователя
🔹 Исправлено: команда money пыталась удалить деньги у Towny-аккаунтов и подобных, теперь работает только с реальными игроками
🔹 Новый плейсхолдер: %cmi_stripcolor_{text}% — возвращает очищенный от цветовых кодов текст, например:
%cmi_stripcolor_{cmi_baltop_name_1}% выдаст имя игрока без цветов
🔹 Исправлено: некорректная обработка телепортации в некоторых случаях
Автор: bobobo
Небольшое обновление с исправлениями и экспериментами:
Исправлена проблема с новой системой добавления/убавления времени в тюрьме — игрок не сажался в тюрьму при использовании +, если он не был ранее посажен
Исправлен старый метод отображения голограмм, не работавший на серверах 1.21.6+
Добавлены улучшения по откату градиентов, требующие новой версии CMILib — теперь градиенты будут восстанавливаться в более читаемом виде, без каши из цветовых кодов на каждую букву. Не идеально, но в большинстве случаев работает нормально
Добавлена возможность редактировать таблички через новое окно типа Dialog. Включено по умолчанию. Работает только на 1.21.7+ с последними Paper-сборками. Функция экспериментальная
В окне редактирования отображается иконка таблички (малюсенькая, спасибо Mojang), а каждая строка таблички — отдельным текстовым полем. Лимит — 256 символов на строку
Кнопка "Update" применяет изменения, выход — через ESC или кнопку внизу окна
Автор: bobobo
  • Исправлена команда itemnbt, которая ничего не возвращала или вызывала ошибку на новых серверах
  • Исправлена проблема с определением старых предметов со старым NBT на серверах 1.21.5+, для полного исправления требуется последняя версия CMILib
  • Исправлено использование [item], вызывавшее ошибки в консоли на серверах 1.21.6+, необходима последняя версия CMILib
  • Добавлена обработка переменных %cmi.user.toggle.pmsound% и %cmi.user.togglename.pmsound%
  • Модуль anvilRenameColor разделён на anvilColor и anvilRename для точного контроля
  • Добавлена возможность отключать сообщения о смерти для игроков через /cmi options, требуется право cmi.command.options.deathmessages
  • Исправлена команда mute, теперь корректно используется первое распознанное время
  • Добавлена возможность прибавлять или уменьшать тюремное время игроку. Пример: /jail Zhax +10m добавит 10 минут, /jail Zhax -10m уменьшит. Если игрок не сидит и ему добавить время, он будет посажен. Уменьшение времени не повлияет на тех, кто не в тюрьме
Автор: bobobo
  • Быстрая правка ошибки, из-за которой плагин мог не загружаться на старых версиях серверов после последнего обновления.
Автор: bobobo
  • Добавлена возможность заспавнить Happy Ghast с цветной сбруей, например: /spawnmob happy_ghast:pink создаст хэппи-гаста с розовой сбруей. Цвет выбирается из 16 стандартных — произвольные HEX-цвета не поддерживаются.
  • Добавлена опция спавна сущности с другой, привязанной к ней — работает на серверах 1.21.6+ (только Paper). Пример: /spawnmob happy_ghast:leash-acacia_boat создаст хэппи-гаста с привязанной лодкой. Можно использовать с любыми мобами, но сделано в первую очередь под хэппи-гаста.
  • Обновлён формат команды spawnmob, теперь он ближе к однострочному синтаксису give. Старый формат остаётся рабочим, но теперь по умолчанию используется новый. Пример:
    было — skeleton_horse:baby:hp-50:n-{#brown}Death_Bringer:s-3
    стало — skeleton_horse;baby;hp{50};n{{#brown}Death_Bringer};s{3}
    Также теперь можно вводить более гибкие значения, например: skeleton_horse;n{{#red}-:;Death_Bringer;:-}
  • Добавлено исключение для killall, чтобы не удалялись Happy Ghast со сбруёй.
    Обновлена обработка команды killall.
    Переменная -f заменена на -all для ясности.
    Добавлен флаг -force, который игнорирует проверки вроде прирученных или названных мобов — полезно для полного удаления конкретного типа сущностей.
    Добавлен флаг -withitems для удаления сущностей, у которых есть экипировка или предметы в руках.
    По умолчанию без флагов команда удаляет монстров, включая тех, у кого есть предметы, но исключает названных.
  • Исправлена анимация сидения, из-за которой при отмене действия другими плагинами игрок мог провалиться на один блок вниз.
    Исправлена установка флагов предметов, которая могла скрывать больше информации, чем нужно, на новых версиях сервера.
Автор: bobobo
Обновление:
  • – Добавлена поддержка 1.21.6 (требуется CMILib 1.5.5.0 для корректной работы)
  • – Исправлена некорректная локализация в GUI голограммы для поля ширины текста
  • – Исправлена ошибка при сохранении инвентаря, если у игрока активен эффект зелья
  • – Внесены внутренние изменения в обработку скинов
  • – Исправлена проблема, при которой при телепортации оффлайн-игрока, а затем телепортации к нему использовались старые координаты
  • – Исправлена ошибка команды /effect freeze
  • – Исправлено: нельзя было помещать предметы с data component, явно указывающим, что предмет должен экипироваться в слот головы
  • – Исправлено: в настройках случайной телепортации биомы в блоке исключения учитывали неправильный формат и регистр, из-за чего телепортация могла происходить в запрещённые биомы
  • – Исправлена ошибка при указании некорректного цвета фона для чата-пузыря
  • – Добавлена опция: требовать приседание для редактирования табличек на серверах 1.20+, чтобы избежать случайных редактирований (по умолчанию выключена — обычный ПКМ всё ещё открывает редактирование)

📝 P.S. Последние две версии CMI были собраны на Java 17. Если ты всё ещё используешь Java 8 (да, она уже старая), то тебе нужна версия 9.7.14.3. Будет ли поддержка Java 8 в будущем — пока не решено, зависит от реальной необходимости.
Автор: bobobo
ВерхНиз