Aidez nous a financer le site: Joignez l'utile à l'agréable et profitez d'FR-Minecraft sans publicités en
devenant VIP ! Ou ajoutez FR-Minecraft dans vos exceptions, nous n'abusons pas des pubs
Voici une nouveauté qui devrait faire plaisir aux créateurs de pack de texture: Dans Minecraft 1.9 il sera possible de personnaliser les textures de blocs ou d'objets en fonction de critères tel que l'usure de l'outil ou la taille d'un stack.
À la base Grum a voulu résoudre un problème actuel des textures de Minecraft: Comment gérer les textures qui change en fonction de l'environnement, en particulier:
-
les (qui dépendent de la position du joueur)
-
les (qui dépendent de l'heure dans le jeu)
-
les (qui s'animent quand on tire sur la corde)
-
les (dont le fil n'est plus visible une fois lancé)
Actuellement, ces objets sont traité comme des exceptions par Minecraft, mais dans la version 1.9 ils utiliseront un nouveau système de gestion des textures, avec la possibilité de personnaliser une texture en fonction d'un critère externe.
Techniquement, ce changement intervient dans les fichiers de configuration des textures, avec l'ajout d'un "
predicate", exemple avec la boussole:
"overrides": [
{ "predicate": { "angle": 0.000000 }, "model": "item/compass" },
{ "predicate": { "angle": 0.015625 }, "model": "item/compass_17" },
{ "predicate": { "angle": 0.046875 }, "model": "item/compass_18" },
{ "predicate": { "angle": 0.078125 }, "model": "item/compass_19" },
{ "predicate": { "angle": 0.109375 }, "model": "item/compass_20" },
{ "predicate": { "angle": 0.140625 }, "model": "item/compass_21" },
{ "predicate": { "angle": 0.171875 }, "model": "item/compass_22" },
{ "predicate": { "angle": 0.203125 }, "model": "item/compass_23" },
{ "predicate": { "angle": 0.234375 }, "model": "item/compass_24" },
{ "predicate": { "angle": 0.265625 }, "model": "item/compass_25" },
{ "predicate": { "angle": 0.296875 }, "model": "item/compass_26" },
{ "predicate": { "angle": 0.328125 }, "model": "item/compass_27" },
{ "predicate": { "angle": 0.359375 }, "model": "item/compass_28" },
{ "predicate": { "angle": 0.390625 }, "model": "item/compass_29" },
{ "predicate": { "angle": 0.421875 }, "model": "item/compass_30" },
{ "predicate": { "angle": 0.453125 }, "model": "item/compass_31" },
{ "predicate": { "angle": 0.484375 }, "model": "item/compass_00" },
{ "predicate": { "angle": 0.515625 }, "model": "item/compass_01" },
{ "predicate": { "angle": 0.546875 }, "model": "item/compass_02" },
{ "predicate": { "angle": 0.578125 }, "model": "item/compass_03" },
{ "predicate": { "angle": 0.609375 }, "model": "item/compass_04" },
{ "predicate": { "angle": 0.640625 }, "model": "item/compass_05" },
{ "predicate": { "angle": 0.671875 }, "model": "item/compass_06" },
{ "predicate": { "angle": 0.703125 }, "model": "item/compass_07" },
{ "predicate": { "angle": 0.734375 }, "model": "item/compass_08" },
{ "predicate": { "angle": 0.765625 }, "model": "item/compass_09" },
{ "predicate": { "angle": 0.796875 }, "model": "item/compass_10" },
{ "predicate": { "angle": 0.828125 }, "model": "item/compass_11" },
{ "predicate": { "angle": 0.859375 }, "model": "item/compass_12" },
{ "predicate": { "angle": 0.890625 }, "model": "item/compass_13" },
{ "predicate": { "angle": 0.921875 }, "model": "item/compass_14" },
{ "predicate": { "angle": 0.953125 }, "model": "item/compass_15" },
{ "predicate": { "angle": 0.984375 }, "model": "item/compass" }
]
(
Tous les exemples sont dispo ici)
Et voici le résultat:
Une fois ce système terminé, Grum a ajouté de nouveaux predicates, afin de permettre de personnaliser une texture selon d'autres critères: La taille du stack ou l'usure d'un objet.
Et voici ce que cela peut donner avec l'usure d'une :
Voici les types de données actuellement disponible:
-
cast : Utilisé pour la canne à pêche
-
time : L'heure du jour, pour la montre
-
angle : L'angle de l'élélement par rapport au nord, pour la boussole
-
pulling : Utilisé pour l'arc: le joueur est-il en train de tendre la corde ?
-
pull : Utilisé pour l'arc: quel est la force de tension sur la corde ?
-
damaged : Un objet est-il abimé ?
-
damage : Taux de dégat subit par l'objet
-
stack_size : Taille du stack de l'objet
Toutes ces valeurs sont comprise entre 0 et 1 (qui représente un pourcentage du maximum possible).
Il ne sera PAS possible de personnaliser une texture en fonction de critère non numérique (une demande courante est de permettre de changer la texture d'une épée par exemple si on lui donne un nom). Grum justifie ce choix en indiquant qu'un nom d'objet ne peut pas être converti en un nombre entre 0 et 1, de plus ce système de texture paramètrable n'a pas pour vocation à permettre d'ajouter de nouveaux blocs ou items, une API de plugin arrivera plus tard pour cela.
Grum précise enfin que ce système n'est pas terminé, que rien n'est donc encore définitif, et que la texture de la canne à pêche n'est qu'un exemple qui ne sera pas néccessairement intégré dans Minecraft.
Minecraft 1.9 : Ajout de texture paramètrable :