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.
| Befehl | Absender | Aktuelle Funktion |
|---|---|---|
/etd | Alle | Gibt 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 initialize | Spieler | Öffnet das Menü zur Ersteinrichtung. Erfordert eternaltd.*. |
/etd setup | Spieler | Öffnet das EternalTD-Einrichtungsmenü (Paketbrowser plus die gemeinsamen Steuerungen für Plugin-Update, empfohlene Plugins und automatische Updates) |
/etd recommendedplugins | Alle | Öffnet (Spieler) oder gibt aus (Konsole) die empfohlenen Begleit-Plugins für EternalTD |
/etd downloadpluginupdate | Alle | Lädt ein EternalTD-Plugin-Update herunter, falls eines verfügbar ist (wird nach dem nächsten Neustart verwendet) |
/etd downloadall | Alle | Lädt das EternalTD-Plugin-Update und alle verfügbaren Inhalte herunter |
/etd downloadallcontent | Alle | Lädt alle verfügbaren EternalTD-Inhalte herunter (kein Plugin-Update) |
/etd updatecontent | Alle | Lädt Updates für veraltete EternalTD-Inhalte herunter |
/etd updateallcontent | Alle | Alias für /etd updatecontent |
/etd forcereinstallcontent <package|all> | Alle | Lä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 install | Alle | Wendet die offizielle EternalTD-Ressourcenpaket-Einrichtung an |
/etd reload | Alle | Startet EternalTD an Ort und Stelle neu (vollständiger Zyklus aus Deaktivieren, Laden, Aktivieren) |
Admin-Hinweis:
- EternalTDs
plugin.ymldeklariert 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 endund 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 dreieternaltd.*, 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 EternalTDsplugin.yml. initializewird vom gemeinsamen Bootstrap registriert und erfordert ebenfallseternaltd.*; die Voreinstellungsmodi steuern diese Registrierung nicht.- Nur die spielerseitigen Befehle sind uneingeschränkt:
hub/lobby,join,start/goundquit/stop. - Auch die Tab-Vervollständigung des ersten Arguments wird nach Berechtigung gefiltert, sodass Spieler ohne
eternaltd.*nur die spielerseitigen Unterbefehle sehen.
Gameplay-Befehle
| Befehl | Absender | Aktuelle Funktion |
|---|---|---|
/etd join <level> | Spieler | Startet 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 start | Spieler | Startet die erste Welle der aktiven Sitzung |
/etd go | Spieler | Alias für /etd start |
/etd quit | Spieler | Beendet deine aktuelle Level-Sitzung |
/etd stop | Spieler | Alias für /etd quit |
/etd hub | Spieler | Teleportiert 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 lobby | Spieler | Alias für /etd hub |
Debug- und Admin-Gameplay-Befehle
| Befehl | Absender | Aktuelle Funktion |
|---|---|---|
/etd cheat | Spieler | Schaltet den Cheat-Modus für die aktive Sitzung um |
/etd setwave <wave> | Spieler | Springt 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.
| Befehl | Absender | Aktuelle Funktion |
|---|---|---|
/etd selectfloor | Spieler | Startet oder stoppt die Boden-Eckenauswahl per Klick |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Spieler | Setzt den Auswahlbereich direkt über Koordinaten |
/etd showselection <level> | Spieler | Prüft die aktuelle Bodenauswahl und behält sie bei. Die Partikelvorschau ist in der aktuellen Implementierung deaktiviert. |
/etd register <level> | Spieler | Prü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> start | Spieler | Fügt der startLocation-Liste des Levels den Block hinzu, auf dem der Spieler aktuell steht |
/etd register <level> end | Spieler | Fü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
| Form | Wirkung |
|---|---|
/etdchangelog | Öffnet die Release-Notes für die EternalTD-Versionen (und erfassten Inhaltspakete), die du noch nicht gelesen hast |
/etdchangelog dismiss | Markiert die aktuell angezeigten Releases als gelesen und springt zum nächsten ungelesenen Stapel, falls vorhanden |
/etdchangelog disable | Stoppt 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 aufeternaltd.*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
disablenicht 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
etdchangelogbereits belegt, registriert MagmaCore stattdessen einen Namensraum-Fallback (eternaltd:etdchangelog).
Hinweise
- EternalTDs
plugin.ymldeklariert nur den Stammbefehl und die Berechtigungeternaltd.*. Unterbefehle werden zur Laufzeit über den Befehlsmanager registriert. /etd reloadist 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,showselectionund denregister-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.