EternalTD-Inhaltspakete
EternalTD verfolgt offizielle Inhalte jetzt über ein content_packages-Konfigurationsset und macht diese Pakete über /etd setup zugänglich.
Paketkategorien
Der aktuelle Code verwendet drei Paketkategorien:
FREEPREMIUMRESOURCES
Das Setup-Menü zeigt diese derzeit als:
Free ContentPremium PacksResources
Verifizierte vorgefertigte Pakete
Dies sind die derzeit im Repository definierten vorgefertigten Pakete:
| Paket | Kategorie | Umschaltbar in /etd setup | Verfolgte Assets |
|---|---|---|---|
EternalTD Hub World | Free | Nein | Server-Weltcontainer-Ordner etd_spawn |
EternalTD Tutorial | Free | Ja | tutorial.yml, tutorial_waves.yml, tutorial_npc.yml, etd_tutorial |
Towers of the Grassy Lands | Free | Ja | 5 Level-Dateien, 1 Wellen-Datei, 1 NPC-Datei, 5 Welten |
Towers from the Depths | Premium | Ja | 5 Level-Dateien, 1 Wellen-Datei, 1 NPC-Datei, 5 Welten |
Towers of the Rising Sun | Premium | Ja | 5 Level-Dateien, 1 Wellen-Datei, 1 NPC-Datei, 5 Welten |
EternalTD Custom Models | Resources | Nein | Nur Markierungsdatei, plus importierte FreeMinecraftModels-Inhalte, wenn vorhanden |
Paket-Lebenszyklus
Der Paketbrowser unterscheidet derzeit zwischen:
- nicht heruntergeladen
- nicht installiert
- installiert
- teilweise installiert
- veraltet und aktualisierbar
- veraltet, aber nicht zugänglich
- Zugang erforderlich
Dieser Status wird aus verfolgten Assets auf der Festplatte, isEnabled-Flags in verfolgten Konfigurationsdateien und Nightbreak-Zugangs-/Update-Prüfungen berechnet.
Zwei Erkennungsregeln sind wichtig, wenn ein Paket dauerhaft auf „teilweise installiert" hängen zu bleiben scheint:
- Weltcontainer-Ordner werden in beiden Layouts erkannt. Paper 26.1 und neuer migrieren Plugin-Welten nach
<level-name>/dimensions/minecraft/<world>. EternalTD zählt einen Weltcontainer-Ordner als vorhanden, wenn er entweder im alten Wurzelverzeichnis oder am migrierten Ort existiert, und prüft bewusst auf den Ordner, nicht auflevel.dat—level.datzu verlangen würde das Paket während einer teilweisen Migration auf „nicht installiert" umschlagen lassen und eine Neuinstallation auslösen, die Paper dann nicht zusammenführen will. - Marker-verfolgte Pakete haben einen Inhalts-Fallback. Ein Paket, das nur über eine Markierungsdatei verfolgt wird, kann auch anhand des Vorhandenseins seiner Inhaltsordner unter
plugins/erkannt werden. Tritt das ein, wird die Markierung sofort geschrieben, sodass der Status danach stabil bleibt. Genau dadurch wird das Custom-Models-Paket als installiert erkannt, wenn seine Modelle von Hand statt über das Menü importiert wurden. Die Fallback-Ordnerliste ist im Code definiert und wird nicht aus der YAML des Pakets gelesen.
Umschaltbare vs. gemeinsame Pakete
Umschaltbare Pakete funktionieren durch das Umschalten von isEnabled in verfolgten Konfigurationsdateien unter:
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
Gemeinsame Pakete verhalten sich nicht wie normale Umschalter:
- Die Hub-Welt wird als gemeinsam installierter Inhalt behandelt.
- Das Custom-Model-Paket wird als gemeinsamer Ressourceninhalt behandelt.
Für diese Pakete weist das Setup-Menü Sie an, Dateien manuell zu entfernen und dann /etd reload auszuführen.
Massenoperationen
Die derzeit implementierten Massen-Inhaltsoperationen sind:
/etd downloadall— lädt das EternalTD-Plugin-Update und alle verfügbaren Inhalte herunter/etd downloadallcontent— lädt alle verfügbaren Inhalte herunter (kein Plugin-Update)/etd updatecontent(Alias/etd updateallcontent) — lädt nur veraltete Inhalte herunter
Die Befehle zum Herunterladen/Aktualisieren von Inhalten:
- erfordern einen verknüpften Nightbreak-Token
- laden nach
plugins/EternalTD/importsherunter - überspringen Pakete, die nicht zugänglich oder bereits aktuell sind
- laden EternalTD nach erfolgreichen Downloads automatisch neu
/etd downloadall prüft zusätzlich zuerst auf ein Plugin-Update und lädt es herunter; wenn kein Token verknüpft ist oder die Authentifizierung fehlschlägt, stoppt es vor dem Inhaltsschritt.
Praktische Hinweise
- Paketprüfungen deduplizieren nach Nightbreak-Slug vor Massendownload/-update.
- Die Setup-Benutzeroberfläche aktualisiert Inhalts- und Zugangsinformationen mit einer Abklingzeit, anstatt bei jedem Öffnen Nightbreak abzufragen.
- Das Custom-Models-Paket schreibt eine Markierung unter
plugins/EternalTD/content_markers/, damit EternalTD verfolgen kann, dass das gemeinsame Ressourcenpaket heruntergeladen wurde. - Verfolgte Level-, Wellen- und NPC-Dateien werden anhand des Dateinamens überall unterhalb von
levels/,waves/undnpcs/erkannt, sodass Pakete, die ihre Dateien in einem Unterordner ausliefern, trotzdem erkannt werden. Towers of the Rising Sunverfolgte seine Wellendatei zuvor alstowers_of_the_rising_sun.yml, während das Paket tatsächlichtowers_of_the_rising_sun_waves.ymlausliefert, wodurch es dauerhaft als nicht vollständig installiert galt. Der verfolgte Name wird jetzt automatisch korrigiert und beim Laden in die Paketkonfiguration zurückgeschrieben — keine manuelle Korrektur nötig.