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. /nightbreaklogin ohne Token gibt einen nightbreak.io-Link aus; sobald du ihn dort genehmigst, ist der Server verknüpft. /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 und Inhalte aus. Erfordert eternaltd.*. Ohne diese Berechtigung erhält der Absender "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 | Zeigt Spielern die empfohlenen Begleit-Plugins für EternalTD in einem Menü und gibt sie für die Konsole als Liste aus |
/etd downloadpluginupdate | Alle | Lädt ein EternalTD-Plugin-Update herunter, falls eines verfügbar ist. Es wird nach dem nächsten Neustart verwendet, sofern nightbreak.applyPluginUpdatesWithoutRestart es nicht schon früher anwendet |
/etd applypluginupdate | Alle | Wendet ein heruntergeladenes EternalTD-Plugin-Update ohne Neustart an. EternalTD wird deaktiviert und mit der neuen Jar wieder aktiviert, laufende Level enden also. Wird abgelehnt, wenn kein neueres Update wartet, wenn bereits ein anderer Plugin-Austausch läuft oder wenn ein Plugin eines anderen Autors von EternalTD abhängt; lässt sich die neue Jar nicht aktivieren, wird die vorherige Jar wieder geladen |
/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 | Registriert das offizielle Paket bei ResourcePackManager und fordert dessen Neuladen an, sofern verfügbar. Andernfalls wird das Paket heruntergeladen, gehasht und in server.properties eingetragen; dafür ist ein Serverneustart nötig. Auch bei fehlgeschlagener Registrierung wird auf server.properties zurückgegriffen. |
/etd reload | Alle | Startet EternalTD an Ort und Stelle neu (vollständiger Zyklus aus Deaktivieren, Laden, Aktivieren) |
Admin-Hinweis:
- EternalTDs
plugin.ymldeklariert zwei Berechtigungsknoten, beide mitdefault: op.eternaltd.*gewährt Zugang zu den Admin-, Einrichtungs- und Debug-Befehlen.eternaltd.match.bypasserlaubt einem Spieler, sich in die laufende Level-Welt eines anderen Spielers zu teleportieren, ohne hinausgeschickt zu werden (siehe Partieregeln). - Jeder Admin-seitige Befehl löst sich auf
eternaltd.*auf:setup,recommendedplugins,downloadall,downloadallcontent,downloadpluginupdate,applypluginupdate,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 | Fordert eine Sitzung aus einer geladenen Level-Datei an. Die Vorlagenwelt wird außerhalb des Haupt-Threads kopiert. Warte vor dem Start auf "Created your world! We're ready to go."; das frühere "Joined level!" bestätigt keinen Erfolg und kann sogar nach einem Vorbereitungsfehler erscheinen. Eine zweite ausstehende Anfrage wird abgelehnt, ebenso ein Spieler, der sich bereits in einer Partie befindet, auch in der Partie eines anderen Nightbreak-Plugins. Ein Verbindungsabbruch oder 10 Minuten ohne bereite Welt brechen die Vorbereitung ab. |
/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 | Bringt dich zum konfigurierten EternalTD-Hub-Spawn zurück. Eine aktive Sitzung endet zuerst: Spielerzustand wird wiederhergestellt, Türme werden entfernt und die Instanzbereinigung wird angefordert. Ohne konfigurierten Hub stoppt der Befehl vor dem Sitzungsende. Abgelehnte Teleports werden gemeldet. |
/etd lobby | Spieler | Alias für /etd hub |
Debug- und Admin-Gameplay-Befehle
| Befehl | Absender | Aktuelle Funktion |
|---|---|---|
/etd cheat | Spieler | Schaltet den Cheat-Modus um und setzt bei jedem Aufruf, auch beim Ausschalten, die Währung auf 10.000.000 und die Leben auf 1.000.000. Markiert den Lauf dauerhaft als gecheatet und schließt ihn von Highscores aus. |
/etd setwave <wave> | Spieler | Setzt den gespeicherten Wellenzähler und markiert den Lauf als gecheatet. Ersetzt keine aktuellen Gegner und startet die gewünschte Welle nicht sofort; der nächste normale Übergang nutzt den Zähler plus eins. |
Dies sind Sitzungs- und Debug-Werkzeuge. Im Cheat-Modus ziehen Bauen und Upgrades keine Währung ab, prüfen aber weiterhin, ob genug vorhanden ist. Ausschalten stellt die Highscore-Berechtigung nicht wieder her. setwave akzeptiert eine Ganzzahl, ohne zu prüfen, ob die entsprechende Welle existiert.
Kartenerstellungsbefehle
Diese Befehle sind in der aktuellen Codebasis noch für die Bodenauswahl und Level-Registrierungsarbeiten vorhanden.
| Befehl | Absender | Aktuelle Funktion |
|---|---|---|
/etd selectfloor | Spieler | Schaltet die Bodenauswahl um. Linksklick auf einen Block setzt Ecke 1, Rechtsklick Ecke 2, wie es auch der Einführungstext des Befehls angibt. Ausschalten verwirft die Auswahl. |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Spieler | Setzt ganzzahlige Ecken in deiner aktuellen Welt und zieht von jedem angegebenen Y-Wert 1 ab, um den Boden darunter auszuwählen. Beide Y-Werte müssen gleich und die inklusiven X/Z-Längen Vielfache von 3 sein. |
/etd showselection <level> | Spieler | Prüft die aktuelle Bodenauswahl und behält sie bei. Zeigt über jedem Bodenfeld, das die Auswahl registrieren würde, einen END_ROD-Partikel an, der nur für dich sichtbar ist. Speichert nichts. |
/etd register <level> | Spieler | Schreibt für jedes Bodenfeld der aktuellen Auswahl einen levelLocations-Eintrag in die Level-Datei, ersetzt dabei die bestehende Liste und löscht anschließend die Auswahl. Eine ungültige Auswahl oder eine ohne Bodenfelder schreibt nichts und bleibt erhalten. |
/etd register <level> start | Spieler | Hängt die aktuellen ganzzahligen Blockkoordinaten des Spielers an startLocation an und speichert. Benötigt einen aktiven Auswahleintrag; zieht von Y keine 1 ab. |
/etd register <level> end | Spieler | Hängt die aktuellen ganzzahligen Blockkoordinaten des Spielers an endLocation an und speichert. Benötigt einen aktiven Auswahleintrag; zieht von Y keine 1 ab. |
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 Berechtigungeneternaltd.*undeternaltd.match.bypass. Unterbefehle werden zur Laufzeit über den Befehlsmanager registriert. /etd reloadstartet EternalTD durch Deaktivieren, Laden und Aktivieren neu. Ordnermigration, Imports, Pakete, Wellen, Level, Weltvorlagen, NPCs und Ressourcenpaket-Einrichtung laufen erneut. FreeMinecraftModels wird dabei nicht immer neu geladen: Installiert der Importer Modelle oder andere Dateien in die Ordner von FMM, während FMM aktiviert ist, ruft das gemeinsame Modellinstallationsereignis den Inhalts-Reload von FMM auf.- Die Level-Vervollständigung für
join,showselectionundregisterliest das aktuell geladene Register. Neu geladene Level erscheinen daher ohne Neubau des Befehlsmanagers. Auch bei der Ausführung wird geprüft, ob das benannte Level vorhanden ist.