MFF

    Minecraft Forge France
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Forge Events
      • Automatique
      • Foncé
      • Clair
    • S'inscrire
    • Se connecter

    Render Models

    Planifier Épinglé Verrouillé Déplacé Résolu 1.8.x
    1.8
    18 Messages 6 Publieurs 3.3k Vues 1 Watching
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • checconioC Hors-ligne
      checconio
      dernière édition par

      Bonjour tout le monde,

      Tout d’abord je précise que je mode avec Forge Gradle en 1.8
      Alors voila mon problème jusqu’à maintenant pour rajouter des armures il y avais juste a indiquer la localisation des textures layer mais depuis le 1.8 il ne suffit plus de faire cela. Mois qui est moder en Vanilla je sais qu’il faut indiquer au RenderBiped que notre armure possède cette texture layer mais sous forge je n’est pas trouver comment faire.

      Merci d’avance 🙂

      Youtubeur Minecraft: https://www.youtube.com/user/checconio84

      1 réponse Dernière réponse Répondre Citer 0
      • SCAREXS Hors-ligne
        SCAREX
        dernière édition par

        Il me semble pas que le système de rendu des armures ai changé en 1.8, mais regardes les classes de Minecraft pour voir comment c’est géré

        Site web contenant mes scripts : http://SCAREXgaming.github.io

        Pas de demandes de support par MP ni par skype SVP.
        Je n'accepte sur skype que l…

        1 réponse Dernière réponse Répondre Citer 0
        • checconioC Hors-ligne
          checconio
          dernière édition par

          Moi aussi je n’est pas vu de changement dans le code du rendu mais je ne comprend pas pourquoi les layers ne sont pas reconnus.
          Voici mon code au cas où j’aurais fait une boulette.

          
          package checconio.test.tuto.init;
          
          import net.minecraft.entity.Entity;
          import net.minecraft.item.ItemArmor;
          import net.minecraft.item.ItemStack;
          import checconio.test.tuto.Reference;
          
          public class ItemTestArmor extends ItemArmor
          {
          
             public ItemTestArmor(ArmorMaterial material, int armorType)
             {
                 super(material, 0, armorType);
             }
          
             public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
             {
                 if(stack.getItem() == ItemMod.test_armor3)
                 {
                     return Reference.MOD_ID + "textures/models/armor/test_layer_2.png";
                 }
          
                 else if(stack.getItem() == ItemMod.test_armor2 || stack.getItem() == ItemMod.test_armor || stack.getItem() == ItemMod.test_armor4)
                     return Reference.MOD_ID + "textures/models/armor/test_layer_1.png";
          
                 return null;
             }    
          }
          
          

          Youtubeur Minecraft: https://www.youtube.com/user/checconio84

          1 réponse Dernière réponse Répondre Citer 0
          • robin4002R Hors-ligne
            robin4002 Moddeurs confirmés Rédacteurs Administrateurs
            dernière édition par

            Salut,
            Je ne me suis pas encore intérressé aux armures en 1.8, tu peux montrer un screen du problème et le détailler ?

            1 réponse Dernière réponse Répondre Citer 0
            • DeletedD Hors-ligne
              Deleted
              dernière édition par

              @‘robin4002’:

              Salut,
              Je ne me suis pas encore intérressé aux armures en 1.8, tu peux montrer un screen du problème et le détailler ?

              Je pense que la méthode getArmorTexture a changé de nom. Je n’ai jamais codé en 1.8 dont je ne peux pas te l’assurer.

              1 réponse Dernière réponse Répondre Citer 0
              • checconioC Hors-ligne
                checconio
                dernière édition par

                Alors voila mon armure est créer correctement:

                Mais n’apparais pas sur le joueur:

                Voici le code d’erreur de la console.

                
                [23:14:59] [Client thread/ERROR]: Couldn't render entity
                java.lang.NullPointerException
                    at net.minecraft.client.renderer.entity.layers.LayerArmorBase.getArmorResource(LayerArmorBase.java:179) ~[LayerArmorBase.class:?]
                    at net.minecraft.client.renderer.entity.layers.LayerArmorBase.func_177182_a(LayerArmorBase.java:62) ~[LayerArmorBase.class:?]
                    at net.minecraft.client.renderer.entity.layers.LayerArmorBase.doRenderLayer(LayerArmorBase.java:38) ~[LayerArmorBase.class:?]
                    at net.minecraft.client.renderer.entity.RendererLivingEntity.func_177093_a(RendererLivingEntity.java:480) ~[RendererLivingEntity.class:?]
                    at net.minecraft.client.renderer.entity.RendererLivingEntity.doRender(RendererLivingEntity.java:190) [RendererLivingEntity.class:?]
                    at net.minecraft.client.renderer.entity.RenderPlayer.func_180596_a(RenderPlayer.java:71) [RenderPlayer.class:?]
                    at net.minecraft.client.renderer.entity.RenderPlayer.doRender(RenderPlayer.java:275) [RenderPlayer.class:?]
                    at net.minecraft.client.renderer.entity.RenderManager.doRenderEntity(RenderManager.java:377) [RenderManager.class:?]
                    at net.minecraft.client.renderer.entity.RenderManager.renderEntityWithPosYaw(RenderManager.java:357) [RenderManager.class:?]
                    at net.minecraft.client.gui.inventory.GuiInventory.drawEntityOnScreen(GuiInventory.java:123) [GuiInventory.class:?]
                    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawGuiContainerBackgroundLayer(GuiContainerCreative.java:827) [GuiContainerCreative.class:?]
                    at net.minecraft.client.gui.inventory.GuiContainer.drawScreen(GuiContainer.java:95) [GuiContainer.class:?]
                    at net.minecraft.client.renderer.InventoryEffectRenderer.drawScreen(InventoryEffectRenderer.java:53) [InventoryEffectRenderer.class:?]
                    at net.minecraft.client.gui.inventory.GuiContainerCreative.drawScreen(GuiContainerCreative.java:659) [GuiContainerCreative.class:?]
                    at net.minecraftforge.client.ForgeHooksClient.drawScreen(ForgeHooksClient.java:460) [ForgeHooksClient.class:?]
                    at net.minecraft.client.renderer.EntityRenderer.updateCameraAndRender(EntityRenderer.java:1134) [EntityRenderer.class:?]
                    at net.minecraft.client.Minecraft.runGameLoop(Minecraft.java:1114) [Minecraft.class:?]
                    at net.minecraft.client.Minecraft.run(Minecraft.java:376) [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/:?]
                
                

                Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                1 réponse Dernière réponse Répondre Citer 0
                • L Hors-ligne
                  Laserflip33
                  dernière édition par

                  Tu es sûr que ce n’est pas un problème venant de la texture du layer qui n’est pas adaptée? Sinon elle se pourrait oui que certaine méthodes aient changé de nom.

                  1 réponse Dernière réponse Répondre Citer 0
                  • robin4002R Hors-ligne
                    robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                    dernière édition par

                    Je peux voir la déclaration de ton ArmorMaterial dans ta classe principale ?
                    Aussi je viens de voir qu’il manque le : dans le return de ta fonction getArmorTexture

                    1 réponse Dernière réponse Répondre Citer 0
                    • SCAREXS Hors-ligne
                      SCAREX
                      dernière édition par

                      Rajoute l’annotation @override au-dessus de ta méthode pour vérifier qu’elle existe, ou fait Alt + shift + s puis “override/implement methods” et choisis la méthode, çà évite de faire des erreurs.

                      Site web contenant mes scripts : http://SCAREXgaming.github.io

                      Pas de demandes de support par MP ni par skype SVP.
                      Je n'accepte sur skype que l…

                      1 réponse Dernière réponse Répondre Citer 0
                      • EmotionFoxE Hors-ligne
                        EmotionFox
                        dernière édition par

                        Pour la déclaration de ton matériel d’armure ça ce passe comme ça (avec la déclaration des items) :

                        public static ArmorMaterial enumArmorMaterialViridis = EnumHelper.addArmorMaterial("VIRIDIS", "viridis", 17, new int[] {3, 6, 5, 3}, 9);
                        

                        "

                        (String name, String textureName, int durability, int[] reductionAmounts, int enchantability)
                        

                        "

                        L’armure en diamant ayant ces propriétés :

                        DIAMOND("diamond", 33, new int[]{3, 8, 6, 3}, 10);
                        

                        Puis les items :

                           public static Item viridisHelmet = new ViridisArmor(enumArmorMaterialViridis, 5, 0);
                           public static Item viridisChestplate = new ViridisArmor(enumArmorMaterialViridis, 5, 1);
                           public static Item viridisLeggings = new ViridisArmor(enumArmorMaterialViridis, 5, 2);
                           public static Item viridisBoots = new ViridisArmor(enumArmorMaterialViridis, 5, 3);
                        

                        Et finalement la classe de l’armure ici “ViridisArmor” :

                        public class ViridisArmor extends ItemArmor
                        {
                           public ViridisArmor(ArmorMaterial material, int renderIndex, int armorType)
                           {
                               super(material, renderIndex, armorType);
                           }
                        
                           @Override
                           public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
                           {
                               if(slot == 2)
                               {
                                   return Infos.MODID + ":textures/models/armor/viridis_layer_2.png";
                               }
                               return Infos.MODID + ":textures/models/armor/viridis_layer_1.png";
                           }
                        
                           @Override
                           public boolean getIsRepairable(ItemStack input, ItemStack repair)
                           {
                               if(repair.getItem() == Item.getItemFromBlock(EmotionBlocks.viridisCristal))
                               {
                                   return true;
                               }
                               return false;
                           }
                        }
                        

                        Avec la fonction “getIsRepairable” pour que l’armure puisse être réparée via l’enclume (très utile), voilà je pense que ça devrait fonctionner et que tu comprendra facilement le code.

                        Ps: Il y auras peut-être des erreurs dans ce cas préviens moi étant donné que j’utilise maintenant un rendue personnalisée pour mon armure.

                        Ps 2: Je te conseil de reprendre les textures de l’armure en diamant pour designer la tienne.

                        1 réponse Dernière réponse Répondre Citer 0
                        • checconioC Hors-ligne
                          checconio
                          dernière édition par

                          @‘SCAREX’:

                          Rajoute l’annotation @override au-dessus de ta méthode pour vérifier qu’elle existe, ou fait Alt + shift + s puis “override/implement methods” et choisis la méthode, çà évite de faire des erreurs.

                          lorsque j’implémente Override il n’y a aucune erreur.

                          Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                          1 réponse Dernière réponse Répondre Citer 0
                          • SCAREXS Hors-ligne
                            SCAREX
                            dernière édition par

                            Implémente ? C’est une annotation, pas une interface

                            Site web contenant mes scripts : http://SCAREXgaming.github.io

                            Pas de demandes de support par MP ni par skype SVP.
                            Je n'accepte sur skype que l…

                            1 réponse Dernière réponse Répondre Citer 0
                            • checconioC Hors-ligne
                              checconio
                              dernière édition par

                              @‘EmotionFox’:

                              Pour la déclaration de ton matériel d’armure ça ce passe comme ça (avec la déclaration des items) :

                              public static ArmorMaterial enumArmorMaterialViridis = EnumHelper.addArmorMaterial("VIRIDIS", "viridis", 17, new int[] {3, 6, 5, 3}, 9);
                              

                              "

                              (String name, String textureName, int durability, int[] reductionAmounts, int enchantability)
                              

                              "

                              L’armure en diamant ayant ces propriétés :

                              DIAMOND("diamond", 33, new int[]{3, 8, 6, 3}, 10);
                              

                              Puis les items :

                                 public static Item viridisHelmet = new ViridisArmor(enumArmorMaterialViridis, 5, 0);
                                 public static Item viridisChestplate = new ViridisArmor(enumArmorMaterialViridis, 5, 1);
                                 public static Item viridisLeggings = new ViridisArmor(enumArmorMaterialViridis, 5, 2);
                                 public static Item viridisBoots = new ViridisArmor(enumArmorMaterialViridis, 5, 3);
                              

                              Et finalement la classe de l’armure ici “ViridisArmor” :

                              public class ViridisArmor extends ItemArmor
                              {
                                 public ViridisArmor(ArmorMaterial material, int renderIndex, int armorType)
                                 {
                                     super(material, renderIndex, armorType);
                                 }
                              
                                 @Override
                                 public String getArmorTexture(ItemStack stack, Entity entity, int slot, String type)
                                 {
                                     if(slot == 2)
                                     {
                                         return Infos.MODID + ":textures/models/armor/viridis_layer_2.png";
                                     }
                                     return Infos.MODID + ":textures/models/armor/viridis_layer_1.png";
                                 }
                              
                                 @Override
                                 public boolean getIsRepairable(ItemStack input, ItemStack repair)
                                 {
                                     if(repair.getItem() == Item.getItemFromBlock(EmotionBlocks.viridisCristal))
                                     {
                                         return true;
                                     }
                                     return false;
                                 }
                              }
                              

                              Avec la fonction “getIsRepairable” pour que l’armure puisse être réparée via l’enclume (très utile), voilà je pense que ça devrait fonctionner et que tu comprendra facilement le code.

                              Ps: Il y auras peut-être des erreurs dans ce cas préviens moi étant donné que j’utilise maintenant un rendue personnalisée pour mon armure.

                              Ps 2: Je te conseil de reprendre les textures de l’armure en diamant pour designer la tienne.

                              Merci en regardant les codes que tu m’a envoyer j’ai trouver mon erreur, dans la ligne correspondant au material l’emplacement où il fallait maitre le nom de la texture j’y avais mit <<null>> voila pourquoi il ne chercher pas les textures.

                              Par contre au moment de la fonction “getIsRepairable” il y a “EmotionBlocks.viridisCristal” il s’agit que quel block ?</null>

                              Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                              1 réponse Dernière réponse Répondre Citer 0
                              • checconioC Hors-ligne
                                checconio
                                dernière édition par

                                @‘SCAREX’:

                                Implémente ? C’est une annotation, pas une interface

                                A ok ^^ mais j’ai trouver mon problème merci quand même 🙂

                                Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                                1 réponse Dernière réponse Répondre Citer 0
                                • robin4002R Hors-ligne
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs
                                  dernière édition par

                                  Si c’est résolu mets la balise résolu.

                                  1 réponse Dernière réponse Répondre Citer 0
                                  • checconioC Hors-ligne
                                    checconio
                                    dernière édition par

                                    Merci à tous 🙂

                                    Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                                    1 réponse Dernière réponse Répondre Citer 0
                                    • EmotionFoxE Hors-ligne
                                      EmotionFox
                                      dernière édition par

                                      Il s’agit du bloc qui permet de réparer l’armure, tu peux aussi mettre un item :

                                      @Override
                                      public boolean getIsRepairable(ItemStack input, ItemStack repair)
                                      {
                                      if(repair.getItem() == Items.apple)
                                      {
                                      return true;
                                      }
                                      return false;
                                      }
                                      

                                      1 réponse Dernière réponse Répondre Citer 0
                                      • checconioC Hors-ligne
                                        checconio
                                        dernière édition par

                                        @‘EmotionFox’:

                                        Il s’agit du bloc qui permet de réparer l’armure, tu peux aussi mettre un item :

                                           @Override
                                           public boolean getIsRepairable(ItemStack input, ItemStack repair)
                                           {
                                               if(repair.getItem() == Items.apple)
                                               {
                                                   return true;
                                               }
                                               return false;
                                           }
                                        

                                        A ok merci

                                        Youtubeur Minecraft: https://www.youtube.com/user/checconio84

                                        1 réponse Dernière réponse Répondre Citer 0
                                        • 1 / 1
                                        • Premier message
                                          Dernier message
                                        Design by Woryk
                                        ContactMentions Légales

                                        MINECRAFT FORGE FRANCE © 2024

                                        Powered by NodeBB