Spawn d'une entité



  • Salut,

    Je suis en train de créer des entités (mob et animaux), elles sont toutes fonctionnel mais je ne sais pas comment faire pour définir leur spawn.
    J'ai essayé avec **EntityRegistry.addSpawn(MyEntity.class, 100, 1, 3, EnumCreatureType.monster) **mais ça n'a pas l'air de marcher.
    De plus je ne comprend pas trop comment marche le paramètre de probabilité (100 ici), 100 par rapport à quoi, etc… J'ai regardé dans le code du jeu, et j'ai mis 100 pour avoir le même taux de spawn que les zombies, mais rien ne spawn.

    J'aimerais aussi faire en sorte que mon entité spawn que dans certains biomes (je sais que EntityRegistry.addSpawn() gère un biome mais je ne sais pas si ça en gère plusieurs).

    Et encore, j'aimerais mettre des conditions spécifique de spawn pour mes entités, est-ce que je peux le faire avec la méthode getCanSpawnHere() dans la class de l'entité ?

    Merci d'avance


  • Administrateurs



  • Et quels seraient ces conditions spécifiques de spawn ?



  • @'Plaigon':

    Et quels seraient ces conditions spécifiques de spawn ?

    Ne sachant pas si je peux mettre plusieurs biome dans addSpawn() je vérifiais si le biome faisait partait d'une liste défini.

    @'Superloup10':

    https://www.minecraftforgefrance.fr/showthread.php?tid=648

    Tout fonctionne très bien, le seul soucis c'est qu'ils ne spawnent pas naturellement, même avec [font=Ubuntu, sans-serifEntityRegistry.addSpawn(entityClass, weightedProb, min, max, typeOfCreature, biomes);]



  • Si tu regardes bien les paramètres de addSpawn, tu vois bien qu'il y a 3 petits points après le paramètre de type BiomeGenBase. Cela signifie donc que tu peux mettre autant de biomes que tu veux.



  • Et si je ne mets pas de biome, le spawn est autorisé partout ?



  • Ah nan faut que tu les mettes tous…Rajoutes ce tableau en haut de ta classe :

    
    public static BiomeGenBase[] biomes =
    {
    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
    };
    
    

    Il contient tous les biomes du jeu (en tout cas en 1.7x). Donc t'auras juste à t'en servir lorsque tu souhaiteras que dans le addSpawn d'une entity, elle puisse spawn partout 😃



  • Merci beaucoup, je testerais tout ça demain.



  • En 1.8, il y a cette fonction :```java
    BiomeGenBase.getBiomeGenArray()



  • BiomeGenBase.getBiomeGenArray()
    

    Elle existe en 1.7.10 mais il y a une erreur lors du lancement du jeu.

    Le tableau avec tous les biomes marche bien ! Mes mobs spawn mais ne respectent pas le minSpawn et le maxSpawn du addSpawn()
    J'ai mis un minium de 3 et max de 5 et ils spawnent presque tout le temps à 2 :x
    Pour avoir les réglages des autres mobs il faut que j'aille dans la casse BiomeGenBase ou il y en a une autre ?

    Merci encore !



  • EntityList (dans le package entity) je crois, pas sur.

    Envoyé de mon RAINBOW LITE 4G en utilisant Tapatalk



  • Tout marche comme il le faut ! Merci