• Исправление для серверов версии 1.16 и старше
• Исправлена работа gamerule на старых серверах
• Удалена команда viewrange
• Добавлена новая команда viewdistance, которая работает на серверах типа Paper 1.20.6+ и позволяет изменять дальность прорисовки для серверов и игроков на лету. По умолчанию ограничено 32 чанками; установка значения -1 сбрасывает дальность до настроек сервера
• Внутренние обновления и переработка для серверов типа Paper: теперь серверы Paper 1.21.11+ корректно загружаются без необходимости добавления маппингов со стороны Paper. Это обеспечивает более стабильные и быстрые обновления с каждой новой версией Minecraft. Для серверов типа Spigot необходимость таких обновлений будет проверяться в будущем
• Исправление команды trim, которая сбрасывала одно из выделений
• Исправление зеркального отображения блоков в команде mirror, где направления могли работать некорректно
• Добавлена опция переключения между переворотом блоков по оси и по углу в команде mirror; в целом рекомендуется придерживаться режима переворота по оси
• Теперь наборы (kits) будут корректно обновлять название и описание предметов внутри мешочка (bundle) или шалкер ящика, содержащих дополнительные переменные, такие как {USERNAME}
• Небольшое изменение в обработке скинов игроков при отключенном модуле для более точного определения случаев, когда можно запрашивать информацию о скине
• Исправление сообщений shout, где пробел между ! и текстом сообщения всё ещё включался в итоговый вывод
• Исправление команды jail, которая не принимала уменьшение времени тюрьмы с использованием выражений вида /jail zhax -30s
• Исправление странного поведения с невидимыми игроками, получающими урон от снарядов
• Добавлена опция для предотвращения платежей (через команду /pay), если игрок не в сети. Учтите, что на данный момент это блокирует только платежи через данную команду и не затрагивает платежи, инициированные сторонними плагинами
• Исправление сохранения платы за полёт после перезапуска сервера
• Исправление сообщения об ошибке, связанного с «такой таблицы не существует: CMI_users», которое было безвредным, но не должно было появляться
• Улучшение производительности процесса сохранения инвентаря игрока для практически полной асинхронной работы
• Исправление применения скина игрока после перезапуска сервера при первом входе
• Исправление работы специализированных команд, которые конфликтовали с задержками (warmups) при переопределении разрешений
• Добавлена опция для команд с задержкой, позволяющая игрокам перемещаться на определенное расстояние. Например, cmi rt:6:false-2:tpaWarmup ограничит перемещение игрока не более чем на 2 блока от исходной позиции, создавая круговую область вместо квадратной. Это полезно, если задержки срабатывают из-за входа игрока в зону, но требуется ограничить перемещение без ложных срабатываний, вызванных постоянным движением игрока и переходом на новые блоки.
• С последней версией CMILib эта версия CMI должна работать на 1.21.11, но только на серверах типа Spigot, так что можно начинать тестирование. Для Paper обновление будет выпущено позже.
• Исправлена ошибка при попытке телепортировать офлайн-игроков
• Исправлена проблема, из-за которой настройка bossbar для тотема вызывала ошибки
• Оптимизирован размер файла сохранения порталов
• Добавлена опция для отмены прогрева команд при выходе из области портала — это позволяет запускать команду с прогревом и продолжать его, пока игрок находится в зоне портала
• Исправлено, что команда lastonline не учитывала вновь присоединившихся игроков после первого вызова
• Команда realname теперь кликабельна: клик выводит имя игрока, а при зажатом Shift — displayname
• Исправлено некорректное поведение ExcludeInactive для baltop
• Некоторое внутреннее обновление обработки плейсхолдеров %cmi_user_toggle_[name]% и %cmi_user_togglename_[name]%. Некоторые названия были изменены, поэтому убедитесь, что используются корректные узлы разрешений, позволяющие игрокам изменять эти параметры.
• Исправление проблемы, из-за которой baltop в некоторых случаях не загружал данные заранее.
• Исправление ошибки на серверах Folia, возникавшей при попытке оседлать сущность в отдельных ситуациях.
• Исправление для команды /cmi dye — броня, окрашенная в зависимости от биома, не меняла цвет в Paper 1.21.10.
• Исправлено, что itemname не принимал значение "remove" для удаления отображаемого имени предмета.
• Исправлена работа команды /tpo на серверах Paper 1.21.10.
• Состояние команды notarget перенесено в options, и теперь сохраняется после перезапуска сервера.
• Исправлена проблема, при которой варпы и игроки с одинаковыми именами конфликтовали — теперь имя варпа имеет приоритет.
• Исправлены проблемы со скинами на серверах 1.21.10 (только Paper, работающих в Online Mode).
• Исправлена ошибка, связанная с обработкой скинов на 1.21.10.
• Исправлено, что плейсхолдер %cmi_playtimetop_name_[place]% возвращал имена из baltop, а не из playtimetop.
• Улучшено поведение команды sound — теперь звук воспроизводится в указанной точке для игроков в указанном радиусе, что обеспечивает более корректный эффект.
• Требуется обновление CMILib. Теперь возможно:
— воспроизведение моно-звука для конкретного игрока (если указан игрок),
воспроизведение звука для всех (если указана только локация),
— воспроизведение “игрокового” звука для всех в радиусе (если указаны локация и радиус).
• Исправлено, что предпочтительные и исключённые биомы для рандомного телепорта неправильно определялись на Paper 1.21.10.
• Исправлена проблема с командой killall в некоторых случаях при проверке экипировки монстров.
• Обновлена команда lastonline — исправлена некорректная выдача первой страницы при запросе определённой; теперь используется обновлённая система лидербордов.
• Исправлена проблема, из-за которой редактор табличек не работал на последних версиях.
• Обновлена система обработки редактора стойки для брони, теперь она более централизована.
• Исправлен баг редактора стойки для брони, из-за которого отсутствие настроенных значений минимального/максимального масштаба вызывало зависание и не давало открыть GUI этой стойки.
• Теперь клик по записи в banlist показывает результат команды checkban, а Shift-клик вставляет имя игрока в чат.
• Теперь checkban включает опции для изменения бана, если у вас есть разрешение cmi.command.checkban.modify. Это позволяет изменить время бана, причину, сменить того, кто выдал бан, на «сервер», или просто разбанить игрока.
• Небольшие изменения для команды info, чтобы она выводила данные даже тогда, когда известно только UUID/ник и статус бана игрока. Это сделано для того, чтобы избежать путаницы, когда выводилась инструкция по использованию команды из-за того, что игрок ни разу не заходил на сервер и данных о нём нет.
• Исправлен баг, при котором bossbar тюрьмы показывался на короткое время при выходе из AFK-режима.
• Добавлены глобальные цвета, для работы требуется обновлённая версия CMILib. Стандартная локализация EN получила обновление и теперь использует одну из 7 базовых переменных: {gcp} {gcs} {gsw} {gce} {gcu} {gcd} {gcn} (возможно добавление новых при необходимости). Каждая переменная привязана к определённому цвету внутри CMILib. Основная — {gcp} ({GlobalColorPrimary}) — используется в большинстве сообщений. {gcs} в основном предназначена для переменных, {gce} для ошибок и так далее. Это позволяет намного быстрее менять все сообщения, меняя всего одну переменную под тему вашего сервера или события. Учтите, что это влияет только на заново сгенерированные файлы локализаций, которые будут использовать новые цветовые переменные вместо старых кодов. Ваши текущие файлы не изменятся, пока вы их не обновите. Самое простое — переименовать текущие EN-файлы и позволить CMI и CMILib сгенерировать новые.
• Исправлена проблема на Paper-серверах 1.21.10, где после телепортации инвентарь не закрывался автоматически, из-за чего GUI оставался открытым.
• Небольшое улучшение команды trim: теперь можно удалять существующие окантовки с брони через GUI или команду, например /cmi trim clear.
• Команда dialog теперь поддерживает дополнительные пользовательские переменные, которые можно использовать внутри самого диалога. Например: /cmi dialogs buyitemexample [material]:redwool
Это заменит переменную [material] (может быть любое имя) внутри диалога, включая команды, текстовые поля и требования к плейсхолдерам.
• Некоторые поля в окне Dialogs теперь поддерживают CText формат, что позволяет создавать текстовые боксы с различными всплывающими подсказками и возможностью выполнять команды при клике. Это в основном касается визуальных полей.
• Условия плейсхолдеров в диалогах теперь могут содержать несколько значений, что означает, что игрок должен соответствовать всем условиям для активации поля.
• Новые плейсхолдеры:
— %cmi_material_realname_[materialName]% — выводит отформатированное и потенциально переведённое название материала.
— %cmi_user_playtimetop% — показывает место игрока в рейтинге playtimetop.
• Команда generateworth теперь выполняется асинхронно, чтобы избежать лагов при проверке всех комбинаций материалов для расчёта стоимости.
• Исправлена работа maxplayers на последних версиях Minecraft.
• Некоторая переработка обработки baltop и playtimetop для более эффективного и централизованного подхода.
• Исправлена команда donate, которая перестала работать после последних обновлений.
• Исправление для параметра max scale у стойки для брони — теперь поддерживаются дробные числа.
• Добавлены 2 новых разрешения:
cmi.command.armorstand.scalemax.[value] и cmi.command.armorstand.scalemin.[value], которые задают минимальные и максимальные значения масштаба индивидуально для игрока. Обратите внимание: значения из конфигурации всё ещё учитываются. Если у игрока задано разрешение с максимальным значением, то будет выбрано наибольшее из двух (из конфига и из разрешения). Таким образом, конфигурация определяет общие лимиты, а разрешения позволяют их превышать.
• Команда /spawnmob теперь поддерживает случайный масштаб мобов через переменную scale{0.5-2.5}.
• Добавлена команда /cmi trim (playerName) (trimpattern) (trimMaterial), которая применяет заданные украшения (тримы) к броне, находящейся в руке игрока. Если шаблон или материал не указаны, откроется GUI с выбором.
• Исправлена ошибка на серверах Folia, связанная с динамическими табличками.
• Небольшое исправление, из-за которого глобальные переменные [prefix], [suffix], [name]
не переводились, если целью была консоль.
• Добавлены пропущенные примеры статистик в файл ranks.yml — они были допустимы, но отсутствовали в примере.
• Исправлены ошибочные названия статистик в ranks.yml. Например, "ChestOpen" заменено на правильное "ChestOpened". Некоторые другие имена также обновлены, хотя старые и новые варианты всё ещё работают.
• Добавлена опция (по умолчанию включена), запрещающая игрокам менять ник на уже существующее имя другого игрока. Теперь не нужно вручную добавлять игроков в чёрный список — система сама блокирует совпадения. Однако список всё ещё работает. Игрок с разрешением cmi.command.nick.bypassrealname может обойти это ограничение. Это предотвращает путаницу и ошибки при определении, к какому игроку относится упоминание имени.
• Исправлена проблема с MySQL-базами данных при добавлении новой записи о игроке.
• Теперь во время прогрева команды (warmup) игрок не может открывать GUI, не отменив текущее действие.
• Проблема, при которой новые записи игроков могли не создаваться при использовании базы данных MySQL с включённым авто-бэкапом.
• Команда /vanishedit больше не открывает GUI при прямом изменении состояния; без указания нового состояния теперь корректно переключает текущее.
• Ошибка работы действий scale и других на серверах Paper 1.21.10.
• Ошибка команды /checkban.
• Ошибка команды /cplaytime, добавлявшей лишнее игровое время.
• Сообщение об ошибке при использовании старого метода голограм на старых серверах.
• Проблема с шестнадцатеричными цветами в голограммах, которые иногда не переводились.
• Проблема с сохранёнными предметами, возвращавшимися с жёлтым курсивным именем.
• Оптимизирована команда /cmi reload, теперь работает быстрее, особенно при большом числе диалогов или голограмм.
• Изменена логика команд ban и tempban — теперь корректно работают с игроками, никогда не заходившими на сервер (предварительные баны).
• Команда /spawnmob расширена для лучшей поддержки area_effect_cloud, включая пользовательские визуальные эффекты и частицы (пример: /spawnmob area_effect_cloud;radius{32};potion{healing};radiustick{-0.2};particle{dust:green}).
• Добавлено отсутствующее сообщение о смерти от облака эффектов.
• Теперь команда /itemname по умолчанию задаёт белое имя без курсива (вместо жёлтого ванильного).
• Исправлена команда scan: результаты больше не будут случайными, все записи отображаются в порядке их фиксации.
• Добавлено удобство: результаты scan подчёркиваются при телепортации к ним, чтобы легче отслеживать посещённые места.
• Небольшое улучшение команды /cmi enchant: теперь показываются более известные названия чар (например, вместо damageall — sharpness). Сообщение упрощено, а автозаполнение выводит имена чар так, как они отображаются на предмете.
• Добавлена дополнительная информация в /cmi status: при наведении на первую строку показывается количество ожидающих задач для каждого плагина; при наведении на строку CPU — имена потоков с наибольшей активностью.
• Небольшие корректировки процесса сохранения данных игроков для предотвращения использования устаревших методов запросов.
• Исправлено: можно было сидеть на счастливом гаста, который потом удалялся, оставляя игрока в воздухе.
• Исправлена ошибка автозаполнения значений gamerule при некорректно заданном имени gamerule.
• Исправлено: требование к возрасту аккаунта для рангов теперь корректно распознаётся.
• Внесены небольшие внутренние изменения в обработку асинхронных потоков.
• Небольшое быстрое исправление, связанное с управлением скинами.
• Небольшое исправление сохранения данных игроков.
• Исправлена ошибка, связанная с диалогами и опцией типа singleton, из-за которой отображался символ «:», даже если метка не была задана.
• Добавлена возможность использовать плейсхолдеры в режиме singleton при определении варианта по умолчанию.
• Исправлен плейсхолдер %cmi_user_balance%, возвращавший некорректное значение при большом балансе.
• Исправлена ошибка обработки банов на старых серверах.
• Небольшое изменение команды banlist — теперь кнопка разблокировки отображается в начале списка для более аккуратного вида.
• Исправлена проблема на серверах Folia, из-за которой голограммы некорректно обрабатывали многострочный текст.