Saltar al contenido principal

Migración desde 0.10

Haz una copia de seguridad de la carpeta pages de Typewriter y de los datos de plugins/Typewriter/ antes de actualizar. Las entradas se leen tal cual: las páginas existentes cargan, pero varias cosas se comportan de forma distinta.

Eliminado​

QuéSustituir por
aggroMultiplier en la Dungeon InstanceNada. Nunca se leyó y ha desaparecido.
/typewriter dungeon start/typewriter dungeon enter <instance>.
El enlace partyLobbyArtifactNada. No se usa: los lobbies ya no se restauran tras una recarga o un reinicio. La entrada Dungeon Party Lobby Artifact aún carga pero es inerte, y está previsto eliminarla en una versión posterior.
Unirse a un lobby creaba una party en MMOCore o PartiesLas parties son de solo lectura. Toda la party de un jugador se une al lobby con él.

Comportamiento que cambia​

  • allowedDungeonIds en un Dungeon NPC Instance. Ahora es una lista de referencias a dungeon instances (mismo nombre de campo, mismos datos almacenados, así que las páginas antiguas cargan). Una lista vacía significa ahora todas las partidas de todas las mazmorras. En 0.10 el NPC no se mostraba nunca. Una lista que contenía ids sigue funcionando mientras los ids existan. El valor por defecto de group son ahora los miembros de la partida.
  • Dungeon NPC Instance se muestra. En 0.10 nunca aparecía. Si usabas como solución provisional un cofre anclado a un NPC de otra extensión, ahora puedes anclarlo a este.
  • criteria en los huecos de categoría se evalúan por jugador. En 0.10 cualquier criterio bloqueaba el hueco para todos. Elimina los criteria que usabas como bloqueo duro.
  • criteria y damageMultiplier de la mazmorra se aplican ahora (damageMultiplier por defecto 1).
  • cooldownSeconds: 0 o vacío significa sin límite de tiempo.
  • Las salas ahora se disparan. Se ejecutan onEnter, onLeave, modifiers y criteria de una Dungeon Room. En las salas que se solapan se entra en todas, la de mayor priority primero. verticalMargin es nuevo, con un valor por defecto de 2,0 bloques: un jugador cuenta ahora como dentro desde 2 bloques por debajo del nodo más bajo hasta 2 bloques por encima del más alto, para cada sala. Ponlo en 0 para conservar la altura exacta que tenías. Una sala alta (un gran salón, una torre) puede necesitar un valor mayor, para que un salto o un vehículo permanezca dentro.
  • Facts. indungeon e indungeon_instance devuelven valores reales.
  • Se escriben las estadísticas. Empiezan en cero.
  • Aislamiento. El nuevo campo isolation es AUTO por defecto: SLIME_CLONE con Advanced Slime Paper; si no, WORLD_PER_RUN (una copia de templateWorld, borrada tras la partida). En 0.10, Paper normal usaba el propio mundo plantilla y retiraba de él toda entidad que no fuera un jugador. Para seguir compartiendo un mundo, fija SHARED_WORLD_SLOTS y construye la mazmorra en cada hueco. Consulta Partidas y aislamiento de mundo.
  • El menú de party se elige por su campo dungeonInstance, y uno vacío atiende a toda mazmorra que ningún otro menú nombre. Antes era "el primer menú encontrado".
  • Loot Chest Trigger ONCE es una vez por partida, no hasta que se reinicie el servidor.
  • Las partidas sobreviven a una recarga si hay un runtimeArtifact enlazado (si no, runs.json). Un reinicio del servidor las termina.
  • Dungeon Enter y /typewriter dungeon enter comprueban el tamaño del grupo, los criteria, el coste de entrada y el límite de partidas.
  • Mobs de la extensión (nuevo): no se crea ninguno salvo que añadas entradas Dungeon Mob Spawn.

Nuevos snippets y campos​

Todos los textos que leen los jugadores en los menús, lobbies, barra lateral, cofres de botín y rechazos de lanzamiento son ahora snippets de Typewriter (content.dungeon_menu., content.dungeon_lobby., content.dungeon_run.sidebar., content.dungeon_chest., content.dungeon_launch.). Sus valores por defecto son los textos que la extensión ya mostraba, así que nada cambia hasta que los edites. La lista está en el índice. Las respuestas de los comandos de administración también son snippets (content.dungeon_command.).

Dos grupos de campos son nuevos, con valores por defecto que mantienen el comportamiento anterior:

  • lobbyIdleKickSeconds en la Dungeon Instance (por defecto 120, los 2 minutos fijos de antes).
  • En Loot Chest Trigger: triggerSoundVolume, triggerSoundPitch, triggerParticleCount, triggerParticleSpread, triggerParticleSpeed (valores por defecto 1, 1, 30, 0.5, 0.1). broadcastMessage acepta ahora códigos de color.

Compatibilidad de datos​

  • El diario de partidas se lee de la versión 1 a la 3. Se escribe como versión 2 mientras no haya ninguna partida generada en él, y como versión 3 en cuanto hay una (también gana las listas opcionales mobs y mobsOwed). Volver a una build anterior solo es seguro mientras no se haya guardado ninguna partida generada; no hagas downgrade tras usar mazmorras generadas. Un artifact que no se puede leer nunca se sobrescribe.
  • La lista MarkerKind de una plantilla de sala ganó NPC y MOB al final. Las plantillas de sala existentes conservan su identidad y no cambian.
  • El id de la entrada de entidad dungeon_npc_instance no cambia.

Lista de comprobación​

  1. Haz una copia de seguridad de tus páginas.
  2. Actualiza el JAR y arranca el servidor. Lee el log en busca de advertencias sobre un runtimeArtifact o un menú de party ausentes.
  3. Comprueba el isolation de cada mazmorra.
  4. Revisa allowedDungeonIds en tus NPC instances.
  5. Revisa criteria en los huecos de categoría y verticalMargin en las salas.
  6. Sustituye los usos de /typewriter dungeon start.