Commandes EternalTD
EternalTD enregistre la commande racine :
/eternaltd
/etd
Les commandes de compte Nightbreak utilisées lors de la configuration sont des commandes de premier niveau distinctes, enregistrées par MagmaCore :
/nightbreaklogin <token>
/nightbreaklogout
Les deux sont protégées par nightbreak.login (default: op). /nightbreaklogout efface du serveur le jeton de compte Nightbreak enregistré.
MagmaCore enregistre également une commande de changelog par plugin, /etdchangelog, en tant que commande de premier niveau à part entière (voir Changelog de version).
Configuration et gestion du contenu
La plupart de ces sous-commandes sont enregistrées par MagmaCore via NightbreakPluginBootstrap.registerStandardCommands. Elles sont partagées entre tous les plugins Nightbreak et sont livrées avec EternalTD car MagmaCore est intégré (shaded) dans le plugin.
| Commande | Expéditeur | Fonction actuelle |
|---|---|---|
/etd | Tous | Affiche l'aide rapide actuelle de configuration/contenu. Elle exige désormais réellement eternaltd.* — un expéditeur qui ne l'a pas reçoit « You do not have permission to run this command! » |
/etd initialize | Joueur | Ouvre le menu de première configuration. Nécessite eternaltd.*. |
/etd setup | Joueur | Ouvre le menu de configuration d'EternalTD (l'explorateur de paquets ainsi que les contrôles partagés de mise à jour du plugin, de plugins recommandés et de mise à jour automatique) |
/etd recommendedplugins | Tous | Ouvre (joueur) ou affiche (console) les plugins compagnons recommandés pour EternalTD |
/etd downloadpluginupdate | Tous | Télécharge une mise à jour du plugin EternalTD si elle est disponible (utilisée après le prochain redémarrage) |
/etd downloadall | Tous | Télécharge la mise à jour du plugin EternalTD et tout le contenu disponible |
/etd downloadallcontent | Tous | Télécharge tout le contenu EternalTD disponible (sans mise à jour du plugin) |
/etd updatecontent | Tous | Télécharge les mises à jour du contenu EternalTD obsolète |
/etd updateallcontent | Tous | Alias de /etd updatecontent |
/etd forcereinstallcontent <package|all> | Tous | Retélécharge le contenu via le pipeline normal d'import/rechargement authentifié même lorsque la version installée est déjà à jour. all couvre tous les paquets détectés comme téléchargés ; un slug Nightbreak (complété par tabulation) cible un seul paquet et fonctionne même si ses fichiers sont totalement absents. Utilisez cette commande pour réparer un paquet dont les fichiers ont été supprimés ou corrompus. |
/etd install | Tous | Applique la configuration officielle du pack de ressources EternalTD |
/etd reload | Tous | Redémarre EternalTD sur place (cycle complet disable, load, enable) |
Note pour les administrateurs :
- Le
plugin.ymld'EternalTD déclare un unique nœud de permission,eternaltd.*(default: op), décrit comme donnant accès aux commandes d'administration, de configuration et de débogage. - Tout ce qui relève de l'administration se ramène à ce seul nœud :
setup,recommendedplugins,downloadall,downloadallcontent,downloadpluginupdate,updatecontent/updateallcontent,forcereinstallcontent,install,reload,cheat,setwave,selectfloor,selectfloorcoordinates,showselection,register,register start,register end, ainsi que/etdseul. (Les commandes MagmaCore partagées répartissent cela entre des permissions « admin », « setup » et « initialize », mais EternalTD transmeteternaltd.*pour les trois, l'exigence effective est donc identique.) - Les deux commandes de compte Nightbreak utilisent leur propre nœud,
nightbreak.login(default: op), que MagmaCore enregistre à l'exécution plutôt que via leplugin.ymld'EternalTD. initializeest enregistré par le bootstrap partagé et nécessite aussieternaltd.*; les modes prédéfinis ne contrôlent pas cet enregistrement.- Seules les commandes destinées aux joueurs sont sans restriction :
hub/lobby,join,start/goetquit/stop. - La complétion par tabulation du premier argument est également filtrée par permission, de sorte que les joueurs sans
eternaltd.*ne voient que les sous-commandes destinées aux joueurs.
Commandes de jeu
| Commande | Expéditeur | Fonction actuelle |
|---|---|---|
/etd join <level> | Joueur | Démarre une nouvelle session de niveau à partir d'un fichier de niveau chargé. Le monde modèle est copié hors du thread principal : la commande répond donc d'abord « Preparing world - hang tight! », puis « Created your world! We're ready to go. » une fois l'instance active. La relancer pendant qu'une copie est en cours est refusé avec « Your level is already being prepared. Please wait! » |
/etd start | Joueur | Démarre la première vague de la session active |
/etd go | Joueur | Alias de /etd start |
/etd quit | Joueur | Termine votre session de niveau en cours |
/etd stop | Joueur | Alias de /etd quit |
/etd hub | Joueur | Vous téléporte au spawn du hub EternalTD. Si elle est exécutée en pleine partie, la session active est d'abord proprement terminée (inventaire restauré, tours retirées, monde d'instance supprimé). Nécessite que le spawn du hub soit configuré dans config.yml ; si le serveur refuse la téléportation, la commande signale cet échec au lieu de prétendre avoir réussi. |
/etd lobby | Joueur | Alias de /etd hub |
Commandes de débogage et d'administration de jeu
| Commande | Expéditeur | Fonction actuelle |
|---|---|---|
/etd cheat | Joueur | Active/désactive le mode triche pour la session active |
/etd setwave <wave> | Joueur | Passe la session active à une vague spécifique |
Ce ne sont pas des commandes normales de configuration de joueur. Ce sont des outils de session/débogage.
Commandes de création de cartes
Ces commandes sont encore présentes dans la base de code actuelle pour la sélection d'étages et le travail d'enregistrement de niveaux.
| Commande | Expéditeur | Fonction actuelle |
|---|---|---|
/etd selectfloor | Joueur | Démarre ou arrête la sélection de coins d'étage par clics |
/etd selectfloorcoordinates <x1> <y1> <z1> <x2> <y2> <z2> | Joueur | Définit la région de sélection directement à partir de coordonnées |
/etd showselection <level> | Joueur | Vérifie la sélection du sol et la conserve. L'aperçu par particules est désactivé dans l'implémentation actuelle. |
/etd register <level> | Joueur | Vérifie puis efface la sélection. N'affiche pas de particules et ne sauvegarde pas levelLocations ; renseignez la zone du sol manuellement dans le YAML du niveau. |
/etd register <level> start | Joueur | Ajoute le bloc sur lequel le joueur se tient actuellement à la liste startLocation du niveau |
/etd register <level> end | Joueur | Ajoute le bloc sur lequel le joueur se tient actuellement à la liste endLocation du niveau |
Changelog de version
MagmaCore enregistre une commande de premier niveau supplémentaire par plugin Nightbreak, nommée d'après la commande racine suivie de changelog :
/etdchangelog
/etdchangelog dismiss
/etdchangelog disable
| Forme | Effet |
|---|---|
/etdchangelog | Ouvre les notes de version des versions d'EternalTD (et des paquets de contenu suivis) que vous n'avez pas encore lues |
/etdchangelog dismiss | Marque comme lues les versions actuellement affichées et passe au lot non lu suivant, s'il y en a un |
/etdchangelog disable | Désactive définitivement l'avis de changelog pour ce joueur |
Comportements à connaître :
- La commande est réservée aux joueurs et aux administrateurs. « Administrateur » signifie ici op,
eternaltd.*, ou n'importe laquelle des permissions admin/setup/initialize de la spécification — les trois étant définies sureternaltd.*par EternalTD. - Les administrateurs qui rejoignent le serveur reçoivent un avis dans le chat avec un bouton cliquable view environ 2 secondes après la connexion, mais uniquement s'il y a quelque chose de non lu et qu'ils n'ont pas exécuté
disable. - L'état lu/ignoré, la version à partir de laquelle le suivi a commencé et le texte de version mis en cache sont stockés dans
plugins/EternalTD/nightbreak-changelogs.yml. - Si un autre plugin possède déjà le libellé
etdchangelog, MagmaCore enregistre à la place une solution de repli avec espace de noms (eternaltd:etdchangelog).
Notes
- Le
plugin.ymld'EternalTD ne déclare que la commande racine et la permissioneternaltd.*. Les sous-commandes sont enregistrées via le gestionnaire de commandes à l'exécution. /etd reloadest un véritable redémarrage du plugin : il appelle le chemin disable, load puis enable du plugin plutôt qu'une simple ré-importation légère du contenu. Tout ce que fait le démarrage (migration des dossiers, importateur, paquets de contenu, vagues, niveaux, modèles de monde, NPCs, aide au pack de ressources) est réexécuté. Il n'appelle pas le chemin de rechargement de FreeMinecraftModels — la méthode qui le ferait est présente dans le code source mais rien ne l'invoque.- Les arguments de nom de niveau de
join,showselectionet des commandesregistersont résolus lors de la complétion par tabulation, et non au démarrage du plugin ; les niveaux ajoutés par un téléchargement ou un rechargement apparaissent donc sans redémarrage.