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.
-
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?
-
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))
-
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