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

    Résolu Créer différentes grenades

    1.7.x
    1.7.10
    4
    16
    2394
    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.
    • _
      _BrowNeez_ dernière édition par

      Bonjour/Bonsoir

      J’ai voulus créer des grenades (explosives, fumigènes et molotoves) mais j’ai quelques soucis :

      Pour la grenade explosive, j’ai une erreur dans mon code et je ne sais pas pourquoi :

      Classe Grenade :

      package fr.browneez.grenades;
      
      import fr.browneez.entity.EntityGrenade;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.item.ItemStack;
      import net.minecraft.world.World;
      
      public class explodingGrenade extends Item
      {
      
              public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player)
             {
                 if (player.capabilities.isCreativeMode)
                 {
                     –stack.stackSize;
                 }
      
                 world.playSoundAtEntity(player, "explode1", 0.7F, 0.8F);
      
                 if (world.isRemote)
                 {
                     world.spawnEntityInWorld(new EntityGrenade(world, player));
                 }
      
                 return stack;
             }
      
      }
      
      

      l’erreur est sûr " world.spawnEntityInWorld(new EntityGrenade(world, player));" et c’est The method spawnEntityInWorld(Entity) in the type World is not applicable for the arguments (EntityGrenade)

      Classe entity :

      package fr.browneez.entity;
      
      import cpw.mods.fml.common.registry.EntityRegistry;
      import fr.browneez.main.Main;
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityList;
      import net.minecraft.nbt.NBTTagCompound;
      
      public class EntityMod
      {
      
         public static void mainRegistry()
         {
             registerEntity();
         }
      
         public static void registerEntity()
         {
             createEntity(GrenadeEntity.class, "Explosive Grenade", 0x00BFFF, 0x00A1D6);
         }
      
         public static void createEntity(Class entityClass, String entityName,int solidColour, int spotColour )
         {
             int randomID = EntityRegistry.findGlobalUniqueEntityId();
      
             EntityRegistry.registerGlobalEntityID(entityClass, entityName, randomID);
             EntityRegistry.registerModEntity(entityClass, entityName, randomID, Main.modInstance, 64, 1, true);
             createEgg(randomID, solidColour, spotColour);
         }
      
         private static void createEgg(int randomID, int solidColour, int spotColour)
         {
             EntityList.entityEggs.put(Integer.valueOf(randomID), new EntityList.EntityEggInfo(randomID, solidColour, spotColour));
         }
      }
      
      

      Classe entity de la grenade:

      package fr.browneez.entity;
      
      import net.minecraft.entity.Entity;
      import net.minecraft.entity.EntityLivingBase;
      import net.minecraft.entity.projectile.EntityThrowable;
      import net.minecraft.util.MovingObjectPosition;
      import net.minecraft.world.World;
      
      public class GrenadeEntity extends EntityThrowable
      {
      
         public GrenadeEntity(World world)
         {
             super(world);
      
         }
      
         public GrenadeEntity(World world, EntityLivingBase entity)
         {
             super(world , entity);
         }
      
         @Override
         protected void onImpact(MovingObjectPosition var1)
         {
             for(int i = 0; i < 10; i++)
             {
                 this.worldObj.spawnParticle("hugeexplosion", this.posX, this.posY, this.posZ, 0.9F, 0.9F, 0.9F);
             }
      
             if(this.worldObj.isRemote)
             {
                 this.setDead();
                 if(!this.worldObj.isRemote)
                 {
                     this.worldObj.createExplosion((Entity) null, this.posX, this.posY, this.posZ, 4.5F, true);
                 }
             }
         }
      
      }
      
      

      Pour les fumigènes et les molotoves, je ne sais pas comment faire :

      Pour la fumigène il suffit de mettre les particules ? est il possible de modifier la taille du nuage de particules ?
      Pour la molotove, je ne sais pas comment faire spawn des flammes autour.

      Cordialement, BrowNeez

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

        Salut,
        En effet c’est étrange car EntityThrowable et extends Entity, donc il n’y a pas de raison pour que cela cause cette erreur. Essaies de clean le projet (menu project, clean …).

        Par contre dans l’enregistrement de ton entité …
        createEgg(randomID, solidColour, spotColour);
        Sérieusement ? Un œuf pour une entité lançable ?
        Et la fonction registerGlobalEntityID ne devrait pas être utilisé.

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

          J’ai suivie un tuto donc je ne sait pas c’est quoi le problème de l’oeuf ni pour le registerGlobalEntityID.

          Tu n’aurais pas un lien (anglophone ou francophone) pour faire les grenades ? parce qu’ici il n’y en a pas 😕

          EDIT : Pour le clean, rien n’a changé.

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

            On ne fait pas de tutoriel pour des chose aussi précises, sinon on aurai pas finit d’en faire : il faut te débrouiller par toi-même

            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
            • _
              _BrowNeez_ dernière édition par

              je suis dessus depuis une semaine et j’arrive à rien donc …

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

                Je viens de voir en passant que cette condition n’est pas bonne :
                if (world.isRemote)
                ça devrait être l’inverse. Envoies-moi un zip de ton dossier src, je vais regarder de mon côté.

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

                  Ou alors tu peux regarder sur mon github, j’ai fait des projectiles similaires. https://github.com/elias54 (Fake Ores 1)

                  Mon site | GitHub

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

                    Elias54, j’y comprend rien a ton github mais merci quand même ^^

                    Robin : http://download1323.mediafire.com/i7duss57b6wg/8jdbe4dlcxssgwu/src+grenade+modforge-1.7.10-10.13.4.1492-1.7.10.zip

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

                      Le code qu’il y avait dans ton zip ne correspondait pas a ce que tu avais envoyé …
                      J’ai corrigé l’erreur et en passant j’ai corrigé le code de l’explosion.

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

                        Merci 😄

                        Du coup pour les deux autre je fais pareil ?

                        Parce que pour la fumigène j’ai juste à faire spawn les particules “explode” mais pour la Molotov j’en ai aucune idée 😕

                        EDIT : je vien d’y penser mais pour l’obsidian, si je veux qu’elle explose avec 6 grenades minimum et 9 grenades minimum je fais comment ?

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

                          Les particules smoke sont plus appropriés que explode.

                          Mon site | GitHub

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

                            Oui mais on peut voir dans le nuage et il n’est pas asser grand

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

                              @‘BrowNeez’:

                              Merci 😄

                              Du coup pour les deux autre je fais pareil ?

                              Parce que pour la fumigène j’ai juste à faire spawn les particules “explode” mais pour la Molotov j’en ai aucune idée 😕

                              EDIT : je vien d’y penser mais pour l’obsidian, si je veux qu’elle explose avec 6 grenades minimum et 9 grenades minimum je fais comment ?

                              Démolition de l’obsi ça va pas être possible avec un certain nombre de grenade. Car il n’y a pas de système d’usure dans Minecraft.

                              Pour le molotov utilise un boucle for avec un world.setBlock(x, y, z, Blocks.fire) si le bloc est de l’air et que le bloc en dessous est solide.

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

                                @‘robin4002’:

                                @‘BrowNeez’:

                                Merci 😄

                                Du coup pour les deux autre je fais pareil ?

                                Parce que pour la fumigène j’ai juste à faire spawn les particules “explode” mais pour la Molotov j’en ai aucune idée 😕

                                EDIT : je vien d’y penser mais pour l’obsidian, si je veux qu’elle explose avec 6 grenades minimum et 9 grenades minimum je fais comment ?

                                Démolition de l’obsi ça va pas être possible avec un certain nombre de grenade. Car il n’y a pas de système d’usure dans Minecraft.

                                Pour le molotov utilise un boucle for avec un world.setBlock(x, y, z, Blocks.fire) si le bloc est de l’air et que le bloc en dessous est solide.

                                Absolument rien compris 😕

                                et pour la fumigène si je met smoke, je peut choisir la durée des particules et la taille du nuage de particules ? ( je pose beaucoup de question pour ne pas les poser par la suite)

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

                                  Faut apprendre la programmation en Java sinon tu n’arriveras à rien.

                                  Pour la fumée il me semble qu’on ne peut que régler le vitesse des particules, donc non 😕

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

                                    Il y a smoke, et largesmoke 😉

                                    Mon site | GitHub

                                    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