Guide
Comment créer des objets personnalisés avec un plugin
Mis à jour le 18 octobre 2026
Épées, baguettes, clés et outils personnalisés comptent parmi les fonctionnalités de plugin les plus demandées. Un plugin ne peut pas ajouter un objet vraiment nouveau au jeu, mais il peut prendre un objet vanilla, lui donner un nom, un lore et un tag caché, et réagir quand un joueur l'utilise. Les joueurs se connectent avec le jeu normal, sans mods.
Remplacez les objets par les vôtres.
Générer ceci avec CodexeÉtape par étape
1.Listez les objets
Pour chaque objet : le matériau de base, le nom affiché, les lignes de lore et ce qu'il fait. « Un bâton de blaze appelé Fire Wand qui tire une boule de feu au clic droit, 5 secondes de recharge » est un objet complet.
2.Taguez-les avec PersistentDataContainer
Stockez un identifiant comme
fire_wanddans lePersistentDataContainerde l'objet avec uneNamespacedKey. Le plugin reconnaît l'objet grâce à ce tag, pas à son nom, donc le renommer dans une enclume ne crée pas de copie.3.Écrivez les capacités
Chaque capacité est un écouteur d'événement :
PlayerInteractEventpour les clics droits,EntityDamageByEntityEventpour les coups,BlockBreakEventpour les outils. Ajoutez des temps de recharge par joueur et par objet.4.Décidez comment les joueurs les obtiennent
Une commande admin
/give, une recette d'artisanat, une boutique, des drops de mobs ou des récompenses de caisses.5.Rendez tout configurable
Noms, lore, dégâts, temps de recharge et recettes dans
config.yml, pour équilibrer les objets sans nouveau build.6.Compilez et essayez chaque objet
Laissez Codexe compiler le plugin, rejoignez le serveur de test avec Tester maintenant, donnez-vous chaque objet et utilisez-le.
Pourquoi un tag et pas le nom
Vérifier le nom affiché ou le lore est l'erreur classique : n'importe quel joueur avec une enclume peut renommer un bâton en « Fire Wand ». Le PersistentDataContainer (Minecraft 1.14 et plus récent) stocke sur l'objet des données que les joueurs ne peuvent pas modifier, et elles survivent aux redémarrages, aux coffres et aux échanges car elles font partie de l'objet.
De la 1.8 à la 1.13, il n'y a pas de PersistentDataContainer ; les plugins utilisent le NBT via une bibliothèque ou un marqueur caché dans le lore. Indiquez la version dans la demande et Codexe écrit l'approche que cette version prend en charge.
Les capacités et les événements derrière elles
| Capacité | Événement | Remarques |
|---|---|---|
| Pouvoir au clic droit | PlayerInteractEvent | Vérifiez la main, il se déclenche une fois par main |
| Dégâts ou effets supplémentaires à l'impact | EntityDamageByEntityEvent | Vérifiez que l'attaquant est un joueur qui tient l'objet |
| Outil de minage en zone | BlockBreakEvent | Respectez les plugins de protection comme WorldGuard |
| Effet passif tant qu'il est en main | Une tâche répétée ou PlayerItemHeldEvent | Retirez l'effet quand l'objet est rangé |
| Arc ou projectile | EntityShootBowEvent, ProjectileHitEvent | Taguez le projectile pour savoir d'où il vient |
Textures et modèles
Un plugin change ce que fait un objet, pas son apparence. Une apparence personnalisée nécessite un resource pack que les joueurs téléchargent : sur les anciennes versions, l'objet porte un numéro CustomModelData que le pack associe à un modèle, et depuis la 1.21.2 un objet peut aussi pointer vers son propre modèle via le composant item_model. Sans pack, l'objet ressemble à son matériau de base avec un nom personnalisé, ce qui suffit à beaucoup de serveurs.
Exemple de description
« Un plugin Paper 1.21.4 appelé MagicItems. Trois objets, chacun tagué avec un identifiant PersistentDataContainer : Fire Wand (bâton de blaze, le clic droit tire une boule de feu, 5 s de recharge), Frost Blade (épée en fer, les coups infligent Lenteur II pendant 3 s), Miner's Pick (pioche en diamant, casse en 3x3 mais pas dans les régions WorldGuard où le joueur ne peut pas construire). /mi give <player> <item> pour magicitems.admin. Une recette avec forme pour chacun. Noms, lore, temps de recharge et recettes dans config.yml. »
Questions
Plugin ou mod pour des objets personnalisés ?
Un plugin si les joueurs doivent se connecter avec le jeu normal : les objets sont des objets vanilla avec un nouveau comportement. Un mod si vous avez besoin d'objets ou de blocs vraiment nouveaux avec leur propre rendu, que chaque joueur devra alors installer. Voir plugin ou mod.
Puis-je l'utiliser avec ItemsAdder ou Nexo ?
Votre plugin peut en dépendre, mais ce sont des plugins payants : le serveur de test de Codexe ne peut pas les installer, donc un plugin qui en exige un ne s'activera pas dessus. Les dépendances gratuites listées dans plugin.yml sont installées pour vous sur le serveur de test.
Les objets cessent-ils de fonctionner après une mise à jour ?
Les objets tagués avec un PersistentDataContainer gardent leur tag d'une mise à jour de Minecraft à l'autre. Les capacités peuvent nécessiter une recompilation pour la nouvelle API ; voir mettre à jour un plugin.
Créez vos objets personnalisés
Ce prompt s'ouvre prêt à être envoyé :
“Un plugin Paper 1.21.4 appelé MagicItems avec trois objets tagués par PersistentDataContainer : Fire Wand (bâton de blaze, le clic droit tire une boule de feu, 5 secondes de recharge), Frost Blade (épée en fer, Lenteur II pendant 3 secondes à l'impact), Miner's Pick (pioche en diamant qui mine en 3x3). /mi give pour magicitems.admin, une recette avec forme pour chacun, noms, lore, temps de recharge et recettes dans config.yml.”
Générer ceci avec Codexe