MFF

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

    Item lanceur de projectile

    Planifier Épinglé Verrouillé Déplacé Sans suite
    15 Messages 4 Publieurs 4.7k 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.
    • CoolNonoC Hors-ligne
      CoolNono
      dernière édition par

      J’ai fail -- j’ai pas changer tous les noms xD__

      import net.minecraft.client.renderer.Tessellator;
      import net.minecraft.client.renderer.entity.Render;
      import net.minecraft.entity.Entity;
      import net.minecraft.util.ResourceLocation;
      
      import org.lwjgl.opengl.GL11;
      import org.lwjgl.opengl.GL12;
      
      import cpw.mods.fml.relauncher.Side;
      import cpw.mods.fml.relauncher.SideOnly;
      
      public abstract class RenderLaser extends Render
      {
      
      private float size;
      
      public RenderLaser(float size)
      {
      
      this.size = size;
      
      }
      
      @Override
      public void doRender(Entity entity, double d0, double d1, double d2, float f, float f1)
      {
      this.doRenderLaser((EntityLaser)entity, d0, d1, d2, f, f1);
      }
      
      private void doRenderLaser(EntityLaser entity, double d0, double d1, double d2, float f, float f1)
      {
      GL11.glPushMatrix();
      
      GL11.glTranslatef((float)d0, (float)d1, (float)d2);
      
      GL11.glEnable(GL12.GL_RESCALE_NORMAL);
      
      float var10 = this.size;
      
      GL11.glScalef(var10 / 1.0F, var10 / 1.0F, var10 / 1.0F);
      
      byte var11 = 0;
      
      this.loadTexture("laser_mod", "textures/entity/Laser.png");
      
      Tessellator var12 = Tessellator.instance;
      
      float var13 = (float)(var11 % 16 * 16 + 0) / 16.0F;
      
      float var14 = (float)(var11 % 16 * 16 + 16) / 16.0F;
      
      float var15 = (float)(var11 / 16 * 16 + 0) / 16.0F;
      
      float var16 = (float)(var11 / 16 * 16 + 16) / 16.0F;
      
      float var17 = 1.0F;
      
      float var18 = 0.5F;
      
      float var19 = 0.25F;
      
      GL11.glRotatef(180.0F - this.renderManager.playerViewY, 0.0F, 1.0F, 0.0F);
      
      GL11.glRotatef(-this.renderManager.playerViewX, 1.0F, 0.0F, 0.0F);
      
      var12.startDrawingQuads();
      
      var12.setNormal(0.0F, 1.0F, 0.0F);
      
      var12.addVertexWithUV((double)(0.0F - var18), (double)(0.0F - var19), 0.0D, (double)var13, (double)var16);
      
      var12.addVertexWithUV((double)(var17 - var18), (double)(0.0F - var19), 0.0D, (double)var14, (double)var16);
      
      var12.addVertexWithUV((double)(var17 - var18), (double)(1.0F - var19), 0.0D, (double)var14, (double)var15);
      
      var12.addVertexWithUV((double)(0.0F - var18), (double)(1.0F - var19), 0.0D, (double)var13, (double)var15);
      
      var12.draw();
      
      GL11.glDisable(GL12.GL_RESCALE_NORMAL);
      
      GL11.glPopMatrix();
      
      }
      
      private void loadTexture(String string, String string2)
      {
      
      }
      
      }
      
      

      Voilà pour la classe de mon rendu…

      :heart: Fairy Tail
      :heart: Zelda
      :heart: geeker
      :@ ma soeur

      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

        abstract
        Pas normal, ta classe ne devrait pas être abstraite.

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

          Si ça t’intéresse j’ai utilisé ce tuto (yen a pas 250 des comme ça) : Créer un projectile___
          J’ai enlevé le abstract, add les methods implements (traducteur de fou :D) et ça ma rajouté en bas un

          @Override
          protected ResourceLocation getEntityTexture(Entity entity)
          {
          return null;
          }
          

          Et maintenant la ligne RenderingRegistry.registerEntityRenderingHandler(EntityLaser.class, new RenderLaser(0.5F)); n’a pas d’erreur.

          :heart: Fairy Tail
          :heart: Zelda
          :heart: geeker
          :@ ma soeur

          1 réponse Dernière réponse Répondre Citer 0
          • jglrxavpokJ Hors-ligne
            jglrxavpok Modérateurs
            dernière édition par

            Pour ton problème de clic gauche, voici (une partie de) la solution:

            public boolean onEntitySwing(EntityLivingBase e, ItemStack s)
            {
            if(e instanceof EntityPlayer)
            {
            EntityPlayer player = (EntityPlayer)e;
            boolean flag = false;
            if(player.capabilities.isCreativeMode)
            {
            flag = true;
            }
            else
            {
            flag = player.inventory.consumeInventoryItem(ModHL2.modInstance.magnumAmmo.itemID);
            }
            if(flag)
            {
            EntityBullet bullet = new EntityBullet(e.worldObj, e, false, "magnum", 15, 64);
            if(!e.worldObj.isRemote)
            e.worldObj.spawnEntityInWorld(bullet);
            e.worldObj.playSoundAtEntity(e, "hl2:magnum_fire", 0.5f, 1);
            
            }
            else
            e.worldObj.playSoundAtEntity(e, "hl2:weapon_empty", 0.5f, 1);
            }
            return true;
            }
            

            Cette méthode consiste ainsi:
            Dès qu’une entitée “balance son bras” avec l’objet (clic gauche pour le joueur), on vérifie si c’est un joueur, si oui on tire, sinon, on fait rien 🙂 (et je te laisse les sons + vérification des munitions au cas où tu en aurais besoin)

            Modérateur sur MFF. 
            Mon Github: http://github.com/jglrxavpok
            Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

              Ok merci 🙂

              :heart: Fairy Tail
              :heart: Zelda
              :heart: geeker
              :@ ma soeur

              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

                Faut que tu return sur ta texture :

                @Override
                protected ResourceLocation getEntityTexture(Entity entity)
                {
                return texture;
                }
                

                Et en haut de ta classe :

                public static ResourceLocation texture = new ResourceLocation("laser_mod", "textures/entity/Laser.png");
                

                Et tu peux supprimer la méthode loadTexture que ne fonctionnera pas de toute façon.

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

                  Ok ! J’essaie tout ça !___
                  Et merci d’avoir validé mon tuto :D___
                  Dis-moi xavpok stp à quoi correspondent les valeurs “15” et “64” ?

                  :heart: Fairy Tail
                  :heart: Zelda
                  :heart: geeker
                  :@ ma soeur

                  1 réponse Dernière réponse Répondre Citer 0
                  • jglrxavpokJ Hors-ligne
                    jglrxavpok Modérateurs
                    dernière édition par

                    Les valeurs 15 et 64 de EntityBullet ?
                    Laisse tomber, c’est juste pour mon code, je suis trop flemmard pour faire des EntityBullet pour chaque arme x)

                    Modérateur sur MFF. 
                    Mon Github: http://github.com/jglrxavpok
                    Mon compte Steam si vous voulez jouer à CS:GO ou TF2 avec moi: https://steamcommunity.com/id/jglrxavpok/

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

                      A ok… (flemmard :D)

                      :heart: Fairy Tail
                      :heart: Zelda
                      :heart: geeker
                      :@ ma soeur

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

                        Vive la 1.7 !!!
                        (Oui, c’était ironique…) 😕

                        :heart: Fairy Tail
                        :heart: Zelda
                        :heart: geeker
                        :@ ma soeur

                        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