Installation de MegaBlock Survivors
L'installation de MegaBlock Survivors repose sur les packs de contenu gérés par Nightbreak. FreeMinecraftModels est indispensable aux mobs et aux armes des parties, même si le descripteur du plugin le déclare comme dépendance facultative.
Prérequis
- Java
21 - Un serveur compatible avec votre build de MegaBlock Survivors. Le descripteur déclare l'API
1.21.4, tandis que le code actuel est compilé contre Spigot26.2; le descripteur seul ne constitue pas une liste de versions prises en charge. FreeMinecraftModelset les packs de modèles et de contenu nécessaires au jeuWorldEditpour les schématiques de tours, de murs et d'arbres que la génération des mondes colle. Le plugin appelle directement l'API de WorldEdit, mais le descripteur ne le déclare pas comme dépendance- Une prise en charge native fonctionnelle de
minecraft:dialogpour les écrans de sélection et de récompense
Intégrations facultatives :
LibsDisguises-- dépendance facultative apportant des effets visuels supplémentaires
Fichiers créés par MegaBlock Survivors
Au démarrage, MegaBlock Survivors initialise ou utilise les chemins suivants dans plugins/MegaBlockSurvivors/ :
plugins/MegaBlockSurvivors/config.yml
plugins/MegaBlockSurvivors/translations.yml
plugins/MegaBlockSurvivors/content_packages/
plugins/MegaBlockSurvivors/content_markers/
plugins/MegaBlockSurvivors/imports/
plugins/MegaBlockSurvivors/schematics/
plugins/MegaBlockSurvivors/worlds/
plugins/MegaBlockSurvivors/npcs/
plugins/MegaBlockSurvivors/leaderboard.yml
plugins/MegaBlockSurvivors/meta_progression.yml
plugins/MegaBlockSurvivors/stats-dump.log
plugins/MegaBlockSurvivors/version.txt
plugins/MegaBlockSurvivors/nightbreak-changelogs.yml
nightbreak-changelogs.yml conserve l'état de lecture partagé des notes de version utilisé par /mbschangelog (voir Commandes).
Il charge également un monde d'accueil créé par l'administrateur, nommé mbs_spawn, si son dossier existe sur disque et que le monde n'est pas déjà chargé. Installez cet accueil avant de démarrer le plugin. Lorsqu'il est indisponible :
- L'hologramme du classement, situé en
(4.5, 67, -14.5)dansmbs_spawn, n'apparaît pas et un message d'information est consigné. - La téléportation à la connexion ne fait rien. Lorsque l'accueil est chargé, elle tente d'envoyer le joueur en
(0.5, 65, 0.5), orientation 180, s'il n'a pas de partie enregistrée ou si le nom de son monde actuel commence parmegablocksurvivors_. Une partie active ne suffit donc pas à contourner cette condition. - Le nettoyage de fin de partie utilise la position du joueur avant la partie, au lieu de l'accueil.
Configuration
config.yml contient :
| Clé | Type | Valeur par défaut | Description |
|---|---|---|---|
setupDone | booléen | false | Indique si les instructions de première installation ont été suivies |
preGenerateWorldCache | booléen | false | Prégénère les mondes de jeu au démarrage. Laissez false pour alléger le démarrage du serveur ; les mondes restent générés à la demande lorsqu'une partie en a besoin |
nightbreak.autoDownloadPluginUpdates | booléen | false | Ajoutée par la bibliothèque MagmaCore intégrée après le démarrage. Avec true, une mise à jour disponible du plugin est téléchargée automatiquement quelques minutes après le démarrage. Les téléchargements automatiques du plugin nécessitent un jeton de compte Nightbreak valide et un abonnement de soutien actif |
nightbreak.applyPluginUpdatesWithoutRestart | chaîne | never | Ajoutée par MagmaCore. never attend le prochain redémarrage, when-empty applique une mise à jour téléchargée dès qu'aucun joueur n'est connecté, et immediately l'applique immédiatement. Appliquer une mise à jour recharge MegaBlock Survivors et termine les parties actives. /mbs applypluginupdate applique manuellement une mise à jour en attente |
Voir Mises à jour automatiques pour le fonctionnement des réglages de mise à jour partagés entre les plugins Nightbreak.
Traductions
De nombreux messages de jeu, dialogues, barres de boss et textes d'hologrammes utilisent translations.yml. Certains messages des packs de contenu, descriptions de commandes partagées et textes du classement restent codés en dur en anglais. Les traductions prennent en charge :
- Les codes de couleur préfixés par
&et les couleurs hexadécimales&#RRGGBB. - Les balises de dégradé de MagmaCore, comme
<gradient:#FF0000:#00FF00>text</gradient>. - Les variables
{placeholder}, remplacées par le plugin à l'exécution. - Les clés manquantes apparaissent sous la forme visible
[translations: key.name], ce qui permet de repérer facilement les entrées non définies en jeu.
Le fichier est régénéré avec les entrées par défaut au premier lancement et au rechargement du plugin ; les nouveaux textes apparaissent donc automatiquement.
Données persistantes des joueurs
| Fichier | Rôle |
|---|---|
leaderboard.yml | Entrées du classement par catégorie : 6 sections correspondant à 2 modes de jeu × 3 difficultés, avec un maximum de 100 entrées par catégorie. |
meta_progression.yml | Solde d'Échos d'âme et niveaux des branches d'amélioration de chaque joueur, indexés par UUID. |
stats-dump.log | Journal de résumés JSON Lines, alimenté à chaque fin de partie. /mbs dump vide le fichier partagé avant de rechercher la partie actuelle ou la plus récente du joueur. Même sans résumé disponible, l'ancien journal est effacé. |
Dossiers de contenu
| Dossier | Rôle |
|---|---|
imports/ | Dépôt des archives de contenu téléchargées ou placées manuellement. L'importateur de MagmaCore les traite au démarrage et lors de /mbs reload. |
schematics/ | Schématiques de structures utilisées pour générer les mondes. Les fichiers se nomment Level<1-3>_<Name>.schem : Tower, Wall / Wall1 / Wall2 et Tree1..Tree5. Les mondes 1 et 3 fournissent 4 variantes d'arbres, le monde 2 en fournit 5. L'arène du boss final n'utilise aucune schématique. |
worlds/ | Dossiers de mondes installés par les packs de contenu. |
content_packages/ | Définitions YAML de chaque pack, détaillées ci-dessous. |
content_markers/ | Fichiers marqueurs permettant de détecter si un pack est déjà installé. |
Avertissement de première installation
Lorsque setupDone vaut false, le plugin affiche un avertissement de première installation à la connexion des joueurs disposant de la permission megablocksurvivors.*. Cet avertissement est configuré via NightbreakFirstTimeSetupSpec avec uniquement une commande d'installation : il dirige donc les joueurs vers /mbs setup, le navigateur de contenu, sans étape d'initialisation ou de téléchargement. /mbs initialize n'est pas enregistrée dans cette version ; /mbs downloadall l'est, mais ne récupère que le fichier jar du plugin, car les packs de contenu y sont désactivés. Consultez la page des commandes et utilisez /mbs setup.
Ouvrir le navigateur de contenu ne modifie pas setupDone. Le menu qui écrit cet indicateur n'est accessible que par le gestionnaire initialize, non enregistré. Après avoir terminé et vérifié l'installation, définissez setupDone: true dans config.yml et rechargez le plugin pour arrêter le rappel.
Première installation recommandée
Rangez vos objets habituels avant de lancer une partie et utilisez un inventaire dédié au mini-jeu. L'implémentation actuelle remplace le plastron et vide tout l'inventaire à la fin de la partie sans restaurer les objets précédents. Elle réinitialise également les attributs, la santé, la nourriture et la saturation du joueur, et supprime ses effets de potion.
- Installez MegaBlock Survivors et démarrez le serveur une première fois. Les fichiers de configuration et de traduction sont alors créés.
- Associez votre compte Nightbreak avec
/nightbreaklogin <token>. - Exécutez
/mbs setuppour ouvrir le navigateur de contenu Nightbreak et installer les packs nécessaires. Vérifiez que FreeMinecraftModels charge leurs modèles : le statut installé ne vérifie que les chemins suivis. - Exécutez
/mbs reloadaprès des imports manuels ou des modifications de configuration des packs. Cette commande redémarre MegaBlock Survivors et met fin aux parties actives. Si des modèles sont importés pendant ce rechargement et que FreeMinecraftModels est activé, le contenu de FMM est également rechargé. Pour les fichiers modifiés ou copiés directement dans les dossiers de FMM, utilisez sa propre commande de rechargement.
/nightbreaklogin <token> est fournie par le système de compte partagé Nightbreak/MagmaCore, et non par le plugin.yml de MegaBlock Survivors.
Packs de contenu
Les packs de contenu se configurent dans les fichiers YAML du dossier content_packages/. Chaque pack peut définir :
| Champ | Type | Description |
|---|---|---|
isEnabled | booléen | Métadonnée enregistrée ; la détection actuelle de l'installation repose sur la présence des ressources et n'utilise pas ce champ comme interrupteur de jeu |
name | chaîne | Nom affiché du pack |
description | liste de chaînes | Lignes de description |
downloadLink | chaîne | URL de téléchargement manuel |
version | entier | Numéro de version du pack |
nightbreakSlug | chaîne | Identifiant de contenu Nightbreak pour les téléchargements automatiques |
schematicFiles | liste de chaînes | Fichiers de schématiques inclus dans le pack |
worldFolders | liste de chaînes | Dossiers de mondes inclus |
worldContainerFolders | liste de chaînes | Dossiers conteneurs de mondes inclus |
modelFolders | liste de chaînes | Dossiers de modèles pour FreeMinecraftModels |
markerFileName | chaîne | Fichier marqueur permettant de détecter l'installation du pack |
category | énumération | FREE, PREMIUM ou RESOURCES |
toggleable | booléen | Vaut false par défaut. Le gestionnaire de désinstallation actuel donne toujours des instructions de suppression manuelle ; ce champ ne fournit pas de désactivation fonctionnelle |
Un pack est considéré comme installé s'il suit au moins une ressource et qu'elles sont toutes présentes. Ce contrôle vérifie les chemins, sans vérifier le contenu des fichiers ni le chargement des modèles ; un dossier de modèles désactivés de FreeMinecraftModels compte aussi comme présent. Des ressources manquantes donnent un état d'installation partielle. Cliquer sur un pack installé et à jour affiche des instructions de nettoyage manuel ; modifier seulement isEnabled ne désactive pas ses ressources de jeu importées.
Configuration des PNJ
Les PNJ se configurent dans les fichiers YAML de npcs/. Les PNJ enregistrés réapparaissent lorsque leur chunk est rechargé. Si leur monde était indisponible à l'initialisation, chargez-le puis rechargez MegaBlock Survivors pour les enregistrer. Un clic droit exécute leur interactionCommand en tant que joueur, avec ses permissions.
Deux PNJ sont fournis avec le plugin et apparaissent automatiquement dans mbs_spawn au chargement de ce monde :
| PNJ | Position par défaut | Déguisement | Commande d'interaction |
|---|---|---|---|
| Match Starter | mbs_spawn, 0, 67, -15 | VILLAGER | mbs start |
| Meta Progression | mbs_spawn, -9, 66, -13 | PIGLIN | mbs meta |
Vous pouvez les désactiver, les déplacer ou modifier leur commande dans leur YAML de npcs/, puis recharger le plugin. Avec LibsDisguises, le PNJ utilise un villageois comme entité de base et le déguisement configuré. Sans lui, le plugin essaie le type d'entité Bukkit configuré et utilise un villageois si ce type n'est pas une entité vivante pouvant apparaître.
Champs YAML des PNJ
| Champ | Type | Description |
|---|---|---|
isEnabled | booléen | Indique si le PNJ apparaît |
name | chaîne | Nom interne |
location | chaîne | Format world,x,y,z ou world,x,y,z,yaw,pitch |
disguise | chaîne | Type d'entité LibsDisguises, facultatif |
interactionCommand | chaîne | Commande exécutée lorsqu'un joueur fait un clic droit sur le PNJ |
nameTag | chaîne | Nom personnalisé visible de l'entité PNJ ; les codes de couleur sont acceptés |
Notifications de changement de version
Lorsque la version actuelle est plus récente que celle enregistrée dans version.txt, le plugin avertit la console et les OP connectés. Un premier démarrage sans version enregistrée, une version inchangée ou un retour à une version antérieure ne déclenche pas cet avis de mise à jour.