Zum Hauptinhalt springen

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:

  • FREE
  • PREMIUM
  • RESOURCES

Das Setup-Menü zeigt diese derzeit als:

  • Free Content
  • Premium Packs
  • Resources

Verifizierte vorgefertigte Pakete​

Dies sind die derzeit im Repository definierten vorgefertigten Pakete:

PaketKategorieUmschaltbar in /etd setupVerfolgte Assets
EternalTD Hub WorldKostenlosNeinServer-Weltcontainer-Ordner etd_spawn
EternalTD TutorialKostenlosJatutorial.yml, tutorial_waves.yml, tutorial_npc.yml, etd_tutorial
Towers of the Grassy LandsKostenlosJa5 Level-Dateien, 1 Wellen-Datei, 1 NPC-Datei, 5 Welten
Towers from the DepthsPremiumJa5 Level-Dateien, 1 Wellen-Datei, 1 NPC-Datei, 5 Welten
Towers of the Rising SunPremiumJa5 Level-Dateien, 1 Wellen-Datei, 1 NPC-Datei, 5 Welten
EternalTD Custom ModelsRessourcenNeinMarkierungsdatei 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 auf level.dat — level.dat zu 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 towers oder der alte Ordner FreeMinecraftModels/Models/EternalTD default towers unter plugins/ 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/imports herunter
  • 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/ und npcs/ erkannt, sodass Pakete, die ihre Dateien in einem Unterordner ausliefern, trotzdem erkannt werden.
  • Towers of the Rising Sun verfolgte seine Wellendatei zuvor als towers_of_the_rising_sun.yml, während das Paket tatsächlich towers_of_the_rising_sun_waves.yml ausliefert, 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.