EternalTD-Modelle und Ressourcenpaket
Der aktuelle Modellablauf von EternalTD basiert auf FreeMinecraftModels, und der aktuelle Ressourcenpaket-Ablauf wird von /etd install gesteuert.
FreeMinecraftModels
FreeMinecraftModels ist eine Soft-Dependency.
- EternalTD wird auch ohne es geladen.
- Wenn es vorhanden ist, kann EternalTD die Vanilla-Körper der Türme durch statische FMM-Modelle ersetzen. Ein fehlendes Modell erzeugt eine Warnung und lässt den Vanilla-Körper bestehen.
- Wenn es fehlt, verwendet EternalTD Vanilla-Turmkörper, ohne den Start zu blockieren. Das Integrationsflag prüft die Anwesenheit des Plugins: Eine deaktivierte oder inkompatible FMM-Installation ist daher nicht mit einem fehlenden Plugin gleichzusetzen.
Das aktuelle gemeinsame Modellpaket ist:
EternalTD Custom Models
Dieses Paket wird über den EternalTD-Inhaltsablauf heruntergeladen und im Code als Inhalt beschrieben, der in FreeMinecraftModels importiert wird, wenn FMM verfügbar ist.
Die Paketverwaltung von EternalTD akzeptiert auch jeden dieser nicht leeren FMM-Ordner als installierten Inhalt:
plugins/FreeMinecraftModels/models/EternalTD default towers/
plugins/FreeMinecraftModels/Models/EternalTD default towers/
Die großgeschriebene Variante ist der alte Ordnername. Wird einer dieser nicht leeren Ordner erkannt, gilt der Inhalt als installiert. EternalTD versucht dann, plugins/EternalTD/content_markers/eternaltd_custom_models.marker zu schreiben; Fehler dabei werden protokolliert. Eine vorhandene Markierung zählt auch dann, wenn die Modelle später entfernt wurden. Keine dieser Prüfungen validiert die Modelle oder beweist, dass sie erfolgreich geladen wurden.
Was /etd reload für Modelle tut
/etd reload startet EternalTD innerhalb des Servers neu und verarbeitet ausstehende Importe. Installiert der gemeinsame Importer Modelle oder andere Dateien in die Ordner von FMM (etwa scripts) und ist FMM aktiviert, ruft seine Modellinstallationsmeldung das Neuladen importierter FMM-Inhalte auf. Das geschieht nur unter diesen Bedingungen, nicht bei jedem /etd reload. Die separate Weiterleitungsmethode in EternalTD hat keinen Aufrufer.
Wenn du Dateien direkt in FMM-Ordner kopierst oder dort bearbeitest, verwende den eigenen Neuladebefehl von FMM. Prüfe die Protokolle und ein tatsächliches Modell im Spiel; eine Paketmarkierung allein genügt nicht.
/etd install
/etd install lädt kein Modellpaket herunter. Es wendet die offiziellen EternalTD-Ressourcenpaket-Verteilungseinstellungen an.
Die aktuelle offizielle Ressourcenpaket-URL ist:
https://www.magmaguy.com/downloads/eternaltd_resource_pack.zip
Wenn ResourcePackManager installiert ist
Ist ResourcePackManager aktiviert, registriert EternalTD das offizielle Paket und fordert das Neuladen des Paketstatus an.
In diesem Modus:
- EternalTD schreibt die Paket-URL nicht in
server.properties - ResourcePackManager übernimmt die Verteilung an Spieler
- EternalTD registriert
/etd reloadals den Nachlade-Befehl
Die Registrierungsmeldung bestätigt die API-Aufrufe, nicht die erfolgreiche Zustellung an einen Client. Beim Start wertet EternalTD einen aktivierten ResourcePackManager lediglich als aktive Paketeinrichtung; die Registrierung findet dabei nicht statt. Fordere sie mit /etd install an und prüfe das Paket mit einem verbundenen Spieler.
Wenn ResourcePackManager nicht verfügbar ist oder die Registrierung fehlschlägt
EternalTD bearbeitet server.properties direkt, wenn ResourcePackManager deaktiviert ist, fehlt oder dessen API-Registrierung einen Fehler auslöst.
Es schreibt:
resource-packresource-pack-sha1
Bevor eine der beiden Eigenschaften geändert wird, lädt EternalTD das Paket herunter und berechnet dessen SHA1 direkt beim Eintreffen der Bytes, ohne das Paket auf der Festplatte zu speichern. Der Download verwendet ein Verbindungs-Timeout von 10 Sekunden und ein Lese-Timeout von 30 Sekunden. Schlägt der Download oder die Hash-Berechnung fehl, bleibt server.properties unverändert. Bei Erfolg werden beide Werte gemeinsam über eine temporäre Datei und ein atomares Ersetzen geschrieben, sofern das Betriebssystem das unterstützt. Stimmen beide Werte bereits überein, wird die Datei nicht neu geschrieben.
In diesem Ersatzmodus fordert dich der Befehl auf, den Server neu zu starten, damit die neuen Paketeinstellungen wirksam werden.
SHA1-Update-Prüfung
Wenn EternalTD den server.properties-Pfad anstelle von ResourcePackManager verwendet, prüft der Start (und /etd reload) auch, ob sich der SHA1 des offiziellen Ressourcenpakets geändert hat.
Die Prüfung läuft nur, wenn resource-pack exakt die oben genannte offizielle EternalTD-URL enthält; ein Paket unter einer anderen URL bleibt unangetastet. Hat sich der Hash geändert, schreibt EternalTD den neuen resource-pack-sha1, nachdem es bestätigt hat, dass resource-pack weiterhin die offizielle URL enthält. Die Änderung wird nicht angekündigt; der Server sendet den neuen Hash nach seinem nächsten Neustart an die Spieler. Wird das Schreiben übersprungen oder schlägt es fehl, protokolliert die Konsole, dass die Prüfsumme nicht aktualisiert wurde. Ist ResourcePackManager aktiviert, wird dieser Zweig beim Start nicht ausgeführt.
Warnungen für Operatoren
Wenn alle folgenden Bedingungen zutreffen:
FreeMinecraftModelsist installiert- der beitretende Spieler ist Operator
- EternalTD erkennt keine aktive Ressourcenpaket-Einrichtung
plant EternalTD eine Warnung fünf Sekunden später, sofern der Spieler dann noch gültig ist. Sie verweist auf:
/etd install/etd initialize— Öffnet das Menü zur Ersteinrichtung. Erforderteternaltd.*./etd setup
Die Erkennung prüft nur, ob ResourcePackManager aktiviert ist oder server.properties einen nicht leeren resource-pack-Wert enthält. Sie prüft weder die Annahme durch den Client noch die EternalTD-Ressourcen im Paket. Die Warnung beschreibt den Weg über server.properties, aber /etd install versucht weiterhin zuerst ResourcePackManager.
Hinweise zur Bereinigung
Das Custom-Models-Paket wird als gemeinsamer Ressourceninhalt behandelt, nicht als normales umschaltbares Paket.
Wenn du es entfernen möchtest:
- Entferne die gewünschten importierten Modelldateien und prüfe dabei aktuelle sowie alte FMM-Ordner.
- Entferne
plugins/EternalTD/content_markers/eternaltd_custom_models.marker, damit das Paket nicht mehr als installiert zählt. Ein verbleibender nicht leerer Erkennungsordner stellt diesen Zustand bei der nächsten Prüfung wieder her. - Lade FMM neu, um die direkten Dateilöschungen anzuwenden, und führe anschließend
/etd reloadaus. Prüfe bei Bedarf/fmm setup. Diese Schritte entfernen weder die Ressourcenpaketregistrierung noch die Einstellungen inserver.properties.