Création d'items

This page has not been translated yet — showing the French version.

Apprenez à créer différents types d'items avec KubeJS.

Pour commencer il vous faudra créer un nouveau fichier js dans le dossier startup_scripts, j'ai pour habitude de créer un fichier items.js pour mes items custom.

Le nom du fichier doit être en minuscule sans espace !

❌​Mes Items.js
​✅mes_items.js

Dans ce fichier .js il vous faudra avoir les infos du code donné ci dessous.

item.jsjavascript
StartupEvents.registry('item', event => { //Vous pouvez changer le mot "event" par ce que vous voulez, j'ai pour habitude de juste mettre "e" personnellement.

//Ici sera mon code

})

Tous les exemples donné plus bas serons à mettre dans l'espace "Ici sera mon code" en retirant le double slash.

Le double slash //Mon commentaire est utilisé pour mettre des commentaires, vous pouvez également utilisez /*Mon commentaire*/


Item basique

Créer un objet via kubejs est très simple, le code ci-dessous créera un objet dans votre modpack.

javascript
//mon item
event.create('mon_item')

L'important à savoir concernant cet item, c'est qu'il n'aura pas de texture à moins que vous ne lui en donniez une.

Pour lui donner une texture, deux options s'offrent à vous.

➡️​ Chemin de texture classique

La première consiste à placer votre texture dans le répertoire par défaut des items Kubejs.
kubejs/assets/kubejs/textures/item/mon_item.png

Il faudra vous rendre à la racine de votre modpack pour y trouver le dossier kubejs et suivre le chemin donné ci-dessus, vous devriez trouver un fichier example_item.png vous pouvez le supprimer.

➡️​ Chemin de texture personnalisé

La seconde méthode consiste à lui attribuer directement un chemin personnalisé lors de la création de votre item.
C'est très pratique pour trier vos textures.

javascript
//mon item
event.create('mon_item').texture('tuto:item/dusts/ma_texture')

Ici le chemin d'accès de votre texture sera la suivante, toujours en partant du dossier kubejs à la racine de votre modpack.
kubejs/assets/tuto/textures/item/dusts/ma_texture.png

Dans cet exemple, j'ai nommé la texture personnalisée de l'item "ma_texture", mais vous pouvez la laisser avec son nom d'origine "mon_item". L'important est que le chemin d'accès dans votre code ne comporte aucune erreur.

J'ai également créé un dossier "tuto" pour organiser mes textures de manière plus ordonnée.
J'aurais pu rester dans le dossier kubejs, dans ce cas, le chemin aurait été kubejs/assets/kubejs/textures au lieu de kubejs/assets/tuto/textures.
N'hésitez pas à renommer vos dossiers comme vous le souhaitez.

➡️​ Item avec ID custom

Vous pouvez créer un item avec un id custom, donc un id autre que kubejs.
Pour cela il vous suffit de l'indiquer sur la création de votre item, en gardant en mémoire que toutes les autres méthodes fonctionnerons de la même façon qu'avec l'id Kubejs.

javascript
//mon item
event.create('tuto:mon_item')

Pour la texture de l'exemple ci dessus il vous suffira de mettre celle-ci dans le dossier kubejs/assets/tuto/textures/item/mon_item.png ou d'ajouter le .texture et le chemin d'accès.


Méthodes de construction d'item

Il existe plusieurs méthodes compatibles avec la création d'item en plus du .texture, voici une liste:

  • .maxStackSize(size)
    ➡️ Permet de choisir la quantité que ton stack fera (de 1 à 64)
  • .unstackable()
    ➡️ Permet de rendre son item non stackable
  • .maxDamage(damage)
    ➡️ Permet de choisir la quantité de damage qu'un item peu subire
  • .burnTime(ticks)
    ➡️ Permet de choisir le temps que l'item brulera dans un four (20ticks = 1second)
  • .fireResistant(boolean)
    ➡️ Permet de rendre son item invulnérable au feu et la lave (comme Netherite)
  • .rarity(common, uncommon, rare, epic)
    ➡️ Permet de choisir la rareté de son item
  • .glow(boolean)
    ➡️ Permet de faire briller son item comme si il était enchanté
  • .tooltip(text)
    ➡️ Permet d'ajouter un tooltip à son item
  • .color(index, colorHex)
    ➡️ Permet de teindre une texture donné
  • .displayName(name)
    ➡️ Permet de choisir le nom exact de son item
  • .tag(tag)
    ➡️ Permet d'ajouter un tag à son item
  • .food(foodBuilder)
    ➡️ Permet de faire de son item de la nourriture (Voir la page dédiée)

Toute les méthode cité plus haut sont à ajouter à la suite de votre création d'item comme l'exemple si dessous.

javascript
//mon item
event.create('mon_item').displayName('Mon Super Item').unstackable().glow(true).tag('montag:super_item').fireResistant(true).maxDamage(100).rarity('epic')
javascript
//mon item
event.create('mon_item_2').displayName('Mon Super Item 2').maxStackSize(16).glow(true).tag('montag:super_item').color(0, 0xff0000).rarity('rare').tooltip('Item Rare brillant et rouge')

L'exemple 1 créer un item non stackable, brillant, avec la propriété de ne pas être détruit dans la lave ou le feu, possède un tag custom a 100 de durabilité et est d'une rareté Epic.

L'exemple 2 créer un item stackable par 16 max, brille, possède un tooltip, est d'une rareté Rare et est teint de rouge sur le layer 0.

Updated on 11/10/2026