Aller au contenu principal

Créer des Arènes

webapp_banner.jpg

Créer des arènes​

Créez un fichier .yml au nom unique dans plugins/EliteMobs/customarenas, puis exécutez /em reload une fois les mondes et contenus référencés chargés. Les références utilisent le nom complet, extension .yml comprise. Définissez chaque vague de 1 à un waveCount positif, et ne référencez que des points d'apparition définis dans le fichier. EliteMobs le vérifie au chargement de l'arène : une vague absente, une vague supérieure à waveCount, un point d'apparition inconnu ou une entrée spawnPoints ou bossList mal formée enregistre un avertissement et l'arène ne se charge pas. En cours de partie, si un mob d'une vague ne parvient pas à apparaître, la partie se termine par une défaite.

Rejoindre et lancer une arène​

Une arène utilise une région physique existante ; elle ne clone pas un monde pour chaque groupe. Son PNJ ouvre un menu. Le bouton de joueur admet un participant seulement si la partie attend encore, s'il reste une place, si le joueur possède la permission configurée et s'il n'est pas déjà dans une autre partie. Le début du compte à rebours ferme les admissions.

Après admission, les joueurs arrivent à teleportLocation, ou à startLocation sans hall configuré. Un participant ayant elitemobs.instance.start peut utiliser /em start lorsque minimumPlayerCount est atteint. Le compte à rebours vérifie à nouveau ce minimum, puis téléporte les participants à startLocation et prépare la vague 1. Joueurs et spectateurs quittent avec /em quit.

Gardez le départ, le hall et les apparitions de boss dans la région, sur un sol sûr. Le contrôle des limites fonctionne aussi pendant l'attente et ramène les joueurs et spectateurs qui en sortent. Pendant le combat, il expulse les intrus sauf ceux ayant elitemobs.*. Les téléportations ordinaires sont restreintes pendant l'inscription à la partie ; utilisez la commande de sortie.

allowSpectatorsInInstancedContent dans dungeons.yml contrôle le bouton de spectateur et les réanimations. Avec cette option, un joueur à terre peut attendre en spectateur qu'un coéquipier frappe sa bannière ; le compteur permet trois réanimations. Sans joueur actif restant, la partie se termine par une défaite. Si l'option est désactivée, le joueur à terre quitte immédiatement. Les spectateurs ne reçoivent aucune récompense de vague et repassent en Survie en quittant ce mode.

La vague suivante commence quand toutes les entités suivies de la vague sont mortes ou devenues invalides ; chaque disparition ne doit pas forcément être une élimination par un joueur. La dernière vague remet ses récompenses puis termine la partie. La réinitialisation retire les mobs et bannières restants, fait sortir les participants et libère l'arène. La préparation est en secondes, mais la réinitialisation après la partie utilise actuellement la même valeur numérique en ticks.

arenaContainer​

Utilisez arenaContainer: another_arena.yml pour partager une arène physique entre plusieurs définitions de partie. L'arène référencée, qui doit être activée, fournit les coins, départ, sortie, hall, points d'apparition et forme cylindrique. Le fichier courant conserve vagues, récompenses, messages, permission et limites de joueurs. Une seule partie peut occuper l'arène partagée, dès l'admission de joueurs ou spectateurs avant le combat. Elle est libérée à la réinitialisation ou à l'annulation d'une admission vide. Les chaînes de références sont acceptées, mais les références absentes et cycles sont rejetés. Omettez cette clé pour une géométrie propre à l'arène.

isEnabled​

Définit si l'arène est activée.

CléValeursDéfaut
isEnabledBooleantrue
Exemple
isEnabled: true

arenaName​

Définit le nom de l'arène.

CléValeursDéfaut
arenaNameStringaucune — définissez-la
Il n'existe aucune valeur par défaut utilisable

Définissez toujours arenaName explicitement. Sans cette clé, l'arène n'a pas de nom affiché.

Exemple
arenaName: Bedrock Arena

create_arena_name.jpg


corner1​

Définit le premier coin de l'arène.

CléValeursDéfaut
corner1Locationaucun
Exemple
corner1: my_arena_world,10,50,-10,0,0

Le format est world_name,x,y,z,yaw,pitch : nom du monde, coordonnées, rotation horizontale (0–360) et verticale (-90 à 90). La forme courte world_name,x,y,z est aussi acceptée, avec yaw et pitch à 0.

Les arènes en attente sont réessayées au chargement du monde de corner1. Si un monde de sortie distinct charge ensuite, cet événement ne relance pas l'arène ; exécutez /em reload après le chargement de tous les mondes référencés.

Sur cette image, corner1 est représenté par de la laine verte et corner2 est représenté par de la laine rouge. Cette configuration désigne la zone entre les deux comme étant l'arène, représentée par de la laine jaune.

create_arena_corner.jpg


corner2​

Coin opposé de l'arène. Incluez toute sa hauteur ainsi que X/Z : deux coins au même Y donnent une région sans hauteur. Les deux coins et startLocation doivent être dans le même monde.

CléValeursDéfaut
corner2Locationaucun
Exemple
corner2: my_arena_world,-10,80,10,0,0

Sur cette image, corner1 est représenté par de la laine verte et corner2 est représenté par de la laine rouge. Cette configuration désigne la zone entre les deux comme étant l'arène, représentée par de la laine jaune.

create_arena_corner.jpg


startLocation​

Lieu où les participants commencent le combat et où les spectateurs arrivent. Sans teleportLocation, les joueurs y attendent aussi. Placez-le sur un sol sûr dans la région.

CléValeursDéfaut
startLocationLocationaucun
Exemple
startLocation: my_arena_world,1,50,1,0,0

exitLocation​

Destination des sorties normales, du nettoyage et de l'expulsion des intrus. Placez-la hors de l'arène. Un joueur éliminé par des dégâts mortels peut plutôt revenir à sa position enregistrée avant l'entrée.

CléValeursDéfaut
exitLocationLocationaucun
Exemple
exitLocation: my_world,1,50,1,0,0

waveCount​

Nombre de vagues. Utilisez un entier positif et au moins une entrée de boss pour chaque vague de 1 à ce nombre ; sinon l'arène ne se charge pas.

CléValeursDéfaut
waveCountInteger0
Exemple
waveCount: 10

delayBetweenWaves​

Délai de préparation en secondes avant chaque vague, première comprise. Utilisez un entier positif ou nul.

CléValeursDéfaut
delayBetweenWavesInteger0
Exemple
delayBetweenWaves: 5

rawIntermissionWaves​

Double la préparation avant chaque vague indiquée : delayBetweenWaves * 2. Utile si vous voulez accorder aux joueurs un court répit entre certaines vagues.

CléValeursDéfaut
rawIntermissionWavesInteger Listaucun
Exemple
rawIntermissionWaves:
- '5'
- '10'
- '15'

spawnPoints​

Points d'apparition nommés pour les boss de l'arène. Chaque point nécessite un name et une location valide dans le même monde que startLocation, sinon l'arène ne se charge pas. bossList doit reprendre les noms exactement. Réutiliser un nom remplace son emplacement précédent.

CléValeursDéfaut
spawnPointsString List [1]aucun
Exemple
spawnPoints:
- name=north:location=my_arena_world,219.5,71,273.5
- name=south:location=my_arena_world,219.5,71,316.5
- name=west:location=my_arena_world,197.5,71,295.5
- name=east:location=my_arena_world,240.5,71,295.5
- name=center:location=my_arena_world,219.5,71,295.5

bossList​

Boss de chaque vague. Une entrée fait apparaître une entité ; répétez-la pour en obtenir plusieurs. EliteMobs utilise le fichier de boss avec .yml. MythicMobs utilise le nom interne du mob et nécessite le plugin et le mob chargés.

CléValeursDéfaut
bossListString List [2]aucun
Exemple
bossList:
- wave=1:spawnPoint=north:boss=my_boss_wave_1.yml
- wave=1:spawnPoint=south:boss=my_boss_wave_1.yml
- wave=2:spawnPoint=center:boss=my_mythicmobs_boss:mythicmob=true:level=10

Dans cet exemple, la vague 1 fera apparaître un boss au point d'apparition nord et un boss au point d'apparition sud. Puis, à la vague 2, un boss mythic apparaîtra, au niveau 10, au point central.

Les paramètres valides sont wave, spawnPoint, boss, mythicmob et level.

level ne s'applique qu'aux entrées MythicMobs. Les boss EliteMobs utilisent le niveau de leur propre configuration.


rawArenaReward​

Récompenses de vague. Chaque entrée est tirée séparément pour chaque joueur actif à la fin de sa vague, avant la préparation suivante, dernière vague comprise. Spectateurs et joueurs partis sont exclus. Si la vague contient un boss EliteMobs de niveau positif, un joueur est exclu lorsque l'écart absolu entre son niveau de combat basé sur les compétences et le boss le plus fort dépasse lootLevelDifferenceLockout dans ItemSettings.yml. Les niveaux MythicMobs ne servent pas à cette comparaison. Aucun pourcentage minimal de dégâts n'est exigé.

Utilisez le format texte ci-dessous : wave désigne la vague terminée et itemlevel le niveau demandé, par défaut 1. Les règles de niveau fixe ou limité de l'objet restent applicables. Les objets vont dans l'inventaire, le surplus tombe à proximité, et la monnaie est créditée au solde. Probabilité, quantité et permissions du butin restent vérifiées ; les filtres de donjon difficultyID ne limitent pas une arène ordinaire. Les boss EliteMobs d'arène utilisent le combat normalisé sauf si leur fichier impose scaledCombat: true ; leur butin elite, aléatoire et vanilla ordinaire est désactivé.

CléValeursDéfaut
rawArenaRewardTable de butin universelle EliteMobsaucun
Exemple
rawArenaReward:
- filename=enchanted_book_damage_all.yml:wave=5:chance=0.25
- filename=elite_scrap_tiny.yml:wave=1:chance=0.5:amount=5
- currencyAmount=3:wave=3
- itemlevel=5:filename=summon_merchant_scroll.yml:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=10:wave=10:chance=0.95

minimumPlayerCount​

Définit le nombre minimum de joueurs qu'une arène doit avoir avant de démarrer.

CléValeursDéfaut
minimumPlayerCountInteger1
Exemple
minimumPlayerCount: 1

maximumPlayerCount​

Définit le nombre maximum de joueurs qu'une arène peut avoir. Les joueurs qui tentent de rejoindre une arène pleine sont informés qu'elle est pleine et ne sont pas admis.

Définissez-la explicitement. La valeur par défaut est 0, et toute valeur inférieure à 1 est traitée comme 1 : une arène sans cette clé n'admet donc qu'un seul joueur. Un minimumPlayerCount supérieur à cette valeur est abaissé pour lui correspondre.

CléValeursDéfaut
maximumPlayerCountInteger0
Exemple
maximumPlayerCount: 100

arenaMessages​

Messages envoyés aux joueurs et spectateurs au début de la préparation de la vague indiquée, avant son délai. Une entrée ultérieure pour la même vague remplace la précédente.

CléValeursDéfaut
arenaMessagesSpécial [3]aucun
Exemple
arenaMessages:
- 'wave=1:message=&a[Arena Announcer] &fTime for wave one!'
- 'wave=2:message=&a[Arena Announcer] &fWow, wave two already.'

create_arena_messages.jpg


cylindricalArena​

Utilise un cylindre plutôt qu'un pavé. Son centre X/Z est entre les coins, sa base est le Y inférieur, sa hauteur leur différence en Y et son rayon la moitié de leur différence en X. L'écart en Z ne détermine pas le rayon. Le bord circulaire extérieur et le Y supérieur sont exclus ; gardez les positions jouables à l'intérieur. Le pavé inclut ses deux coins.

CléValeursDéfaut
cylindricalArenaBooleanfalse
Exemple
cylindricalArena: false

permission​

Permission pour entrer comme combattant. Omettez la clé pour une entrée libre. Le bouton de spectateur ne vérifie actuellement pas cette permission : elle ne restreint pas les spectateurs.

CléValeursDéfaut
permissionStringaucun
Exemple
permission: mypermission.arena

teleportLocation​

Lieu d'attente facultatif après admission comme joueur depuis le menu. L'interaction seule avec le PNJ ne téléporte pas. Gardez le hall dans la région, sinon le contrôle des limites ramène les joueurs au départ. Sans cette clé, ils attendent à startLocation. Cela ne permet pas à un autre groupe d'attendre dans une arène partagée occupée.

CléValeursDéfaut
teleportLocationLocationaucun
Exemple
teleportLocation: my_arena_world,10,50,10,0,0

Spécial [1]​

Points d'apparition : utilise le format suivant : name=pointName:location=world_name,x,y,z.

Spécial [2]​

Liste de boss : wave=X:spawnPoint=Y:boss=bossfilename.yml.

Deux clés facultatives sont disponibles :

CléDescriptionValeursDéfaut
levelModifie seulement le niveau d'une entrée mythicmob=true. EliteMobs utilise sa propre configuration.Entier-1 est transmis à MythicMobs si omis ; définissez un niveau positif
mythicmobInterprète boss= comme nom de mob MythicMobs plutôt que fichier EliteMobs. Nécessite MythicMobs.true / falsefalse

Exemple : wave=3:spawnPoint=center:boss=my_mythic_boss:mythicmob=true:level=40

Les entrées sont séparées par :, puis au premier =. Les clés ne sont pas sensibles à la casse. Une clé inconnue ou répétée, une clé sans valeur, l'absence de wave, spawnPoint ou boss, une wave inférieure à 1, un level inférieur à 1 ou une valeur mythicmob autre que true ou false empêche le chargement de l'arène avec un avertissement. Les noms de points d'apparition et les identifiants de boss doivent correspondre exactement à leurs références.

Spécial [3]​

Messages d'arène : utilise le format suivant : wave=X:message=votre message ici.

Le texte du message peut contenir des deux-points : il va de message= jusqu'à la fin de l'entrée, ou jusqu'à un champ :wave= suivant. Seules les vagues à partir de 1 sont acceptées. Entourez toute l'entrée de guillemets YAML si nécessaire ; des guillemets placés seulement après message= sont affichés dans le texte.

Exemple de configuration d'arène
isEnabled: true
arenaName: Example Arena
corner1: my_arena_world,0,0,0,0,0
corner2: my_arena_world,50,50,50,0,0
startLocation: my_arena_world,25,0,25,0,0
exitLocation: my_minecraft_world,234,44,245,0,0
waveCount: 5
delayBetweenWaves: 5
spawnPoints:
- name=north:location=my_arena_world,40.5,0,0
- name=south:location=my_arena_world,10.5,0,0
- name=west:location=my_arena_world,0,0,40.5
- name=east:location=my_arena_world,0,0,10.5
- name=center:location=my_arena_world,25.5,0,25.5
bossList:
- wave=1:spawnPoint=north:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=center:boss=example_arena_wave_1_mob.yml
- wave=1:spawnPoint=south:boss=example_arena_wave_1_mob.yml
- wave=2:spawnPoint=center:boss=example_arena_wave_2_mob.yml
- wave=3:spawnPoint=east:boss=example_arena_wave_3_mob.yml
- wave=3:spawnPoint=west:boss=example_arena_wave_3_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=4:spawnPoint=center:boss=example_arena_wave_4_mob.yml
- wave=5:spawnPoint=center:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=south:boss=example_arena_wave_5_mob.yml
- wave=5:spawnPoint=west:boss=example_arena_wave_5_mob.yml
rawArenaReward:
- currencyAmount=5:wave=1
- currencyAmount=10:wave=2
- currencyAmount=15:wave=3
- currencyAmount=20:wave=4
- currencyAmount=25:wave=5
- filename=magmaguys_toothpick.yml:itemlevel=5:wave=5:chance=0.5
minimumPlayerCount: 1
maximumPlayerCount: 3
arenaMessages:
- wave=1:message=&d[Arena NPC] &fWow! Wave 1!
- wave=2:message=&d[Arena NPC] &fAmazing it is wave 2!
- wave=3:message=&d[Arena NPC] &fWave 3 is now on!
- wave=4:message=&d[Arena NPC] &fWave 4 already!
- wave=5:message=&d[Arena NPC] &fWell it is all over after this one.
cylindricalArena: false
permission: arena.mypermission
Décomposition de l'exemple

Passons en revue cet exemple du début et expliquons ce que fait cette configuration d'arène.

D'abord, l'arène est activée avec isEnabled, et nous pouvons voir qu'elle s'appelle Example Arena grâce au réglage arenaName. Le nom sera affiché lorsque vous interagissez avec le PNJ de l'arène (nous expliquons comment créer un PNJ d'arène plus bas) qui permettra aux joueurs de rejoindre l'arène. corner1 et corner2 définissent la taille de l'arène. Ces coins devraient se trouver aux côtés opposés l'un de l'autre dans la zone que vous prévoyez d'utiliser pour l'arène.

startLocation est le départ du combat. Sans hall distinct dans cet exemple, les joueurs y attendent aussi. exitLocation est la sortie normale dans my_minecraft_world ; une élimination mortelle peut plutôt utiliser la position enregistrée avant l'entrée. Remplacez les coordonnées par des emplacements sûrs dans vos mondes chargés.

waveCount définit simplement le nombre de vagues que durera l'arène. Dans ce cas, ce serait 5 vagues. Si les joueurs parviennent à survivre aux 5 vagues, ils ont réussi à survivre à l'arène. delayBetweenWaves définit le nombre de secondes avant que la prochaine vague ne démarre. Dans notre exemple, les joueurs auraient 5 secondes pour se préparer avant le début de la vague suivante.

spawnPoints définit les emplacements où nos créatures peuvent apparaître. Nous pouvons en créer autant que nous le souhaitons et les nommer comme bon nous semble. Dans l'exemple, nous avons décidé de créer 5 points d'apparition et de les nommer north, south, center, east et west.

bossList est l'endroit où nous définissons quel boss doit apparaître à quelle vague et à quel emplacement. Dans l'exemple, la vague 1 fera apparaître 3 boss depuis les emplacements d'apparition que nous avons nommés north, center et south. Tous les trois sont configurés pour utiliser le même fichier de boss, mais nous aurions pu utiliser des fichiers de boss différents pour chacun.

rawArenaReward donne 5 pièces elite aux joueurs actifs admissibles après la vague 1. La vague 5 donne 25 pièces et une chance indépendante de 50 % d'obtenir la récompense MagmaGuy's Toothpick configurée au niveau 5. La restriction de niveau de combat et les conditions de butin décrites plus haut restent applicables.

minimumPlayerCount: 1 permet de lancer avec un joueur. maximumPlayerCount: 3 accepte au maximum trois participants ; les suivants sont refusés avec le message d'arène pleine.

arenaMessages vous permet d'ajouter un texte d'ambiance qui sera affiché dans le chat au début des vagues définies. Dans notre exemple, nous avons décidé d'afficher un court message au début de chaque vague. Nous avons aussi décidé d'inclure le nom du PNJ au début de chaque message, donnant l'illusion que le texte est un dialogue prononcé par l'annonceur (le maître d'arène).

cylindricalArena ce réglage nous permettra de basculer pour savoir si la zone définie que nous avons fixée avec corner1 et corner2 doit avoir une forme cylindrique plutôt que cuboïde. Dans notre exemple, nous l'avons défini sur false, ce qui signifie que l'arène d'exemple a une forme cuboïde.

permission exige arena.mypermission pour entrer comme joueur. Lancer nécessite aussi elitemobs.instance.start ; l'entrée en spectateur ne vérifie pas la permission d'arène.

Créer le PNJ de l'arène​

Enregistrez un PNJ .yml au nom unique dans plugins/EliteMobs/npcs/, avec interactionType: ARENA_MASTER et arena: your_arena.yml. Rechargez après modification, puis placez-le avec /em place npc <npcfilename.yml> et elitemobs.place.npc, ou configurez spawnLocations. La référence des PNJ décrit placement, suppression, scripts, patrol, classRoot et transportRoutes.

isEnabled​

Définit si le PNJ est activé.

CléValeursDéfaut
isEnabledBooleantrue
Exemple
isEnabled: true

name​

Définit le nom d'affichage du PNJ.

CléValeursDéfaut
nameChaînevide
Exemple
name: "&aGladius"

create_arena_npc_name.jpg


role​

Définit le rôle affiché sous le nom du PNJ.

CléValeursDéfaut
roleChaînevide
Exemple
role: "&c<Arena Master>"

create_arena_npc_role.jpg


profession​

Définit la profession Minecraft du PNJ.

CléValeursDéfaut
professionProfessionNITWIT
Exemple
profession: ARMORER

Sera remplacé si un disguise est utilisé.

create_arena_npc_profession.jpg


spawnLocation​

Ancien emplacement unique, utilisé seulement si spawnLocations est vide ou absent. Préférez la liste et retirez cette ancienne clé lors d'une migration, sinon vider la liste peut restaurer l'ancien emplacement.

CléValeursDéfaut
spawnLocationLocationaucun
Exemple
spawnLocation: my_world,1.5,50,1.5,-108,0

spawnLocations​

Placements enregistrés du PNJ. Une liste non vide remplace spawnLocation, elle ne s'y ajoute pas. Les mondes référencés doivent être chargés. Chaque emplacement crée un PNJ distinct utilisant cette configuration.

CléValeursDéfaut
spawnLocationsString Listaucun
Exemple
spawnLocations:
- my_world,1.5,50,1.5,-108,0
- my_world,100.5,50,50.5,0,0

greetings​

Salutations aléatoires à l'entrée détectée dans le rayon. La proximité est vérifiée tous les 100 ticks ; une visite brève peut être manquée. Le délai de parole de trois secondes est partagé entre joueurs pour chaque PNJ : saluer un autre joueur peut empêcher votre salutation.

CléValeursDéfaut
greetingsString Listaucun
Exemple
greetings:
- Welcome to the Arena!
- The Arena welcomes you!

create_arena_npc_greetings.jpg


dialog​

Pour ARENA_MASTER, répliques aléatoires de proximité lors des vérifications suivantes tant que le joueur reste proche. Le clic ouvre le menu d'arène. Seul CHAT utilise cette liste comme action intégrée au clic.

CléValeursDéfaut
dialogString Listaucun
Exemple
dialog:
- Ready for a challenge?
- Face the Arena?

create_arena_npc_dialog.jpg


farewell​

Répliques d'adieu aléatoires à la fermeture de tout inventaire au titre non vide dans une boîte de 5 blocs par axe autour du PNJ, sous réserve du délai de parole. Ce n'est pas nécessairement son menu ; s'éloigner seul ne déclenche rien.

CléValeursDéfaut
farewellString Listaucun
Exemple
farewell:
- Bye.
- Return with your shield, or on it!

create_arena_npc_farewell.jpg

Utilisez un \n littéral dans une chaîne YAML simple ou entre apostrophes pour séparer les lignes de la bulle.

farewell:
- Bye.
- Return with your\nshield, or on it!

create_arena_npc_lines.jpg


canTalk​

Active les bulles ordinaires de salutation, dialogue et adieu. Le désactiver ne désactive ni menu d'arène, ni dialogue de quête, ni scripts, ni marqueurs.

CléValeursDéfaut
canTalkBooleantrue
Exemple
canTalk: true

activationRadius​

Rayon tridimensionnel de proximité en blocs. Une valeur nulle ou négative désactive la détection ; les marqueurs de quête ont leur propre portée. Le déplacement ou l'édition d'une patrouille suspend la parole de proximité pendant son activité.

CléValeursDéfaut
activationRadiusDouble3.0
Exemple
activationRadius: 3.0

timeout​

Durée de vie en minutes ; zéro ou moins désactive l'expiration. Retire le PNJ actif mais garde son placement, qui peut revenir au rechargement ou à la restauration du chunk. Utilisez la procédure de suppression des PNJ pour retirer définitivement le placement.

CléValeursDéfaut
timeoutDouble0
Exemple
timeout: 60

interactionType​

Définit le type d'interaction que le PNJ effectuera.

CléValeursDéfaut
interactionTypeSpécial [4]NONE
Exemple
interactionType: ARENA_MASTER

disguise​

Définit le déguisement personnalisé du PNJ.

CléValeursDéfaut
disguiseDisguiseaucun
Exemple
disguise: ZOMBIE

create_arena_npc_disguise.jpg


customDisguiseData​

Données d'un déguisement nommé de LibsDisguises. Associez-les à disguise: custom:your_disguise_name ; ce champ seul n'active pas de déguisement.

CléValeursDéfaut
customDisguiseDataStringaucun
Exemple
disguise: custom:arena_guide
customDisguiseData: player MHF_Pig

customModel​

Modèle personnalisé chargé. FreeMinecraftModels est prioritaire lorsqu'il est disponible ; un modèle absent ne provoque pas de nouvel essai via ModelEngine. Un modèle fonctionnel prime visuellement sur le déguisement. Les joueurs ont besoin des ressources correspondantes dans leur pack.

CléValeursDéfaut
customModelStringaucun
Exemple
customModel: my_model

arena​

Définition d'arène ouverte par ARENA_MASTER, avec .yml. Elle doit être activée et correctement initialisée. Ouvrir le menu n'admet ni ne téléporte automatiquement le joueur.

CléValeursDéfaut
arenaFilenameaucun
Exemple
arena: my_arena.yml

command​

Commande exécutée par le joueur, avec ses permissions. Nécessite interactionType: COMMAND. Omettez la barre initiale ; $player n'est pas remplacé.

CléValeursDéfaut
commandStringaucun
Exemple
command: say Hello

questFileName​

Définit les noms de fichiers de quête pour le PNJ. Nécessite que interactionType soit défini sur CUSTOM_QUEST_GIVER.

CléValeursDéfaut
questFileNameString Listaucun
Exemple
questFileName:
- my_quest_1.yml
- my_quest_2.yml

noPreviousLocationMessage​

Pour TELEPORT_BACK, message en l'absence de position de retour EliteMobs enregistrée. Cette position vient d'une téléportation EliteMobs depuis un monde extérieur à EliteMobs ; ce n'est pas simplement le dernier lieu parcouru ou celui d'une mort.

CléValeursDéfaut
noPreviousLocationMessageChaînevide
Exemple
noPreviousLocationMessage: '&cCouldn''t find a previous location!'

instanced​

Déclare un modèle de PNJ pour donjons instanciés au lieu de le faire apparaître dans le monde de référence. Les PNJ d'arène ordinaires utilisent false ; cette clé ne transforme pas une arène physique en donjon cloné.

CléValeursDéfaut
instancedBooleanfalse
Exemple
instanced: false

scale​

Échelle du villageois sous-jacent. Un déguisement ou modèle peut gérer sa propre taille visuelle ; ce champ ne garantit pas une taille identique avec chaque fournisseur.

CléValeursDéfaut
scaleDouble1.0
Exemple
scale: 1.0

syncMovement​

Synchronisation du mouvement du modèle avec le PNJ. Une patrouille valide la force même si ce champ vaut false, y compris lorsque la patrouille est en pause.

CléValeursDéfaut
syncMovementBooleantrue
Exemple
syncMovement: true

Exemple de configuration d'arène
isEnabled: true
name: Example NPC
role: <Arena Master>
profession: ARMORER
spawnLocations:
- my_minecraft_world,233,44,245,0,0
greetings:
- Welcome to the Arena!
dialog:
- Ready to enter the Arena?
farewell:
- Bye!
canTalk: true
activationRadius: 3.0
interactionType: ARENA_MASTER
disguise: ZOMBIE
arena: example_arena.yml

Cet exemple montre un PNJ d'arène basique qui apparaîtra dans my_minecraft_world avec un déguisement de zombie. Les joueurs peuvent interagir avec ce PNJ pour défier l'Example Arena.

Spécial [4]​

Voici la liste des types d'interaction de PNJ valides :

TypeDescription
GUILD_GREETEROuvre les bonus de compétences ; nécessite elitemobs.skill.npc.
CLASS_TRAINEROuvre la formation de classRoot avec [Alpha] Advanced Combat System activé ; nécessite elitemobs.command.
TRANSPORTOuvre les destinations de transportRoutes ; voir Transport.
CHATUn clic droit choisit une ligne aléatoire de dialog.
CUSTOM_SHOPOuvre le menu de la boutique personnalisée
PROCEDURALLY_GENERATED_SHOPOuvre la boutique générée procéduralement
BARAffiche le message indiquant que cette fonction sera disponible prochainement.
ARENANe fait rien. Utilisez ARENA_MASTER à la place.
QUEST_GIVEROuvre le menu des quêtes générées procéduralement
CUSTOM_QUEST_GIVEROuvre le menu de quête pour une quête spécifique définie dans questFileName
NONEAucune action intégrée ; scripts, proximité et dialogue de quête peuvent fonctionner.
SELLOuvre le menu de vente
TELEPORT_BACKUtilise la position de retour EliteMobs ; nécessite elitemobs.back.npc.
SCRAPPEROuvre le menu de récupération (scrap)
SMELTERDÉPRÉCIÉ - Fonctionnalité supprimée, ne pas utiliser
REPAIRMANOuvre le menu de réparation
ENHANCERDÉPRÉCIÉ - Fonctionnalité supprimée, ne pas utiliser
REFINERDÉPRÉCIÉ - Fonctionnalité supprimée, ne pas utiliser
UNBINDEROuvre le menu de déliaison
ARENA_MASTEROuvre le menu d'arène pour l'arène définie dans arena
COMMANDExécute la commande définie dans command
ENCHANTEROuvre le menu d'enchantement
SCROLL_APPLIEROuvre le menu d'application de parchemins
ARROW_SHOPOuvre le menu de la boutique de flèches
GAMBLING_BLACKJACKOuvre le jeu d'argent de blackjack
GAMBLING_COINFLIPOuvre le jeu d'argent de pile ou face
GAMBLING_SLOTSOuvre le jeu d'argent de machine à sous
GAMBLING_HIGHERLOWEROuvre le jeu d'argent plus haut/plus bas

Les autres types ont leurs propres permissions et réglages. Consultez la référence des interactions de PNJ avant de les utiliser ; une entrée d'arène nécessite ARENA_MASTER.