EternalTD-Inhaltspakete
EternalTD erfasst offizielle Inhalte über die Konfigurationen unter content_packages und zeigt diese Pakete in /etd setup an.
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 | Kostenlos | Nein | Server-Weltcontainer-Ordner etd_spawn |
EternalTD Tutorial | Kostenlos | Ja | tutorial.yml, tutorial_waves.yml, tutorial_npc.yml, etd_tutorial |
Towers of the Grassy Lands | Kostenlos | 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 | Ressourcen | Nein | Markierungsdatei und vorhandene importierte FreeMinecraftModels-Inhalte |
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. - Das Modellpaket wird auch anhand seines Inhalts erkannt. Ein nicht leerer Ordner
FreeMinecraftModels/models/EternalTD default towersoder der alte OrdnerFreeMinecraftModels/Models/EternalTD default towersunterplugins/zählt als vorhanden. EternalTD versucht anschließend, die Markierung zu schreiben; Schreibfehler werden protokolliert. Diese Ordnerliste ist im Code definiert, nicht in der Paket-YAML.
Diese Prüfungen erfassen Vorhandensein und Aktivierung, nicht die Spielbarkeit. Eine Markierung kann nach dem Entfernen der Modelle bestehen bleiben, und die Erkennung eines Weltordners validiert dessen Inhalt nicht. Fehlende erfasste Ressourcen führen vorrangig zum Status teilweise installiert. Sind alle vorhanden, aber nur einige Konfigurationen aktiviert, gilt ebenfalls dieser Status.
Umschaltbare und gemeinsame Pakete
Umschaltbare Pakete funktionieren durch das Umschalten von isEnabled in verfolgten Konfigurationsdateien unter:
plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/
Auch das isEnabled-Flag des Pakets wird gespeichert; danach startet EternalTD neu. Deaktivieren lässt die Dateien auf der Festplatte bestehen. Der Installationsstatus richtet sich nach den erfassten Dateien, nicht allein nach dem Paket-Flag. Der Umschalter liest jede erfasste Datei, bevor er eine davon schreibt; kann eine nicht gelesen werden, wird keine Datei geändert. Ebenso öffnet sich /etd setup nicht, wenn beim Aktualisieren der Paketstatus eine erfasste Datei nicht gelesen werden kann, und du wirst aufgefordert, die Konsole zu prüfen.
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 fordert dich das Setup-Menü auf, Dateien manuell zu entfernen und dann /etd reload auszuführen.
Sammelaktionen
Für mehrere Inhalte gleichzeitig stehen diese Befehle zur Verfügung:
/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 - wählen für Downloads fehlende oder veraltete Pakete aus; Updates wählen veraltete Pakete und überspringen zwischengespeicherte Zugangsverweigerungen
- laden EternalTD nach erfolgreichen Downloads automatisch neu
Bei normalen Downloads ist der gespeicherte Zugangsstatus nur ein Hinweis: Die authentifizierte Download-Anfrage entscheidet über den aktuellen Zugang. Bereits heruntergeladene, aktuelle Pakete werden auch dann übersprungen, wenn ihre Konfigurationen deaktiviert sind. Aktiviere sie über ihren Schalter im Setup-Menü. /etd forcereinstallcontent <package|all> repariert fehlende oder beschädigte Dateien auch bei aktueller Version. all wählt erkannte Downloads; ein bestimmter Nightbreak-Slug kann auch ein vollständig fehlendes Paket auswählen.
/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.
- Das Setup-Menü fordert Inhalts- und Zugangsaktualisierungen mit einem Mindestabstand von fünf Minuten an, statt Nightbreak bei jedem Öffnen 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.