Aller au contenu principal
Version: 1.19.x

Perspectives séparées

Les perspectives séparées permettent d'afficher un modèle différent pour un item selon la perspective dans laquelle celui-ci est rendu. Cela nous permet donc d'attribuer un modèle à un item quand il est dans notre main et un autre modèle pour quand il est affiché dans une interface.

Base

La structure du fichier du modèle sera celle-ci :

{
"parent": "forge:item/default",
"loader": "forge:separate_transforms",
"base": {
//Modèle de base
},
"perspectives": {
//Modèles selon les différentes perspectives
}
}

Le modèle de base est celui qui est affiché quand le cas d'une perspective n'est pas prise en charge dans le champ perspectives. Pour faire référence à notre item, il nous faudra utiliser la clé parent avec une valeur qui sera le chemin vers votre item (un peu comme pour un modèle basique) :

"parent": "modid:item/example_item"

Perspectives

Pour ce qui est des perspectives, il nous faudra ajouter une clé objet pour chaque perspective où l'on veut modifier le modèle de l'item, avec à l'intérieur une clé parent pour spécifier le modèle. Cela nous donne une chose du style :

"nom_de_la_perspective": {
"parent": "modid:item/example_item"
}

Pour connaitre les différentes perspectives, vous pouvez vous référer au tableau ci-dessous.

NomDescription
thirdperson_righthandPerspective de l'item dans la main droite à la 3ème personne
thirdperson_lefthandPerspective de l'item dans la main gauche à la 3ème personne
firstperson_righthandPerspective de l'item dans la main droite à la 1ere personne
firstperson_lefthandPerspective de l'item dans la main gauche à la 1ere personne
headPerspective de l'item sur la tête du joueur (en 3ème personne)
guiPerspective de l'item dans une interface
groundPerspective de l'item sur le sol
fixedPerspective de l'item dans un cadre

Exemple

En combinant tout cela, nous arrivons donc à un fichier modèle du type :

{
"parent": "forge:item/default",
"loader": "forge:separate_transforms",
"base": {
"parent": "modid:item/example_item"
},
"perspectives": {
"firstperson_lefthand": {
"parent": "modid:item/example_item_fp_hand"
},
"gui": {
"parent": "modid:item/example_item_gui"
}
}
}