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.7k Vues 1 Abonné
    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.
    • 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