Tutoriel Création d'un resource pack pour Minecraft 1.8

DentaX

Aventurier
29 Mai 2017
2
0
2
52
Si t'as besoin d'aide pour les models et les blockstates, j'ai tout compris. Les models sont ce qui va changer le bloc en lui-même, et non sa texture, je m'explique: L'escalier n'est pas un bloc complet, donc si tu vas dans le fichier
, tu peux voir:
Code:
{   "parent": "block/block",   //Ça définit juste le fait que ce soit un block
    "display": {
        "gui": {      //Ça, c'est à quoi ressemble le bloc quand il est situé dans la hotbar, dans un coffre, etc…
            "rotation": [ 30, 135, 0 ],    /*C'est la rotation du block (le premier chiffre est l'axe des x, le 2eme des y et le 3eme des z)
            "translation": [ 0, 0, 0],  //Ça c'est son alignement (pareil , le 1er x, le 2eme y et le 3eme z)
            "scale":[ 0.625, 0.625, 0.625 ] //Ça bah c'est la taille que l'image de l'item aura
        },
        "head": {  // C'est pareil que pour la section gui en haut mais c'est à quoi ressemble le bloc quand il est placé sur le slot de la tête
            "rotation": [ 0, -90, 0 ], // (fais "/replaceitem entity @p slot.armor.head minecraft:oak_stairs " IG pour voir à quoi ça ressemble)
            "translation": [ 0, 0, 0 ], //pareil qu'avant
            "scale": [ 1, 1, 1 ]  //idem
        },
        "thirdperson_lefthand": {  //Ça c'est à quoi ressemble l'item que tu vois quand tu es à la 3eme personne (f5)
            "rotation": [ 75, -135, 0 ],
            "translation": [ 0, 2.5, 0],
            "scale": [ 0.375, 0.375, 0.375 ]
        }
    },
    "textures": {    
        "particle": "#side" //C'est les particule que fait l'objet. En l'occurance, le bloc que j'ai choisit le l'escalier, mais l'escalier en soi n'a pas de  // texture. le #side définira les particule en fonction de l'escalier choisit. Si tu prends un escalier en bois de chêne, quand tu le casseras tu //auras la texture d'un bois de chêne, etc…
    },
    "elements": [ // Ça, c'est tout les elements "physiques" que va contenir ton escalier. En contexte il y en a 2 mais si ton escaliers avait 4                                   //étages tu en aurais 4 
        {   "from": [ 0, 0, 0 ],  //C'est le début de la première partie de ton bloc. Ça va définir la forme de cette partie. Pour t'aider au début dessine une grille en 3d de 16x16x16. Dessine un premier point qui est en {0;0;0} puis un deuxième en {16;8;16} (comme "from " et "to"). Ces deux points sont les deux extrémités d'un quadrilataire. J'espère que tu me suis. Si tu as bien compris, tu devrais obtenir un demi-cube, soit la première marche d'un escalier.
            "to": [ 16, 8, 16 ],
            "faces": {  // Ça ça sert à changer l'orientation de la texture mais c'est un peu complexe, si t uveux que je t'explique dis-le moi
                "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
                "north": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "north" },
                "south": { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "south" },
                "west":  { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "west" },
                "east":  { "uv": [ 0, 8, 16, 16 ], "texture": "#side", "cullface": "east" }
            }
        },
        {   "from": [ 8, 8, 0 ],  //Là c'est la deuxième partie de l'escalier (la deuxième marche) qui part des coordonnées {8;8;0} aux coordonnnées  {16;16;8}
            "to": [ 16, 16, 16 ],
            "faces": { //C'est aussi pour changer l'orientation
                "down":  { "uv": [ 8, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [ 8, 0, 16, 16 ], "texture": "#top", "cullface": "up" },
                "north": { "uv": [ 0, 0,  8,  8 ], "texture": "#side", "cullface": "north" },
                "south": { "uv": [ 8, 0, 16,  8 ], "texture": "#side", "cullface": "south" },
                "west":  { "uv": [ 0, 0, 16,  8 ], "texture": "#side" },
                "east":  { "uv": [ 0, 0, 16,  8 ], "texture": "#side", "cullface": "east" }
            }
        }
    ]
}
J'espère que tu m'as suivi, sinon n'hésite pas à me donner ton skype pour que je puisse te contacter et t'aider si besoin ;)
Si tu veux savoir comment foncitonnent les block states signale le (c'est simple pour le coup)

Voici un exemple d'escalier à quatre marches (copie le code dans un fichier "stairs.json" dans le dossier minecraft/models/blocks/) :
Code:
{   "parent": "block/block",
    "display": {
        "gui": {
            "rotation": [ 30, 135, 0 ],
            "translation": [ 0, 0, 0],
            "scale":[ 0.625, 0.625, 0.625 ]
        },
        "head": {
            "rotation": [ 0, -90, 0 ],
            "translation": [ 0, 0, 0 ],
            "scale": [ 1, 1, 1 ]
        },
        "thirdperson_lefthand": {
            "rotation": [ 75, -135, 0 ],
            "translation": [ 0, 2.5, 0],
            "scale": [ 0.375, 0.375, 0.375 ]
        }
    },
    "textures": {
        "particle": "#side"
    },
    "elements": [
        {   "from": [ 0, 0, 0 ],
            "to": [ 16, 4, 16 ],
            "faces": {
                "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#top" },
                "north": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "cullface": "north" },
                "south": { "uv": [ 0, 0, 16, 4 ], "texture": "#side", "cullface": "south" },
                "west":  { "uv": [ 0, 12, 16, 16 ], "texture": "#side", "cullface": "west" },
                "east":  { "uv": [ 0, 12, 16, 16 ], "texture": "#side", "cullface": "east" }
            }
        },
        {   "from": [ 4, 4, 0 ],
            "to": [ 16, 8, 16 ],
            "faces": {
                "down":  { "uv": [ 0, 4, 16, 16 ], "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [ 0, 4, 16, 16 ], "texture": "#top", "cullface": "up" },
                "north": { "uv": [ 0, 4,  12, 8 ], "texture": "#side", "cullface": "north" },
                "south": { "uv": [ 0, 4, 12, 8 ], "texture": "#side", "cullface": "south" },
                "west":  { "uv": [ 0, 8, 12, 12 ], "texture": "#side", "cullface": "west" },
                "east":  { "uv": [ 0, 8, 12, 12 ], "texture": "#side", "cullface": "east" }
            }
        },
        {   "from": [ 8, 8, 0 ],
            "to": [ 16, 12, 16 ],
            "faces": {
                "down":  { "uv": [ 0, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [ 0, 0, 16, 16 ], "texture": "#top", "cullface": "up" },
                "north": { "uv": [ 0, 0,  4,  4 ], "texture": "#side", "cullface": "north" },
                "south": { "uv": [ 8, 0, 16,  4 ], "texture": "#side", "cullface": "south" },
                "west":  { "uv": [ 0, 4, 16,  8 ], "texture": "#side", "cullface": "west" },
                "east":  { "uv": [ 0, 4, 16,  8 ], "texture": "#side", "cullface": "east" }
            }
        },
        {   "from": [ 12, 12, 0 ],
            "to": [ 16, 16, 16 ],
            "faces": {
                "down":  { "uv": [ 4, 0, 16, 16 ], "texture": "#bottom", "cullface": "down" },
                "up":    { "uv": [ 12, 0, 16, 16 ], "texture": "#top", "cullface": "up" },
                "north": { "uv": [ 0, 0,  4,  4 ], "texture": "#side", "cullface": "north" },
                "south": { "uv": [ 8, 0, 16,  4 ], "texture": "#side", "cullface": "south" },
                "west":  { "uv": [ 0, 0, 16,  4 ], "texture": "#side" },
                "east":  { "uv": [ 0, 0, 16,  4 ], "texture": "#side", "cullface": "east" }
            }
        }

    ]
}
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Je te remercie ! ^^
Je sais déjà un peu comment tout cela fonctionne, mais je dois t'avouer que vu que ce tutoriel date, je n'ai pas eu le courage de continuer... ^^"
Mais je te remercie de ton commentaire ! :)
 

DentaX

Aventurier
29 Mai 2017
2
0
2
52
Sais-tu comment changer la texture d'un livre enchanté en fonction de son enchantement? Je sais qu'on peut le faire mais je sais pas comment ça marche ;/
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Ce genre de modifications requiert Optifine ou MCpatcher ^^
Tu dois mettre tes textures dans ce répertoire :
Code:
minecraft\mcpatcher\cit\
Ensuite, tu créés un fichier en .properties par texture contenant ceci :
Code:
matchItems=enchanted_book
stackSize=1
tile=book_enchanted_depth_strider
enchantmentIDs=8
"matchItems" est l'item en question
"stackSize" est la taille du stack pour lequel la texture sera apparente
"tile" est le nom de ta texture
"enchantmentIDs" est l'ID de l'enchantement ^^
 

Retr0p

Un pianiste, peut-être.
10 Décembre 2016
161
36
140
21
France
Super tutoriel ! Tu devrais en faire d'autre car tu explique vachement bien !
 

Oromis

Command-blocker slimesque
Staff
Modérateur
Support
11 Février 2014
3 345
2
1 053
297
24
Bretagne
Merci ! ^^
J'en ai fais d'autre, mais ils sont dans la partie command block ^^"
 

Sevent33

Bucheron
23 Avril 2017
14
3
14
Salut a tous , alors voila, je me suis lancer dans un ressource pack en 3D. le problème étant que les blocs que je passe en 3D sont ... tous simplement énorme quand on les tien en main ( gauche ou droite).
je pense que sa vient du faite qu'il n'y a pas de dossiers .json dans "assets/minecraft/models/item" mais par doute je préfère demander.
2017-11-11_00.07.29.jpg