Bien évidement pour avoir des textures modifié avec optifine/mcpatcher/vanilla TU ES OBLIGE DE FAIRE TELECHARGER UN RESSOURCE PACK AUX JOUEURS, impossible de faire autrement même en 1.13 !
Donc oui il est possible de faire des textures personnalisé sans mod et ce en utilisant les models (situé dans le ressource pack)
Il est possible d'afficher un model a un item en fonction de la durabilité d'un item. C'est à dire qu'une épée en diamant qui n'a jamais servie aura une texture normal, si elle a un peu servi elle aura une texture totalement différente et si elle a beaucoup servi elle aura encore une autre texture.
Il est possible de mettre autant de texture que de point de durabilité que possède l'outil. l'épée en diamant possède 1562 points de durabilité (différent pour chaque outil https://minecraft.gamepedia.com/Sword)
Il est donc indispensable de bloquer la modification de durabilité d'un item quand on l'utilise. Pour cela plusieurs méthode sont possible comme par exemple: ajouter le NBT "Unbreakable" a cette item.
En skript pour changer la durabilité d'un item tu peux faire :
set durability of {_item} to 500 #Nécessite peut être un addon ...
ET DANS LE RESSOURCE PACK :
Alors là c'est beaucoup plus compliqué en fonction de ce que tu veux faire car tu dois comprendre parfaitement le fonctionnement des model en .json !!
Par exemple dans mon fichier : assets/minecraft/models/item/diamond_sword.json
{
"parent": "item/handheld",
"textures": {
"layer0": "items/shears"
},
"overrides": [
{"predicate": {"damage": 0.0001},"model": "head/squid"},
{"predicate": {"damage": 0.0010},"model": "head/bucket"},
{"predicate": {"damage": 0.0015},"model": "head/hive"}
]
}
J'ai créer un dossier qui se nome "head" a cette emplacement : assets/minecraft/models/head/
et dedans il y a ce fichier : squid.json
{
"__comment": "Model generated using MrCrayfish's Model Creator (http://mrcrayfish.com/modelcreator/)",
"textures": {
"0": "mcbt/squid",
"1": "mcbt/squid_tentacle",
"2": "mcbt/squid"
},
"display": {
"thirdperson_righthand": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, -5, 0 ],
"scale": [ 0.35, 0.5, 0.35 ]
},
"head": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, -10, 0 ],
"scale": [ 1, 1.7, 1 ]
},
"ground": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, 0, 0 ],
"scale": [ 0.3, 0.6, 0.3 ]
},
"gui": {
"rotation": [ 20, 20, 0 ],
"translation": [ 0, -7, 0 ],
"scale": [ 0.7, 1, 0.7 ]
},
"firstperson_righthand": {
"rotation": [ 0, 0, 0 ],
"translation": [ 0, -5, 0 ],
"scale": [ 0.35, 0.5, 0.35 ]
}
},
"elements": [
{
"name": "Cube",
"from": [ -2.0, 16.0, -2.0 ],
"to": [ 18.0, 20.0, 18.0 ],
"faces": {
"north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 4.0 ] },
"east": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 4.0 ] },
"south": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 4.0 ] },
"west": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 4.0 ] },
"up": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
"down": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }
}
#dsl je ne te donne pas le code entier :p
}
]
}
Ce qui te donne un item custom qui peut se poser sur la tête en tant que chapeau ^^