Faire spawn un mob suite à une structure



  • Bonjour à vous,

    Je reviens à la charge avec une autre question sur le modding à laquelle je ne trouve pas réponse 😕 !

    Le problème:

    Je cherche le moyen de réussir à faire spawner un mob de la même manière qu'un Golem ou encore qu'un SnowMan.
    Je voudrais donc trouver comment faire pour que lorsque je construit une structure comme par exemple 3 block de dirt empilés, je fais spawner un mob !

    J'ai déjà effectué des recherches dans eclipse, je suis parti de la classe du Golem (Où je n'ai rien trouvé), je suis remonté au fil des classes dont il héritait 😕 ! Mais au plus on remonte au plus les classes sont conséquentes (Jusque là tout est normal 😉 ). Et j'ai descendu 2 fois chaque pages, et je me doute bien que j'ai raté le moment où était la réponse à ma question, mais j'arrive pas à le trouver.
    Il me faudrait de l'aide, et c'est pourquoi je me tourne vers vous, car vous m'avez déjà aider à résoudre un problème précédemment (Celui d'un block ayant un rendu de deux Block).

    Cordialement, Ydriss !



  • Tu ne pourras pas faire ça avec les blocs de base du jeu, mais tu peux le faire avec de nouveau blocs, dans la méthode onBlockPlaced() (si je me souviens bien), tu fais:

    if(world.getBlock(x, y - 1, z) == Blocks.dirt && world.getBlock(x, y - 2, z) == Blocks.dirt)
    {
        if(!world.isRemote)
        {
            //spawn
        }
    }
    

    (Le code est de tête)



  • N'oublie pas de remplacer les blocs par de l'air ^^



  • Merci, cela va m'être super utile, par contre question vraiment con** , c'est bien dans la classe du mob que je met la méthode onBlockPlaced() ? Et après il suffit que je ne le fasse pop dans aucun biome, comme ça il pourra pop uniquement en faisant la structure, non ?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Non, dans la classe du bloc.



  • Dans la classe du block oO ?

    Mais comment je fais pour que dans la classe du block je dise qu'il faut qu'il y ai par exemple un block de fer, surmonté de 3 block de fer horizontale avec une citrouille au sommet.
    Je ne comprend pas la logique …

    EDIT : Non laissez tomber je suis totalement débile 😉 ! Je viens de comprendre la logique du truc ^^ !

    Merci encore à tout ce qui ont répondus à mes questions 😉 !

    Cordialement, Ydriss



  • N'oublie pas de passer le sujet en "résolu" 🙂



  • Je ne suis pas sur qu'un onBlockPlaced soit ce que tu cherches. Il y a une autre méthode qui s'appelle onNeighbourBlockChange ou quelque chose comme ça qui est appelée à chaque changement de bloc voisin. Du coup si tu ne mets pas les blocs dans le bon ordre, ce sera quand même généré (mais si tu mets cette méthode en place il faut garder l'autre!)


Log in to reply