Migração da 0.10
Faça backup da sua pasta pages do Typewriter e dos dados de plugins/Typewriter/ antes de atualizar. As entries são lidas como estão: as páginas existentes carregam, mas várias coisas se comportam de forma diferente.
Removido
| O quê | Substituir por |
|---|---|
aggroMultiplier na Dungeon Instance | Nada. Nunca era lido e foi removido. |
/typewriter dungeon start | /typewriter dungeon enter <instance>. |
O vínculo partyLobbyArtifact | Nada. Não é usado: os lobbies não são mais restaurados após um reload ou uma reinicialização. A entry Dungeon Party Lobby Artifact ainda carrega, mas é inerte, e sua remoção está prevista para uma versão futura. |
| Entrar em um lobby criando uma party no MMOCore ou no Parties | As parties são somente leitura. A party inteira de um jogador entra no lobby com ele. |
Comportamento que muda
allowedDungeonIdsem um Dungeon NPC Instance. Agora é uma lista de referências a dungeon instances (mesmo nome de campo, mesmos dados armazenados, então as páginas antigas carregam). Uma lista vazia agora significa todas as runs de todas as dungeons. Na 0.10, o NPC nunca era exibido. Uma lista que continha ids continua funcionando enquanto os ids existirem. O padrão degroupagora são os membros da run.- O Dungeon NPC Instance é exibido. Na 0.10 ele nunca aparecia. Se você usava um baú ancorado em um NPC de outra extensão como solução provisória, agora pode ancorá-lo neste.
criterianos slots da categoria são avaliados por jogador. Na 0.10, qualquer criterion bloqueava o slot para todos. Remova os criteria que você usava como bloqueio fixo.criteriaedamageMultiplierda dungeon agora são aplicados (damageMultiplierpadrão 1).cooldownSeconds:0ou vazio significa sem limite de tempo.- As salas agora disparam.
onEnter,onLeave, modifiers e criteria de um Dungeon Room são executados. Salas que se sobrepõem são todas acionadas, a deprioritymaior primeiro.verticalMarginé novo, com padrão de 2,0 blocos: um jogador agora conta como dentro desde 2 blocos abaixo do nó mais baixo até 2 blocos acima do mais alto, para toda sala. Defina-o como 0 para manter a altura exata que você tinha. Uma sala alta (um grande salão, uma torre) pode precisar de um valor maior, para que um pulo ou um veículo continue dentro. - Facts.
indungeoneindungeon_instanceretornam valores reais. - As estatísticas são gravadas. Elas começam em zero.
- Isolamento. O novo campo
isolationéAUTOpor padrão:SLIME_CLONEcom o Advanced Slime Paper, caso contrárioWORLD_PER_RUN(uma cópia detemplateWorld, apagada após a run). Na 0.10, o Paper puro usava o próprio mundo modelo e removia dele toda entidade que não fosse jogador. Para continuar compartilhando um mundo, definaSHARED_WORLD_SLOTSe construa a dungeon em cada slot. Veja Runs e isolamento de mundo. - O menu de party é escolhido pelo seu campo
dungeonInstance, e um menu com esse campo vazio atende qualquer dungeon que nenhum outro menu nomeie. Antes era "o primeiro menu encontrado". - Loot Chest Trigger
ONCEvale uma vez por run, não até a reinicialização do servidor. - As runs sobrevivem a um reload se um
runtimeArtifactestiver vinculado (senão,runs.json). Uma reinicialização do servidor as encerra. - Dungeon Enter e
/typewriter dungeon enterverificam o tamanho do grupo, os criteria, o custo de entrada e o limite de runs. - Mobs da extensão (novo): nenhum é criado a menos que você adicione entries Dungeon Mob Spawn.
Novos snippets e campos
Todos os textos que os jogadores leem nos menus, lobbies, barra lateral, baús de loot e recusas de início agora são snippets do Typewriter (content.dungeon_menu., content.dungeon_lobby., content.dungeon_run.sidebar., content.dungeon_chest., content.dungeon_launch.). Os padrões são os textos que a extensão já exibia, então nada muda até você editá-los. A lista está no índice. As respostas dos comandos de administração também são snippets (content.dungeon_command.).
Dois grupos de campos são novos, com padrões que mantêm o comportamento antigo:
lobbyIdleKickSecondsna Dungeon Instance (padrão120, os 2 minutos fixos de antes).- Em Loot Chest Trigger:
triggerSoundVolume,triggerSoundPitch,triggerParticleCount,triggerParticleSpread,triggerParticleSpeed(padrões1,1,30,0.5,0.1).broadcastMessageagora aceita códigos de cor.
Compatibilidade de dados
- O journal das runs é lido das versões 1 a 3. Ele é gravado como versão 2 enquanto nenhuma run gerada estiver nele, e como versão 3 assim que houver uma (ele também ganha as listas opcionais
mobsemobsOwed). Voltar para uma build mais antiga só é seguro, portanto, enquanto nenhuma run gerada tiver sido salva; não faça downgrade depois de usar dungeons geradas. Um artifact que não pode ser lido nunca é sobrescrito. - A lista
MarkerKindde um modelo de sala ganhouNPCeMOBno final. Os modelos de sala existentes mantêm sua identidade e não mudam. - O id da entry de entidade
dungeon_npc_instancenão mudou.
Checklist
- Faça backup das suas pages.
- Atualize o JAR e inicie o servidor. Leia o log em busca de avisos sobre um
runtimeArtifactou um menu de party ausente. - Confira o
isolationde cada dungeon. - Revise
allowedDungeonIdsnas suas NPC instances. - Revise os
criteriados slots da categoria e overticalMargindas salas. - Substitua os usos de
/typewriter dungeon start.