Empaqueteur de donjons
Que sont les donjons ?
Vous trouverez des informations sur les donjons, y compris sur les donjons prédéfinis, ici.
Qu'est-ce que l'empaqueteur de donjons ?
L'empaqueteur de donjons permet aux administrateurs non seulement de créer et d'empaqueter des donjons, mais aussi d'empaqueter tout type de contenu EliteMobs. Cela inclut par exemple les packs d'événements, les packs de modèles, les arènes, les packs de PNJ, les packs d'objets, etc.
Pourquoi utiliser les packages de donjon ?
- Donjons instanciés ! Les donjons instanciés ne peuvent être créés qu'avec le système de packages de donjon.
- Sauvegardes sûres des minidonjons ! Si vous créez un package de donjon, vous pourrez le déployer et le redéployer sur n'importe quel serveur, à tout moment et pour n'importe quelle raison.
- Faciles à activer et désactiver ! Vous pouvez toujours faire
/em setupet désactiver ou réactiver les packages de donjon, temporairement ou définitivement. - Faciles à partager ! Si vous souhaitez partager vos créations, les packages de donjon peuvent simplement être compressés et envoyés à d'autres personnes. Il existe un salon Discord dédié aux créations de la communauté si cela vous intéresse !
- Téléportations ! Les packages de donjon créent automatiquement des points de téléportation accessibles depuis la page Téléportations du menu
/em, ce qui peut être très utile dans de nombreuses configurations.
Créer des donjons
Les réglages suivants servent à créer un fichier de configuration qui doit être placé dans le dossier content_packages. Ces réglages servent spécifiquement à créer des donjons et ne sont pas nécessaires si vous souhaitez simplement utiliser l'empaqueteur de donjons pour distribuer du contenu autre que des donjons, comme un pack d'objets ou d'événements.
Plugins requis
Aucun. La protection des donjons est gérée par EliteMobs lui-même : régler protect: true applique au monde du package la suite de protection propre à EliteMobs, sans qu'aucun plugin de régions ne soit impliqué.
WorldGuard reste une dépendance facultative (soft dependency). Lorsqu'il est installé, ses drapeaux de région spécifiques à EliteMobs deviennent disponibles, mais il n'est pas nécessaire pour qu'un package de donjon soit protégé.
Créer un donjon, étape par étape
EliteMobs avait autrefois deux grands types de donjons : ceux basés sur un monde et ceux basés sur une schematic.
Les donjons basés sur une schematic étaient associés à une construction schematic. Ils sont désormais abandonnés et ne sont plus pris en charge.
Tous les donjons EliteMobs sont maintenant basés sur un monde.
Fichier pack.meta requis
Votre package de donjon doit inclure un fichier pack.meta, qui est simplement un fichier .txt renommé avec l'extension .meta. Ce fichier ne doit contenir qu'un seul mot, indiquant à quel plugin le package est destiné (par ex. « elitemobs », écrit en minuscules). Le fichier pack.meta doit se trouver à la racine de votre package, aux côtés de tous les autres dossiers.
Valeurs globales
Les valeurs suivantes s'appliquent à tous les donjons
isEnabled
Définit si le package de donjon est activé.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
isEnabled | Booléen | false | ✅ |
Exemple
isEnabled: true
name
Définit le nom du contenu. Prend en charge les Color Codes.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
name | Chaîne | none | ✅ |
Exemple
name: '&c[lvl 999] &aThe Green Dungeon'

contentType
Définit le type de donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
contentType | OPEN_DUNGEON / INSTANCED_DUNGEON / DYNAMIC_DUNGEON / HUB / META_PACKAGE / ITEMS_PACKAGE / EVENTS_PACKAGE / MODELS_PACKAGE | none | ✅ |
Exemple
contentType: INSTANCED_DUNGEON
customInfo
Définit les informations supplémentaires qui apparaîtront dans l'écran /em setup. À titre informatif uniquement. Prend en charge les Color Codes.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
customInfo | Liste de chaînes | none | ✅ |
Exemple
customInfo:
- '&aThe best dungeon.'
- '&aMade by: CoolPlayer'

setupMenuDescription
Définit la description qui apparaîtra dans le menu /em setup pour ce package de donjon. Prend en charge les Color Codes.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
setupMenuDescription | Liste de chaînes | none | ❌ |
Exemple
setupMenuDescription:
- '&2A cool dungeon for levels 10-20!'
- '&2Features 3 bosses and custom loot!'
downloadLink
Définit le lien de téléchargement affiché aux joueurs dans le menu /em setup lorsque le contenu n'est pas encore téléchargé.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
downloadLink | Chaîne | empty string | ❌ |
Exemple
downloadLink: http://www.example.org

dungeonSizeCategory
Définit la catégorie de taille du package de donjon. À titre informatif uniquement.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
dungeonSizeCategory | Special [1] | none | ✅ |
Exemple
dungeonSizeCategory: MINIDUNGEON

Special [1]
Expand Table
| Clé | Description |
|---|---|
LAIR | Les repaires sont un type de petit donjon centré sur un seul grand combat de boss. |
SANCTUM | Les sanctuaires sont l'équivalent instancié des repaires. Cela signifie qu'ils s'articulent autour d'un unique combat de boss colossal. |
MINIDUNGEON | Les minidonjons sont un type de donjon de taille moyenne qui contient généralement 3 à 15 minibosses et un grand boss, ainsi que de nombreux mobs « de remplissage » destinés à être « farmés » par les joueurs pour obtenir des pièces et de l'équipement. |
DUNGEON | Les donjons sont l'équivalent instancié des minidonjons. C'est le type de donjon MMORPG le plus traditionnel, où les joueurs forment un groupe et traversent une succession de mobs de remplissage et de minibosses pour affronter un boss final. |
RAID | Bientôt disponible ! |
ADVENTURE | Les aventures sont des cartes d'aventure complètes. Elles comprennent des lignes de quêtes, des PNJ, un grand nombre de minibosses et de boss, et peuvent même contenir leurs propres arènes ou donjons. |
ARENA | Les arènes sont des zones de survie par vagues dans lesquelles les joueurs sont récompensés lorsqu'ils viennent à bout des vagues. |
OTHER | Tout ce qui n'entre pas déjà dans les catégories précédentes. |
REALM | Les royaumes sont de vastes mondes persistants dotés d'un contenu étendu et de systèmes de progression. |
Pour des descriptions plus détaillées, consultez Donjons
protect
Définit si le monde du package de donjon doit être protégé. Cela n'utilise pas WorldGuard : EliteMobs enregistre le monde auprès de sa propre suite de protection, qui bloque la destruction et la pose de blocs, la combustion/disparition/inflammation de blocs, la décomposition des feuilles, la poudre d'os, les seaux de liquide, la modification des pancartes, l'accès aux conteneurs (sauf les coffres au trésor), l'ouverture des portes/trappes/portillons, l'interaction avec les œufs de dragon et les pots de fleurs, la manipulation des cadres et des porte-armures, ainsi que l'apparition des mobs vanilla. Plusieurs de ces éléments sont en outre ajustés par allowExplosionBlockDamage, allowLiquidFlow et allowElytra.
Lorsque protect vaut false, rien de tout cela ne s'applique et le monde se comporte comme n'importe quel monde normal.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
protect | Booléen | true | ❌ |
Exemple
protect: true
dungeonVersion
Définit la version du package de donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
dungeonVersion | Entier | none | ✅ |
Exemple
dungeonVersion: 1
playerInfo
Définit les informations qui apparaissent dans le menu. Prend en charge les Color Codes.
Ne fonctionne que lorsque /em est réglé en mode livre à l'aide de /em alt.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
playerInfo | Chaîne | none | ✅ |
Exemple
playerInfo: 'Difficulty: &a1-man easy content!'

regionEnterMessage
Définit le message qui apparaît lorsqu'un joueur entre dans la zone du donjon. Prend en charge les Color Codes.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
regionEnterMessage | Chaîne | none | ❌ |
Exemple
regionEnterMessage: '&aYou have entered the dungeon!'

regionLeaveMessage
Définit le message qui apparaît lorsqu'un joueur quitte la zone du donjon. Prend en charge les Color Codes.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
regionLeaveMessage | Chaîne | none | ❌ |
Exemple
regionLeaveMessage: '&aYou have left the dungeon!'

hasCustomModels
Signale que le package de donjon est livré avec des modèles personnalisés (pour ModelEngine ou FreeMinecraftModels). La clé est lue et écrite, mais rien dans EliteMobs n'agit actuellement dessus : les modèles sont installés uniquement du fait de la présence du dossier models dans le package. Considérez-la comme un marqueur documentaire.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
hasCustomModels | Booléen | false | ❌ |
Exemple
hasCustomModels: false
dungeonConfigFolderName
Définit le nom des dossiers utilisés pour les fichiers associés à ce donjon.
Obligatoire pour les donjons instanciés !.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
dungeonConfigFolderName | Chaîne | none | ❌ |
Exemple
dungeonConfigFolderName: my_dungeon_folder
anchorPoint
Définit le point de référence à partir duquel /em relativecoords <package> effectue ses mesures. Avec un point d'ancrage défini, un administrateur situé n'importe où dans le package installé peut exécuter cette commande et obtenir les coordonnées de l'endroit où il se trouve par rapport à l'ancre, c'est-à-dire le format utilisé notamment par les décalages de renforts et les emplacements de scripts.
Si calculatedRotation est différent de zéro, le vecteur renvoyé est pivoté autour de l'ancre sur l'axe Y avant d'être affiché, afin que les nombres restent corrects pour les placements pivotés.
Sans point d'ancrage, la commande indique à l'administrateur que le point d'ancrage est invalide et ne fait rien d'autre.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
anchorPoint | Localisation | none | ❌ |
calculatedRotation | Entier (degrés) | 0 | ❌ |
Exemple
anchorPoint: my_dungeon_world,100,64,100,0,0
calculatedRotation: 0
contentLevel
Définit le niveau de contenu que le donjon doit afficher dans le menu EM.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
contentLevel | Entier | none | ❌ |
Exemple
contentLevel: 20
enchantmentChallenge
Définit si le donjon doit être un donjon de défi d'enchantement.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
enchantmentChallenge | Booléen | false | ❌ |
Exemple
enchantmentChallenge: false
song
Définit si le donjon doit avoir une bande sonore.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
song | Chaîne | none | ❌ |
name= C'est ici que vous définissez quel fichier du resource pack doit être joué.
length= La durée de la bande sonore en millisecondes. EliteMobs la convertit en ticks en interne, elle doit donc correspondre à la durée réelle du son, sans quoi la piste redémarrera trop tôt ou trop tard.
Les deux parties sont séparées par un espace. Deux pistes peuvent être enchaînées avec ->, auquel cas la seconde entrée utilise la même syntaxe name=/length=.
Exemple
song: name=elitemobs:dark_cathedral.ambient length=93830
Forme à deux pistes :
song: name=elitemobs:intro length=12000->name=elitemobs:dark_cathedral.ambient length=93830
dungeonLockoutMinutes
Définit un délai de verrouillage du donjon après que le boss du donjon a été tué. La valeur indiquée est en minutes. La valeur par défaut est 4320 (72 heures) depuis EliteMobs 10.3.1 et s'applique à tous les packages de contenu prédéfinis — réglez-la sur 0 dans votre YAML pour désactiver le verrouillage d'un package précis, ou sur un autre nombre positif pour la remplacer. Les joueurs verrouillés ne gagnent pas non plus d'XP de compétence sur le boss pour lequel ils sont en temps de recharge.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
dungeonLockoutMinutes | Entier | 4320 | ❌ |
Exemple
dungeonLockoutMinutes: 1440
containedPackages
Définit la liste des packages de donjon contenus dans un meta package. Cette valeur est utilisée lorsque contentType est réglé sur META_PACKAGE, afin de lister tous les sous-packages appartenant au donjon plus vaste.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
containedPackages | Liste de chaînes | none | ❌ |
Exemple
containedPackages:
- my_dungeon_adventure.yml
- my_dungeon_sanctum.yml
- my_dungeon_boss_fight.yml
customItemFilenames
Définit la liste des fichiers d'objets personnalisés pour un package d'objets. Définir cette valeur règle automatiquement contentType sur ITEMS_PACKAGE.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
customItemFilenames | Liste de chaînes | none | ❌ |
Exemple
customItemFilenames:
- my_custom_sword.yml
- my_custom_armor.yml
customEventFilenames
Définit la liste des fichiers d'événements personnalisés pour un package d'événements. Définir cette valeur règle automatiquement contentType sur EVENTS_PACKAGE.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
customEventFilenames | Liste de chaînes | none | ❌ |
Exemple
customEventFilenames:
- my_custom_event.yml
modelNames
Définit la liste des noms de modèles pour un package de modèles. Définir cette valeur règle automatiquement contentType sur MODELS_PACKAGE.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
modelNames | Liste de chaînes | none | ❌ |
Exemple
modelNames:
- my_custom_model
Clés traduisibles
Six des valeurs ci-dessus sont enregistrées auprès du système de traduction au chargement du package : name, customInfo, playerInfo, regionEnterMessage, regionLeaveMessage et le name de chaque entrée de difficulties. Sur un serveur fonctionnant dans une langue autre que l'anglais, elles sont recherchées dans le CSV de cette langue, et le texte que vous écrivez dans le YAML est ce à quoi la colonne anglaise est comparée. Rédigez-les en anglais si vous voulez que votre package soit traduisible.
Packages de donjon basés sur un monde
Les valeurs suivantes ne s'appliquent qu'aux donjons basés sur un monde.
worldName
Définit le nom du monde qui doit être empaqueté.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
worldName | Chaîne | none | ✅ |
Exemple
worldName: my_minecraft_world
wormholeWorldName
Cette fonction définit le nom du monde wormhole, qui sert de monde secondaire relié au monde principal. Elle est utilisée pour des fonctionnalités comme les hubs de téléportation ou les salles de boss uniques.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
wormholeWorldName | Chaîne | none | ❌ |
Exemple
wormholeWorldName: my_minecraft_world_wormhole
environment
Définit l'environnement du monde.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
environment | Environment | none | ✅ |
Exemple
environment: NORMAL
teleportLocation
Définit le point de téléportation du package de donjon. C'est là que les joueurs seront téléportés lorsqu'ils entreront dans le donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
teleportLocation | Chaîne | none | ✅ |
Exemple
teleportLocation: my_minecraft_world,-1.5,68,0.5,0.0,0.0
allowExplosionBlockDamage
Autorise ou empêche les explosions d'endommager les blocs dans un donjon. Les explosions sont considérées comme des explosions d'élite, si bien que tout dégât infligé aux blocs sera régénéré en moins de 2 minutes.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
allowExplosionBlockDamage | Booléen | false | ❌ |
Exemple
allowExplosionBlockDamage: true
allowLiquidFlow
Définit si les liquides (eau, lave) sont autorisés à s'écouler dans le donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
allowLiquidFlow | Booléen | true | ❌ |
Exemple
allowLiquidFlow: false
allowElytra
Définit si les joueurs sont autorisés à planer avec une élytre dans le monde de ce package de contenu. Lorsque la valeur est false (par défaut), EliteMobs annule les tentatives de vol plané dans le monde du package et réimpose l'état « non planant » à chaque tick — utile pour empêcher les joueurs de contourner le parcours de donjon prévu.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
allowElytra | Booléen | false | ❌ |
Exemple
allowElytra: true
listedInTeleports
Définit si le package de donjon apparaît dans le menu des téléportations. Lorsque la valeur est false, les joueurs ne pourront pas se téléporter au donjon via le menu de téléportation /em.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
listedInTeleports | Booléen | true | ❌ |
Exemple
listedInTeleports: false
teleportLocationOffset
Définit un décalage pour le point de téléportation du package de donjon.
Cette clé est analysée mais actuellement inutilisée : rien dans EliteMobs ne lit le décalage obtenu, la définir n'a donc aucun effet sur l'endroit où les joueurs atterrissent. Ajustez plutôt teleportLocation lui-même.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
teleportLocationOffset | Chaîne | none | ❌ |
Exemple
teleportLocationOffset: my_minecraft_world,0.5,2,0.5,0.0,0.0
Donjons instanciés
Les donjons instanciés créent un nouveau monde chaque fois qu'un groupe de joueurs veut terminer un donjon, et le suppriment une fois terminé. Pour que cela fonctionne correctement, vous devez placer un dossier suivant le dungeonConfigFolderName dans le dossier de configuration world_blueprints d'EliteMobs.
Vous placez ensuite le monde que vous allez utiliser à l'intérieur du dossier que vous avez créé, en vous assurant que le fichier session.lock du monde est supprimé.
Les valeurs suivantes ne s'appliquent qu'aux donjons instanciés. Notez que tous les donjons instanciés sont des donjons de monde, ils utilisent donc également les valeurs des donjons de monde.
startLocation
Définit le point de téléportation de départ du donjon instancié. C'est là que les joueurs seront téléportés au lancement du donjon instancié avec /em start.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
startLocation | Chaîne | none | ✅ |
Exemple
startLocation: my_minecraft_world,10.5,70,10.5,0.0,0.0
permission
Définit la permission requise pour entrer dans l'instance du donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
permission | Chaîne | none | ❌ |
Exemple
permission: elitedungeon.mypermission
minPlayerCount
Définit le nombre minimum de joueurs requis pour lancer un donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
minPlayerCount | Entier | 1 | ❌ |
Exemple
minPlayerCount: 1
maxPlayerCount
Définit le nombre maximum de joueurs autorisés dans un donjon.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
maxPlayerCount | Entier | 5 | ❌ |
Exemple
maxPlayerCount: 5
dungeonObjectives
Définit la liste des objectifs de donjon requis pour que le donjon soit considéré comme terminé.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
dungeonObjectives | Liste de chaînes | none | ✅ |
Examples
Il existe actuellement deux types d'objectifs de donjon :
- Cible à tuer :
filename=boss.yml:amount=X - Pourcentage du donjon nettoyé :
clearpercentage=X.Y
dungeonObjectives:
- filename=dungeon_final_boss.yml
- filename=dungeon_miniboss_one.yml
- filename=dungeon_miniboss_two.yml
dungeonObjectives:
- clearpercentage=0.8
difficulties
Définit la liste des difficultés du donjon instancié.
Obligatoire pour les donjons instanciés !
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
difficulties | Special [1] | none | ❌ |
Examples
difficulties:
- levelSync: 25
id: 0
name: normal
- levelSync: 20
id: 1
name: hard
- levelSync: 15
id: 2
name: mythic

Special [1]
Expand Table
Définir les difficultés d'un donjon instancié crée automatiquement différentes options de difficulté à l'entrée du donjon.
Les noms de difficulté définis ici seront ceux utilisés dans le dossier des custom bosses, où vous pouvez définir quels pouvoirs les boss possèdent en fonction de la difficulté.
Les difficultés se présentent sous forme de liste comportant les champs suivants :
| Clé | Description | Valeurs | Obligatoire |
|---|---|---|---|
name | Nom de la difficulté affiché aux joueurs. | Chaîne | ✅ |
id | ID de la difficulté, utilisé dans les custom bosses et les custom items pour la fonctionnalité basée sur la difficulté. | Chaîne | ❌ |
levelSync | Définit le niveau de la synchronisation de niveau, le cas échéant. La synchronisation de niveau plafonne tout l'équipement des joueurs à la valeur définie, ce qui empêche les joueurs d'être surniveaux pour un donjon et le garde pertinent lors des runs ultérieurs. Basée sur le système de level sync de Final Fantasy 14. | Entier | ❌ |
Donjons dynamiques
Les donjons dynamiques sont une extension des donjons instanciés, avec une différence essentielle : ils permettent au contenu du donjon de s'adapter au niveau de difficulté choisi par le joueur. Les options de niveau proposées au joueur sont déterminées par le niveau de guilde qu'il a débloqué.
Lorsque vous concevez des boss et des mobs pour un donjon dynamique, utilisez le réglage level: dynamic. Tout butin des donjons dynamiques doit être défini avec scalability: scalable.
Les valeurs suivantes sont nécessaires pour les donjons dynamiques.
Puisque tous les donjons dynamiques sont aussi des donjons instanciés, ils utilisent en plus toutes les valeurs et tous les réglages des donjons instanciés.
contentType
Définit le type de donjon. Cette valeur doit être réglée sur DYNAMIC_DUNGEON.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
contentType | OPEN_DUNGEON / INSTANCED_DUNGEON / DYNAMIC_DUNGEON / HUB / META_PACKAGE / ITEMS_PACKAGE / EVENTS_PACKAGE / MODELS_PACKAGE | none | ✅ |
Exemple
contentType: DYNAMIC_DUNGEON
contentLevel
Définit le niveau de contenu que le donjon doit afficher dans le menu EM. Cette valeur doit être réglée sur -1 pour que le donjon soit affiché comme un donjon dynamique.
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
contentLevel | Entier | none | ✅ |
Exemple
contentLevel: -1
difficulties
Définit la liste des difficultés disponibles et la synchronisation de niveau du donjon dynamique.
Obligatoire pour les donjons instanciés !
| Clé | Valeurs | Défaut | Obligatoire |
|---|---|---|---|
difficulties | Special [1] | none | ✅ |
Examples
difficulties:
- levelSync: '+5'
name: normal
id: 0
- levelSync: '+0'
name: hard
id: 1
- levelSync: '-5'
name: mythic
id: 2

Special [1]
Expand Table
Définir les difficultés d'un donjon instancié crée automatiquement différentes options de difficulté à l'entrée du donjon.
Les noms de difficulté définis ici seront ceux utilisés dans le dossier des custom bosses, où vous pouvez définir quels pouvoirs les boss possèdent en fonction de la difficulté.
Régler les valeurs de levelSync sur des nombres positifs ou négatifs entre guillemets contrôle la façon dont l'équipement du joueur est synchronisé à l'intérieur du donjon. Ces valeurs n'affectent pas le niveau propre du donjon : le contenu du donjon se synchronise toujours directement sur le choix de niveau du joueur à l'entrée.
Par exemple, si levelSync est réglé sur "+0", l'équipement du joueur sera synchronisé pour correspondre exactement au niveau de contenu du donjon.
S'il est réglé sur "+5", l'équipement du joueur sera synchronisé 5 niveaux au-dessus du contenu du donjon.
S'il est réglé sur "-5", son équipement sera synchronisé 5 niveaux en dessous du contenu du donjon.
Les difficultés se présentent sous forme de liste comportant les champs suivants :
| Clé | Description | Valeurs | Obligatoire |
|---|---|---|---|
name | Nom de la difficulté affiché aux joueurs. | Chaîne | ✅ |
id | ID de la difficulté, utilisé dans les custom bosses et les custom items pour la fonctionnalité basée sur la difficulté. | Chaîne | ❌ |
levelSync | Définit le niveau de mise à l'échelle de l'équipement des joueurs. Cela détermine comment le niveau d'équipement d'un joueur est ajusté par rapport au contenu du donjon, permettant à l'équipement d'être quelques niveaux au-dessus ou en dessous de la difficulté de donjon choisie. Basée sur le système de level sync de Final Fantasy 14. | Entier | ❌ |
Utiliser le fichier de package de donjon meta_pack.yml pour les grands donjons.
Il peut arriver que vous travailliez sur un grand donjon qui en contient d'autres, plus petits, permettant aux joueurs de circuler entre eux via le monde du donjon principal. Le donjon d'aventure EliteMobs Primis en est un excellent exemple.
Primis propose un vaste monde où les joueurs peuvent explorer et accomplir des quêtes, mais il comprend aussi deux donjons instanciés au sein de son monde, dont l'un constitue le combat de boss final. Dans ce genre de cas, il y aura plusieurs fichiers de package de donjon, même s'ils appartiennent tous au même donjon global.
Pour gérer cela, nous utilisons un fichier de meta package de donjon. Ce fichier fait office de répertoire central : il indique le donjon principal et liste tout le contenu de donjon supplémentaire qui lui est associé.
Examinons de plus près la structure du meta package de donjon de Primis :
isEnabled: true
name: '&2[000-020] The Primis Adventure!'
customInfo:
- The tutorial adventure for players
- new to EliteMobs!
downloadLink: https://discord.gg/9f5QSka
dungeonSizeCategory: LAIR
environment: NORMAL
protect: true
contentType: META_PACKAGE
containedPackages:
- primis_adventure.yml
- primis_blood_temple_sanctum.yml
- primis_gladius_invasion_dungeon.yml
setupMenuDescription:
- '&2A soft tutorial adventure for players between levels 0-20!'
- '&2Adventures are massive maps with quests,'
- '&2many bosses and npcs, among other things!'
- '&2Also has custom models!'
dungeonVersion: 21 #added dungeon meta package file
Comme vous pouvez le voir, le fichier de meta package de donjon ressemble beaucoup à un package de donjon ordinaire, à quelques différences majeures près. Le contentType: est réglé sur META_PACKAGE, et il existe un réglage supplémentaire appelé containedPackages:. Ce réglage liste tous les autres packages de donjon qui font partie du donjon global.
Lorsque vous créez votre meta package, veillez à inclure le réglage containedPackages: et à lister chaque package de donjon faisant partie de votre donjon global. Cela garantit que tout est correctement lié et organisé au sein de la structure d'ensemble.
Lorsque vous versionnez votre donjon, toute la gestion des versions doit passer par le meta package. En effet, le meta package fait office de package principal qui détermine la version du donjon entier, et c'est aussi le package utilisé pour afficher les informations dans le menu /em setup.
Gardez à l'esprit que les donjons individuels listés dans le meta package peuvent tout de même apparaître dans le menu de téléportation /em setup. Pour éviter cela, vous devrez désactiver manuellement les options de téléportation de chacun de ces donjons dans leurs fichiers de configuration respectifs.
Par exemple, dans le cas du donjon Primis :
Désactivez les entrées de téléportation du menu pour primis_blood_temple_sanctum.yml et primis_gladius_invasion_dungeon.yml.
Laissez les options de téléportation activées pour primis_adventure.yml, car il s'agit du hub principal où les joueurs commencent leur périple et accèdent aux autres donjons.
Cette configuration garantit une expérience fluide pour les joueurs tout en préservant une structure et un fonctionnement corrects du système de donjons.
Pour nommer le fichier, nous recommandons la convention de nommage suivante :
your_dungeon_name_meta_pack.yml
Valeurs de boss recommandées
Créer un mob de donjon moyen
Nous recommandons de laisser le réglage normalizedCombat sur true. Ce réglage normalise tous les mobs afin qu'ils évoluent de la même façon en points de vie et en dégâts, quel que soit leur type d'entité.
Notez que pour le contenu de donjon, ce choix est généralement fait pour vous : tant que normalizeRegionalBosses vaut true dans MobCombatSettings.yml (la valeur par défaut), chaque regional boss et chaque boss de donjon instancié est forcé en combat normalisé, quel que soit le contenu du fichier de boss. Les multiplicateurs ci-dessous sont donc les valeurs qui comptent réellement.
normalizedCombat: true
healthMultiplier: 1.0 #~3 sword hits to slay
damageMultiplier: 1.0 #1.5 hearts of dmg
Remarque : étant donné que 1.0 est la valeur par défaut pour les points de vie et les dégâts, vous pouvez simplement omettre de définir healthMultiplier ou damageMultiplier et régler normalizedCombat sur true.
Créer des packs de remplissage
Les packs de remplissage sont nombreux mais peu dangereux :
normalizedCombat: true
healthMultiplier: 0.7 #~2 sword hits to slay
damageMultiplier: 0.5 #0.5 hearts of dmg
Créer des renforts
Les renforts doivent mourir très facilement, mais représenter un danger en termes de dégâts (ces valeurs sont recommandées pour 4 entités de mêlée ou plus, l'usage réel peut varier) :
normalizedCombat: true
healthMultiplier: 0.25 #~1 sword hit to slay
damageMultiplier: 0.6 #1 heart of dmg
Créer des minibosses
Les minibosses doivent tenir bon et poser un défi mécanique aux joueurs. Cela doit être une épreuve d'habileté qui dure un certain temps, mais sans être extrêmement mortelle :
normalizedCombat: true
healthMultiplier: 3.0 #~10 sword hits to slay
damageMultiplier: 1.2 #2 hearts of dmg
Créer des boss
Les boss constituent un véritable défi, l'aboutissement d'une montée en tension dans un donjon et une vraie épreuve d'habileté où tout se joue. Les affrontements doivent être longs et la mort doit être une menace bien présente.
normalizedCombat: true
healthMultiplier: 7.0 #~23 sword hits to slay
damageMultiplier: 1.4 #2.5 hearts of dmg
Ces valeurs recommandées ne sont que des estimations approximatives, et les valeurs finales doivent être ajustées en fonction des affrontements concernés.
C'est particulièrement crucial pour les boss finaux de donjon ; vous voudrez peut-être dépasser largement la valeur recommandée de 7.0 pour healthMultiplier afin de donner au dernier combat cette dimension épique.
healthMultiplierLes points de vie des boss sont plafonnés par le settings.attribute.maxHealth.max du serveur (2048 sur un serveur par défaut), alors que les dégâts des boss ne le sont pas. Chaque multiplicateur possède donc un niveau au-delà duquel le boss cesse de gagner des points de vie tandis que ses dégâts continuent d'augmenter : 7.0 plafonne au niveau 36, 10.0 au niveau 33, 40.0 au niveau 23. Augmenter le multiplicateur au-delà du point où il plafonne déjà ne vous apporte rien d'autre qu'un boss plus fragile. Consultez healthMultiplier pour le tableau complet et pour savoir comment relever ce plafond.
Empaqueter du contenu EliteMobs pour la distribution
Enfin, vous voudrez probablement empaqueter votre donjon, que ce soit pour l'archiver ou pour le distribuer.
EliteMobs dispose d'un système d'import qui permet aux administrateurs d'importer, d'installer et de désinstaller rapidement du contenu. Vous pouvez voir comment il fonctionne ici.
Distribuer des resource packs de donjon
Depuis EliteMobs 9.6.0, les donjons peuvent être empaquetés et distribués avec leurs propres resource packs ! Cela vous permet de faire des choses sympas comme utiliser des textures ou des modèles personnalisés pour le butin lâché dans le donjon, ou ajouter des sons personnalisés — comme nous l'avons fait dans notre donjon The Hallowed Haunt.
Pour distribuer un resource pack avec votre donjon, créez-le comme n'importe quel resource pack standard. Si vous voulez un modèle, vous pouvez vous référer au resource pack par défaut d'EliteMobs, qu'EliteMobs exporte au démarrage dans plugins/EliteMobs/resource_pack/em_rsp_defaults/. Le resource pack doit être distribué décompressé : créez donc un dossier portant le nom de votre donjon, par exemple my_cool_dungeon_rsp. Placez à l'intérieur tous les fichiers du resource pack qui iraient normalement dans le zip. Placez ensuite ce dossier dans un nouveau dossier appelé resource_pack — c'est le même dossier qu'EliteMobs utilise pour stocker son resource pack par défaut.
Ne modifiez pas em_rsp_defaults lui-même : EliteMobs calcule à chaque démarrage la somme de contrôle de la copie présente dans son jar et efface puis réexporte le dossier dès que les deux diffèrent, vos modifications seraient donc perdues.
Une fois vos fichiers organisés, la structure de répertoires devrait ressembler à ceci :
resource_pack
└── my_cool_dungeon_rsp
└── [resource pack files]
Une fois terminé, votre resource pack de donjon devrait s'importer correctement lors de l'installation du donjon.
Rogner les mondes
Il peut arriver que vous ayez besoin de réduire la taille de votre monde Minecraft pour l'alléger et, par conséquent, faciliter sa distribution. Cela peut se faire à l'aide du plugin WorldBorder. Bien que le plugin soit indiqué comme ne prenant en charge MineCraft que jusqu'à la version 1.19, il fonctionne parfaitement sur la dernière version de MineCraft en date du 25 janvier 2024.
Details
Tip
Si vous faites cela pour la première fois, il peut être judicieux de créer une sauvegarde de votre monde au cas où quelque chose se passerait mal.Une fois le plugin installé, rendez-vous au milieu du monde ou de la zone précise que vous souhaitez rogner. Exécutez ensuite la commande /wb set x, où x représente la taille approximative du rayon souhaité pour votre zone.
Details
Tip
Si/wb ne fonctionne pas chez vous, essayez /worldborder:wb.Après avoir exécuté cette commande, volez jusqu'aux bords de votre monde pour vérifier que la bordure du monde a bien été définie et couvre la taille prévue. Vous saurez que vous avez atteint le bord de la bordure du monde lorsque vous serez repoussé, accompagné d'un message dans le chat.

Sur l'image ci-dessus, nous cherchons à rogner le monde autour des blocs violets, en ne laissant que quelques chunks autour d'eux. Pour ce faire, nous nous plaçons au milieu de la zone violette sur les carrés rouges et exécutons /wb set 50, ce qui place la bordure du monde juste au-delà de la zone violette.
Ensuite, nous utilisons la commande /wb trim [freq] [pad], avec la fréquence réglée sur 200 et le pad sur 20. Le pad détermine combien de chunks doivent être laissés autour de la bordure du monde (la zone violette), et la fréquence détermine combien de chunks doivent être traités par seconde. Après avoir lancé /wb trim 200 20, il nous sera demandé de confirmer en exécutant /wb trim confirm. Nous confirmons l'action et, après un certain temps, notre monde sera rogné, ce qui réduira sa taille et le rendra plus pratique à distribuer.
Vous pouvez désormais retirer la bordure du monde avec /wb clear all, ou simplement la laisser si vous le souhaitez.
Rogner le dossier du monde
Plusieurs fichiers et dossiers situés dans votre dossier de monde peuvent être supprimés, car les plugins ne les utilisent pas tous. Cela réduira la taille de votre monde et facilitera sa distribution.
Pour un environnement de monde NORMAL :
Pour préparer votre monde, conservez les fichiers et dossiers suivants :
- le dossier region
- raids.dat, situé dans le dossier data (veillez à le placer dans le dossier data lors de la copie)
- le fichier level.dat
Vous pouvez supprimer sans risque tous les autres fichiers et dossiers situés dans le dossier du monde. Cela configurera correctement votre monde pour l'environnement NORMAL.
Pour les environnements de monde NETHER et THE_END :
Pour préparer votre monde, conservez les fichiers et dossiers suivants :
- le dossier region situé dans le dossier DIM-1 (veillez à le placer dans le dossier DIM-1 lors de la copie)
- raids.dat, situé dans le dossier data (veillez à le placer dans le dossier data lors de la copie)
- le fichier level.dat
Vous pouvez supprimer sans risque tous les autres fichiers et dossiers situés dans le dossier du monde. Cela configurera correctement votre monde pour les environnements NETHER et THE_END.
Exécuter la commande de packaging
EliteMobs dispose de la commande /em package <dungeonName> <version>. Cette commande recherche un sous-dossier nommé dungeonName dans chacun des dossiers de contenu ci-dessous, copie tout ce qu'elle y trouve dans exports/<dungeonName>/, puis compresse le tout dans exports/<dungeonName>_packaged.zip.
Les dossiers qu'elle analyse sont, dans l'ordre :
custombosses, customevents, npcs, customitems, customquests, customarenas, customspawns, customtreasurechests, wormholes, world_blueprints, powers
Tout ce qu'elle ne trouve pas affiche un avis « no subdirectory » et est ignoré, ce qui est normal pour un package qui n'utilise pas tous les types de contenu.
Pour cette raison, il est fortement recommandé de conserver le contenu que vous souhaitez empaqueter dans des dossiers portant le même nom que celui de votre package. Sinon, vous devrez rassembler et empaqueter les fichiers manuellement selon la structure de fichiers destinée à la distribution.
Notez que /em package ne collecte pas content_packages, worldcontainer, models ni resource_pack. Ces quatre-là doivent être ajoutés au dossier d'export à la main avant de le compresser.
Ajouter le fichier de package de donjon
Si vous créez un donjon, vous devrez ajouter manuellement le fichier de package de donjon dans le dossier fraîchement généré au sein du dossier exports. Votre fichier de configuration de package de donjon doit suivre le format décrit plus haut et être placé dans un dossier appelé content_packages. Consultez la section File structure ci-dessous pour en savoir plus.
Veillez à compresser votre donjon une fois terminé !
Structure des fichiers
Si vous avez tout fait correctement, la structure des fichiers devrait ressembler à cet exemple, où nous avons appelé le donjon my_cool_dungeon :
Exemple de structure de fichiers de my_cool_dungeon
- my_cool_dungeon.zip
- content_packages
- my_cool_dungeon.yml <- C'est ici que va votre fichier de configuration de package de donjon
- worldcontainer
- [Vos dossiers de monde vont ici]
- wormholes
- my_cool_dungeon
- [Vos wormholes vont ici]
- my_cool_dungeon
- npcs
- my_cool_dungeon
- [Vos PNJ vont ici]
- my_cool_dungeon
- customtreasurechests
- my_cool_dungeon
- [Vos coffres au trésor vont ici]
- my_cool_dungeon
- customquests
- my_cool_dungeon
- [Vos quêtes vont ici]
- my_cool_dungeon
- customitems
- my_cool_dungeon
- [Vos objets personnalisés vont ici]
- my_cool_dungeon
- custombosses
- my_cool_dungeon
- [Vos custom bosses vont ici]
- my_cool_dungeon
- customarenas
- my_cool_dungeon
- [Vos arènes personnalisées vont ici]
- my_cool_dungeon
- powers
- my_cool_dungeon
- [Vos pouvoirs personnalisés vont ici]
- my_cool_dungeon
- world_blueprints
- my_cool_dungeon
- [Votre dossier de monde va ici, utilisé pour les donjons instanciés]
- my_cool_dungeon
- customevents
- my_cool_dungeon
- [Vos événements personnalisés vont ici]
- my_cool_dungeon
- customspawns
- my_cool_dungeon
- [Vos apparitions personnalisées vont ici]
- my_cool_dungeon
- models
- [Vos modèles au format bbmodel vont ici, accepte les dossiers]
- scripts
- [Vos scripts Lua FreeMinecraftModels vont ici]
- resource_pack
- my_cool_dungeon_rsp
- [Vos fichiers de resource pack vont ici]
- my_cool_dungeon_rsp
- content_packages
Cela permet à la plupart des utilisateurs de glisser-déposer les fichiers directement sur leur serveur et d'avoir un résultat fonctionnel immédiatement.
Dossiers de premier niveau reconnus
L'importateur ne comprend qu'un ensemble fixe de noms de premier niveau. Pour un package EliteMobs (pack.meta contenant elitemobs), ce sont :
| Dossier | Emplacement d'installation |
|---|---|
content_packages | plugins/EliteMobs/content_packages |
dungeonpackages | plugins/EliteMobs/content_packages (alias hérité) |
custombosses | plugins/EliteMobs/custombosses |
customitems | plugins/EliteMobs/customitems |
customtreasurechests | plugins/EliteMobs/customtreasurechests |
customevents | plugins/EliteMobs/customevents |
customspawns | plugins/EliteMobs/customspawns |
customquests | plugins/EliteMobs/customquests |
customarenas | plugins/EliteMobs/customarenas |
npcs | plugins/EliteMobs/npcs |
wormholes | plugins/EliteMobs/wormholes |
powers | plugins/EliteMobs/powers |
world_blueprints | plugins/EliteMobs/world_blueprints |
resource_pack | plugins/EliteMobs/resource_pack |
worldcontainer | le conteneur de mondes du serveur |
models ou modelengine | le dossier models de FreeMinecraftModels si FreeMinecraftModels est installé, sinon le dossier blueprints de ModelEngine |
scripts | plugins/FreeMinecraftModels/scripts |
pack.meta | installé nulle part : il n'est lu que pour identifier le package |
Tout autre élément à la racine du zip n'est pas reconnu et ne sera pas installé ; gardez donc les fichiers readme, captures d'écran et dossiers __MACOSX égarés hors de la racine de l'archive.
schematics est un cas particulier : son import dans EliteMobs affiche un avertissement vous indiquant que les donjons schematic ont été supprimés dans EliteMobs 9.0.
Important : lorsque vous empaquetez pour la distribution, veillez à DÉSINSTALLER LE MINIDONJON AU PRÉALABLE ! Vous ne voulez pas distribuer des minidonjons installés, vous voulez que les administrateurs les mettent en place sur leurs serveurs !
Partager avec la communauté les packages de donjon que vous avez créés
Discord comporte une section #community_dungeons où les gens peuvent partager leurs créations de minidonjons. N'hésitez pas à contribuer !
