1. Le forum de Minecraft-France va définitivement fermer ses portes. Celui-ci restera en lecture seule mais vous ne pourrez plus y apporter de nouveaux topics. Nous vous invitons à nous rejoindre sur le Discord de Minecraft-France qui permet de présenter vos projets, discuter avec la communauté etc.. Merci à tous d'avoir fait vivre ce forum de nombreuses années. Pour nous rejoindre sur Discord, Cliquez ici

[Ressource Pack] Tuto CTM

Discussion dans 'Tutoriels' créé par Galingueur_, 7 Mai 2014.

  1. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    TUTO CTM


    « Faire un ressource pack, c’est bien. Avec CTM, c’est mieux ! »​

    - Bill Clinton -​

    Introduction

    Mais qu’est-ce donc CTM ? C’est très simple, il s’agit du Connected Texture Mod. Il permet, à l’aide de MCpatcher ou d’Optifine, d’améliorer l’aspect visuel de votre pack au niveau des textures.

    Ce tuto va vous apprendre les fonctionnalités de bases, je pars du principe que vous savez comment faire un ressources pack, cette notion ne sera pas abordé ici. Ce que vous pourrez lire, vient du post CTM sur minecraft-forum (lien dans la conclusion) et de mon expérience personnel.


    Sommaire

    I – La base de la base de la base
    1.Dossiers & Textures
    2.Fichier .properties
    3. »code »
    Conclusion 1ère partie

    II – Les différentes « method »
    1.CTM classique
    2.horizontal ctm
    3.vertical ctm
    4.Horizontal + vertical & vertical + horizontal
    5.Texture répétés
    6.Texture aléatoire
    7.Texture fixe
    Conclusion 2ème partie

    III – Pour aller plus loin
    1.Plusieurs ctm pour 1 bloc
    2.Les liens (en anglais)

    Conclusion

    I – La base de la base de la base


    1.Dossiers & Textures

    a) Pour commencer. Il faut crée un répertoire dans votre pack :

    Dans le dossier assets => minecraft, là ou il y a le dossier "textures", crée un dossier appelé "mcpatcher". Dans ce dossier, crée un autre dossier "ctm". Ce dernier sera notre zone de travail, toutes les fonctionnalités apportées par mcpatcher et optifine seront chargé à partir de cet endroit. Libre à vous d’agencer vos fichiers et dossier dans cette zone de travail, on peut créer de nouveau dossier, des sous-dossiers, ça n'a pas d'importance.

    b) Dans ce dossier nous allons placer nos textures. On peut leur donner n’importe quel nom stone1.png, grass_top.png ou même Minecraft-France_yolo.png. Cependant, je vous recommande vivement de les appeler par des numéros ( 0.png ; 1.png ; 2.png ; ect) c'est même assez important pour la suite, ça va grandement nous facilité la tâche !


    Exemple :

    On veut modifier la stone, lui permettre d’avoir une texture aléatoire. Plus on aura de texture, et plus le visuel in-game sera aléatoire. Ici nous allons prendre 4 textures.

    Dans le dossier ctm (\assets\minecraft\mcpatcher\ctm), on crée un dossier « stone ». Pourquoi ? Tout simplement pour me faciliter les recherches. Lorsque l’on a beaucoup de texture, ça devient un gros bazar. J’essaye donc d’être le plus explicite possible pour chaque dossier. Dans ce dossier, nous allons avoir 4 images : 0.png ; 1.png ; 2.png et 3.png .


    2.Fichier .properties
    CTM a besoin d’une sorte de code pour fonctionner, ne prenez pas peur, c’est ultra basique, on ne peut pas faire plus simple. Ce code se base sur les IDs.

    a) Crée un document texte avec notepad. Il existe plusieurs possibilités pour le nom :
    1. L'appeller avec le nom exact du bloc, celui du dossier des textures de base par exemple (stone ;diamond_ore; ou encore hardened_clay_stained_gray)
    2. Donner comme nom l'ID du bloc. Avec la stone, cela donne : block1
    Les IDs des blocs sont trouvables ici : http://www.minecraftinfo.com/idlist.htm

    Il faut enregistrer ce document avec l'extension .properties.


    Exemple :
    En résumé, le document pour la stone va s'appeler "stone.properties" ou "block1.properties" c'est à vous de choisir ce que vous préférez. Personnellement, j’utilise le nom complet du bloc, toujours par souci de visibilité.

    A ce stade, vous devriez avoir cela dans votre dossier ctm :

    1.png



    3. "Code"
    C’est bien beau d’avoir un doc properties, mais vide, il est inutile. Passons à l'architecture du documment .properties. Chaque fichier contient des paramètres.

    a)
    Code (cpp):
    method=<method>
    Il y a 8 méthodes possibles avec ctm, ctm, horizontal, vertical, horizontal+vertical, vertical+horizontal, repeat, fixed et random(expliqué dans la partie deux, les différentes méthod)


    b)
    Code (cpp):
    tiles=<tiles>
    Ce paramètre va vous permettre d’indiquer quelles textures vont être utilisées. On peut indiquer les noms des fichiers 1 par 1 mais ce n’est pas ce qu'il y a de plus folichon. Cela donne :

    Code (cpp):
    tiles=0 1 2 3
    ou, pour ceux qui n’aime pas les numéros (notez que c’est déjà un peu plus bordélique sans numéros ;) )

    Code (cpp):
    tiles= stone1 grass_top Minecraft-France_yolo

    On peut aussi indiquer une suite de numéro par exemple 0-3. Cela donne :

    Code (cpp):
    tiles=0-3
    Ctm utilisera alors les fichiers png 0, 1, 2 et 3. Cette technique est la plus rapide, encore une fois, faites avec les numéros ! C’est tellement plus facile.

    c)
    Code (cpp):
    faces=<faces>
    Ce paramètre va vous permettre de sélectionner la face sur laquelle vos textures seront visibles. Si on ne l’indique pas, ctm utilisera la fonction par défaut, toute les faces du cube serons alors concerné.

    Les différentes faces sont celle-ci

    Bottom
    Top
    North
    South
    East
    West
    sides
    all


    d)
    Code (cpp):
    metadata=<metadata
    Vous avez remarqués le chiffre derrière les ID des planches de bois ? (5 :1 ; 5 :2 ; 5 :3 ; ect…) Ce sont les metadata. Ils permettent d’avoir plusieurs textures pour un même bloc. Avec la fonction metadata, il suffit d’ajouter le numéro du metadata pour affecter les planches de bois de bouleau par exemple :

    Code (cpp):
    metadata=2

    Chose intéressante, cela permet d’ajouter des blocs inédits à vos textures pack. Par exemple, un nouveau bois, une cobblestone différentes, à vous d’imaginer ! Cependant, ces blocs « metadata » serons inaccessible via l’interface de base de minecraft. Sur serveur, il faut utiliser des plug in comme worldedit ou monsterblock. En solo, aller galérer avec mcedit ;) (je vous conseil d’heberger votre propre serveur bukkit avec worldedit dessus, c’est bien plus pratique)


    e)
    Code (cpp):
    biomes=<biomes de votre choix>
    Cette fonction permet de faire apparaitre votre texture seulement dans un ou plusieurs type de biome

    Code (cpp):
    Biomes=Plains Desert

    Ici, notre bloc modifié s’affichera uniquement dans les biomes plaines et désert. Dans les autres biomes, la texture de base de votre pack sera utilisée.

    f)  [CODE]minHeight=<minimum height>
    Code (cpp):
    maxHeight=<hauteur maximale>
    Pareil que pour les biomes, mais avec la hauteur. Que dire de plus ?


    Exemple :

    Revenons à nos cailloux. Nous voulons une texture aléatoire, sur toutes les faces, dans n’importe quels biomes et nous avons quatres textures. On a donc :

    Code (cpp):
    Method=random
    Tiles=0-3
    Et voila. Simple non ?

    Un peu plus compliqué. Nous voulons une texture random, toujours avec nos 4 images, dans le biomes océan, et seuleument sur les côtés du blocs :

    Code (cpp):
    Method=random
    Tiles=0-3
    Faces=sides
    Biomes=ocean
    Un dernier. On veut modifier la texture du gros chêne (big_oak). Aléatoire, 7 textures. Dans notre fichiers log_big_oak.properties nous aurons :

    Code (cpp):
    Method=random
    Tiles=0-6
    Metadata=5

    Conclusion 1ère partie

    Félicitations, vous avez atteint le niveau 1 ! Vous en avez déjà marre ? Dommage, il reste encore deux parties. (oui, cette conclusion ne sert à rien)


    II – Les différentes « method »

    Pour toutes les method décrites ci-dessous, les templates ne fonctionnent pas tels quels, il faut à chaques fois séparé les textures

    1. Ctm classique

    Code (cpp):
    method=ctm


    C’est la méthode classique, chaque bloc sera connecté les uns aux autres : par exemple, des vitres sans bordures intempestives en plein milieu d’une magnifique baie vitré.

    Votre texture doit suivre cette template. Les numéros correspondent au nom de vos textures.
    (faut-il encore que je vante le mérite des numéros ?).

    ctm_template.png

    2. Horizontal Ctm

    Code (cpp):
    method=horizontal
    Cette méthode permettra à des blocs de se connecter uniquement de façon horizontale.
    Pratique pour faire des hiéroglyphes par exemples. Votre texture doit suivre cette template.

    horizontal_template.png

    3. Vertical Ctm

    Code (cpp):
    Method=vertical
    La même en verticale (merci captain obvious). Peut-être par exemple utilisé pour des colonnes. Votre texture doit suivre cette template.

    vertical_template.png

    4. Horizontal + vertical & vertical + horizontal

    Code (cpp):
    Method=horizontal+vertical
    Si vos blocs sont connectés sur les côtés, ctm appliquera une texture horizontale. Si vos blocs sont connectés de haut en bas, ctm appliquera une texture verticale.

    Code (cpp):
    Method=vertical+horizontal
    L’inverse, c’est tout. Cette façon de faire n’a jamais fonctionné chez moi.
    Votre texture doit suivre cette template.
    8LZj1Hy.png




    5. Texture répété

    Pour cette méthode, nous allons prendre comme exemple, une texture de 64 par 32 dans un pack en 16x16.

    Cette méthode permet de crée un meilleurs tiling. In-game, cette template prendra place sur 4x2 blocs. Pour cet exemple, vous aurez donc 8 textures. Pour le découpage de votre template, partez d’en haut à droite, découper tous vos blocs jusqu’à la fin de la ligne, puis repartez à la ligne. Et recommencer autant de fois que nécessaire.
    Rendu In-Game :
    2.png

    Dans le .properties cela donne :

    Code (cpp):
    Method=repeat

    Width=4
    Height=2
    Tiles=0-7
    Width correpsond à la largeur de votre texture, Height correspond à la hauteur. Votre template peut être de n’importe quelle taille.

    6. Texture aléatoire

    Cela prend toutes les textures indiqués et ça les places en mode yolo.

    Code (cpp):
    Method=random

    Tiles=<autant de tiles que désiré>
    7. Texture fixe

    Cette méthode fixe une et une seule texture sur votre bloc. Cette méthode permet de changer des blocs « non modifiables » comme les boutons, plaques de pression, ect….

    Code (cpp):
    Method=fixed

    Tiles=0

    Conclusion de la 2ème partie

    Voilà, vous devriez avoir normalement tous les bagages nécessaires pour rendre votre pack plus beau, y’a plus qu’a s’mettre au boulot !



    III – Pour aller plus loin


    1. Plusieurs CTM pour 1 bloc

    Si vous voulez changer à la fois le dessus d’un bloc et ses côtés, ctm le permet ! Pour ça, il vous suffit de créer un nouveau document .properties et de lui ajouter la lettre a. Il est possible d’ajouter autant de fichier .properties que de lettres dans l’alphabet. Les fichiers properties seront lus dans l’ordre alphabétique.

    2. Les liens (en anglais)

    Voici deux liens utiles si tu vous voulez aller plus loin. Toutes les fonctionnalités sont présenté ici, et c’est un sacré bazar. Néanmoins, le principal est dit ci-dessus.
    http://www.minecraftforum.net/topic/1961819-ctm-a-guide/
    Celui-ci est plus compliqué mais aussi plus complet, il permet de comprendre comment faire des ciels personnalisé, la couleur des biomes, de l’eau et plein d'autres trucs assez cool :
    http://www.minecraftforum.net/topic/1414510-a-texture-artists-guide-to-mcpatchers-features/#index1

    Conclusion
    Je ne peux que vous encourager à plonger dedans. CTM offre énormément de possibilités et tellement de profondeur aux packs, et c'est finalement, pas très compliqué.
    Je conseille aussi pour les débutants, de regarder dans des packs comme le faithfull, pour commencer, qui utilise quelques fonctions. Ça permet de voir comment sont agencer les fichiers et comment sont utiliser les .properties. Vous pouvez aussi regarder dans le pack Conquest_ , qui regorge de metadata, ctm et autres, mais attention, c'est un sacré bazar ! Enfin, le pack Broken Anachronism est aussi un exemple en matière d’utilisation de ctm, il combine même plusieurs méthode sur la même surfaces d’un bloc, c’est absolument génial !

    Conquest_ http://www.minecraftforum.net/topic/1452033-174-32x32-conquest-wip-weekly-updates/
    Broken Anachronism http://www.minecraftforum.net/topic...nism-v14-17-blocks-and-plant-overhaul-feb-13/

    J'éspère avoir été claire, si vous avez des questions, n'hésitez pas.
    Bon courage !

    Galingueur_​
     
    • J'aime J'aime x 8
    • Utile Utile x 2
    • Gagnant Gagnant x 1
    #1 Galingueur_, 7 Mai 2014
    Dernière édition: 20 Juin 2016
  2. Nolan-XX

    Nolan-XX Modérateur
    Staff

    Inscrit:
    29 Déc 2012
    Messages:
    10 234
    Points:
    304
    Sexe:
    Homme
    #2 Nolan-XX, 9 Mai 2014
    Dernière édition: 9 Mai 2014
  3. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    Bien sûr ! Ctm as besoin de 2 choses, tes textures, et tes .properties. Il faut juste que tout tes fichiers soit contenues dans le dossier ctm.
    Par exemple, voilà mon chemin d'accès pour la texture de l'argile bleu clair.
    Pirate Texture\assets\minecraft\mcpatcher\ctm\3.Hardened_Clay\Clay_Light_Blue\0.png
    Comme tu peux le voir, j'ai deux sous dossiers. (je mets des "tirets du bas" par habitude, tu peux les appeler comme tu veux)
    Le nombre de dossiers, sous dossiers, textures, n'as pas de répercussion en jeu, ce sera juste plus long lorsque tu chargeras ton pack ;)
    Pour ce qui est de optifine, je suis encore en 1.7.2, la flemme de changer :D
     
  4. Thorigigan

    Thorigigan Nouveau

    Inscrit:
    12 Juin 2016
    Messages:
    3
    Points:
    25
    Sexe:
    Homme
    J'ai réussi a faire ça :
    [​IMG]
    mais je voudrais que le four au dessus soit un block d'hardened clay , c'est possible ?
     

    Fichiers attachés:

  5. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    Je ne vois absolument pas ce que tu essais de faire. Il faudrait me donner plus de détail. Ton bloc en dessous c'est un four ?
     
  6. Thorigigan

    Thorigigan Nouveau

    Inscrit:
    12 Juin 2016
    Messages:
    3
    Points:
    25
    Sexe:
    Homme
    Je voudrais changer une texture en fonction du block au dessus
     
  7. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    Tu ne peux pas changer un bloc par rapport à un autre bloc malheureusement. Les ctms, s'applique seulement a un même blocs. Par exemple si tu met deux four l'un au dessus de l'autre, tu peux crée un ctm vertical ou un ctm classique pour avoir la texture qui change.
    Sinon, tu peux essayer d'ajouter dans ton propeties la ligne suivante :
    connect=material
    Cette ligne permet de faire un connexion entre deux blocs avec le même matériaux, par exemple, la hardened clay. ça peut éventuellement marcher, mais je n'y crois pas trop.

    Cela dit tu n'as pas répondu à ma question. Sur ton screen, les deux blocs sont des fours ?
     
  8. Thorigigan

    Thorigigan Nouveau

    Inscrit:
    12 Juin 2016
    Messages:
    3
    Points:
    25
    Sexe:
    Homme
    Oui les 2 blocks sont bien des fours
    Mais pour résumée mon idée , je voulais faire une connection entre 2 blocks différents
     
  9. Anivian

    Anivian Nouveau

    Inscrit:
    30 Nov 2017
    Messages:
    1
    Points:
    0
    Sexe:
    Homme
    Bonsoir, c'est peut être un peu vieux comme sujet, j'espère que tu verras ce message :/
    Je voulais juste savoir si ca pouvait être des .json et non pas des .png ?
    Ou sinon est-ce possible de connecter des json ? :)

    Cordialement
     

Partager cette page