Zum Hauptinhalt springen

EternalTD Benutzerdefinierte Inhaltspaketierung

EternalTD unterstützt weiterhin dateisystembasierte benutzerdefinierte Inhalte, aber der aktuelle Code erwartet ein bestimmtes Ordnerlayout und ein Paketverfolgungsmodell.

Import-Stammverzeichnis

Manuelle Importe erfolgen weiterhin über:

plugins/EternalTD/imports/

Nach dem manuellen Importieren von Inhalten führen Sie aus:

/etd reload

Kanonische Inhaltsordner

Das aktuelle Plugin durchsucht diese Ordner in Kleinbuchstaben:

plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
plugins/EternalTD/worlds/

Hinweis zu Legacy-Versionen:

  • Levels/ und NPCs/ sind Legacy-Ordnernamen.
  • EternalTD migriert sie jetzt während des Starts und Neuladens zu levels/ und npcs/.

Regeln für Weltpaketierung

EternalTD behandelt die Welten unter:

plugins/EternalTD/worlds/

als Weltvorlagen.

Wenn ein Spieler ein Level startet, klont EternalTD die passende Vorlagenwelt in den Server-Weltcontainer und führt die Sitzung in dieser geklonten Kopie aus.

Eine Vorlage wird vor dem Kopieren validiert, und die Kopie wird verweigert, wenn eines der folgenden zutrifft:

  • die Vorlage hat kein level.dat in ihrem Wurzelverzeichnis
  • der Vorlagenordner ist ein symbolischer Link oder enthält irgendwo in seinem Inneren einen symbolischen Link
  • die Vorlage enthält eine Datei namens .eternaltd-instance

Dieser letzte Name ist reserviert: EternalTD schreibt ihn als Besitzmarkierung in jeden Laufzeitklon und weigert sich, einen Weltordner zu löschen, der keine passende Markierung trägt. Liefern Sie niemals eine solche Datei in einer paketierten Vorlage mit.

Praktische Auswirkung:

  • Paketieren Sie Vorlagenwelten unter plugins/EternalTD/worlds/
  • Behandeln Sie die zur Laufzeit geklonten Welten nicht als Wahrheitsquelle für paketierte Inhalte
  • Weltordnernamen müssen einfache Namen sein — keine Pfadtrennzeichen, kein :, keine Steuerzeichen und nicht . oder ..

Die offizielle Hub-Welt ist ein Sonderfall und wird direkt im Server-Weltcontainer als verfolgt:

etd_spawn

Was ein Paket umschaltbar macht

Das Paketumschalten in /etd setup funktioniert nur für Pakete, die verfolgte Konfigurationsdateien bereitstellen.

Die aktuellen verfolgten Asset-Felder sind:

  • levelFiles
  • waveFiles
  • npcFiles
  • worldFolders
  • worldContainerFolders
  • markerFileName

In der Praxis:

  • Level-, Wellen- und NPC-Pakete können durch Schreiben von isEnabled in diese YAML-Dateien aktiviert oder deaktiviert werden
  • Verfolgte Dateinamen werden rekursiv erkannt, sodass Unterordner in levels/, waves/ und npcs/ in Ordnung sind — nur der Dateiname muss übereinstimmen
  • Gemeinsame Weltcontainer-Inhalte und Marker-only-Ressourcenpakete sind nicht auf die gleiche Weise umschaltbar

Paketmetadatenfelder

Das aktuelle Paket-Konfigurationsfeldmodell unterstützt:

  • isEnabled
  • name
  • description
  • downloadLink
  • version
  • nightbreakSlug
  • levelFiles
  • waveFiles
  • npcFiles
  • worldFolders
  • worldContainerFolders
  • markerFileName
  • category
  • toggleable

Wenn Sie möchten, dass benutzerdefinierte Inhalte wie ein verfolgtes Paket in der Setup-Benutzeroberfläche funktionieren, benötigen Sie Paketmetadaten, die diesen Feldern entsprechen.

Es gibt ein weiteres verfolgtes Feld, markerFallbackFolders, das Ordner unter plugins/ auflistet, deren nicht-leeres Vorhandensein ebenfalls als installiertes Paket zählt. Es existiert für Inhalte, die den Server erreichen können, ohne dass der Download-Ablauf eine Markierung schreibt. Es ist ausschließlich im Code definiert — es in eine Paket-YAML zu schreiben hat keine Wirkung.

Hinweise zur Modellpaketierung

Das aktuelle Paket EternalTD Custom Models wird mit einer Markierungsdatei anstelle normaler EternalTD-Konfigurationsdateien verfolgt.

Das bedeutet:

  • EternalTD kann verfolgen, ob das gemeinsame Modellpaket heruntergeladen wurde
  • die tatsächlichen Modell-Assets befinden sich auf der FreeMinecraftModels-Seite der Einrichtung, wenn FMM installiert ist
  • die Bereinigung erfolgt manuell und wird von /etd reload gefolgt

Was diese Seite nicht behauptet

Diese Seite dokumentiert die aktuellen Zielordner auf der Festplatte und das Verfolgungsmodell, die im Repository verifiziert sind.

Sie definiert kein erstanbieter-ZIP-Schema für Nightbreak-Paketarchive, da dieses Paketformat in diesem Repository nicht als eigenständige öffentliche Autorenspezifikation beschrieben ist.