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

Damage Value, items et modèle 3D

Discussion dans 'Autres' créé par Galingueur_, 23 Août 2016.

  1. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    Bonjour à tous,

    Je me prends pas mal la tête dernièrement sur les damages value.
    En gros :
    Je souhaite avoir différent objets 3D que je mets dans des items frame (affiche, panneaux, ect....).
    J'utilise donc la houe en diamand et les damage value.

    Mais, c'est complètement aléatoire. ça a marché une fois, j'avais bien mes modèles sur des damages value, c'était presque beau, j'ai faillis en pleurer. J'ai ajouter des models, et ça ne marche plus.

    Je ne comprends pas très bien les damages value, avec moi ça fonctionne bien 1 fois sur 100, c'est pénible, et le pire, c'est que je sens l'erreur à la con.
    Je mets le code ci-dessous, raccourcis a seulement quelques models, sinon ça n'en finirais pas.
    Si quelqu'un pouvait m'éclairer, je lui en serais grandement reconaissant.

    le fichier s’appelle diamond_hoe.json et se trouve dans le dossier minecraft=>models=>items
    Code (cpp):

    {
        "parent": "item/handheld",
        "textures": {
            "layer0": "items/diamond_hoe"
        },

        "overrides": [
            { "predicate": {"damaged": 0, "damage": 0}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 0, "damage": 0.0006402048655569782}, "model": "item/if_bigtag_01"},
            { "predicate": {"damaged": 0, "damage": 0.0012804097311139564}, "model": "item/if_bigtag_02"},
            { "predicate": {"damaged": 0, "damage": 0.0019206145966709346}, "model": "item/if_bigtag_03"},
            { "predicate": {"damaged": 0, "damage": 0.002560819462227913}, "model": "item/if_bigtag_04"},
            { "predicate": {"damaged": 0, "damage": 0.003201024327784891}, "model": "item/if_bigtag_05"},
            { "predicate": {"damaged": 0, "damage": 0.0038412291933418692}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 0, "damage": 0.004481434058898847}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 0, "damage": 0.005121638924455826}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 0, "damage": 0.005761843790012804}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 0, "damage": 0.006402048655569782}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 0, "damage": 0.00704225352112676}, "model": "item/if_tag_01"},
            { "predicate": {"damaged": 0, "damage": 0.0076824583866837385}, "model": "item/if_tag_02"},
            { "predicate": {"damaged": 0, "damage": 0.008322663252240717}, "model": "item/if_tag_03"},
            { "predicate": {"damaged": 0, "damage": 0.008962868117797694}, "model": "item/if_tag_04"},
            { "predicate": {"damaged": 0, "damage": 0.009603072983354673}, "model": "item/if_tag_05"},
            { "predicate": {"damaged": 0, "damage": 0.010243277848911651}, "model": "item/if_tag_06"},
            { "predicate": {"damaged": 0, "damage": 0.01088348271446863}, "model": "item/if_tag_07"},
            { "predicate": {"damaged": 0, "damage": 0.011523687580025609}, "model": "item/if_tag_08"},
            { "predicate": {"damaged": 0, "damage": 0.012163892445582586}, "model": "item/if_tag_09"},
            { "predicate": {"damaged": 0, "damage": 0.012804097311139564}, "model": "item/diamond_hoe"},
    //ect, jusqu'a la fin
            { "predicate": {"damaged": 0, "damage": 0.999359795134443}, "model": "item/diamond_hoe"},
            { "predicate": {"damaged": 1, "damage": 0}, "model": "item/diamond_hoe"}
        ]
    }
     
     
  2. Jodge

    Jodge Explorateur

    Inscrit:
    13 Oct 2013
    Messages:
    65
    Points:
    89
    Sexe:
    Homme
    J'ai déjà bricolé un texture pack sur le même principe, et voila trois chose très importante que j'ai retenu :
    - Même si je sais pas vraiment pourquoi, j'ai toujours mis "damaged":1. Étrangement, je n'avais rien si je m'étais 0...
    - "damage": fonctionne selon un principe de pourcentage (de 0.0 à 1.0). Ducoup, la comande give ne correspond pas du tout puisque la valeur est entre 1 et le maximum du matériel (en l’occurrence, 1337 je crois). Il me semble néanmoins que tu est mis les bonne valeurs, mais peu être fait tu un mauvais /give. D'autant plus qu'il y a une histoire de Unbreakable...
    - l'argument sur "model": doit ramener vers un fichier Json presque vierge. Il ne lui faut que la textures.

    Enfin, si sa peu t'aidé, deux sample que j'ai utilisé personnellement, et qui fonctionne (mais pour 3 variantes uniquement)
    Code (models/item/diamond_axe.json):

        {
            "parent": "item/handheld",
            "textures": {
                "layer0": "items/diamond_axe"
            },
            "overrides": [
                { "predicate": { "damaged": 1, "damage": 0.25}, "model": "item/diamond_axe_1"},
                { "predicate": { "damaged": 1, "damage": 0.50}, "model": "item/diamond_axe_2"},
                { "predicate": { "damaged": 1, "damage": 0.75}, "model": "item/diamond_axe_3"}
            ]
        }

     
    Code (models/item/diamond_axe_1.json):

    {
        "parent": "item/handheld",
        "textures": {
            "layer0": "items/diamond_axe_1"
        }
    }

     
     
    • Utile Utile x 1
  3. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    Merci beaucoup, je vais regarder tout ça plus en détail ce soir. Pour ce qui est des pourcentages, j'ai utilisé un site qui permet de générer un template en fonction de l'items sélectionné.
    Je vais essayer avec damaged:1 pour voir ce que ça donne.
    Qu'entends tu par l'argument sur "model" ? Le model de base ? (Dans mon exemple la houe en diamand) ou les modeles modifier par les damages values ?
     
  4. Jodge

    Jodge Explorateur

    Inscrit:
    13 Oct 2013
    Messages:
    65
    Points:
    89
    Sexe:
    Homme
    l'argument sur model doit renvoyer vers un autre fichier Json, comme le deuxième que j'ai partagé. Mais celui-ci doit être ultra simpliste.
     
  5. Galingueur_

    Galingueur_ Bûcheron

    Inscrit:
    14 Sept 2013
    Messages:
    256
    Points:
    128
    Bon alors, j'ai essayé de modifier deux trois trucs voilà ce que j'ai obtenu :
    - Ma première erreur venait du fait que j'avais des espace a la place des tabulations dans mon code. Du coup minecraft ne le prenait surement pas en compte, d'ou le "rien ne se passe in-game"

    J'ai corriger ça, mais maintenant, j'ai un autres problèmes, j'ai une texture bugguer.

    Le fait de changer damaged:0 ou damaged:1 ne change strictement rien pour moi.

    Pour ce qui est de la complexité des models, je ne suis pas sûr que cela rentre en compte. J'ai déjà réussi à faire marcher mes models une fois, et c'était niquel (et comme un abruti je n'ai pas fait de sauvegarde de cette version !) De plus j'ai déjà vu des packs avec des models bien compliquer.

    Je vais continuer a trifouiller dans le code de mon côté. J'ai d'ailleurs copié/coller ton code dans mon json en prenant soin de remplacer les différents arguments par les miens, et bah ça ne marche pas. ça doit encore être une histoire de virgule qui ne doit pas être au bon endroit --'
     
  6. Jodge

    Jodge Explorateur

    Inscrit:
    13 Oct 2013
    Messages:
    65
    Points:
    89
    Sexe:
    Homme
    Par ultra simpliste, j'entend qu'il ne dois pas faire de boucle de renvois, parceque je ne crois pas que certain paramètre soit pris en compte sur les 2nd fichiers...
    Je pensais aussi a un truc : "{"predicate":{"damaged":0, "damage":0.0038412291933418692}, "model":"item/diamond_hoe"}," c'est du récursif nan ? Tu lui demande de s'appeler lui même si je ne m'abuse ?

    Après, je me disais ça comme ça, mais essaye de supprimé la premier ligne. Normalement, le modèle par défaut est définis dans le Json par défaut, c'est peu être ce 0 qui te fou la merde...
     

Partager cette page