Aller au contenu principal

Paquets de contenu EternalTD

EternalTD suit désormais le contenu officiel via un ensemble de configuration content_packages et expose ces paquets via /etd setup.

Catégories de paquets

Le code actuel utilise trois catégories de paquets :

  • FREE
  • PREMIUM
  • RESOURCES

Le menu de configuration les affiche actuellement comme :

  • Free Content
  • Premium Packs
  • Resources

Paquets préfabriqués vérifiés

Voici les paquets préfabriqués actuellement définis dans le dépôt :

PaquetCatégorieActivable dans /etd setupRessources suivies
EternalTD Hub WorldFreeNonDossier du conteneur de mondes du serveur etd_spawn
EternalTD TutorialFreeOuitutorial.yml, tutorial_waves.yml, tutorial_npc.yml, etd_tutorial
Towers of the Grassy LandsFreeOui5 fichiers de niveau, 1 fichier de vagues, 1 fichier NPC, 5 mondes
Towers from the DepthsPremiumOui5 fichiers de niveau, 1 fichier de vagues, 1 fichier NPC, 5 mondes
Towers of the Rising SunPremiumOui5 fichiers de niveau, 1 fichier de vagues, 1 fichier NPC, 5 mondes
EternalTD Custom ModelsResourcesNonFichier marqueur uniquement, plus contenu FreeMinecraftModels importé lorsque présent

Cycle de vie des paquets

L'explorateur de paquets distingue actuellement entre :

  • non téléchargé
  • non installé
  • installé
  • partiellement installé
  • obsolète et pouvant être mis à jour
  • obsolète mais inaccessible
  • nécessite un accès

Cet état est calculé à partir des ressources suivies sur le disque, des indicateurs isEnabled dans les fichiers de configuration suivis et des vérifications d'accès/mise à jour de Nightbreak.

Deux règles de détection comptent lorsqu'un paquet semble bloqué sur « partiellement installé » :

  • Les dossiers du conteneur de mondes sont recherchés dans les deux dispositions. Paper 26.1 et versions ultérieures migrent les mondes de plugins vers <level-name>/dimensions/minecraft/<world>. EternalTD considère qu'un dossier de conteneur de mondes est présent s'il existe soit à la racine héritée, soit à l'emplacement migré, et il vérifie délibérément la présence du dossier, pas de level.dat — exiger level.dat ferait basculer le paquet en « non installé » pendant une migration partielle et déclencherait une réinstallation que Paper refuserait ensuite de fusionner.
  • Les paquets suivis par marqueur disposent d'un repli sur le contenu. Un paquet suivi uniquement par un fichier marqueur peut également être détecté par la présence de ses dossiers de contenu sous plugins/. Dans ce cas, le marqueur est écrit immédiatement afin que l'état reste stable par la suite. C'est ce qui fait que le pack de modèles personnalisés apparaît comme installé lorsque ses modèles ont été importés à la main plutôt que via le menu. La liste des dossiers de repli est définie dans le code, et non lue depuis le YAML du paquet.

Paquets activables vs. partagés

Les paquets activables fonctionnent en basculant isEnabled dans les fichiers de configuration suivis sous :

plugins/EternalTD/levels/
plugins/EternalTD/waves/
plugins/EternalTD/npcs/

Les paquets partagés ne se comportent pas comme des bascules normales :

  • Le monde hub est traité comme du contenu installé partagé.
  • Le paquet de modèles personnalisés est traité comme du contenu de ressources partagé.

Pour ces paquets, le menu de configuration vous indique de supprimer les fichiers manuellement puis d'exécuter /etd reload.

Opérations en masse

Les opérations de contenu en masse actuellement implémentées sont :

  • /etd downloadall — télécharge la mise à jour du plugin EternalTD et tout le contenu disponible
  • /etd downloadallcontent — télécharge tout le contenu disponible (sans mise à jour du plugin)
  • /etd updatecontent (alias /etd updateallcontent) — télécharge uniquement le contenu obsolète

Les commandes de téléchargement/mise à jour du contenu :

  • nécessitent un jeton Nightbreak lié
  • téléchargent dans plugins/EternalTD/imports
  • ignorent les paquets inaccessibles ou déjà à jour
  • rechargent EternalTD automatiquement après des téléchargements réussis

/etd downloadall vérifie en plus la présence d'une mise à jour du plugin et la télécharge en premier ; si aucun jeton n'est lié ou si l'authentification échoue, elle s'arrête avant l'étape du contenu.

Notes pratiques

  • Les vérifications de paquets dédupliquent par slug Nightbreak avant le téléchargement/mise à jour en masse.
  • L'interface de configuration rafraîchit les informations de contenu et d'accès avec un temps de recharge au lieu d'interroger Nightbreak à chaque ouverture.
  • Le paquet de modèles personnalisés écrit un marqueur sous plugins/EternalTD/content_markers/ pour qu'EternalTD puisse suivre que le paquet de ressources partagé a été téléchargé.
  • Les fichiers de niveau, de vague et de NPC suivis sont recherchés par nom de fichier n'importe où sous levels/, waves/ et npcs/, de sorte que les paquets qui livrent leurs fichiers dans un sous-dossier sont tout de même détectés.
  • Towers of the Rising Sun suivait auparavant son fichier de vagues sous le nom towers_of_the_rising_sun.yml alors que le pack livre en réalité towers_of_the_rising_sun_waves.yml, ce qui le faisait apparaître en permanence comme non complètement installé. Le nom suivi est désormais corrigé automatiquement et réécrit dans la configuration du paquet au chargement — aucune correction manuelle n'est nécessaire.