• Register
    • Login
    • Search
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    Solved Créer différentes grenades

    1.7.x
    1.7.10
    4
    16
    2217
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • _
      _BrowNeez_ last edited by

      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 Reply Last reply Reply Quote 0
      • robin4002
        robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

        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 Reply Last reply Reply Quote 0
        • _
          _BrowNeez_ last edited by

          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 Reply Last reply Reply Quote 0
          • SCAREX
            SCAREX last edited by

            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 Reply Last reply Reply Quote 0
            • _
              _BrowNeez_ last edited by

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

              1 Reply Last reply Reply Quote 0
              • robin4002
                robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                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 Reply Last reply Reply Quote 0
                • elias54
                  elias54 Administrateurs last edited by

                  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 Reply Last reply Reply Quote 0
                  • _
                    _BrowNeez_ last edited by

                    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 Reply Last reply Reply Quote 0
                    • robin4002
                      robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                      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 Reply Last reply Reply Quote 0
                      • _
                        _BrowNeez_ last edited by

                        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 Reply Last reply Reply Quote 0
                        • elias54
                          elias54 Administrateurs last edited by

                          Les particules smoke sont plus appropriés que explode.

                          Mon site | GitHub

                          1 Reply Last reply Reply Quote 0
                          • _
                            _BrowNeez_ last edited by

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

                            1 Reply Last reply Reply Quote 0
                            • robin4002
                              robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                              @‘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 Reply Last reply Reply Quote 0
                              • _
                                _BrowNeez_ last edited by

                                @‘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 Reply Last reply Reply Quote 0
                                • robin4002
                                  robin4002 Moddeurs confirmés Rédacteurs Administrateurs last edited by

                                  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 Reply Last reply Reply Quote 0
                                  • elias54
                                    elias54 Administrateurs last edited by

                                    Il y a smoke, et largesmoke 😉

                                    Mon site | GitHub

                                    1 Reply Last reply Reply Quote 0
                                    • 1 / 1
                                    • First post
                                      Last post
                                    Design by Woryk
                                    Contact / Mentions Légales

                                    MINECRAFT FORGE FRANCE © 2018

                                    Powered by NodeBB