Миграция с 0.10
Перед обновлением сделайте резервную копию папки pages Typewriter и данных plugins/Typewriter/. Записи читаются как есть: существующие страницы загружаются, но несколько вещей ведут себя иначе.
Удалено
| Что | Чем заменить |
|---|---|
aggroMultiplier у Dungeon Instance | Ничем. Он никогда не читался и удалён. |
/typewriter dungeon start | /typewriter dungeon enter <instance>. |
Связь partyLobbyArtifact | Ничем. Она не используется: лобби больше не восстанавливаются после перезагрузки или перезапуска. Запись Dungeon Party Lobby Artifact по-прежнему загружается, но неактивна, и её планируется удалить в одной из следующих версий. |
| Создание отряда в MMOCore или Parties при входе в лобби | Отряды доступны только для чтения. Весь отряд игрока входит в лобби вместе с ним. |
Изменения в поведении
allowedDungeonIdsу Dungeon NPC Instance. Теперь это список ссылок на экземпляры подземелий (то же имя поля, те же сохранённые данные, поэтому старые страницы загружаются). Пустой список теперь означает все забеги всех подземелий. В 0.10 NPC не показывался вообще. Список, содержавший id, продолжает работать, пока эти id существуют. Значениеgroupпо умолчанию теперь — участники забега.- Dungeon NPC Instance показывается. В 0.10 он никогда не появлялся. Если вы использовали сундук, привязанный к NPC другого расширения, как обходной путь, теперь можно привязать его к этому.
criteriaу слотов категории вычисляются для каждого игрока. В 0.10 любой критерий закрывал слот для всех. Уберите критерии, которые вы использовали как жёсткую блокировку.criteriaиdamageMultiplierподземелья теперь применяются (damageMultiplierпо умолчанию 1).cooldownSeconds:0или пусто означает отсутствие лимита времени.- Комнаты теперь срабатывают.
onEnter,onLeave, модификаторы и критерии Dungeon Room выполняются. Перекрывающиеся комнаты входятся все, сначала с большимpriority.verticalMarginновый, со значением по умолчанию 2,0 блока: игрок теперь считается внутри от 2 блоков ниже самого нижнего узла до 2 блоков выше самого верхнего, для каждой комнаты. Задайте 0, чтобы сохранить прежнюю точную высоту. Высокой комнате (большой зал, башня) может понадобиться большее значение, чтобы прыжок или транспорт оставались внутри. - Факты.
indungeonиindungeon_instanceвозвращают реальные значения. - Статистика записывается. Она начинается с нуля.
- Изоляция. Новое поле
isolationпо умолчаниюAUTO:SLIME_CLONEс Advanced Slime Paper, иначеWORLD_PER_RUN(копияtemplateWorld, удаляемая после забега). В 0.10 обычный Paper использовал сам шаблонный мир и удалял из него все сущности, кроме игроков. Чтобы по-прежнему делить мир, задайтеSHARED_WORLD_SLOTSи постройте подземелье в каждом слоте. См. Забеги и изоляция мира. - Меню отряда выбирается по его полю
dungeonInstance, а меню с пустым полем обслуживает любое подземелье, которое не называет ни одно другое меню. Раньше это было «первое найденное меню». - Loot Chest Trigger
ONCE— один раз за забег, а не до перезапуска сервера. - Забеги переживают перезагрузку, если связан
runtimeArtifact(иначеruns.json). Перезапуск сервера их завершает. - Dungeon Enter и
/typewriter dungeon enterпроверяют размер группы, критерии, стоимость входа и лимит забегов. - Мобы расширения (новое): они не создаются, пока вы не добавите записи Dungeon Mob Spawn.
Новые сниппеты и поля
Все тексты, которые игроки читают в меню, лобби, боковой панели, сундуках с добычей и отказах в запуске, теперь являются сниппетами Typewriter (content.dungeon_menu., content.dungeon_lobby., content.dungeon_run.sidebar., content.dungeon_chest., content.dungeon_launch.). Значения по умолчанию — это тексты, которые расширение уже показывало, поэтому ничего не меняется, пока вы их не отредактируете. Список находится в индексе. Ответы административных команд тоже являются сниппетами (content.dungeon_command.).
Две группы полей новые, с значениями по умолчанию, сохраняющими прежнее поведение:
lobbyIdleKickSecondsу Dungeon Instance (по умолчанию120, прежние фиксированные 2 минуты).- У Loot Chest Trigger:
triggerSoundVolume,triggerSoundPitch,triggerParticleCount,triggerParticleSpread,triggerParticleSpeed(по умолчанию1,1,30,0.5,0.1).broadcastMessageтеперь принимает цветовые коды.
Совместимость данных
- Журнал забегов читается в версиях с 1 по 3. Он записывается как версия 2, пока в нём нет генерируемого забега, и как версия 3, как только такой появляется (он также получает необязательные списки
mobsиmobsOwed). Поэтому возврат к более старой сборке безопасен, только пока не сохранялся ни один генерируемый забег; не понижайте версию после использования генерируемых подземелий. Артефакт, который не удаётся прочитать, никогда не перезаписывается. - Список
MarkerKindшаблона комнаты получил в концеNPCиMOB. Существующие шаблоны комнат сохраняют свою идентичность и не меняются. - Id записи сущности
dungeon_npc_instanceне изменился.
Чек-лист
- Сделайте резервную копию ваших pages.
- Обновите JAR и запустите сервер. Прочитайте лог на предмет предупреждений об отсутствующем
runtimeArtifactили меню отряда. - Проверьте
isolationкаждого подземелья. - Пересмотрите
allowedDungeonIdsу ваших экземпляров NPC. - Пересмотрите
criteriaу слотов категории иverticalMarginу комнат. - Замените использования
/typewriter dungeon start.