SOLVED Model de bloc custom/avancé


  • Bonjour, je me présente, Eryah, moddeur qui commence légérement a se débrouiller ( enfaite il fait du copier-coller des choses qu’il a déja faites ).
    Je travaille actuellement sur mon mod, UsefulThings, qui va d’ailleurs bientôt commencer sa période d’Alpha (Progression : http://forum.minecraft-france.fr/threads/usefulthings-project.28533/)

    Je veut faire un bloc, qui permet de transformer les lingots de fer et d’acier en plaques. J’ai donc créer un model custom, car un bloc, tu voit pas trop comment sa peut aplatir tes lingots. Pour cela, j’ai suivi la vidéo de MinecraftForgeFrance. Merci a celui qui l’a réalisé 🙂
    Problème , il est en 1.7x, et j’ai vraiment l’impression que cela ne fonctionne plus du tout de la même façon
    Donc j’aimerai de l’aide pour savoir comment appliquer ce model Custom

    Pour ceux qui veulent la voir : ( /!]  Long %(#ff3333)[/!%(#ff3333)[])

    
    package eryah.usefulthings;
    
    import com.sun.xml.internal.stream.Entity;
    
    import net.minecraft.client.model.ModelBase;
    import net.minecraft.client.model.ModelRenderer;
    
    public class platescrafter extends ModelBase
    {
     //fields
       ModelRenderer BasicBloc;
       ModelRenderer Shape2;
       ModelRenderer Shape1;
       ModelRenderer Shape4;
       ModelRenderer Shape3;
    
     public platescrafter()
     {
       textureWidth = 64;
       textureHeight = 64;
    
         BasicBloc = new ModelRenderer(this, 0, 0);
         BasicBloc.addBox(0F, 0F, 0F, 16, 16, 16);
         BasicBloc.setRotationPoint(-8F, 8F, -8F);
         BasicBloc.setTextureSize(64, 64);
         BasicBloc.mirror = true;
         setRotation(BasicBloc, 0F, 0F, 0F);
         Shape2 = new ModelRenderer(this, 0, 32);
         Shape2.addBox(0F, 0F, 0F, 16, 5, 3);
         Shape2.setRotationPoint(-8F, 3F, 5F);
         Shape2.setTextureSize(64, 64);
         Shape2.mirror = true;
         setRotation(Shape2, 0F, 0F, 0F);
         Shape1 = new ModelRenderer(this, 0, 40);
         Shape1.addBox(0F, 0F, 0F, 16, 3, 2);
         Shape1.setRotationPoint(-8F, 0F, 6F);
         Shape1.setTextureSize(64, 64);
         Shape1.mirror = true;
         setRotation(Shape1, 0F, 0F, 0F);
         Shape4 = new ModelRenderer(this, 0, 50);
         Shape4.addBox(0F, 0F, 0F, 4, 3, 6);
         Shape4.setRotationPoint(-2F, 0F, -3F);
         Shape4.setTextureSize(64, 64);
         Shape4.mirror = true;
         setRotation(Shape4, 0.8702893F, 0F, 0F);
         Shape3 = new ModelRenderer(this, 25, 50);
         Shape3.addBox(0F, 0F, 0F, 2, 7, 2);
         Shape3.setRotationPoint(-1F, 0F, 0F);
         Shape3.setTextureSize(64, 64);
         Shape3.mirror = true;
         setRotation(Shape3, 0.8551081F, 0F, 0F);
     }
    
     public void render(net.minecraft.entity.Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
     {
       super.render(entity, f, f1, f2, f3, f4, f5);
       setRotationAngles(f, f1, f2, f3, f4, f5);
       BasicBloc.render(f5);
       Shape2.render(f5);
       Shape1.render(f5);
       Shape4.render(f5);
       Shape3.render(f5);
     }
    
     private void setRotation(ModelRenderer model, float x, float y, float z)
     {
       model.rotateAngleX = x;
       model.rotateAngleY = y;
       model.rotateAngleZ = z;
     }
    
     public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5)
     {
       super.setRotationAngles(f, f1, f2, f3, f4, f5, null);
     }
    
    }
    
    

    J’ai donc essayer comme dans la vidéo, dès la 10e minute, un problème qui ne peut pas être réglé, tous simplement car la formation des 2 fichier ( Générés automatiquement ) n’était pas la même
    A partir de la, j’ai abandoné

    Donc s’il vous-plait aidez moi 😞


  • Tout ce passe au niveau des .json depuis là 1.8 concernant le modèle d’un bloc / item. Utilise un logiciel comme Model Creator qui est très bien pour les débuts et facile d’utilisation, en sauvegardant il te donneras le modèle du bloc en .json qu’il faudra placer dans :

    “src\main\resources\assets\modid\models\block”

    Ps: Si tu veux avoir des particules pour ton bloc n’oublie pas de rajouter cette ligne dans la liste des textures :

    “particle”: “modid:blocks/tonbloc”,

    (la virgule à la fin signifie qu’il y a une suite, n’oublie pas de la mettre ou de l’enlever si suite ou non il y a)


  • Pense à passer tes sujets en résolue au passage si ils le sont.


  • #Déçu 😞
    J’ai passsé 2h a crer un model…
    Est-il possible de charger les .techne ?

    Edit : Peut-tu me conseiller un ModelCreator ? ( CrayFish, opl’s…) Il est très important de pouvoir pivoter les parties


  • C’est la même chose sauf que c’est mis dans un .json . Regarde celui du coffre par exemple.

  • Modérateurs

    Il me semble qu’avec l’event ModelBake, il est possible de générer un modèle à la volée.
    Et ensuite les fichiers techne sont juste des .zip avec une texture et un .xml dedans 😉

    Sent from my GT-I9000 using Tapatalk 2


  • ModelCreator de MRCrayFish et la seul version gratuite pour le moment qui permet de pivoter les parties (même si le logiciel est quand même plus complexe que les autres), sinon il y a BDCraft Cubik version pro (donc payante).

    Non pas possible de changer les .techne mais si ça peu te rassurer je suis passé par là moi aussi et créer un modèle via ce genre de soft est plus simple.


  •    "textures": {
           "0": "ut:blocks/back",
           "1": "ut:blocks/sides",
           "2": "ut:blocks/front",
           "3": "ut:blocks/cobblestone",
           "4": "ut:blocks/planks_oak",
           "5": "ut:blocks/iron_block"
       },
       "elements": [
           {
               "name": "Base",
               "from": [ 0.0, 0.0, 0.0 ],
               "to": [ 16.0, 16.0, 16.0 ],
               "faces": {
                   "north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                   "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                   "south": { "texture": "#2", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                   "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                   "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                   "down": { "texture": "#4", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }
               }
           },
           {
               "name": "Remblais 2",
               "from": [ 0.0, 16.0, 0.0 ],
               "to": [ 16.0, 19.0, 3.0 ],
               "faces": {
                   "north": { "texture": "#3", "uv": [ 0.0, 3.0, 16.0, 6.0 ] },
                   "east": { "texture": "#3", "uv": [ 0.0, 0.0, 3.0, 3.0 ] },
                   "south": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                   "west": { "texture": "#3", "uv": [ 0.0, 0.0, 3.0, 3.0 ] },
                   "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                   "down": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] }
               }
           },
           {
               "name": "Remblais 1",
               "from": [ 0.0, 19.0, 0.0 ],
               "to": [ 16.0, 22.0, 2.0 ],
               "faces": {
                   "north": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                   "east": { "texture": "#3", "uv": [ 0.0, 0.0, 2.0, 3.0 ] },
                   "south": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                   "west": { "texture": "#3", "uv": [ 0.0, 0.0, 2.0, 3.0 ] },
                   "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 2.0 ] },
                   "down": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 2.0 ] }
               }
           },
           {
               "name": "Manche Marteau",
               "from": [ 7.0, 13.0, 0.0 ],
               "to": [ 9.0, 18.0, 2.0 ],
               "rotation": { "origin": [ 7.0, 14.0, 8.0 ], "axis": "x", "angle": 45.0 },
               "faces": {
                   "north": { "texture": "#4", "uv": [ 0.0, 0.0, 4.0, 11.0 ] },
                   "east": { "texture": "#4", "uv": [ 0.0, 0.0, 3.0, 11.0 ] },
                   "south": { "texture": "#4", "uv": [ 0.0, 0.0, 3.0, 11.0 ] },
                   "west": { "texture": "#4", "uv": [ 0.0, 0.0, 5.0, 11.0 ] },
                   "up": { "texture": "#4", "uv": [ 0.0, 0.0, -1.0, 5.0 ] },
                   "down": { "texture": "#4", "uv": [ 0.0, 0.0, 2.0, 2.0 ] }
               }
           },
           {
               "name": "Tête marteau",
               "from": [ 6.0, 18.0, -1.0 ],
               "to": [ 10.0, 21.0, 5.0 ],
               "rotation": { "origin": [ 8.0, 15.0, 8.0 ], "axis": "x", "angle": 45.0 },
               "faces": {
                   "north": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 6.0 ] },
                   "east": { "texture": "#5", "uv": [ 8.0, 3.0, 14.0, 6.0 ] },
                   "south": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 6.0 ] },
                   "west": { "texture": "#5", "uv": [ 3.0, 3.0, 9.0, 6.0 ] },
                   "up": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 9.0 ] },
                   "down": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 9.0 ] }
               }
           }
       ]
    }
    

    Pour info, toutes les textures sont dans mon dossier textures/blocks

    Lorsque je pose le bloc, la texture Violette/noire est appliqué, et le model custom n’est pas afiché


  • Plz, je fais monter le topic, car j’attend de l’aide depuis 2jours, et le problème n’est toujours pas réglé !


  • Pour qu’un modèle fonctionne il faut créer trois json, un dans blockstates :

    “src\main\resources\assets\ut\blockstates”

    {
       "variants":
       {
           "normal": { "model": "ut:tonbloc" }
       }
    }
    

    Puis le modèle du bloc en json (celui que tu a là) dans :

    “src\main\resources\assets\ut\models\block”

    "textures": {
          "particle": "ut:blocks/cobblestone",
          "0": "ut:blocks/back",
          "1": "ut:blocks/sides",
          "2": "ut:blocks/front",
          "3": "ut:blocks/cobblestone",
          "4": "ut:blocks/planks_oak",
          "5": "ut:blocks/iron_block"
      },
      "elements": [
          {
              "name": "Base",
              "from": [ 0.0, 0.0, 0.0 ],
              "to": [ 16.0, 16.0, 16.0 ],
              "faces": {
                  "north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                  "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                  "south": { "texture": "#2", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                  "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                  "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                  "down": { "texture": "#4", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }
              }
          },
          {
              "name": "Remblais 2",
              "from": [ 0.0, 16.0, 0.0 ],
              "to": [ 16.0, 19.0, 3.0 ],
              "faces": {
                  "north": { "texture": "#3", "uv": [ 0.0, 3.0, 16.0, 6.0 ] },
                  "east": { "texture": "#3", "uv": [ 0.0, 0.0, 3.0, 3.0 ] },
                  "south": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                  "west": { "texture": "#3", "uv": [ 0.0, 0.0, 3.0, 3.0 ] },
                  "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                  "down": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] }
              }
          },
          {
              "name": "Remblais 1",
              "from": [ 0.0, 19.0, 0.0 ],
              "to": [ 16.0, 22.0, 2.0 ],
              "faces": {
                  "north": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                  "east": { "texture": "#3", "uv": [ 0.0, 0.0, 2.0, 3.0 ] },
                  "south": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                  "west": { "texture": "#3", "uv": [ 0.0, 0.0, 2.0, 3.0 ] },
                  "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 2.0 ] },
                  "down": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 2.0 ] }
              }
          },
          {
              "name": "Manche Marteau",
              "from": [ 7.0, 13.0, 0.0 ],
              "to": [ 9.0, 18.0, 2.0 ],
              "rotation": { "origin": [ 7.0, 14.0, 8.0 ], "axis": "x", "angle": 45.0 },
              "faces": {
                  "north": { "texture": "#4", "uv": [ 0.0, 0.0, 4.0, 11.0 ] },
                  "east": { "texture": "#4", "uv": [ 0.0, 0.0, 3.0, 11.0 ] },
                  "south": { "texture": "#4", "uv": [ 0.0, 0.0, 3.0, 11.0 ] },
                  "west": { "texture": "#4", "uv": [ 0.0, 0.0, 5.0, 11.0 ] },
                  "up": { "texture": "#4", "uv": [ 0.0, 0.0, -1.0, 5.0 ] },
                  "down": { "texture": "#4", "uv": [ 0.0, 0.0, 2.0, 2.0 ] }
              }
          },
          {
              "name": "Tête marteau",
              "from": [ 6.0, 18.0, -1.0 ],
              "to": [ 10.0, 21.0, 5.0 ],
              "rotation": { "origin": [ 8.0, 15.0, 8.0 ], "axis": "x", "angle": 45.0 },
              "faces": {
                  "north": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 6.0 ] },
                  "east": { "texture": "#5", "uv": [ 8.0, 3.0, 14.0, 6.0 ] },
                  "south": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 6.0 ] },
                  "west": { "texture": "#5", "uv": [ 3.0, 3.0, 9.0, 6.0 ] },
                  "up": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 9.0 ] },
                  "down": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 9.0 ] }
              }
          }
      ]
    }
    

    Puis le rendu du bloc en item dans :

    “src\main\resources\assets\ut\models\item”

    {
       "parent": "ut:block/tonbloc",
       "display":
       {
           "thirdperson":
           {
               "rotation": [ 10, -45, 170 ],
               "translation": [ 0, 1.5, -2.75 ],
               "scale": [ 0.375, 0.375, 0.375 ]
           }
       }
    }
    

  • Toujours buggué, mais avant, ma texture était un item (en rendu main , hein ) et cela marchait parfaitement, maintenant, non


  • Où est le problème ? Screenshots ? Si tu nous donnes rien comme élément, on peut pas t’aider. Dire que “çà fonctionne pas, plz help !” n’avancera à rien si tu nous donnes pas des screenshots de ce qui est rendu.


  • Bah il n’y pas grand chose a détailler, le bloc est rendu comme un bloc normal, et n’a pas de texture
    http://www.noelshack.com/2015-23-1433669198-2015-06-07-11-24-17.png
    On voit également un bout de échafaudage ( qui pose problème par sa fonction XRay non-intentionnel ) à droite
    http://www.minecraftforgefrance.fr/showthread.php?tid=2166


  • Regarde dans les logs pour voir si ton fichier .json est chargé ou non, pour les côtés qui font XRay : il faut regarder du côté du verre.


  • Et non, je ne voit pas de platecrafter.json dans les logs
    PARCONTRE ! Je voit ENORMEMENT d’erreur .json
    :::
    [11:49:54] [Client thread/ERROR] [FML]: Exception loading model ut:block/platecrafter with loader instance, skipping

    com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Not a JSON Object: “textures”
    at com.google.gson.Gson.fromJson(Gson.java:815) ~[Gson.class:?]
    at com.google.gson.Gson.fromJson(Gson.java:741) ~[Gson.class:?]
    at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:47) ~[ModelBlock.class:?]
    at net.minecraft.client.resources.model.ModelBakery.loadModel(ModelBakery.java:269) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.access$900(ModelLoader.java:67) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:451) ~[ModelLoader$VanillaLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:92) [ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:187) [ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:170) [ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:342) [ModelLoader$WeightedRandomModel.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:140) [ModelLoader.class:?]
    at net.minecraft.client.resources.model.ModelBakery.loadVariants(ModelBakery.java:122) [ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:121) [ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:91) [ModelLoader.class:?]
    at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:29) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.registerReloadListener(SimpleReloadableResourceManager.java:130) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:511) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:356) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
    at GradleStart.main(Unknown Source) [start/:?]
    Caused by: java.lang.IllegalStateException: Not a JSON Object: “textures”
    at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90) ~[JsonElement.class:?]
    at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.parseModelBlock(ModelBlock.java:244) ~[ModelBlock$Deserializer.class:?]
    at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:323) ~[ModelBlock$Deserializer.class:?]
    at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
    at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
    … 26 more
    [11:50:22] [Client thread/INFO]: Created: 512x512 textures-atlas
    [11:50:32] [Client thread/INFO] [FML]: Forge Mod Loader has successfully loaded 4 mods
    [11:50:32] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Useful Things
    [11:50:33] [Client thread/INFO]: SoundSystem shutting down…
    [11:50:33] [Client thread/WARN]: Author: Paul Lamb, www.paulscode.com
    [11:50:33] [Sound Library Loader/INFO]: Starting up SoundSystem…
    [11:50:33] [Thread-11/INFO]: Initializing LWJGL OpenAL
    [11:50:33] [Thread-11/INFO]: (The LWJGL binding of OpenAL.  For more information, see http://www.lwjgl.org)
    [11:50:34] [Thread-11/INFO]: OpenAL initialized.
    [11:50:34] [Sound Library Loader/INFO]: Sound engine started
    [11:50:55] [Client thread/ERROR] [FML]: Exception loading model ut:block/platecrafter with loader instance, skipping
    com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Not a JSON Object: “textures”
    at com.google.gson.Gson.fromJson(Gson.java:815) ~[Gson.class:?]
    at com.google.gson.Gson.fromJson(Gson.java:741) ~[Gson.class:?]
    at net.minecraft.client.renderer.block.model.ModelBlock.deserialize(ModelBlock.java:47) ~[ModelBlock.class:?]
    at net.minecraft.client.resources.model.ModelBakery.loadModel(ModelBakery.java:269) ~[ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.access$900(ModelLoader.java:67) ~[ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader$VanillaLoader.loadModel(ModelLoader.java:451) ~[ModelLoader$VanillaLoader.class:?]
    at net.minecraftforge.client.model.ModelLoaderRegistry.getModel(ModelLoaderRegistry.java:92) [ModelLoaderRegistry.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadAnyModel(ModelLoader.java:187) [ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.getModel(ModelLoader.java:170) [ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader$WeightedRandomModel.<init>(ModelLoader.java:342) [ModelLoader$WeightedRandomModel.class:?]
    at net.minecraftforge.client.model.ModelLoader.registerVariant(ModelLoader.java:140) [ModelLoader.class:?]
    at net.minecraft.client.resources.model.ModelBakery.loadVariants(ModelBakery.java:122) [ModelBakery.class:?]
    at net.minecraftforge.client.model.ModelLoader.loadBlocks(ModelLoader.java:121) [ModelLoader.class:?]
    at net.minecraftforge.client.model.ModelLoader.setupModelRegistry(ModelLoader.java:91) [ModelLoader.class:?]
    at net.minecraft.client.resources.model.ModelManager.onResourceManagerReload(ModelManager.java:29) [ModelManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.notifyReloadListeners(SimpleReloadableResourceManager.java:143) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.resources.SimpleReloadableResourceManager.reloadResources(SimpleReloadableResourceManager.java:121) [SimpleReloadableResourceManager.class:?]
    at net.minecraft.client.Minecraft.refreshResources(Minecraft.java:774) [Minecraft.class:?]
    at net.minecraftforge.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:329) [FMLClientHandler.class:?]
    at net.minecraft.client.Minecraft.startGame(Minecraft.java:528) [Minecraft.class:?]
    at net.minecraft.client.Minecraft.run(Minecraft.java:356) [Minecraft.class:?]
    at net.minecraft.client.main.Main.main(Main.java:117) [Main.class:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_45]
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_45]
    at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_45]
    at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.11.jar:?]
    at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.11.jar:?]
    at net.minecraftforge.gradle.GradleStartCommon.launch(Unknown Source) [start/:?]
    at GradleStart.main(Unknown Source) [start/:?]
    Caused by: java.lang.IllegalStateException: Not a JSON Object: “textures”
    at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90) ~[JsonElement.class:?]
    at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.parseModelBlock(ModelBlock.java:244) ~[ModelBlock$Deserializer.class:?]
    at net.minecraft.client.renderer.block.model.ModelBlock$Deserializer.deserialize(ModelBlock.java:323) ~[ModelBlock$Deserializer.class:?]
    at com.google.gson.TreeTypeAdapter.read(TreeTypeAdapter.java:58) ~[TreeTypeAdapter.class:?]
    at com.google.gson.Gson.fromJson(Gson.java:803) ~[Gson.class:?]
    … 29 more
    :::</init></init>


  • public boolean shouldSideBeRendered(IBlockAccess worldIn, BlockPos pos, EnumFacing side )
    {
    return true;
    
    }
    

    Dans ce code tu indique que peut importe le côté, il devra toujours être rendu. Donc ce que tu dois faire c’est mettre une condition en fonction du côté voulu pour qu’il ne soit pas rendu, exemple :

    public boolean shouldSideBeRendered(IBlockAccess worldIn, BlockPos pos, EnumFacing side )
    {
    switch(side) {
    case EnumFacing.NORTH:
    return false;
    default:
    return true;
    }
    
    }
    

    Il y a une erreur dans ton json, envoi le contenu.


  • BLOCKSTATES

    {
       "variants": {
           "normal": [
               { "model": "ut:platecrafter" }
           ]
       }
    }
    

    MODEL

    {
    
        "textures": {
            "0": "blocks/back",
            "1": "blocks/sides",
            "2": "blocks/front",
            "3": "blocks/cobblestone",
            "4": "blocks/planks_oak",
            "5": "blocks/iron_block"
        },
        "elements": [
            {
                "name": "Base",
                "from": [ 0.0, 0.0, 0.0 ], 
                "to": [ 16.0, 16.0, 16.0 ], 
                "faces": {
                    "north": { "texture": "#0", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                    "east": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                    "south": { "texture": "#2", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                    "west": { "texture": "#1", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                    "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 16.0 ] },
                    "down": { "texture": "#4", "uv": [ 0.0, 0.0, 16.0, 16.0 ] }
                }
            },
            {
                "name": "Remblais 2",
                "from": [ 0.0, 16.0, 0.0 ], 
                "to": [ 16.0, 19.0, 3.0 ], 
                "faces": {
                    "north": { "texture": "#3", "uv": [ 0.0, 3.0, 16.0, 6.0 ] },
                    "east": { "texture": "#3", "uv": [ 0.0, 0.0, 3.0, 3.0 ] },
                    "south": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                    "west": { "texture": "#3", "uv": [ 0.0, 0.0, 3.0, 3.0 ] },
                    "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                    "down": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] }
                }
            },
            {
                "name": "Remblais 1",
                "from": [ 0.0, 19.0, 0.0 ], 
                "to": [ 16.0, 22.0, 2.0 ], 
                "faces": {
                    "north": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                    "east": { "texture": "#3", "uv": [ 0.0, 0.0, 2.0, 3.0 ] },
                    "south": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 3.0 ] },
                    "west": { "texture": "#3", "uv": [ 0.0, 0.0, 2.0, 3.0 ] },
                    "up": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 2.0 ] },
                    "down": { "texture": "#3", "uv": [ 0.0, 0.0, 16.0, 2.0 ] }
                }
            },
            {
                "name": "Manche Marteau",
                "from": [ 7.0, 13.0, 0.0 ], 
                "to": [ 9.0, 18.0, 2.0 ], 
                "rotation": { "origin": [ 7.0, 14.0, 8.0 ], "axis": "x", "angle": 45.0 },
                "faces": {
                    "north": { "texture": "#4", "uv": [ 0.0, 0.0, 4.0, 11.0 ] },
                    "east": { "texture": "#4", "uv": [ 0.0, 0.0, 3.0, 11.0 ] },
                    "south": { "texture": "#4", "uv": [ 0.0, 0.0, 3.0, 11.0 ] },
                    "west": { "texture": "#4", "uv": [ 0.0, 0.0, 5.0, 11.0 ] },
                    "up": { "texture": "#4", "uv": [ 0.0, 0.0, -1.0, 5.0 ] },
                    "down": { "texture": "#4", "uv": [ 0.0, 0.0, 2.0, 2.0 ] }
                }
            },
            {
                "name": "Tête marteau",
                "from": [ 6.0, 18.0, -1.0 ], 
                "to": [ 10.0, 21.0, 5.0 ], 
                "rotation": { "origin": [ 8.0, 15.0, 8.0 ], "axis": "x", "angle": 45.0 },
                "faces": {
                    "north": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 6.0 ] },
                    "east": { "texture": "#5", "uv": [ 8.0, 3.0, 14.0, 6.0 ] },
                    "south": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 6.0 ] },
                    "west": { "texture": "#5", "uv": [ 3.0, 3.0, 8.0, 6.0 ] },
                    "up": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 9.0 ] },
                    "down": { "texture": "#5", "uv": [ 3.0, 3.0, 7.0, 9.0 ] }
                }
            }
        ]
    }
    

    “Crée grâce a MrCrayfish Model Editor”


  • Erreur sur

    case EnumFacing.NORTH:
    

    L’erreur : The qualified case label EnumFacing.NORTH must be replaced with the unqualified enum constant NORTH


  • Il me semble qu’il faut remplacer EnumFacing.NORTH par NORTH.


  • Le problème de l’echaffaudage est résolu ( Enfin au quart )
    Mais le sujet est le problème du .json, et je n’arrive pas a trouver une solution… 😞