Zum Hauptinhalt springen

Migration von 0.10

Sichere deinen Typewriter-Ordner pages und die Daten unter plugins/Typewriter/, bevor du aktualisierst. Entries werden so gelesen, wie sie sind: Bestehende Pages laden, aber einiges verhält sich anders.

Entfernt​

WasErsetzen durch
aggroMultiplier an der Dungeon InstanceNichts. Es wurde nie gelesen und ist entfernt.
/typewriter dungeon start/typewriter dungeon enter <instance>.
Der Link partyLobbyArtifactNichts. Er wird nicht verwendet: Lobbys werden nach einem Reload oder einem Neustart nicht mehr wiederhergestellt. Der Entry Dungeon Party Lobby Artifact lädt noch, ist aber inaktiv und soll in einer späteren Version entfernt werden.
Das Betreten einer Lobby erstellt eine Party in MMOCore oder PartiesParties werden nur gelesen. Die gesamte Party eines Spielers betritt die Lobby mit ihm.

Verhalten, das sich ändert​

  • allowedDungeonIds an einer Dungeon NPC Instance. Es ist jetzt eine Liste von Referenzen auf Dungeon Instances (gleicher Feldname, gleiche gespeicherten Daten, alte Pages laden also). Eine leere Liste bedeutet jetzt jeden Durchlauf jedes Dungeons. In 0.10 wurde der NPC nie angezeigt. Eine Liste, die Ids enthielt, funktioniert weiter, solange die Ids noch existieren. Der Standard von group sind jetzt die Mitglieder des Durchlaufs.
  • Dungeon NPC Instance wird angezeigt. In 0.10 erschien sie nie. Hast du als Notlösung eine an einen NPC einer anderen Erweiterung verankerte Truhe verwendet, kannst du jetzt an diese verankern.
  • criteria an Kategorie-Slots werden pro Spieler ausgewertet. In 0.10 sperrte jedes Criterion den Slot für alle. Entferne Criteria, die du als harte Sperre verwendet hast.
  • criteria und damageMultiplier des Dungeons werden jetzt angewendet (damageMultiplier Standard 1).
  • cooldownSeconds: 0 oder leer bedeutet kein Zeitlimit.
  • Räume lösen jetzt aus. onEnter, onLeave, Modifier und Criteria eines Dungeon Room laufen. Sich überlappende Räume werden alle betreten, die höhere priority zuerst. verticalMargin ist neu, mit einem Standard von 2,0 Blöcken: Ein Spieler gilt jetzt für jeden Raum als drinnen von 2 Blöcken unter dem tiefsten Knoten bis 2 Blöcke über dem höchsten. Setze es auf 0, um die exakte Höhe zu behalten, die du hattest. Ein hoher Raum (eine große Halle, ein Turm) braucht möglicherweise einen größeren Wert, damit ein Sprung oder ein Fahrzeug drinnen bleibt.
  • Facts. indungeon und indungeon_instance liefern echte Werte.
  • Statistiken werden geschrieben. Sie beginnen bei null.
  • Isolation. Das neue Feld isolation ist standardmäßig AUTO: SLIME_CLONE mit Advanced Slime Paper, sonst WORLD_PER_RUN (eine Kopie von templateWorld, nach dem Durchlauf gelöscht). In 0.10 verwendete einfaches Paper die Vorlagenwelt selbst und entfernte jede Nicht-Spieler-Entity daraus. Um weiterhin eine Welt zu teilen, setze SHARED_WORLD_SLOTS und baue den Dungeon in jedem Slot. Siehe Durchläufe und Weltisolation.
  • Das Party-Menü wird über sein Feld dungeonInstance gewählt, und ein leeres bedient jeden Dungeon, den kein anderes Menü nennt. Früher war es „das erste gefundene Menü“.
  • Loot Chest Trigger ONCE gilt einmal pro Durchlauf, nicht bis zum Neustart des Servers.
  • Durchläufe überstehen einen Reload, wenn ein runtimeArtifact verknüpft ist (sonst runs.json). Ein Serverneustart beendet sie.
  • Dungeon Enter und /typewriter dungeon enter prüfen die Gruppengröße, die Criteria, die Eintrittskosten und das Durchlauflimit.
  • Mobs der Erweiterung (neu): Es werden keine erzeugt, sofern du keine Dungeon Mob Spawn-Entries hinzufügst.

Neue Snippets und Felder​

Alle Texte, die Spieler in den Menüs, Lobbys, der Seitenleiste, den Beutetruhen und den Startablehnungen lesen, sind jetzt Typewriter-Snippets (content.dungeon_menu., content.dungeon_lobby., content.dungeon_run.sidebar., content.dungeon_chest., content.dungeon_launch.). Ihre Standardwerte sind die Texte, die die Erweiterung schon zuvor angezeigt hat, bis zu deiner Änderung bleibt also alles gleich. Die Liste steht im Index. Auch die Antworten der Admin-Befehle sind Snippets (content.dungeon_command.).

Zwei Gruppen von Feldern sind neu, mit Standardwerten, die das alte Verhalten beibehalten:

  • lobbyIdleKickSeconds an der Dungeon Instance (Standard 120, die frühere feste Dauer von 2 Minuten).
  • An Loot Chest Trigger: triggerSoundVolume, triggerSoundPitch, triggerParticleCount, triggerParticleSpread, triggerParticleSpeed (Standardwerte 1, 1, 30, 0.5, 0.1). broadcastMessage akzeptiert jetzt Farbcodes.

Datenkompatibilität​

  • Das Durchlauf-Journal wird von Version 1 bis 3 gelesen. Es wird als Version 2 geschrieben, solange kein generierter Durchlauf darin ist, und als Version 3, sobald einer darin ist (es erhält außerdem die optionalen Listen mobs und mobsOwed). Der Wechsel zu einem älteren Build ist daher nur sicher, solange kein generierter Durchlauf gespeichert wurde; führe kein Downgrade durch, nachdem du generierte Dungeons verwendet hast. Ein Artifact, das nicht gelesen werden kann, wird nie überschrieben.
  • Die Liste MarkerKind einer Raumvorlage hat an ihrem Ende NPC und MOB hinzubekommen. Bestehende Raumvorlagen behalten ihre Identität und bleiben unverändert.
  • Die Id des Entity-Entries dungeon_npc_instance ist unverändert.

Checkliste​

  1. Sichere deine Pages.
  2. Aktualisiere die JAR und starte den Server. Lies das Log nach Warnungen über ein fehlendes runtimeArtifact oder Party-Menü.
  3. Prüfe die isolation jedes Dungeons.
  4. Überprüfe allowedDungeonIds an deinen NPC Instances.
  5. Überprüfe criteria an Kategorie-Slots und verticalMargin an Räumen.
  6. Ersetze Verwendungen von /typewriter dungeon start.