Changelog
1.2
- Dungeon Mob Spawn:
lootTable,spawnParticle, масштабирование по числу игроков (perExtraPlayer,maxCount,playerCountSource),maxSimultaneous,wavesи триггерыonWaveClearedиonCleared. - Новая запись Dungeon Loot Table: одна таблица добычи для сундуков и мобов.
- Dungeon Loot Chest:
lootTableRefиadditionalLocationsдля размещения нескольких сундуков из одной записи (в сгенерированном подземелье игнорируется). - Loot Chest Trigger:
particleEffectс раздельными осями X, Y и Z и центром. Четыре поляtriggerParticleустарели: они действуют, только еслиparticleEffectне называет частицу. - Новое событие On Dungeon Mobs Cleared.
- Новая запись Dungeon Restrictions, подключаемая через
restrictionsк Dungeon Instance или Dungeon Room: запрет элитр, лодок и вагонеток, жемчуга Края, плода хоруса и тридента с тягой, блокировка команд, сообщение об отказе и разрешение для обхода. - Требуется GUI (OmniGUI) 0.20. Новая Dungeon Leaderboard Source использует контракт источника рейтинга из GUI 0.20: со старым GUI рейтинг Dungeon не загружается. Сначала обновите GUI.
- Несовместимое изменение API для аддонов:
DungeonArtifactData,DungeonStatsиPlayerDungeonStatsперенесены в пакетbtcrenaud.dungeons.core, а уDungeonArtifactEntry.getPlayerStatsиDungeonArtifactEntry.updateизменилась сигнатура. Аддон, скомпилированный под Dungeon 1.1.x, нужно перекомпилировать. Подземелья, собранные в веб-панели, это не затрагивает. - Статистика: 22 показателя на игрока (нанесённый и полученный урон, убийства мобов, смерти, время игры, зачищенные комнаты и волны, рекорды, прохождения в одиночку и без смертей...). Они считаются во время забега и выплачиваются один раз на участника, по артефакту, с общим итогом по нескольким артефактам. Урон — это урон, который реально отнял здоровье, не больше здоровья цели.
- Dungeon Instance:
statsMobScopeвыбирает, какие мобы учитываются в статистике:MARKED_ONLY(по умолчанию, мобы, созданные забегом) илиANY_MOB_IN_RUN_WORLD. - Новый факт Player Dungeon Statistic и плейсхолдеры
dungeon_stat_<key>(с_rawдля числа без форматирования),dungeon_total_<key>иdungeon_inst_<id>_<key>. Сниппетыcontent.dungeon_stats.duration_formatиcontent.dungeon_stats.missing_valueзадают их вид. - Новая запись Dungeon Leaderboard Source, которую подключают к полю
sourceрейтинга GUI (GUI 0.20): артефакты,scope(LIFETIMEилиCURRENT_RUN),rankBy,values,durationFormat,decimals,missingValueиunknownName. Токены строки:{value_<key>},{value_<key>_raw}и{score_raw}. - Dungeon Instance:
reconnectGrace(по умолчанию 2 минуты). Участник, потерявший соединение, сохраняет своё место на это время и, вернувшись вовремя, продолжает с тем же сайдбаром, скрытыми слотами и режимом игры. После этого он покидает забег и при повторном входе возвращается в точку входа. См. Отключения. - Dungeon Restrictions:
gameMode(необязательно, напримерADVENTURE; прежний режим игрока возвращается при выходе;CREATIVEиSPECTATORотключают боевую статистику),limitInteractionsсallowedInteractions(по умолчаниюCHEST,TRAPPED_CHESTиBARREL) иprotectedEntities(рамки, стойки для брони, картины), а такжеmessageRepeatDelay(2 секунды).limitInteractionsтакже запрещает ставить блоки, вёдра, транспорт, яйца призыва, огонь, костную муку и использовать инструменты на блоках. - Dungeon Restrictions: рывок трезубца с «Тягуном» и плод хоруса теперь запрещены уже при клике, а не только их эффект. Исключение даёт только право обхода: у оператора оно есть, пока узел явно не выставлен в
false. - Dungeon Category: поля слота
unlockedLoreиlockedLoreтеперь называютсяunlockLoreиlockLore. Страницы, сохранённые со старыми именами, читаются по-прежнему; если присутствуют оба, побеждает новое. - MMOProfiles: после выбора игроком профиля возвращение в точку входа и исходный режим игры применяются заново.
- Исправления:
runs_leftбольше не считает смерть, из-за которой игрок покидает забег (она остаётся вdeaths);waves_clearedсчитает только группы, у которых заданwaves;%typewriter_dungeon_stat_current_health%показывает текущее здоровье во время забега; запись статистики больше не перестаёт сохранять после ошибки; забег, закрытый при перезагрузке из-за того, что ни одного его участника нет в сети, засчитывает время игры отсутствующим участникам. - В существующих подземельях ничего не меняется, пока они не используют эти поля. О сундуке, который появляется после победы над всеми мобами, см. Сущности в подземельях.
1.1.1
- Paper 26.x: забег в режиме
WORLD_PER_RUNмог завершиться ошибкойThe server did not create world 'dungeon_classic_...'. Копия шаблона сохраняла его идентификатор мира (data/paper/metadata.dat), и сервер отклонял её как дубликат. Теперь копия получает собственный идентификатор.
1.1
- Публичная версия переработки, описанной ниже. Исправление с версии 1.0:
WORLD_PER_RUNтеперь копирует мир-шаблон, сохранённый в формате Paper 26.x (dimensions/minecraft/<name>).
1.0
Это переработка расширения, построенная вокруг модели забега. Прочитайте заметку о миграции, прежде чем обновлять сервер, использовавший 0.10.
Забеги и миры
- У забега теперь свой автомат состояний, реестр и журнал. Запуск забега — всё или ничего: если шаг не удался, ничего не сохраняется, а стоимость входа возвращается.
- Три режима изоляции, задаются для каждого подземелья полем
isolation:SLIME_CLONE,WORLD_PER_RUN,SHARED_WORLD_SLOTSиAUTO(по умолчанию). Режим, который не может работать, отклоняет забег. См. Забеги и изоляция мира. - Миры, хранящиеся по схеме Paper 26.x (
dimensions/minecraft/<name>), находятся дляSHARED_WORLD_SLOTSи копируются дляWORLD_PER_RUN; проблема подготовки мира записывается в лог одной строкой, а не полным стеком вызовов. typewriter reloadили Publish подхватывает идущие забеги заново. Перезапуск сервера чисто их завершает.cooldownSeconds— настоящий лимит времени:0или пусто означает отсутствие лимита.- Осиротевшие миры забегов очищаются при запуске с защитами (имя, файл-маркер, никогда не загруженный мир).
- Статистика записывается: попытки, прохождения и лучшее время по подземельям и по игрокам.
damageMultiplierиcriteriaподземелья применяются.
Генерируемые подземелья
- Новые записи: Dungeon Room Template, Dungeon Connector Type, Dungeon Room Pool, Dungeon Generator, Dungeon Affix и игровой редактор дверей и маркеров. Подземелье с
generatorсобирается заново для каждого забега. Один и тот же seed даёт одно и то же подземелье. См. Генерируемые подземелья.
Комнаты, события и факты
- Триггеры комнат
onEnterиonLeave,enterOnce,leaveOnce,priority,criteriaиmodifiersтеперь работают. Новое полеverticalMargin. - Новые события: on_dungeon_start, on_dungeon_complete, on_dungeon_room_enter, on_dungeon_room_leave, on_dungeon_mob_death.
- Факты
indungeonиindungeon_instanceтеперь работают. Новый факт dungeon_mobs_alive. - Новые действия: Dungeon Complete, Dungeon Clear Room, Dungeon Spawn Mobs.
- Новые Dungeon Run Audience и Dungeon Run Group.
Меню и лобби
- Меню обновляются вживую (
autoRefreshTicks) и при изменении любого лобби. - Скорборд ожидания работает. Маркеры
DUNGEON_LOBBY_SLOTразмещают лобби.criteriaслотов вычисляются для каждого игрока. - Меню отряда может называть своё подземелье (
dungeonInstance); меню с пустым полем обслуживает все подземелья, которые не называет ни одно другое меню. - Отряды MMOCore, Parties и расширения отрядов Typewriter доступны только для чтения.
Сундуки
- Один бросок на игрока и сундук,
visibility(AUTO,PER_PLAYER,SHARED),onDisappear,lootSelectionиweightedPicks, анимация сундука, ориентация по yaw, блоки CraftEngine и Nexo, сундуки восстанавливаются после перезагрузки.
Сущности в подземельях
- Dungeon NPC Instance: NPC на каждый забег из любого определения сущности, теперь показывается участникам своего забега.
- Dungeon Mob Spawn: ванильные боевые мобы, один раз за забег, с лимитом (
maxAliveMobs). См. Сущности в подземельях.
Тексты для игрока и новые поля
- Тексты меню, лобби, боковой панели забега, сундуков с добычей и отказов в запуске — это сниппеты (
content.dungeon_menu.,content.dungeon_lobby.,content.dungeon_run.sidebar.,content.dungeon_chest.,content.dungeon_launch.). Значения по умолчанию не изменились. Ответы команд/typewriter dungeon ...тоже являются сниппетами (content.dungeon_command.). - Новое поле
lobbyIdleKickSecondsу Dungeon Instance (по умолчанию120). - Новые поля у Loot Chest Trigger:
triggerSoundVolume,triggerSoundPitch,triggerParticleCount,triggerParticleSpread,triggerParticleSpeed.broadcastMessageпринимает цветовые коды.
Команды
- Удалена подкоманда
start, которая никогда не работала. Команды описаны в индексе.
Известные ограничения
- Только Paper. Folia не поддерживается.
- Генерируемые подземелья используют только
WORLD_PER_RUN. - Кинематографическая сцена MythicMobsNPC в подземелье не проверялась.
0.10
Автономная сборка. Триггеры комнат, два факта «в подземелье», экземпляр NPC и статистика были объявлены, но не работали.