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

    Résolu Problème de spawn de mobs

    1.7.x
    1.7.x
    5
    18
    3505
    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.
    • Axaurus
      Axaurus dernière édition par

      Salut
      J’ai un problème : l’année dernière, j’avais créer des mobs et tout marchait bien. Mais quand j’ai mis à jour mon mod, mes mobs ont arrêtés de spawn. Ils marchent bien, car je les fais spawn avec l’oeuf, mais pas le spawn naturel.

      Voici le code que j’ai mis dans la classe principale :

      ​        EntityRegistry.registerGlobalEntityID(EntitySantaClaus.class, "SantaClaus", EntityRegistry.findGlobalUniqueEntityId());
      
              EntityRegistry.addSpawn(EntitySantaClaus.class, 750, 1, 1, EnumCreatureType.creature, BiomeGenBase.taiga, BiomeGenBase.taigaHills, BiomeGenBase.extremeHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.iceMountains, BiomeGenBase.icePlains, BiomeGenBase.plains, BiomeGenBase.swampland);        
              registerEntityEgg(EntitySantaClaus.class, 0xF20000, 0xFFFFFF);
      

      (j’ai 3 mobs qui ne spawn pas, mais je n’ai mis qu’un code car ces 3 mobs ont le même bug)

      ​package This_is_Christmas;
      
      import net.minecraft.entity.SharedMonsterAttributes;
      import net.minecraft.entity.ai.EntityAIHurtByTarget;
      import net.minecraft.entity.ai.EntityAILookIdle;
      import net.minecraft.entity.ai.EntityAIMoveThroughVillage;
      import net.minecraft.entity.ai.EntityAIMoveTowardsRestriction;
      import net.minecraft.entity.ai.EntityAIOpenDoor;
      import net.minecraft.entity.ai.EntityAIRestrictOpenDoor;
      import net.minecraft.entity.ai.EntityAISwimming;
      import net.minecraft.entity.ai.EntityAIWander;
      import net.minecraft.entity.ai.EntityAIWatchClosest;
      import net.minecraft.entity.monster.EntityMob;
      import net.minecraft.entity.player.EntityPlayer;
      import net.minecraft.item.Item;
      import net.minecraft.world.World;
      
      public class EntitySantaClaus extends EntityMob{
      
          public EntitySantaClaus(World par1World) {
              super(par1World);
              this.tasks.addTask(0, new EntityAISwimming(this));
              this.tasks.addTask(1, new EntityAIMoveTowardsRestriction(this, 1.0D));
              this.tasks.addTask(2, new EntityAIMoveThroughVillage(this, 1.0D, false));
              this.tasks.addTask(3, new EntityAIWander(this, 1.0D));
              this.tasks.addTask(4, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
              this.tasks.addTask(5, new EntityAILookIdle(this));
              this.targetTasks.addTask(6, new EntityAIHurtByTarget(this, true));
              this.tasks.addTask(7, new EntityAIRestrictOpenDoor(this));
              this.tasks.addTask(8, new EntityAIOpenDoor(this, true));
          }
          public boolean isAIEnabled(){
              return true;
          }
          protected void applyEntityAttributes()
          {
              super.applyEntityAttributes();
              this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.10D);
              this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(28D);
          }
      
            public int getSantaClausType()
              {
                  return this.dataWatcher.getWatchableObjectByte(13);
              }
      
           protected String getLivingSound()
              {
                  return "mob.villager.idle";
              }
      
              /**
               * Returns the sound this mob makes when it is hurt.
               */
              protected String getHurtSound()
              {
                  return "mob.villager.hit";
              }
      
              /**
               * Returns the sound this mob makes on death.
               */
              protected String getDeathSound()
              {
                  return "mob.villager.death";
              }
      
              /**
               * Plays step sound at given x, y, z for the entity
               */
              protected void playStepSound(int par1, int par2, int par3, int par4)
              {
                  this.playSound("mob.zombie.step", 0.15F, 1.0F);
              }
      
              /**
               * Returns the item ID for the item the mob drops on death.
               */
              protected Item getDropItem()
              {
                  return This_is_Christmas.BarleySugar;
              }
      }
      

      Mais je ne comprend pas car je n’ai rien modifié par rapport à l’année dernière.

      Merci d’avance

      PS : j’ai trouvé un problème similaire au mien (http://www.minecraftforgefrance.fr/archive/index.php?thread-1371.html), j’ai donc essayer la réponse, mais ça n’a rien donné

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

        750 c’est beaucoup trop comme probabilité. Et le max doit être supérieur au mini. (il me semble).

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

          Salut
          Merci, mais ça ne spawn toujours pas. J’ai réduit la probabilité à 100, puis à 50 et j’ai mis le nombre de mobs par groupe à 2 au max, mais ça ne spawn toujours pas. Je vois vraiment pas où ça peut être.

          Merci d’avance

          PS : Au passage, j’utilise la version de Forge 1.7.10-10.13.0.1180 . Peut-être à cause de ça

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

            Si tu veux je te passe ma ligne de code elle fonctionne essaye pour voir :

            là où tu définis tes items, blocs etc… (public static Block etc…)

            public static BiomeGenBase[] biomes = new BiomeGenBase[]{BiomeGenBase.plains, BiomeGenBase.extremeHills, BiomeGenBase.beach, BiomeGenBase.desert,
            
            BiomeGenBase.desertHills, BiomeGenBase.extremeHillsEdge, BiomeGenBase.forest, BiomeGenBase.forestHills, BiomeGenBase.icePlains, BiomeGenBase.iceMountains, BiomeGenBase.river,
            BiomeGenBase.birchForest, BiomeGenBase.birchForestHills, BiomeGenBase.coldBeach, BiomeGenBase.coldTaiga, BiomeGenBase.coldTaigaHills, BiomeGenBase.deepOcean,
            BiomeGenBase.extremeHillsPlus, BiomeGenBase.jungleEdge, BiomeGenBase.megaTaiga, BiomeGenBase.megaTaigaHills, BiomeGenBase.mesa, BiomeGenBase.mesaPlateau, BiomeGenBase.mesaPlateau_F, BiomeGenBase.roofedForest, BiomeGenBase.savanna, BiomeGenBase.savannaPlateau, BiomeGenBase.stoneBeach};
            

            Remplace les biomes voulus. j’ai mis tout ça pour être sûr qu’il spawn

            Et pour le spawn :

            EntityRegistry.addSpawn(EntityMobKevin.class, 80, 2, 10, EnumCreatureType.monster, biomes);
            

            Remplace EntityMobKevin.class par EntityTonMob.class

            J’espère que ça va t’aider 🙂

            Joueur PC Master Race :D
            Config : MSI B85-G43 GAMING - Intel Core i5 4460 @3.2GHz - be Quiet! Pure Rock - 8 Go DDR3 CAS 9 - Saegate SSHD 1 To - Zotac GTX 960 - Cooler Master G550M - Creative Sound Blaster Z - Logitech G230 - Razer DeathAdder Chroma - BlueStork KEYZ#1 (Azerty) - Zalman Z11+ - Asus VE247H

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

              J’ai essayer ce que tu m’a dit, mais rien du tout.
              Peut-être que c’est la version de Forge qui fait bug. Je vais essayer de recompiler et de tester avec une version plus récente de Forge, ça va peut-être marcher, même si je doute.

              En tout cas, je vois pas d’où ça peut venir

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

                J’ai essayer avec la version la plus récente de Forge en solo, ça ne spawn pas.

                Je vois vraiment pas d’où ça peut venir. En plus, en 1.6, ça spawnait normalement.
                Si vous avez une idée, …

                PS : si vous avez besoin d’autres classes, n’hésitez pas à me demander

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

                  T’es sur t’es pas en peaceful?

                  Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                    Non, je suis en normal.

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

                      Tu as des erreurs dans la console ?

                      Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                        Non, aucune erreur.
                        J’ai essayer de jour comme de nuit, rien

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

                          Tu as bien declarer tes mobs ? Ils spawnent avec un oeuf ? Et avec le /summon ?

                          Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                            Oui, avec l’oeuf et le /summon, ils spawnent bien.
                            J’ai déclarer les mobs comme ça :

                            ​        EntityRegistry.registerGlobalEntityID(EntitySantaClaus.class, "SantaClaus", EntityRegistry.findGlobalUniqueEntityId());
                            
                                    EntityRegistry.addSpawn(EntitySantaClaus.class, 80, 2, 10, EnumCreatureType.creature, biomes);    
                                    registerEntityEgg(EntitySantaClaus.class, 0xF20000, 0xFFFFFF);
                            
                            1 réponse Dernière réponse Répondre Citer 0
                            • sosoh
                              sosoh dernière édition par

                              Tu as pas declaré ton entity dans le FML rajoute ca:

                              ​​EntityRegistry.registerModEntity(EntitySantaClaus.class, "SantaClaus", 420, this.instance, 40, 1, true);
                              

                              Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                                Ça marche, merci!

                                Mais je ne comprend pas pourquoi c’est cette ligne manquante qui faisait que le mob ne spawn pas. Pourtant, il était quand même enregistré.

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

                                  Oui mais il faut l’enregistrer deux fois, vas voir sur le tuto faire une entity basique et tu verras c’est marqué… J’ai jamais fais de mob j’ai juste regardé le tuto et j’ai trouvé, regarde la prochaine fois.

                                  Developpeur d'Hogsmod, un mod implémentant le Monde d'Harry Potter dans Minecraft!

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

                                    Ok merci. C’est que en 1.6, il n’y avait pas cette ligne, et quand je l’ai mis à jour, il n’étais pas marqué dans le tuto de mise à jour et je n’ai pas pensé à regarder.
                                    En tout cas, merci

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

                                      @‘Axaurus’:

                                      Ça marche, merci!

                                      Mais je ne comprend pas pourquoi c’est cette ligne manquante qui faisait que le mob ne spawn pas. Pourtant, il était quand même enregistré.

                                      Car cette ligne là enregiste l’id de ton mob

                                      EntityRegistry.registerGlobalEntityID(EntitySantaClaus.class, "SantaClaus", EntityRegistry.findGlobalUniqueEntityId());
                                      

                                      Mais ton mob lui n’était pas enregistré car il manquait cette ligne-là

                                      ​​EntityRegistry.registerModEntity(EntitySantaClaus.class, "SantaClaus", 420, this.instance, 40, 1, true);
                                      
                                      1 réponse Dernière réponse Répondre Citer 0
                                      • Axaurus
                                        Axaurus dernière édition par

                                        Ok, je viens de comprendre.
                                        Merci

                                        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