Zum Hauptinhalt springen

Changelog

1.2​

  • Dungeon Mob Spawn: lootTable, spawnParticle, Anpassung an die Spielerzahl (perExtraPlayer, maxCount, playerCountSource), maxSimultaneous, waves sowie die Trigger onWaveCleared und onCleared.
  • Neuer Eintrag Dungeon Loot Table: eine Beutetabelle, die sich Truhen und Mobs teilen.
  • Dungeon Loot Chest: lootTableRef und additionalLocations, um mehrere Truhen aus einem Eintrag zu platzieren (in einem generierten Dungeon ignoriert).
  • Loot Chest Trigger: particleEffect mit getrennten X-, Y- und Z-Achsen und einem Zentrum. Die vier triggerParticle-Felder sind veraltet: Sie gelten nur, wenn particleEffect keinen Partikel nennt.
  • Neues Ereignis On Dungeon Mobs Cleared.
  • Neuer Eintrag Dungeon Restrictions, über restrictions mit einer Dungeon Instance oder einem Dungeon Room verbunden: keine Elytra, kein Boot oder Loren, keine Enderperle, Chorusfrucht oder Riptide, gesperrte Befehle, eine Ablehnungsnachricht und eine Umgehungsberechtigung.
  • Erfordert GUI (OmniGUI) 0.20. Die neue Dungeon Leaderboard Source nutzt den Leaderboard-Source-Vertrag von GUI 0.20: Mit einem älteren GUI lädt die Dungeon-Bestenliste nicht. Aktualisiere zuerst GUI.
  • API-Bruch für Addons: DungeonArtifactData, DungeonStats und PlayerDungeonStats liegen jetzt im Package btcrenaud.dungeons.core, und DungeonArtifactEntry.getPlayerStats und DungeonArtifactEntry.update haben eine neue Signatur. Ein Addon, das gegen Dungeon 1.1.x kompiliert wurde, muss neu kompiliert werden. Im Web-Panel gebaute Dungeons sind nicht betroffen.
  • Statistiken: 22 Statistiken pro Spieler (verursachter und erlittener Schaden, Mob-Kills, Tode, Spielzeit, geleerte Räume und Wellen, Rekorde, Solo- und fehlerfreie Abschlüsse...). Sie werden während des Durchlaufs gezählt und pro Mitglied einmal ausgezahlt, pro Artifact, mit einer Summe über mehrere Artifacts. Schaden ist der Schaden, der wirklich Leben gekostet hat, begrenzt auf die Leben des Ziels.
  • Dungeon Instance: statsMobScope wählt, welche Mobs in den Statistiken zählen, MARKED_ONLY (Standard, die vom Durchlauf erzeugten Mobs) oder ANY_MOB_IN_RUN_WORLD.
  • Neuer Fact Player Dungeon Statistic und die Placeholder dungeon_stat_<key> (mit _raw für die reine Zahl), dungeon_total_<key> und dungeon_inst_<id>_<key>. Die Snippets content.dungeon_stats.duration_format und content.dungeon_stats.missing_value bestimmen ihre Schreibweise.
  • Neuer Entry Dungeon Leaderboard Source zum Einstecken in das Feld source einer GUI-Bestenliste (GUI 0.20): Artifacts, scope (LIFETIME oder CURRENT_RUN), rankBy, values, durationFormat, decimals, missingValue und unknownName. Zeilen-Token: {value_<key>}, {value_<key>_raw} und {score_raw}.
  • Dungeon Instance: reconnectGrace (standardmäßig 2 Minuten). Ein Mitglied, das die Verbindung verliert, behält seinen Platz für diese Frist und macht bei rechtzeitiger Rückkehr mit Sidebar, ausgeblendeten Slots und Spielmodus weiter. Danach verlässt es den Durchlauf und kehrt beim erneuten Verbinden zu seinem Einstiegspunkt zurück. Siehe Verbindungsabbrüche.
  • Dungeon Restrictions: gameMode (optional, zum Beispiel ADVENTURE; der eigene Modus des Spielers kommt beim Verlassen zurück; CREATIVE und SPECTATOR schalten die Kampfstatistiken ab), limitInteractions mit allowedInteractions (standardmäßig CHEST, TRAPPED_CHEST und BARREL) und protectedEntities (Rahmen, Rüstungsständer, Gemälde) sowie messageRepeatDelay (2 Sekunden). limitInteractions verweigert außerdem das Platzieren von Blöcken, Eimern, Fahrzeugen, Spawn-Eiern, Feuer und Knochenmehl sowie Werkzeuge auf Blöcken.
  • Dungeon Restrictions: Riptide und Chorusfrucht werden jetzt schon beim Klick verweigert, nicht nur ihre Wirkung. Nur die Bypass-Berechtigung nimmt einen Spieler aus: Ein Operator hat sie, solange der Node nicht ausdrücklich auf false steht.
  • Dungeon Category: Die Slot-Felder unlockedLore und lockedLore heißen jetzt unlockLore und lockLore. Mit den alten Namen gespeicherte Seiten werden weiterhin gelesen; sind beide vorhanden, gewinnt der neue.
  • MMOProfiles: Sobald der Spieler ein Profil gewählt hat, werden die Rückkehr zum Einstiegspunkt und der ursprüngliche Spielmodus erneut angewendet.
  • Korrekturen: runs_left zählt keinen Tod mehr, der den Spieler aus dem Durchlauf wirft (er bleibt in deaths); waves_cleared zählt nur die Gruppen, die waves definieren; %typewriter_dungeon_stat_current_health% zeigt während eines Durchlaufs die aktuellen Leben; der Statistik-Schreiber hört nach einem Fehler nicht mehr auf zu speichern; ein Durchlauf, der bei einem Reload geschlossen wird, weil keines seiner Mitglieder online ist, zählt die Spielzeit seiner abwesenden Mitglieder.
  • Für bestehende Dungeons ändert sich nichts, solange sie diese Felder nicht nutzen. Für eine Truhe, die erscheint, sobald alle Mobs besiegt sind, siehe Entitäten in Dungeons.

1.1.1​

  • Paper 26.x: Ein WORLD_PER_RUN-Durchlauf konnte mit The server did not create world 'dungeon_classic_...' scheitern. Die Kopie der Vorlage behielt deren Welt-ID (data/paper/metadata.dat), daher lehnte der Server sie als Duplikat ab. Die Kopie erhält jetzt eine eigene ID.

1.1​

  • Öffentliche Version der unten beschriebenen Überarbeitung. Korrektur seit 1.0: WORLD_PER_RUN kopiert jetzt eine Vorlagenwelt im Layout von Paper 26.x (dimensions/minecraft/<name>).

1.0​

Dies ist eine Überarbeitung der Erweiterung, aufgebaut um ein Durchlauf-Modell. Lies den Migrationshinweis, bevor du einen Server aktualisierst, der 0.10 verwendete.

Durchläufe und Welten​

  • Ein Durchlauf hat jetzt seine eigene Zustandsmaschine, sein eigenes Register und sein eigenes Journal. Das Starten eines Durchlaufs ist alles oder nichts: Schlägt ein Schritt fehl, wird nichts behalten, und die Eintrittskosten werden erstattet.
  • Drei Isolationsmodi, pro Dungeon mit isolation gesetzt: SLIME_CLONE, WORLD_PER_RUN, SHARED_WORLD_SLOTS und AUTO (Standard). Ein Modus, der nicht laufen kann, lehnt den Durchlauf ab. Siehe Durchläufe und Weltisolation.
  • Nach Art von Paper 26.x abgelegte Welten (dimensions/minecraft/<name>) werden für SHARED_WORLD_SLOTS gefunden und für WORLD_PER_RUN kopiert; ein Problem bei der Weltvorbereitung wird in einer Zeile statt als vollständiger Stacktrace protokolliert.
  • Ein typewriter reload oder ein Publish übernimmt die laufenden Durchläufe wieder. Ein Serverneustart beendet sie sauber.
  • cooldownSeconds ist ein echtes Zeitlimit: 0 oder leer bedeutet kein Limit.
  • Verwaiste Durchlauf-Welten werden beim Start mit Schutzvorkehrungen gelöscht (Name, Markierungsdatei, nie eine geladene Welt).
  • Statistiken werden geschrieben: Versuche, Abschlüsse und Bestzeit, pro Dungeon und pro Spieler.
  • damageMultiplier und die criteria des Dungeons werden angewendet.

Generierte Dungeons​

Räume, Events und Facts​

  • Menüs aktualisieren sich live (autoRefreshTicks) und wenn sich eine Lobby ändert.
  • Das Warte-Scoreboard funktioniert. DUNGEON_LOBBY_SLOT-Marker platzieren Lobbys. Die criteria der Slots werden für jeden Spieler ausgewertet.
  • Ein Party-Menü kann seinen Dungeon nennen (dungeonInstance); ein leeres bedient jeden Dungeon, den kein anderes Menü nennt.
  • Parties von MMOCore, Parties und der Typewriter-Party-Erweiterung werden nur gelesen.

Truhen​

  • Ein Wurf pro Spieler und Truhe, visibility (AUTO, PER_PLAYER, SHARED), onDisappear, lootSelection und weightedPicks, Truhenanimation, Ausrichtung aus dem Yaw, CraftEngine- und Nexo-Blöcke, nach einem Reload wiederhergestellte Truhen.

Entities in Dungeons​

Spielertexte und neue Felder​

  • Die Texte der Menüs, Lobbys, der Durchlauf-Seitenleiste, der Beutetruhen und der Startablehnungen sind Snippets (content.dungeon_menu., content.dungeon_lobby., content.dungeon_run.sidebar., content.dungeon_chest., content.dungeon_launch.). Die Standardwerte sind unverändert. Auch die Antworten der /typewriter dungeon ...-Befehle sind Snippets (content.dungeon_command.).
  • Neues Feld lobbyIdleKickSeconds an der Dungeon Instance (Standard 120).
  • Neue Felder an Loot Chest Trigger: triggerSoundVolume, triggerSoundPitch, triggerParticleCount, triggerParticleSpread, triggerParticleSpeed. broadcastMessage akzeptiert Farbcodes.

Befehle​

  • Der Unterbefehl start, der nie funktionierte, wurde entfernt. Die Befehle sind im Index dokumentiert.

Bekannte Grenzen​

  • Nur Paper. Folia wird nicht unterstützt.
  • Generierte Dungeons verwenden nur WORLD_PER_RUN.
  • Eine MythicMobsNPC-Cinematic in einem Dungeon ist ungetestet.

0.10​

Der Standalone-Build. Raum-Trigger, die beiden „in dungeon“-Facts, die NPC Instance und die Statistiken waren deklariert, aber nicht aktiv.