Mob qui suit le joueur



  • Bonsoir, je voudrais crée un mob passif, invincible (qui ne peut pas prendre de coup) et qui suit le joueur qui le fait spawn je voudrais savoir si c'est possible et si oui comment ?
    Merci


  • Correcteurs

    Pour le mob passif et invincible c'est simple pour suivre le joueur je ne connais pas très bien l'IA mais regarde le code du loup.

    Pour la passivité: tu dois simplement changer l'extend de EntityMob à EntityCreature ou EntityLiving.

    Pour l'invincibilité:

    @Override
        public boolean isEntityInvulnerable()
        {
            return true;
        }
    

    Pour l'IA essaie d'extends EntityTameable et d'ajouter au constructeur de ton mob:

    this.tasks.addTask(0, new EntityAIFollowOwner(this, 1.0D, 10.0F, 2.0F));
    

  • Administrateurs

    Pour faire un mob qui suit le joueur, il faut malheureusement passer par une IA custom. (Même en 1.7.10)
    Pas de panique, il faut juste faire une version customisée de la classe "EntityAIFollowOwner".



  • Tu peux aussi faire autrement :
    Dans la méthode onLivingUpdate, tu check si il y a un joueur à proximité, si oui, tu enregistres son UUID dans les tag de l'entity. Et ensuite tu fais en sorte de créer une instance de EntityPlayer en te servant de la méthode (je ne me souviens plus de son nom exacte) qui retourne une entity via son UUID. Une fois l'instance faite, tu joues avec les motion de l'entity pour qu'elle suive le joueur. Sa peut-être une solution alternative si tu n'as pas envie de recréer une nouvelle IA, ou même si tu ne souhaites pas que ton mob ait une IA


  • Correcteurs

    @Julot, ça peut être une bonne idée mais le résultat peut être décevnt avec les motions.



  • Oh non je ne pense pas, mais il y a sûrement des fonctions de base dans MC qui permettent à une Entity A de suivre une Entity B


  • Correcteurs

    J'ai cherché un peu et le seul que j'ai trouvé c'est le AIFollowingOwner de EntityTameable et deux autres qui sont précises à des mobs, comme l'a dit elias tu devrais recréer un ai.

    Ce que je veux dire c'est que l'animation ne sera pas optimale avec des motions.



  • Les IA sont arrivées en 1.2.5 il me semble, et avant ceci les chiens qui suivaient leur maître (donc à l'aide de pure code, sûrement avec les motion) le faisaient de manière tout aussi fluide, donc je pense que les deux solutions proposées ont un résultat visuel équivalent ^^


  • Administrateurs

    Si tu es en 1.7.10, tu peux t'inspirer de l'ancien code du loup. (Voir les sources du mod Old Days, c'est un mod qui réimplante tout ce qui a été supprimé de Minecraft. Même les anciennes couleurs des textures)



  • "tu peux t'inspirer de l'ancien code du loup"
    Je ne comprend pas trop comment qu'il fonctionne =/