MFF

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

    Problème arc rendu 3D et dégâts flèches

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    16 Messages 7 Publieurs 2.5k 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.
    • ErkoZE Hors-ligne
      ErkoZ
      dernière édition par

      Ah ok merci donc ce n’était pas du tout dans la class de la flèche comme je le pensais ^^

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

        Alors je viens de testé et sa me fait pareil pour l’arc mais il me semble qu’il à des sujets qui traite ceci je vais regardé et je te donnerais la réponse 😉

        Voila ma signature

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

          Ah je me disais aussi que ça ne venait pas que de moi ! Merci mais j’ai déjà fait plein de recherches sans aucunes réponses à mon problème donc si tu trouve GG 😛

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

            @‘ErkoZ’:

            Ah je me disais aussi que ça ne venait pas que de moi ! Merci mais j’ai déjà fait plein de recherches sans aucunes réponses à mon problème donc si tu trouve GG 😛

            J’ai trouvé cela 😛
            https://www.minecraftforgefrance.fr/showthread.php?tid=2593

            Voila ma signature

            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

              https://www.minecraftforgefrance.fr/showthread.php?tid=2593&pid=30130#pid30130
              pour être plus précis.

              Le placement de l’arc est hardcodé dans le jeu, du-coup faut faire tout un bordel pour reproduire.

              En 1.8 et + comme il y a les jsons il suffit de modifier une petite valeur dans le json (ou reprendre le même json que l’arc).

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

                Merci pour toutes vos réponses mais est ce que vous savez ou est la classe du rendu de l’arc ? Si il y en a une ?

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

                  Il n’y a pas de classe spéciale, c’est dans la classe qui s’occupe de rendre ce qu’on a en main.

                  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
                  • ErkoZE Hors-ligne
                    ErkoZ
                    dernière édition par

                    Bon après quelques recherches et graçe à vous j’ai finalement résolu mon problème du coup je vais partager la solution à ceux qui auront ou ont le même problème que moi 😉

                    Il suffit de créer une classe ModBowRenderer et d’y mettre ça:

                    
                    package com.google.akinarutv.akimod.common.renderer;
                    
                    import org.lwjgl.opengl.GL11;
                    
                    import org.lwjgl.opengl.GL12;
                    
                    import net.minecraft.client.Minecraft;
                    
                    import net.minecraft.client.entity.EntityClientPlayerMP;
                    
                    import net.minecraft.client.renderer.ItemRenderer;
                    
                    import net.minecraft.client.renderer.Tessellator;
                    
                    import net.minecraft.client.renderer.texture.TextureManager;
                    
                    import net.minecraft.item.ItemStack;
                    
                    import net.minecraft.util.IIcon;
                    
                    import net.minecraft.util.ResourceLocation;
                    
                    import net.minecraftforge.client.IItemRenderer;
                    
                    public class BowRenderer implements IItemRenderer {
                    
                    private Minecraft mc;
                    
                    private TextureManager texturemanager;
                    
                    public BowRenderer() {
                    
                    this.mc = Minecraft.getMinecraft();
                    
                    this.texturemanager = this.mc.getTextureManager();
                    
                    }
                    
                    @Override
                    
                    //HandleRenderType lets forge know if it will render the item in the requested view.
                    
                    public boolean handleRenderType(ItemStack item, ItemRenderType type) {
                    
                    //You can remove everything after "EQUIPPED" if you only want this class to render the third person item.
                    
                    return type == ItemRenderType.EQUIPPED || type == ItemRenderType.EQUIPPED_FIRST_PERSON;
                    
                    }
                    
                    @Override
                    
                    //RenderHelpers I don't fully understand, I'd assume they are modifiers, but I've never looked into it.
                    
                    public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) {
                    
                    return false;
                    
                    }
                    
                    @Override
                    
                    //This function decides what to do in rendering an item, whether it's first or third person.
                    
                    //Credit to SanAndreasP on minecraftforge forums for this code.
                    
                    public void renderItem(ItemRenderType type, ItemStack item, Object… data) {
                    
                    EntityClientPlayerMP entity = (EntityClientPlayerMP)data[1];
                    
                    GL11.glPopMatrix(); // prevents Forge from pre-translating the item
                    
                    if(type == ItemRenderType.EQUIPPED_FIRST_PERSON) {
                    
                    this.renderItem(entity, item, 0);
                    
                    } else {
                    
                    GL11.glPushMatrix();
                    
                    // contra-translate the item from it's standard translation
                    
                    // also apply some more scale or else the bow is tiny
                    
                    float f2 = 3F - (1F/3F);
                    
                    GL11.glRotatef(-20.0F, 0.0F, 0.0F, 1.0F);
                    
                    GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
                    
                    GL11.glRotatef(-60.0F, 0.0F, 0.0F, 1.0F);
                    
                    GL11.glScalef(f2, f2, f2);
                    
                    GL11.glTranslatef(-0.25F, -0.1875F, 0.1875F);
                    
                    // render the item as 'real' bow
                    
                    //This is pulled from RenderBiped
                    
                    float f3 = 0.625F;
                    
                    GL11.glTranslatef(0.0F, 0.125F, 0.3125F);
                    
                    GL11.glRotatef(-20.0F, 0.0F, 1.0F, 0.0F);
                    
                    GL11.glScalef(f3, -f3, f3);
                    
                    GL11.glRotatef(-100.0F, 1.0F, 0.0F, 0.0F);
                    
                    GL11.glRotatef(45.0F, 0.0F, 1.0F, 0.0F);
                    
                    this.renderItem(entity, item, 0);
                    
                    GL11.glPopMatrix();
                    
                    }
                    
                    GL11.glPushMatrix(); // prevents GL Underflow errors
                    
                    }
                    
                    //This actually renders an Icon to be worked with.
                    
                    //All of this code is directly pulled from ItemRenderer.class
                    
                    private void renderItem(EntityClientPlayerMP par1EntityLiving, ItemStack par2ItemStack, int par3) {
                    
                    {
                    
                    //If you for whatever reason aren't registering icons with iconRegister, I'm assuming you'll need to change the code below.
                    
                    IIcon iicon = par1EntityLiving.getItemIcon(par2ItemStack, par3);
                    
                    if (iicon == null)
                    
                    {
                    
                    GL11.glPopMatrix();
                    
                    return;
                    
                    }
                    
                    texturemanager.bindTexture(texturemanager.getResourceLocation(par2ItemStack.getItemSpriteNumber()));
                    
                    Tessellator tessellator = Tessellator.instance;
                    
                    float f = iicon.getMinU();
                    
                    float f1 = iicon.getMaxU();
                    
                    float f2 = iicon.getMinV();
                    
                    float f3 = iicon.getMaxV();
                    
                    float f4 = 0.0F;
                    
                    float f5 = 0.3F;
                    
                    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                    
                    GL11.glTranslatef(-f4, -f5, 0.0F);
                    
                    float f6 = 1.5F;
                    
                    GL11.glScalef(f6, f6, f6);
                    
                    GL11.glRotatef(50.0F, 0.0F, 1.0F, 0.0F);
                    
                    GL11.glRotatef(335.0F, 0.0F, 0.0F, 1.0F);
                    
                    GL11.glTranslatef(-0.9375F, -0.0625F, 0.0F);
                    
                    ItemRenderer.renderItemIn2D(tessellator, f1, f2, f, f3, iicon.getIconWidth(), iicon.getIconHeight(), 0.0625F);
                    
                    //This checks for enchantments.
                    
                    if (par2ItemStack.hasEffect(par3))
                    
                    {
                    
                    GL11.glDepthFunc(GL11.GL_EQUAL);
                    
                    GL11.glDisable(GL11.GL_LIGHTING);
                    
                    texturemanager.bindTexture(new ResourceLocation("textures/misc/enchanted_item_glint.png"));
                    
                    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);
                    
                    }
                    
                    }
                    
                    }
                    

                    J’ai trouvé cette classe ici: https://www.minecraftforgefrance.fr/archive/index.php?thread-726-2.html#

                    Ensuite vous enregistrez votre item avec le rendu dans votre ClientProxy voila 🙂

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

                      Résolu ?

                      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
                      • ErkoZE Hors-ligne
                        ErkoZ
                        dernière édition par

                        Oui, résolu.

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

                          Alors rajoute la balise en éditant ton premier message

                          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
                          • 1 / 1
                          • Premier message
                            Dernier message
                          Design by Woryk
                          ContactMentions Légales

                          MINECRAFT FORGE FRANCE © 2024

                          Powered by NodeBB