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

  • Исправлена ошибка при загрузке наборов (kits)
  • Исправлена ошибка, связанная с шалкер-рюкзаками
Автор: bobobo
  • Полностью переработана команда 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, только правым кликом.
Автор: bobobo
  • Исправлено: проблема с командой itemframe на Spigot 1.21.6+ при установке состояния невидимости.
  • Оптимизация: улучшена обработка голограмм при выходе игрока.
  • Изменено: команда notarget теперь позволяет игрокам подбирать сферы опыта.
  • Исправлено: команда killall некорректно работала при указании диапазона.
  • Оптимизация: повышена производительность при глобальной замене переменных в строках локализации и командах.
  • Исправлено: сохранение инвентаря на серверах Spigot.
  • Исправлено: заряд полёта продолжал тратиться в режиме наблюдателя, теперь расход идёт только в Survival и Adventure.
  • Диалоги:
    • Добавлена возможность числового сравнения плейсхолдеров (%placeholder%>=20).
    • Добавлена проверка на отсутствие определённого разрешения через !permission.
  • Исправлено: проблема с тихим открытием сундуков.
Автор: bobobo
  • Исправлено: команда /heal принимала отрицательные значения
  • Исправлено: команда /itemframe не работала на серверах версии 1.21.6+
  • Исправлено: GUI для gamerule сжимался при использовании последних версий CMILib
  • Добавлена поддержка Custom Model Data для работы с предметом elytra — теперь можно запросить конкретный предмет с заданным custom model data для запуска, потребления или общего использования при полёте. Формат: PAPER;cm{10095}
  • Оптимизирована работа с голограммами при использовании нового метода отображения
  • Исправлено: команда /give показывала двойное сообщение об ошибке, если не удавалось определить целевого игрока; также исправлено некорректное сообщение, когда запрашиваемый предмет не был распознан
  • Исправлено: команда /cuff показывала информационное окно при неудаче из-за попытки надеть наручники на самого себя
  • Добавлена возможность задавать условия для диалогов не только по правам (permission), но и по значению плейсхолдера. Теперь можно проверять либо общее значение плейсхолдера, либо конкретное, указанное вами. Подробности — на zrips.net/cmi/commands/dialogs в разделе new conditions
Автор: bobobo
Всё о диалогах!!!
Подробнее: 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
ВерхНиз