Aller au contenu principal

Créer des objets

webapp_banner.jpg

Créer des objets personnalisés

Que sont les objets personnalisés ?

Les Objets personnalisés sont des objets définis par EliteMobs via des fichiers de configuration. Vous pouvez personnaliser plusieurs aspects de ces objets, tels que le niveau de l'objet, les enchantements, le nom, le lore, la texture et plus encore !

Webapp

Vous pouvez créer du butin personnalisé facilement et rapidement ici !

Avant de commencer

Où vont les objets personnalisés ?

Les fichiers d'objets personnalisés vont dans le dossier de configuration ~/plugins/EliteMobs/customitems

Il est possible de créer des sous-dossiers, tels que ~/plugins/EliteMobs/customitems/myitems. Cela est recommandé pour garder les choses organisées.

Les fichiers sont stockés au format .yml et Notepad++ est le logiciel d'édition de fichiers recommandé pour le travail de configuration. Un fichier définit un boss, bien qu'il soit possible de faire apparaître le même boss plusieurs fois et même de définir plusieurs emplacements d'apparition pour le même fichier de boss.

Il est possible d'utiliser la webapp pour créer rapidement et facilement des boss personnalisés et plus encore.

Configuration minimale possible

Veuillez noter que le plus petit fichier de configuration possible pour un Objet personnalisé est :

Notez que ceci est juste un fichier vide. Cela utilisera par défaut une épée en bois appelée « Default name ». Tout sur cette page est optionnel !

Exemple d'objet

Examinons un exemple de ce à quoi ressemble un fichier d'objet.

Exemple
isEnabled: true
material: WOODEN_AXE
name: '&4Test item'
lore:
- This is a cool item
- It has cool lore
enchantments:
- DAMAGE_ALL,4
- FLAMETHROWER,1
potionEffects:
- FAST_DIGGING,0,self,onHit
- POISON,0,target,onHit
- GLOWING,0,self,continuous
dropWeight: dynamic
scalability: scalable
itemType: custom

Paramètres de l'Objet personnalisé

Voici la liste de tout ce que vous pouvez configurer pour les objets personnalisés :


isEnabled

Définit si l'objet est activé. N'affecte pas les objets déjà générés.

CléValeursDéfaut
isEnabledtrue / falsetrue
Exemple
isEnabled: true

material

Définit le matériau de l'objet.

CléValeursDéfaut
materialChoisissez dans cette liste !WOODEN_SWORD
Exemple
material: DIAMOND_SWORD

level

Définit le niveau de l'objet.

CléValeursDéfaut
levelInteger0

Notez que ce réglage n'est pas pertinent si vous définissez la scalability de l'objet sur scalable. Si vous la définissez sur limited, ce sera le niveau le plus élevé possible de l'objet.

De plus, les matériaux ont un niveau minimum. Les matériaux en fer sont de niveau 6, les matériaux en diamant sont de niveau 7. Vous ne pouvez pas forcer les objets à être d'un niveau inférieur à celui du matériau.

Exemple
level: 100

name

Définit le nom d'affichage de l'objet.

CléValeursDéfaut
nameString avec codes de couleur"Default name"
Exemple
name: "&2Cool item"

create_item_name.jpg


lore

Définit le lore de l'objet.

CléValeursDéfaut
loreListe avec codes de couleuraucun
Exemple
lore:
- "&2This is the coolest sword"
- "&2of all time!"

create_item_lore.jpg


enchantments

Définit les enchantements de l'objet.

CléValeursDéfaut
enchantmentsListe avec des enchantements Minecraft ou des Enchantements personnalisés EliteMobsaucun

Notez que ces entrées suivent le format enchantmentName:enchantmentLevel. Consultez l'exemple ci-dessous !

Exemple
enchantments: 
- "DAMAGE_UNDEAD,8"
- "DURABILITY,4"
- "DAMAGE_ALL,7"
- "LOUD_STRIKES,3"

create_item_enchantments.jpg

Notez également que les enchantements comme sharpness deviennent par défaut elite sharpness si le niveau commence à dépasser les limites du Minecraft vanilla.


potionEffects

Définit les effets de potion que l'objet aura. Ils peuvent être appliqués au joueur ou à une entité endommagée par le joueur.

CléValeursDéfaut
potionEffectsListe avec des effets de potion Minecraftaucun

De plus, les effets de potion utilisent un format spécifique qui permet aux administrateurs de choisir qui est affecté et quand :

ParamètreDescriptionValeursDéfaut
Niveau de l'effet de potionDéfinit le niveau de l'effet de potion. Les effets de potion commencent au niveau 0 !Integeraucun
Entité affectéeDéfinit qui est affecté par l'effet de potion.self (le joueur) / target (entité frappée)aucun
Méthode d'applicationDéfinit quand l'effet de potion est appliqué.onHit / continuous (réapplique constamment)aucun

Le format des effets de potion est potionEffectName,potionEffectLevel,affectedEntity,applicationMethod. Les deux derniers paramètres (affectedEntity et applicationMethod) sont optionnels et valent par défaut self et continuous s'ils ne sont pas spécifiés. Consultez l'exemple ci-dessous !

Durées des effets de potion :

  • Les effets continus sont rafraîchis chaque seconde tant que l'objet est tenu ou équipé (chaque application dure 2 secondes, de sorte que l'effet ne s'interrompt jamais)
  • La Vision nocturne reçoit une durée spéciale de 15 secondes
  • Les effets onHit utilisent des durées basées sur la configuration du serveur

Lorsque vous examinez un objet avec des effets de potion, vous verrez des icônes qui indiquent comment l'effet est appliqué :

  • ☠️ Crâne – Cible les ennemis.
  • 🛡️ Bouclier – Cible l'utilisateur/joueur.
  • ⚔️ Épées – S'active au moment du coup.
  • 🔄 Cercle qui se répète – S'applique continuellement tant que l'objet est porté ou tenu.

EliteMobs propose également des objets personnalisés qui fonctionnent comme des charmes. Ces objets ne font rien d'autre que fournir des effets de potion au joueur lorsque l'objet est tenu ou équipé dans un slot.

AVERTISSEMENT : Utiliser l'effet de potion INSTANT_DAMAGE soignera les mobs morts-vivants à l'impact, car il s'agit d'une mécanique par défaut de Minecraft vanilla.

Exemple
potionEffects: 
- "POISON,0,target,onHit"
- "HEAL,1,self,onHit"
- "NIGHT_VISION,0,self,continuous"

create_item_potion_effects.jpg

Avec cet ensemble d'effets de potion, voici ce qui se passera :

Au moment du coup, l'effet de potion poison (niveau 1) sera appliqué à l'entité frappée par le joueur. De plus, le joueur sera affecté par un effet de potion de soin instantané niveau 2.

En continu, le joueur recevra la vision nocturne. Cela signifie que le joueur aura la vision nocturne tant qu'il porte ou tient l'objet.


scalability

Définit comment le niveau de l'objet évolue avec le niveau du boss qui le drop.

CléValeursDéfaut
scalabilityfixed, limited ou scalable. Voir ci-dessous !scalable

Consultez cette liste pour comprendre ce que font les différentes options !

ParamètreDescription
fixedLe niveau de l'objet sera toujours le niveau défini dans le fichier de configuration.
limitedLe niveau maximum de l'objet sera limité par celui défini dans le fichier de configuration ou par le niveau du boss, le plus bas des deux.
scalableLe niveau de l'objet sera entièrement basé sur le niveau du boss qui le drop.

Notez que les objets avec un dropWeight auront toujours une scalability fixed.

Exemple
scalability: "scalable"

itemType

Définit d'où vous pouvez obtenir l'objet.

CléValeursDéfaut
itemTypecustom, unique, ou droppable. Voir ci-dessous !custom

Il existe trois types d'objets :

ParamètreDescription
customL'objet pourra être lâché par tout mob EliteMobs capable de lâcher du butin, et sera dans la boutique personnalisée.
uniqueL'objet ne sera lâché par aucun boss et ne sera pas dans la boutique personnalisée. La seule façon de l'obtenir est de configurer un Boss personnalisé pour le lâcher via son uniqueLootList !
droppableL'objet entre dans le pool de drops élites aléatoires tout comme custom, mais il est exclu des boutiques — les joueurs peuvent le trouver comme un drop élite normal mais ne peuvent jamais simplement l'acheter. Utile pour les objets qui doivent donner le sentiment d'avoir été mérités sans avoir besoin d'être liés à un boss spécifique.
Exemple
itemType: "unique"

dropWeight

Définit la table de butin dans laquelle l'objet s'intégrera.

CléValeursDéfaut
dropWeightdynamic ou une valeur Double.dynamic

EliteMobs possède 5 tables de butin différentes pour les objets personnalisés, sans compter celles configurées directement comme la uniqueLootList sur les Boss personnalisés.

Elles sont les suivantes :

Table de butinDescriptionPoids par défaut
Objets générés procéduralementObjets générés aléatoirement en fonction des fichiers de configuration du serveur90.0
Objets pondérésObjets ayant un poids autre que dynamic1.0
Objets fixesObjets ayant une scalability fixed10.0
Objets limitésObjets ayant une scalability limited3.0
Objets évolutifsObjets qui sont scalable6.0

Lorsqu'un boss meurt, un objet de ces tables est sélectionné en fonction du fichier de configuration ItemSettings.yml. Les valeurs par défaut des poids sont listées ci-dessus dans Poids par défaut. Plus le poids est élevé, plus un objet a de chances d'être lâché.

Les Objets pondérés ont un faible Poids par défaut, ce qui signifie qu'ils ne seront pas lâchés très souvent. Les objets avec un dropWeight qui n'est pas dynamic sont censés être rares et ne sont utilisés que dans les valeurs par défaut des charmes lâchés par les boss — des objets qui ne servent pas directement au combat, mais plutôt à conférer des effets de potion aux joueurs.

Le dropWeight que vous définissez ici détermine la chance qu'un Objet pondéré spécifique soit lâché parmi la liste des Objets pondérés. Il n'augmente pas la chance que des Objets pondérés soient lâchés.

Si vous êtes perdu et que vous voulez simplement créer des armes et des armures, ignorez ce réglage car sa valeur par défaut est correctement dynamic.

Les Objets pondérés ont généralement un poids de 1.0.

Exemple
dropWeight: "dynamic"

customModelID

Note : Ce réglage a été supprimé. Il n'est plus lu depuis les fichiers de configuration. Utilisez plutôt customModelV2, qui est le seul réglage d'ID de modèle reconnu depuis Minecraft 1.21.4+ (EliteMobs 9.1.13+). Toute entrée customModelID existante dans vos fichiers de configuration sera ignorée.

Définit la texture de l'objet. Nécessite l'utilisation d'une texture valide issue du pack de ressources !

CléValeursDéfaut
customModelIDIntegeraucun
Exemple (ne fonctionne plus)
material: DIAMOND_SWORD
customModelID: 1

Ce réglage ne fonctionne plus. Migrez vers customModelV2 à la place.


customModelV2

À partir de la version 1.21.4 de Minecraft (EM 9.1.13), il s'agit du nouveau réglage requis pour configurer les ID de modèle d'objet personnalisé. Définit la texture de l'objet. Nécessite l'utilisation d'une texture valide issue du pack de ressources !

CléValeursDéfaut
customModelV2Stringaucun
Exemple
customModelV2: elitemobs:equipment/magmaguys_toothpick

Ce réglage attribue une texture spécifique à un objet. Voici comment cela fonctionne :

  • elitemobs: est le répertoire principal dans le dossier assets du pack de ressources.
  • equipment est un sous-répertoire à l'intérieur de assets/elitemobs/models.
  • magmaguys_toothpick est le fichier de modèle situé dans assets/elitemobs/models/equipment du pack de ressources.

Le chemin complet vers le fichier de modèle dans cet exemple serait : \.minecraft\resourcepacks\elitemobs_resource_pack\assets\elitemobs\models\equipment\magmaguys_toothpick.json

Cela utilisera la texture personnalisée magmaguys_toothpick du pack de ressources EliteMobs que le joueur utilise. Il est recommandé de configurer votre serveur pour fournir les packs de ressources aux joueurs à la connexion si vous voulez utiliser cette fonctionnalité correctement.


equipmentModelID

Définit un modèle distinct pour l'objet lorsqu'il est équipé ou porté. Nécessite l'utilisation d'une texture valide issue du pack de ressources !

CléValeursDéfaut
equipmentModelIDStringaucun
Exemple
equipmentModelID: elitemobs:equipment/helmet_texture

Cela définit une texture spécifique qui apparaît lorsque l'objet est porté, distincte de l'apparence de l'objet dans l'inventaire.


scriptedItem

Lie l'objet à un objet scripté FreeMinecraftModels. Une fois défini, l'objet gagne le modèle 3D de FMM et le comportement de script Lua tout en conservant l'ensemble des systèmes de nom, de lore, d'enchantements, de niveau et de lien d'âme (soulbind) d'EliteMobs.

Cela nécessite que FreeMinecraftModels soit installé sur le serveur. Si FMM n'est pas installé, ce réglage est silencieusement ignoré et l'objet fonctionne normalement, sans modèle ni script.

La valeur est l'ID d'objet FMM — le nom de fichier de la config YML du modèle dans le dossier models de FMM, sans l'extension .yml. Par exemple, si FMM possède une config de modèle à plugins/FreeMinecraftModels/models/flame_blade.yml avec material: IRON_SWORD et scripts: [flame_blade.lua], vous la référenceriez par flame_blade.

Lorsque scriptedItem est défini, il est prioritaire sur customModelV2 et equipmentModelID — EliteMobs ignorera son propre système de modèle et utilisera plutôt celui de FMM.

CléValeursDéfaut
scriptedItemString (ID d'objet FMM)aucun
Exemple
material: IRON_SWORD
name: "&cFlame Blade"
lore:
- "&7Burns with eternal fire"
enchantments:
- "FIRE_ASPECT,2"
- "DAMAGE_ALL,5"
scalability: scalable
scriptedItem: flame_blade

Dans cet exemple :

  • EliteMobs contrôle le nom de l'objet, le lore, les enchantements, la mise à l'échelle du niveau et le comportement de lien d'âme (soulbind)
  • FMM fournit le modèle 3D de l'objet et exécute le script flame_blade.lua (par exemple, des effets de particules à l'équipement, un comportement d'attaque personnalisé)
  • Le material: IRON_SWORD est utilisé comme type d'objet de base par EliteMobs

showSource

Définit si l'objet affiche dans son lore les informations sur sa source ou son origine.

CléValeursDéfaut
showSourceBooleantrue
Exemple
showSource: false

Avec ce réglage sur false, l'objet n'affichera pas l'endroit où il a été obtenu.


permission

Définit la permission requise pour obtenir l'objet.

CléValeursDéfaut
permissionStringaucun

Vous aurez besoin d'un plugin de gestion des permissions pour donner des permissions aux joueurs. Cela ne fonctionnera correctement que si vous n'avez pas désactivé l'enchantement de lien d'âme (soulbind).

Exemple
permission: "elitemobs.cool.permission"

Avec cette configuration, seuls les joueurs disposant de la permission elitemobs.cool.permission pourront obtenir cet objet.


soulbound

Définit si l'objet doit être lié à l'âme (soulbound) au moment du drop.

CléValeursDéfaut
soulboundBooleantrue
Exemple
soulbound: true