MFF

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

    IItemRender

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.10
    13 Messages 3 Publieurs 2.0k 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.
    • T Hors-ligne
      thecraft38
      dernière édition par

      je penser donc que se code devrait fonctionner mais le rendu est toujours vide :

      public class EwiliteSwordLvloneTechneRender implements IItemRenderer 
      {
      protected modelewilitesword model;
      protected static ResourceLocation texture = new ResourceLocation(ewifaction.MODID, "textures/items/t.png");
      public EwiliteSwordLvloneTechneRender()
      {
      model = new modelewilitesword(); 
      }
      @Override
      public boolean handleRenderType(ItemStack item, ItemRenderType type)
      {
      switch(type)
      {
      case EQUIPPED:
      return true;
      default:
      return false;
      }
      }
      
      @Override
      public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
      {
      return false;
      }
      
      @Override
      public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
      
      switch(type)
      {
      case EQUIPPED:
      {
      
      GL11.glPushMatrix();
      GL11.glRotatef(1F, 0.0F, 0.0F, 1.0F);
                     GL11.glTranslatef(1.0F, 2.0F, 1.5F);
      Minecraft.getMinecraft().renderEngine.bindTexture(texture);
      model.render((Entity)data[1], 0.0F, 0.0F, 0.0F, 0.0F, 0.0F, 0.0625F);
      GL11.glPopMatrix(); 
      
      }
      default:
      break;
      }
      
      }
      }
      
      1 réponse Dernière réponse Répondre Citer 0
      • T Hors-ligne
        thecraft38
        dernière édition par

        Personne ne sait pourquoi mon rendu est vide ? ( désolé tu double poste )

        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

          Tu peux envoyer la classe de ton modèle ?

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

            Oui la voici :

            
            public class modelewilitesword extends ModelBase
            
            {
            
            public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
            
            {
            
            super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
            
            }
            
            public void render(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, entity);
            
            }
            
            }
            
            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

              Ton modèle est complètement vide, c’est pour ça que rien ne se rend.

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

                Que dois je mettre dans mon render pour qu’il ne soit plus vide ?

                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 tu veux le rendu normal d’un item, c’est ça qu’il te faut : https://www.minecraftforgefrance.fr/showthread.php?tid=556&pid=6186#pid6186
                  (sans le
                  GL11.glScalef(2F, 2F, 2F);
                  ni le glTranslatef et les rotates avant la fonction
                  this.renderItem(living, item, renderPass);
                  si tu veux l’avoir avec une taille normal).

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

                    voila se que j’ai fait :

                    public class EwiliteSwordLvloneTechneRender implements IItemRenderer 
                    {
                    protected modelewilitesword model;
                    protected static ResourceLocation texture = new ResourceLocation(ewifaction.MODID, "textures/items/t.png");
                    public EwiliteSwordLvloneTechneRender()
                    {
                    model = new modelewilitesword(); 
                    }
                    @Override
                    public boolean handleRenderType(ItemStack item, ItemRenderType type)
                    {
                    switch(type)
                    {
                    case EQUIPPED:
                    return true;
                    default:
                    return false;
                    }
                    }
                    @Override
                    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
                    {
                    return false;
                    }
                    @Override
                    public void renderItem(ItemRenderType type, ItemStack item, Object… data)
                    {
                    switch(type)
                    {
                    case EQUIPPED:
                    {
                    EntityLivingBase living = (EntityLivingBase)data[1];
                    int renderPass = item.getItem().requiresMultipleRenderPasses() ? 1 : 0;
                    
                                this.renderItem(living, item, renderPass);
                        GL11.glPopMatrix();
                    break;
                    }
                    default:
                    break;
                    }
                    
                    }
                    private void renderItem(EntityLivingBase living, ItemStack item, int renderPass) 
                    {
                    TextureManager texturemanager = FMLClientHandler.instance().getClient().getTextureManager();
                    GL11.glPushMatrix();
                    IIcon icon = living.getItemIcon(item, renderPass);
                    if(icon == null)
                    {
                    GL11.glPopMatrix();
                    return;
                    }
                    Tessellator tessellator = Tessellator.instance;
                    float f = ((IIcon) icon).getMinU();
                    float f1 = ((IIcon) icon).getMaxU();
                    float f2 = ((IIcon) icon).getMinV();
                    float f3 = ((IIcon) icon).getMaxV();
                    float f4 = 0.0F;
                    float f5 = 0.3F;
                    float f6 = 1.5F;
                    ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
                    
                    if(item.hasEffect(renderPass))
                    {
                    texturemanager.bindTexture(texture);
                    }
                    }
                    }
                    

                    j’ai bien un rendu mais il s’agit du rendu de base de mon épée pas le nouveau savez-vous pourquoi ?

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

                      Peut être parce que tu ne comprends pas ton code et que tu bind la texture après le rendu au lieu de le faire avant ^^

                      Si je vous ai aidé, n'oubliez pas d’être heureux, j'aiderai encore +

                      AymericRed, moddeur expérimenté qui aide sur ce forum et qui peut accepter de faire un mod Forge rémunéré de temps en temps.

                      Mes tutos : Table de craft, plugin NEI, plugin JEI, modifier l'overlay
                      Je suis un membre apprécié et joueur, j'ai déjà obtenu 6 points de réputation.

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

                        En effet je ne comprend pas vraiment ce code ,j’ai beau chercher, je ne trouve pas comment modifier le code pour corriger le problème.

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

                          voila se que j’ai réussi à faire :

                          public class EwiliteSwordLvloneTechneRender implements IItemRenderer
                          {
                              private static final ResourceLocation texture = new ResourceLocation(ewifaction.MODID, "textures/items/t.png");
                          
                          @Override
                          public boolean handleRenderType(ItemStack item, ItemRenderType type)
                          {
                          switch(type)
                          {
                          case EQUIPPED:
                          return true;
                          default:
                          return false;
                          }
                          }
                          
                          @Override
                          public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper)
                          {
                          return false;
                          }
                          
                          @Override
                          public void renderItem(ItemRenderType type, ItemStack item, Object… data)
                          {
                          switch(type)
                          {
                          case EQUIPPED:
                          {
                          EntityLivingBase living = (EntityLivingBase)data[1];
                          int renderPass = item.getItem().requiresMultipleRenderPasses() ? 1 : 0;
                          
                          GL11.glPushMatrix();
                          
                                      this.renderItem(living, item, renderPass);
                              GL11.glPopMatrix();
                          break;
                          }
                          default:
                          break;
                          }
                          
                          }
                          
                          public void renderItem(EntityLivingBase living, ItemStack stack, int pass)
                          {
                          TextureManager texturemanager = FMLClientHandler.instance().getClient().getTextureManager();
                          GL11.glPushMatrix();
                          IIcon icon = living.getItemIcon(stack, pass);
                          if(icon == null)
                          {
                          GL11.glPopMatrix();
                          return;
                          }
                          texturemanager.bindTexture(texture);
                          Tessellator tessellator = Tessellator.instance;
                          float f = icon.getMinU();
                          float f1 = icon.getMaxU();
                          float f2 = icon.getMinV();
                          float f3 = icon.getMaxV();
                          float f4 = 0.0F;
                          float f5 = 0.3F;
                          GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                          float f6 = 1.5F;
                          
                          ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);
                          
                          if(stack.hasEffect(pass))
                          {
                          GL11.glDepthFunc(GL11.GL_EQUAL);
                          GL11.glDisable(GL11.GL_LIGHTING);
                          texturemanager.bindTexture(texture);
                          GL11.glEnable(GL11.GL_BLEND);
                          GL11.glBlendFunc(GL11.GL_SRC_COLOR, GL11.GL_ONE);
                          float f7 = 0.76F;
                          GL11.glColor4f(0.5F * f7, 0.25F * f7, 0.8F * f7, 1.0F);
                          GL11.glMatrixMode(GL11.GL_TEXTURE);
                          GL11.glPushMatrix();
                          float f8 = 0.125F;
                          GL11.glScalef(f8, f8, f8);
                          float f9 = (float)(Minecraft.getSystemTime() % 3000L) / 3000.0F * 8.0F;
                          GL11.glTranslatef(f9, 0.0F, 0.0F);
                          GL11.glRotatef(-50.0F, 0.0F, 0.0F, 1.0F);
                          ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
                          GL11.glPopMatrix();
                          GL11.glPushMatrix();
                          GL11.glScalef(f8, f8, f8);
                          f9 = (float)(Minecraft.getSystemTime() % 4873L) / 4873.0F * 8.0F;
                          GL11.glTranslatef(-f9, 0.0F, 0.0F);
                          GL11.glRotatef(10.0F, 0.0F, 0.0F, 1.0F);
                          ItemRenderer.renderItemIn2D(tessellator, 0.0F, 0.0F, 1.0F, 1.0F, 256, 256, 0.0625F);
                          GL11.glPopMatrix();
                          GL11.glMatrixMode(GL11.GL_MODELVIEW);
                          GL11.glDisable(GL11.GL_BLEND);
                          GL11.glEnable(GL11.GL_LIGHTING);
                          GL11.glDepthFunc(GL11.GL_LEQUAL);
                          }
                          
                          GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                          GL11.glPopMatrix();
                          }
                          }
                          

                          Quand je met un chemin de texture invalide j’obtient un carré noir comme prévue mais quand je met un chemin valide le rendu deviens vide.

                          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