- Для версий
- 1.21.✘
- 26.✘
📜 Denizen Scripting Language — Paper Impl (Неофициальная версия!)
Неофициальная реализация скриптового языка Denizen для серверов Paper с глубокой интеграцией Citizens. Раскройте на максимум потенциал использования Denizen вместе с NPC!
Версия 1.3.3M: Совместима с Paper 1.21.11, 26.1.2 и 26.2!
---
💎 Главные особенности расширения
---
✨ Новые возможности
🔄 События (Events)
*
*
📦 Ресурс-паки
Полностью переработана логика команды
✍️ Текст и форматирование
* Новые теги:
* Пример спрайта:
* Примеры цвета тени (Shadow Color):
* Простой вариант:
* С настройкой прозрачности:
* Примеры градиента тени:
* Простой вариант:
* С настройкой прозрачности:
* Двойной градиент — включает градиент обычного текста и градиент тени:
* Пример:
* Параметры
* Параметры
* Примеры использования голов (Head):
* Текстура всего лица:
* Только лицо (без внешнего слоя пикселей/шлема):
* К объекту
⚙️ Внутренняя миграция
* Осуществлен полный переход на Paper Components для повышения производительности и совместимости с современными API.
---
👾 Команды
🚀 Teleport
* Ожидаемый асинхронный телепорт:
🎆 Playeffect
---
🧪 Предметы и механики
🛡️ Атрибуты
* Добавлен новый тег
* Пример:
🎨 Custom Model Data
* Новый формат:
* Упрощенный синтаксис:
---
🧹 Оптимизация и чистка кода
* Оптимизирован тег
* Удаления:
* Тег
* Предупреждение
---
🐛 Исправление багов
⚠️ Известные проблемы (Официальный баг Denizen, не этого форка)
* Тег
---
#### Нужна помощь с Denizen? Загляните сюда:
Неофициальная реализация скриптового языка Denizen для серверов Paper с глубокой интеграцией Citizens. Раскройте на максимум потенциал использования Denizen вместе с NPC!
Версия 1.3.3M: Совместима с Paper 1.21.11, 26.1.2 и 26.2!
---
💎 Главные особенности расширения
- Поддержка: Полностью обновленное расширение для VS Code от разработчика
Humusus. - Всё в одном: Включает в себя все последние изменения и исправления по запросам сообщества.
- Исходный код и руководство: Проект доступен на 🔗 GitHub: refined-denizenScript
---
✨ Новые возможности
🔄 События (Events)
- Добавлен эксклюзивный для Paper тип события:
on player unchecked sign edits. - Событие
on player equips|unequips ...переведено на обобщенный синтаксисon <entity> equips|unequips <item> or armor|helmet|chestplate|leggings|boots|body. Теперь оно поддерживает любых сущностей (не только игроков) и включает новый слот для тела (body).
<context.entity> — Задействованный EntityTag.*
<context.slot> — Название слота экипировки.*
<context.new_item> / <context.old_item> — Текущий и предыдущий ItemTag в слоте.📦 Ресурс-паки
Полностью переработана логика команды
resourcepack для поддержки одновременной загрузки нескольких пакетов ресурсов.- Добавлен новый аргумент
addдля отправки игроку дополнительных ресурс-паков. - Добавлен механизм
PlayerTag.remove_resource_packдля удаления конкретного ресурс-пака у игрока по его ID. - Добавлен механизм
PlayerTag.remove_resource_packsдля удаления вообще всех ресурс-паков у игрока.
✍️ Текст и форматирование
* Новые теги:
<&sprite>, <&shadow_color>, <&shadow_gradient>, <&dual_gradient> и <&head>.* Пример спрайта:
<&sprite[minecraft:items:item/porkchop]>* Примеры цвета тени (Shadow Color):
* Простой вариант:
<&shadow_color[#51a2ff]>* С настройкой прозрачности:
<&shadow_color[<color[#51a2ff].with_alpha[254]>]>* Примеры градиента тени:
* Простой вариант:
<&shadow_gradient[from=#51a2ff;to=#FFF085]>* С настройкой прозрачности:
<&shadow_gradient[from=<color[#51a2ff].with_alpha[0]>;to=<color[#FFF085].with_alpha[254]>]>* Двойной градиент — включает градиент обычного текста и градиент тени:
* Пример:
<&dual_gradient[from=#51a2ff;to=#FFF085;s_from=#FFF085;s_to=#51a2ff]>* Параметры
from и to настраивают градиент текста.* Параметры
s_from и s_to настраивают градиент тени.* Примеры использования голов (Head):
* Текстура всего лица:
<&head[Tjtoxshpilivili1]>* Только лицо (без внешнего слоя пикселей/шлема):
<&head[!Tjtoxshpilivili1]>* К объекту
ElementTag добавлены соответствующие теги .shadow_color, .shadow_gradient и .dual_gradient.⚙️ Внутренняя миграция
* Осуществлен полный переход на Paper Components для повышения производительности и совместимости с современными API.
---
👾 Команды
🚀 Teleport
- Добавлена опция
async, которая телепортирует игрока в непрогруженные чанки без вызова серверных лагов (иногда возможна небольшая задержка выполнения). Подробнее в документации Paper. - Добавлена поддержка тега
~waitableдля асинхронного параметра. Это позволяет скриптам точно отслеживать и ждать момента, когда процесс асинхронной телепортации полностью завершится. - Примеры использования:
teleport <player> <player.location.random_offset[99999,0,99999]> async* Ожидаемый асинхронный телепорт:
~teleport <player> <player.location.random_offset[99999,0,99999]> async🎆 Playeffect
- Переведен на современный Paper API
ParticleBuilder. Это исправляет ванильное ограничение, из-за которого частицы не рендерились, если игрок находился дальше 32 блоков. - Добавлена автоматическая обработка параметра
forced. Раньше, даже если вы указывали большой радиус видимости (например,visibility:100) для эффекта в 50 блоках от игрока, он мог не отобразиться. Принудительный запуск (forced) теперь гарантирует корректный рендеринг на больших дистанциях. - Пример использования:
playeffect effect:END_ROD quantity:100 <player.location.random_offset[50,0,50]> visibility:100 forced
---
🧪 Предметы и механики
🛡️ Атрибуты
* Добавлен новый тег
.rarity_color для предметов (возвращает ColorTag).* Пример:
<player.item_in_hand.rarity_color>🎨 Custom Model Data
- Обновлен механизм и свойство
custom_model_data. Теперь он возвращаетMapTag, содержащий спискиfloats,strings,flagsиcolors(цвета). - Теперь принимает
MapTagсо списками вышеперечисленных параметров для сложного выбора моделей предметов. При этом полностью сохранена обратная совместимость со старым форматом чисел. - Примеры использования:
inventory adjust slot:hand custom_model_data:1000* Новый формат:
inventory adjust slot:hand custom_model_data:<map[floats=<list[1000]>;flags=<list[...]>;strings=<list[foo:bar]>;colors=<list[<color[127,0,0]>]>]>* Упрощенный синтаксис:
custom_model_data:[floats=1000;flags=...;strings=foo:bar;colors=<color[127,0,0]>]---
🧹 Оптимизация и чистка кода
- Внутренняя оптимизация: Проведена кастомная оптимизация производительности нескольких внутренних классов.
- Изменение тегов:
.unsorted к тегу .find_entities[<#.#>].within[<#.#>]. Он позволяет пропустить сортировку сущностей по расстоянию. Используйте его для повышения производительности, если порядок сущностей в списке вам не важен.* Оптимизирован тег
.distance: функция Math.pow заменена на прямое умножение. Это снижает вычислительную нагрузку и ускоряет расчеты расстояний в скриптах.* Удаления:
* Тег
.scriptname полностью удален из всех объектов.* Предупреждение
Denizen ASAP Strong warning окончательно вырезано.---
🐛 Исправление багов
- showfake: Исправлена проблема, из-за которой команда выдавала ошибку в консоль, несмотря на то, что работала корректно.
- fakeinternaldata: Исправлен критический баг, из-за которого команда вообще не работала и вызывала ошибку.
⚠️ Известные проблемы (Официальный баг Denizen, не этого форка)
* Тег
.has_potion_effect в данный момент не работает.---
#### Нужна помощь с Denizen? Загляните сюда:
- Главная страница Denizen (Каталог ссылок): Denizen Script - Links Directory
- Мета-документация (Внимание: БЕЗ новых изменений из этого форка!) — поиск команд, тегов и событий: Home | Denizen Meta Documentation
- Гайд для начинающих (В текстовом формате): Denizen Beginner's Guide — Denizen Beginner's Guide