• S'inscrire
    • Se connecter
    • Recherche
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes

    Creer une fleche

    Sans suite
    1.7.10
    4
    14
    2419
    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.
    • Ludrak
      Ludrak dernière édition par

      salut je sait que c’est une question un peut débile mais j’aimerais savoir comment créer une flèche dans minecraft, il n’y a aucun tuto dessus sur le forum ( en tout cas je n’en ait pas trouvé  😉 )
      en fait j’ai créé un pistolet qui est un arc modifié qui n’as pas besoin d’être chargé et qui tire quasiment droit mais jusqu’a maintenant il tire des flèches et j’aimerais savoir comment créer une “balle” qui serait en fait la base d’ une flèche   😄
      merci d’avance !

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

        Il suffit de créer une nouvelle entité.

        1 réponse Dernière réponse Répondre Citer 0
        • Ludrak
          Ludrak dernière édition par

          ok mais je n’ai jamais créé d’entité est ce qu’il y a une class spéciale a créer ( je sait qu’il y a le render et la class item pour une flèche )
          et puis au niveau du code je galère un  peut…
          j’ai essayé de reprendre le code de l’entité EntityArrow mais c’était 600 lignes et sa tirait du vide ( il n’y avait ni les textures ni les particules ) 
          ps : si je n’ai pas de textures mais juste les particules ce serait très bien quand meme 😉

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

            Il faut créer une classe extends Entity (ou EntityProjectil ou autre classe héritant de Entity), créer une classe pour rendu et enregistrer l’entité avec EntityRegistry.registerModEntity + enregistrer le rendu côté client seulement avec RenderingRegistry.registerEntityRenderingHandler

            Après une recherche de flèche dans la section peut aussi aider : http://www.minecraftforgefrance.fr/search.php?action=results&sid=8d6063e6b9f51759f9f2e42a11ca2e25&sortby=lastpostℴ=desc

            1 réponse Dernière réponse Répondre Citer 0
            • Ludrak
              Ludrak dernière édition par

              ok merci ^^

              1 réponse Dernière réponse Répondre Citer 0
              • Ludrak
                Ludrak dernière édition par

                j’ai créer l’entité mais quand je tire avec mon pistolet sa ne tire pas la texture de ma balle mais un “cube” blanc…
                tu saurait d’ou sa vient ?

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

                  Déjà évite le double post 🙂
                  Et ensuite cela vient de la classe du rendu de ton entity, soit tu ne bind pas la bonne texture, soit celle-ci n’est pas au bonne endroit 🙂
                  Montre la nous pour qu’on puisse t’aider 😉

                  1 réponse Dernière réponse Répondre Citer 0
                  • Ludrak
                    Ludrak dernière édition par

                    ok et désolé pour le double post 😉

                    package com.ludrak.mods.Guns;

                    import cpw.mods.fml.relauncher.Side;
                    import cpw.mods.fml.relauncher.SideOnly;
                    import net.minecraft.client.renderer.Tessellator;
                    import net.minecraft.client.renderer.entity.Render;
                    import net.minecraft.entity.Entity;
                    import net.minecraft.entity.projectile.EntityArrow;
                    import net.minecraft.util.MathHelper;
                    import net.minecraft.util.ResourceLocation;
                    import org.lwjgl.opengl.GL11;
                    import org.lwjgl.opengl.GL12;

                    @SideOnly(Side.CLIENT)
                    public class RenderBullet extends Render
                    {
                    private static final ResourceLocation arrowTextures = new ResourceLocation(“textures/entity/RenderEntityBullet.png”);
                    private static final String __OBFID = “CL_00000978”;

                    public void doRender(EntityArrow p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
                    {
                    this.bindEntityTexture(p_76986_1_);
                    GL11.glPushMatrix();
                    GL11.glTranslatef((float)p_76986_2_, (float)p_76986_4_, (float)p_76986_6_);
                    GL11.glRotatef(p_76986_1_.prevRotationYaw + (p_76986_1_.rotationYaw - p_76986_1_.prevRotationYaw) * p_76986_9_ - 90.0F, 0.0F, 1.0F, 0.0F);
                    GL11.glRotatef(p_76986_1_.prevRotationPitch + (p_76986_1_.rotationPitch - p_76986_1_.prevRotationPitch) * p_76986_9_, 0.0F, 0.0F, 1.0F);
                    Tessellator tessellator = Tessellator.instance;
                    byte b0 = 0;
                    float f2 = 0.0F;
                    float f3 = 0.5F;
                    float f4 = (float)(0 + b0 * 10) / 32.0F;
                    float f5 = (float)(5 + b0 * 10) / 32.0F;
                    float f6 = 0.0F;
                    float f7 = 0.15625F;
                    float f8 = (float)(5 + b0 * 10) / 32.0F;
                    float f9 = (float)(10 + b0 * 10) / 32.0F;
                    float f10 = 0.05625F;
                    GL11.glEnable(GL12.GL_RESCALE_NORMAL);
                    float f11 = (float)p_76986_1_.arrowShake - p_76986_9_;

                    if (f11 > 0.0F)
                    {
                    float f12 = -MathHelper.sin(f11 * 3.0F) * f11;
                    GL11.glRotatef(f12, 0.0F, 0.0F, 1.0F);
                    }

                    GL11.glRotatef(45.0F, 1.0F, 0.0F, 0.0F);
                    GL11.glScalef(f10, f10, f10);
                    GL11.glTranslatef(-4.0F, 0.0F, 0.0F);
                    GL11.glNormal3f(f10, 0.0F, 0.0F);
                    tessellator.startDrawingQuads();
                    tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f8);
                    tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f8);
                    tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f9);
                    tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f9);
                    tessellator.draw();
                    GL11.glNormal3f(-f10, 0.0F, 0.0F);
                    tessellator.startDrawingQuads();
                    tessellator.addVertexWithUV(-7.0D, 2.0D, -2.0D, (double)f6, (double)f8);
                    tessellator.addVertexWithUV(-7.0D, 2.0D, 2.0D, (double)f7, (double)f8);
                    tessellator.addVertexWithUV(-7.0D, -2.0D, 2.0D, (double)f7, (double)f9);
                    tessellator.addVertexWithUV(-7.0D, -2.0D, -2.0D, (double)f6, (double)f9);
                    tessellator.draw();

                    for (int i = 0; i < 4; ++i)
                    {
                    GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F);
                    GL11.glNormal3f(0.0F, 0.0F, f10);
                    tessellator.startDrawingQuads();
                    tessellator.addVertexWithUV(-8.0D, -2.0D, 0.0D, (double)f2, (double)f4);
                    tessellator.addVertexWithUV(8.0D, -2.0D, 0.0D, (double)f3, (double)f4);
                    tessellator.addVertexWithUV(8.0D, 2.0D, 0.0D, (double)f3, (double)f5);
                    tessellator.addVertexWithUV(-8.0D, 2.0D, 0.0D, (double)f2, (double)f5);
                    tessellator.draw();
                    }

                    GL11.glDisable(GL12.GL_RESCALE_NORMAL);
                    GL11.glPopMatrix();
                    }

                    protected ResourceLocation getEntityTexture(EntityBullet p_110775_1_)
                    {
                    return arrowTextures;
                    }

                    protected ResourceLocation getEntityTexture(Entity p_110775_1_)
                    {
                    return this.getEntityTexture((EntityBullet)p_110775_1_);
                    }

                    public void doRender(Entity p_76986_1_, double p_76986_2_, double p_76986_4_, double p_76986_6_, float p_76986_8_, float p_76986_9_)
                    {
                    this.doRender((EntityBullet)p_76986_1_, p_76986_2_, p_76986_4_, p_76986_6_, p_76986_8_, p_76986_9_);
                    }
                    }

                    1 réponse Dernière réponse Répondre Citer 0
                    • Ludrak
                      Ludrak dernière édition par

                      c’était ma class Render

                      1 réponse Dernière réponse Répondre Citer 0
                      • Folgansky
                        Folgansky Correcteurs dernière édition par

                        Coucou, la fonction recherche aide énormément quand on ne sait pas par quoi commencer:

                        http://www.minecraftforgefrance.fr/showthread.php?tid=2509&highlight=créer+une+lance

                        De quoi pas mal t’inspirer j’espère

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

                          Il faut peut-être indiquer ton modid à cette ligne
                          private static final ResourceLocation arrowTextures = new ResourceLocation(“textures/entity/RenderEntityBullet.png”);
                          Car là il est clair que le jeu recherche une texture inexistante…

                          1 réponse Dernière réponse Répondre Citer 0
                          • Ludrak
                            Ludrak dernière édition par

                            j’ai essaye de remplacer sa par
                            private static final ResourceLocation arrowTextures = new ResourceLocation(References.MODID + “:RenderEntityBullet”);
                            mais sa ne marche pas :/___mais si il ne trouvait pas la texture il ne mettrait pas la texture rose et noire ?

                            1 réponse Dernière réponse Répondre Citer 0
                            • Folgansky
                              Folgansky Correcteurs dernière édition par

                              Il faut écrire le chemin depuis le dossier texture.
                              Ensuite tu devrais vraiment mais vraiment éviter les doubles post et préférer éditer un message avant que les grands méchants modos ne t’attrapent 😃

                              1 réponse Dernière réponse Répondre Citer 0
                              • Ludrak
                                Ludrak dernière édition par

                                ok merci 🙂
                                mais pour le chemin c’est ce que j’avait marqué : “textures/entity/RenderEntityBullet.png”

                                sinon je peut ne pas afficher la texture mais que les particules ?

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

                                MINECRAFT FORGE FRANCE © 2018

                                Powered by NodeBB