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/undNPCs/sind Legacy-Ordnernamen.- EternalTD migriert sie jetzt während des Starts und Neuladens zu
levels/undnpcs/.
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.datin 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:
levelFileswaveFilesnpcFilesworldFoldersworldContainerFoldersmarkerFileName
In der Praxis:
- Level-, Wellen- und NPC-Pakete können durch Schreiben von
isEnabledin diese YAML-Dateien aktiviert oder deaktiviert werden - Verfolgte Dateinamen werden rekursiv erkannt, sodass Unterordner in
levels/,waves/undnpcs/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:
isEnablednamedescriptiondownloadLinkversionnightbreakSluglevelFileswaveFilesnpcFilesworldFoldersworldContainerFoldersmarkerFileNamecategorytoggleable
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 reloadgefolgt
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.