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. /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.

BefehlAbsenderAktuelle Funktion
/etdAlleGibt 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 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 recommendedpluginsAlleZeigt Spielern die empfohlenen Begleit-Plugins für EternalTD in einem Menü und gibt sie für die Konsole als Liste aus
/etd downloadpluginupdateAlleLä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 applypluginupdateAlleWendet 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 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 installAlleRegistriert 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 reloadAlleStartet EternalTD an Ort und Stelle neu (vollständiger Zyklus aus Deaktivieren, Laden, Aktivieren)

Admin-Hinweis:

  • EternalTDs plugin.yml deklariert zwei Berechtigungsknoten, beide mit default: op. eternaltd.* gewährt Zugang zu den Admin-, Einrichtungs- und Debug-Befehlen. eternaltd.match.bypass erlaubt 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 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>SpielerFordert 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 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 hubSpielerBringt 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 lobbySpielerAlias für /etd hub

Debug- und Admin-Gameplay-Befehle​

BefehlAbsenderAktuelle Funktion
/etd cheatSpielerSchaltet 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>SpielerSetzt 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.

BefehlAbsenderAktuelle Funktion
/etd selectfloorSpielerSchaltet 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>SpielerSetzt 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>SpielerPrü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>SpielerSchreibt 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> startSpielerHä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> endSpielerHä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
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 Berechtigungen eternaltd.* und eternaltd.match.bypass. Unterbefehle werden zur Laufzeit über den Befehlsmanager registriert.
  • /etd reload startet 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, showselection und register liest 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.