MFF

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

    Problème de spawn de mobs

    Planifier Épinglé Verrouillé Déplacé Résolu 1.7.x
    1.7.x
    18 Messages 5 Publieurs 4.1k 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.
    • AxaurusA Hors-ligne
      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
      • robin4002R Hors-ligne
        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
        • AxaurusA Hors-ligne
          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
          • zery59Z Hors-ligne
            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
            • AxaurusA Hors-ligne
              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
              • AxaurusA Hors-ligne
                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
                • sosohS Hors-ligne
                  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
                  • AxaurusA Hors-ligne
                    Axaurus
                    dernière édition par

                    Non, je suis en normal.

                    1 réponse Dernière réponse Répondre Citer 0
                    • sosohS Hors-ligne
                      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
                      • AxaurusA Hors-ligne
                        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
                        • sosohS Hors-ligne
                          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
                          • AxaurusA Hors-ligne
                            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
                            • sosohS Hors-ligne
                              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
                              • AxaurusA Hors-ligne
                                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
                                • sosohS Hors-ligne
                                  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
                                  • AxaurusA Hors-ligne
                                    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
                                    • DeletedD Hors-ligne
                                      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
                                      • AxaurusA Hors-ligne
                                        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
                                        ContactMentions Légales

                                        MINECRAFT FORGE FRANCE © 2024

                                        Powered by NodeBB