Zum Hauptinhalt springen

EternalTD-Befehle

EternalTD registriert den Stammbefehl:

/eternaltd
/etd

Die Nightbreak-Kontobefehle, die während der Einrichtung verwendet werden, sind separate Top-Level-Befehle, die von MagmaCore registriert werden:

/nightbreaklogin <token>
/nightbreaklogout

Beide sind hinter nightbreak.login (default: op) abgesichert. /nightbreaklogout löscht den gespeicherten Nightbreak-Konto-Token vom Server.

MagmaCore registriert außerdem einen Changelog-Befehl pro Plugin, /etdchangelog, als eigenen Top-Level-Befehl (siehe Release-Changelog).

Einrichtung und Inhaltsverwaltung

Die meisten dieser Unterbefehle werden von MagmaCore über NightbreakPluginBootstrap.registerStandardCommands registriert. Sie sind über alle Nightbreak-Plugins hinweg gemeinsam und werden mit EternalTD ausgeliefert, weil MagmaCore in das Plugin geshadet ist.

BefehlAbsenderAktuelle Funktion
/etdAlleGibt die aktuelle Kurzanleitung für Einrichtung/Inhalte aus. Erfordert jetzt tatsächlich eternaltd.* — ein Absender ohne diese Berechtigung erhält "You do not have permission to run this command!"
/etd initializeSpielerÖffnet das Menü zur Ersteinrichtung. Erfordert eternaltd.*.
/etd setupSpielerÖffnet das EternalTD-Einrichtungsmenü (Paketbrowser plus die gemeinsamen Steuerungen für Plugin-Update, empfohlene Plugins und automatische Updates)
/etd recommendedpluginsAlleÖffnet (Spieler) oder gibt aus (Konsole) die empfohlenen Begleit-Plugins für EternalTD
/etd downloadpluginupdateAlleLädt ein EternalTD-Plugin-Update herunter, falls eines verfügbar ist (wird nach dem nächsten Neustart verwendet)
/etd downloadallAlleLädt das EternalTD-Plugin-Update und alle verfügbaren Inhalte herunter
/etd downloadallcontentAlleLädt alle verfügbaren EternalTD-Inhalte herunter (kein Plugin-Update)
/etd updatecontentAlleLädt Updates für veraltete EternalTD-Inhalte herunter
/etd updateallcontentAlleAlias für /etd updatecontent
/etd forcereinstallcontent <package&#124;all>AlleLädt Inhalte über die normale authentifizierte Import-/Reload-Pipeline erneut herunter, auch wenn die installierte Version bereits aktuell ist. all umfasst jedes als heruntergeladen erkannte Paket; ein Nightbreak-Slug (tab-vervollständigt) zielt auf ein einzelnes Paket und funktioniert auch dann, wenn dessen Dateien vollständig fehlen. Damit reparierst du ein Paket, dessen Dateien gelöscht oder beschädigt wurden.
/etd installAlleWendet die offizielle EternalTD-Ressourcenpaket-Einrichtung an
/etd reloadAlleStartet EternalTD an Ort und Stelle neu (vollständiger Zyklus aus Deaktivieren, Laden, Aktivieren)

Admin-Hinweis:

  • EternalTDs plugin.yml deklariert einen einzigen Berechtigungsknoten, eternaltd.* (default: op), der als Zugang zu den Admin-, Einrichtungs- und Debug-Befehlen beschrieben wird.
  • Alles Admin-seitige löst sich auf diesen einen Knoten auf: setup, recommendedplugins, downloadall, downloadallcontent, downloadpluginupdate, updatecontent/updateallcontent, forcereinstallcontent, install, reload, cheat, setwave, selectfloor, selectfloorcoordinates, showselection, register, register start, register end und das nackte /etd. (Die gemeinsamen MagmaCore-Befehle teilen dies in eine „admin"-, eine „setup"- und eine „initialize"-Berechtigung auf, aber EternalTD übergibt für alle drei eternaltd.*, sodass die effektive Anforderung identisch ist.)
  • Die beiden Nightbreak-Kontobefehle verwenden ihren eigenen Knoten, nightbreak.login (default: op), den MagmaCore zur Laufzeit registriert und nicht über EternalTDs plugin.yml.
  • initialize wird vom gemeinsamen Bootstrap registriert und erfordert ebenfalls eternaltd.*; die Voreinstellungsmodi steuern diese Registrierung nicht.
  • Nur die spielerseitigen Befehle sind uneingeschränkt: hub/lobby, join, start/go und quit/stop.
  • Auch die Tab-Vervollständigung des ersten Arguments wird nach Berechtigung gefiltert, sodass Spieler ohne eternaltd.* nur die spielerseitigen Unterbefehle sehen.

Gameplay-Befehle

BefehlAbsenderAktuelle Funktion
/etd join <level>SpielerStartet eine neue Level-Sitzung aus einer geladenen Level-Datei. Die Vorlagenwelt wird außerhalb des Haupt-Threads kopiert, daher antwortet der Befehl zuerst mit "Preparing world - hang tight!" und mit "Created your world! We're ready to go.", sobald die Instanz läuft. Ihn erneut auszuführen, während eine Kopie läuft, wird mit "Your level is already being prepared. Please wait!" abgelehnt.
/etd startSpielerStartet die erste Welle der aktiven Sitzung
/etd goSpielerAlias für /etd start
/etd quitSpielerBeendet deine aktuelle Level-Sitzung
/etd stopSpielerAlias für /etd quit
/etd hubSpielerTeleportiert dich zurück zum EternalTD-Hub-Spawn. Wird er mitten in einem Lauf ausgeführt, wird die aktive Sitzung zuerst sauber beendet (Inventar wiederhergestellt, Türme entfernt, Instanzwelt gelöscht). Erfordert, dass der Hub-Spawn in config.yml konfiguriert ist; lehnt der Server den Teleport ab, meldet der Befehl diesen Fehlschlag, statt einen Erfolg zu behaupten.
/etd lobbySpielerAlias für /etd hub

Debug- und Admin-Gameplay-Befehle

BefehlAbsenderAktuelle Funktion
/etd cheatSpielerSchaltet den Cheat-Modus für die aktive Sitzung um
/etd setwave <wave>SpielerSpringt in der aktiven Sitzung zu einer bestimmten Welle

Dies sind keine normalen Spieler-Einrichtungsbefehle. Es handelt sich um Sitzungs-/Debug-Werkzeuge.

Kartenerstellungsbefehle

Diese Befehle sind in der aktuellen Codebasis noch für die Bodenauswahl und Level-Registrierungsarbeiten vorhanden.

BefehlAbsenderAktuelle Funktion
/etd selectfloorSpielerStartet oder stoppt die Boden-Eckenauswahl per Klick
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2>SpielerSetzt den Auswahlbereich direkt über Koordinaten
/etd showselection <level>SpielerPrüft die aktuelle Bodenauswahl und behält sie bei. Die Partikelvorschau ist in der aktuellen Implementierung deaktiviert.
/etd register <level>SpielerPrüft die Bodenauswahl und löscht anschließend die Auswahl. Zeigt keine Partikel und speichert levelLocations nicht; den Bodenbereich manuell in die Level-YAML schreiben.
/etd register <level> startSpielerFügt der startLocation-Liste des Levels den Block hinzu, auf dem der Spieler aktuell steht
/etd register <level> endSpielerFügt der endLocation-Liste des Levels den Block hinzu, auf dem der Spieler aktuell steht

Release-Changelog

MagmaCore registriert für jedes Nightbreak-Plugin einen zusätzlichen Top-Level-Befehl, benannt nach dem Stammbefehl plus changelog:

/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
FormWirkung
/etdchangelogÖffnet die Release-Notes für die EternalTD-Versionen (und erfassten Inhaltspakete), die du noch nicht gelesen hast
/etdchangelog dismissMarkiert die aktuell angezeigten Releases als gelesen und springt zum nächsten ungelesenen Stapel, falls vorhanden
/etdchangelog disableStoppt den Changelog-Hinweis für diesen Spieler dauerhaft

Wissenswertes zum Verhalten:

  • Der Befehl ist nur für Spieler und nur für Admins. „Admin" bedeutet hier Op, eternaltd.* oder eine der Admin-/Setup-/Initialize-Berechtigungen der Spezifikation — die EternalTD alle drei auf eternaltd.* setzt.
  • Admins, die dem Server beitreten, erhalten etwa 2 Sekunden nach dem Login einen Chat-Hinweis mit einer anklickbaren view-Schaltfläche, aber nur, wenn es etwas Ungelesenes gibt und sie disable nicht ausgeführt haben.
  • Der Gelesen-/Verworfen-Status, die Version, ab der die Verfolgung begann, und der zwischengespeicherte Release-Text liegen in plugins/EternalTD/nightbreak-changelogs.yml.
  • Falls ein anderes Plugin die Bezeichnung etdchangelog bereits belegt, registriert MagmaCore stattdessen einen Namensraum-Fallback (eternaltd:etdchangelog).

Hinweise

  • EternalTDs plugin.yml deklariert nur den Stammbefehl und die Berechtigung eternaltd.*. Unterbefehle werden zur Laufzeit über den Befehlsmanager registriert.
  • /etd reload ist ein echter Plugin-Neustart: Er ruft den Deaktivieren-, Laden- und Aktivieren-Pfad des Plugins auf statt eines leichtgewichtigen erneuten Inhaltsimports. Alles, was der Start tut (Ordnermigration, Importer, Inhaltspakete, Wellen, Level, Weltvorlagen, NPCs, Ressourcenpaket-Helfer), läuft erneut. Er ruft nicht den Reload-Pfad von FreeMinecraftModels auf — die Methode, die das tun würde, ist im Quellcode vorhanden, wird aber von nichts aufgerufen.
  • Levelnamen-Argumente bei join, showselection und den register-Befehlen werden bei der Tab-Vervollständigung aufgelöst, nicht beim Start des Plugins, sodass Level, die durch einen Download oder ein Neuladen hinzugekommen sind, ohne Neustart auftauchen.