Script Blocks 0.0.10 для Minecraft 1.21.1 (Fabric)
Файлы · 1
Что изменилось
0.0.10
Это обновление завершает полировку, начатую в прошлом обновлении, по крайней мере пока. Некоторые функции требуют обновления до современных версий Minecraft, на чём и сосредоточится следующее обновление. Все устаревшие блоки по-прежнему работают как обычно, но при установке в мире они будут отправлять в лог (и опционально в чат) сообщения с предупреждением и инструкциями о том, как их лучше заменить. Устаревшие блоки со временем будут удалены.
Добавления
- «предопределённая точка появления в мире» (задаётся в конфиге сервера) теперь учитывает блоки делегирования точки появления
добавлен «Блок модификации данных», на данный момент имеет следующие функции:
- добавляет целочисленные значения к данным при использовании как «Блок ретрансляции данных»
- выполняет операцию по модулю над данными при использовании как «Блок ретрансляции данных»
добавлены кулдауны локаций
- входы в локацию могут задавать кулдаун, который не позволяет игрокам входить в локацию через этот вход. Кулдаун локации запускается автоматически, когда игрок умирает, находясь в локации, или вручную через LocationCooldownStarterBlock.
- добавлен Location Cooldown Starter Block — этот блок запускает кулдаун для всех активных локаций всех игроков из переданного списка UUID
- добавлена стоимость сброса локации предметами, задаваемая локацией (входом)
- добавлено булево поле allow_regeneration для локаций и входов в локации. Оно включает кнопку сброса локации в экране телепорта.
- добавлены настройки блока для переключения эффектов появления и постоянных сущностей у срабатывающих (Villager) блоков-спавнеров
- добавлена опция конфига сервера для интервала тиков Блока детектора игроков
- добавлены медные варианты (трап)дверей Script Blocks (Interactive Trigger, Teleporter, Use Relay)
- добавлены блоки Interactive Trigger Soul Candle в 17 вариантах. Функционально они идентичны существующим блокам Interactive Trigger Candle, но отображают частицы пламени душ и имеют меньшую яркость.
- добавлены блоки Interactive Trigger (Soul) Torch
- добавлены блоки Interactive Trigger (Soul) Lantern
- добавлен компонент данных «scriptblocks:prevent_interactions», содержащий список строк. Некоторые блоки могут задавать строку. Если у взаимодействующего игрока есть хотя бы один предмет с этим компонентом и строка блока есть в списке, игрок не может взаимодействовать с этим блоком.
Обработчики списков UUID
Эта новая категория скриптовых блоков работает со списками UUID, а именно с UUID игроков.
- добавлен «Блок сохранения списка UUID». Этот блок сохраняет список UUID. Другие блоки могут добавлять в этот список, удалять из него или читать текущий список.
- добавлен «Блок ретрансляции списка UUID». Предоставляет те же взаимодействия, что и «Блок сохранения списка UUID», но передаёт их другому блоку по настраиваемому смещению позиции.
- добавлен Two Areas Player Detector Block — срабатывает блок и отправляет список UUID, когда игрок входит в настроенную область, но только если до этого игрок находился в другой настроенной области. При обратном направлении срабатывает другой блок/получает список UUID.
- добавлен «Блок манипуляции эффектами статуса». При срабатывании этот блок накладывает/снимает/уменьшает уровень эффекта статуса (тега) для списка игроков, полученного от обработчика списков UUID. В качестве альтернативы список можно передать этому блоку напрямую, не полагаясь на промежуточные блоки.
- добавлен UUID List Messaging Block — отправляет настраиваемое сообщение всем игрокам из полученного списка UUID. Сообщение может отображаться в чате, как оверлей или как заголовок.
- добавлен Triggering Respawn Anchor Block — задаёт точку возрождения всем игрокам из полученного списка UUID. Когда игрок возрождается, срабатывает другой блок.
Изменения
- изменён id блока-сущности «Jigsaw Placer Block» с «scriptblocks:structure_placer_block» на «scriptblocks:jigsaw_placer_block». Для уже установленных блоков это происходит автоматически с помощью датафиксеров при поддержке мода «Easy Data Fixer».
- поля во всех файлах пользовательских данных изменены с «camelCase» на «snake_case».
- поля «(un)lock_advancement» заменены полем «unlock_predicate» для локаций и входов в локации
- все варианты Interactive Trigger Block теперь могут срабатывать от других блоков
- все варианты Interactive Trigger Block теперь проверяют предметы с компонентом данных «scriptblocks:prevent_interactions»
- компонент данных «scriptblocks:removed_on_teleport» переименован в «scriptblocks:removed_on_interactions»
Переработка Boss Controller Block
больше не задаёт область
- теперь получает игроков, участвующих в бою, от обработчика списков UUID
- добавлены настройки блока для переключения эффектов появления и постоянных сущностей босса
Переработка Player Detector Block
- теперь срабатывает блок, когда игрок покидает область
- также отправляет список UUID всех входящих/выходящих игроков
- проверку области тиков можно отключить
- при срабатывании отправляет список UUID всех игроков в области и срабатывает блок, когда в области есть хотя бы один игрок
- теперь является обработчиком списков UUID, предоставляя игроков, находящихся в его области
Переработка Team Controller Block
теперь является обработчиком списков UUID
- при получении списка соответствующие игроки добавляются в текущую команду
- тики блока теперь можно отключить
Переработка Teleporter Block
Teleporter Block становился всё сложнее. Эта переработка выносит часть поведения в другие блоки
Teleporter Block больше не тикает и не задаёт область. Эффект статуса «Portal Resistance» больше не используется и был удалён
- при срабатывании Teleporter Block теперь получает список UUID от обработчика списков UUID.
- Teleporter Block теперь является обработчиком списков UUID: когда он получает список UUID, соответствующие игроки телепортируются/открывается экран телепорта.
Teleporter Block теперь срабатывает другой блок перед телепортацией и второй блок после телепортации
- как обычно, смещение позиции блока и т. п. настраиваются в экране блока
UUID телепортированных игроков (+ их команд, если это включено) теперь отправляются блоку-обработчику списков UUID
- как обычно, смещение позиции блока и т. п. настраиваются в экране блока
- убрано снятие эффектов статуса/уменьшение усилителя при телепортации. Это поведение можно восстановить с помощью нового «Status Effect Manipulation Block».
- убрано удаление предметов при телепортации
- добавлена поддержка кулдаунов локаций
- прямые взаимодействия с блоком теперь проверяют настройку «только владелец измерения»
- экран творческого режима теперь показывает «Access Position Offset» и соответствующую кнопку только когда режим телепортации установлен на «Locations» или «Location». Это сделано, чтобы было ясно, что другие режимы не задают позицию доступа.
- удалено поле show_regenerate_button из Teleporter Block Entity
- добавлено поле only_dimension_owner_can_teleport_message в Teleporter Block Entity. Оно определяет сообщение, показываемое когда only_teleport_dimension_owner установлено в true и игрок не является владельцем измерения.
- Teleporter Block теперь проверяет предметы с компонентом данных «scriptblocks:prevent_interactions». Новое поле prevent_interaction_identifier_string определяет точную строку для сравнения с компонентом. Новое поле interaction_prevented_message определяет сообщение, показываемое когда взаимодействие запрещено.
- несколько улучшений экрана телепортера
Переработка Triggered Damage Dealing Block
теперь это UUID List Handler
- при передаче списка соответствующие игроки получают урон
- при срабатывании наносит урон либо всем сущностям в настроенной области, либо всем игрокам из переданного списка UUID, в зависимости от новой настройки блока
Исправления
- исправлено сохранение данных JigsawPlacerBlock
Техническое
- отслеживаемые данные перенесены на data attachments