Créature montable



  • Bonjour j'aimerai creer un mob montable, et quand on sneak il disparait et sa nous donne un item dans l'inventaire et quand on clique droit avec cet item notre monture réaparait. J'ai extend ma classe EntityAnimal j'ai cherché dans la classe du cheval EntityHorse mais je ne trouves pas.


  • Moddeurs confirmés Modérateurs

    c'est assez facile, il te faudra une méthode pour gérer ton input, qui enverra un packet au serveur, du coup tu détruira l'entité puis tu donnera l'item, comme ca fait longtemps que je n'est pas codé sous forge je ne peut pas t'aider plus que ca



  • Pas fesable sans paquet? Je n'y ai jamais touché. Et pour rendre le mob montable je ois faire comment?


  • Moddeurs confirmés Rédacteurs Administrateurs

    Non pas besoin de paquet. Regarde EntityHorse. Le code pour le rendre montable est tout bête, il suffit de faire que lorsqu'on fait un clic droit dessus (fonction interact) on monte l'entité. Après pour faire que lorsqu'on descend ça devient un item, dans la fonction updateEntity() si l'entité qui monte est null, alors on tue le mob (this.setDeath()) et on fait apparaître un item (this.worldObj.spawnEntityInWorld(ton entité item))


  • Moddeurs confirmés Modérateurs

    a oui exact robin j'avais oublier ca



  • Merci beaucoup je test demain et je vous retiens au courant.



  • Tu veux faire une dragondinde non ?



  • Oui exacement comment as tu deviné?



  • Dans ton code j'ai vu marqué Bonta donc j'en ai deduis que tu faisais un mod Dofus, et donc un mob montable dans dofus -> Dragondinde



  • Ah d'accord.

    Donc j'ai essayé de faire mon mob montable, j'ai rien trouvé ou presque dans le EntityHorse donc je vous laisse mon code pour me dire ce qu'il manque.

    public class EntityDragodinde extends EntityAnimal {
    
    public EntityDragodinde(World par1World) {
    super(par1World);
    
    this.setSize(0.9F, 1.3F);
    
    }
    
       public boolean isAIEnabled()
       {
           return true;
       }
    
    public void applyEntityAttributes()
    {
    super.applyEntityAttributes();
    this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(500000D);
    this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.20000000298023224D);
    }
    
    public boolean interact(EntityPlayer par1EntityPlayer)
       {
           if (super.interact(par1EntityPlayer))
           {
    
            par1EntityPlayer.mountEntity(this);
               return true;
           }
           return false;
       }
    
    @Override
    public EntityAgeable createChild(EntityAgeable p_90011_1_) {
    // TODO Auto-generated method stub
    return new EntityDragodinde(this.worldObj);
    }
    
    }
    


  • Sinon tu peux tout simplement extends de Horse pour voir, ce sera plus rapide.



  • Oui mais je voudrais enlever l'inventaire, l'armure,selle, différents types, la reproduction, la nourriture, je voudrais qu'il soit apprivoiser directement…



  • Un petit UP


Log in to reply