Méthode pour un bonus de vie



  • Salut salut !

    J'ai crée un bonus de panoplie (Merci Robin pour les ++ !), j'ai donc appliquer des bonus celons conditions, si le joueur a 2 items, s'il en a 4.

    Cependant, j'aimerai rajouter un coeur de vie, le soucis c'est que je ne peux pas utilisé le

    ​    player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue();
    

    je pensais faire un truc avec un getMaxHealth + 2.0D, sauf que… La vie augmente continuellement d'un coeur, ce qui est normal vue que le max de vie gagne 2 a chaque fois, donc 20+2, 22+2, 24+2, etc etc.

    Faudrait que j'arrive a enregistrer la variable de vie sans la toucher et faire en sorte que la vie n'augmente pas de 1 coeur tout le temps...

    Sinon, j'ai pensé a "tricher" avec des potions, ce qui voudrais dire crée des potions, mais, une potion peut elle cumulé plusieurs effets ? Peut t'on enlever les particules d'une potion ? Y'a t'il moyen de coupé/stoper la variable du temps de l'effet de la potion ?

    En esperant avoir été clair ^^'



  • @'UnknowOrigin':

    Salut salut !

    J'ai crée un bonus de panoplie (Merci Robin pour les ++ !), j'ai donc appliquer des bonus celons conditions, si le joueur a 2 items, s'il en a 4.

    Cependant, j'aimerai rajouter un coeur de vie, le soucis c'est que je ne peux pas utilisé le

    ​    player.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue();
    

    je pensais faire un truc avec un getMaxHealth + 2.0D, sauf que… La vie augmente continuellement d'un coeur, ce qui est normal vue que le max de vie gagne 2 a chaque fois, donc 20+2, 22+2, 24+2, etc etc.

    Faudrait que j'arrive a enregistrer la variable de vie sans la toucher et faire en sorte que la vie n'augmente pas de 1 coeur tout le temps...

    Sinon, j'ai pensé a "tricher" avec des potions, ce qui voudrais dire crée des potions, mais, une potion peut elle cumulé plusieurs effets ? Peut t'on enlever les particules d'une potion ? Y'a t'il moyen de coupé/stoper la variable du temps de l'effet de la potion ?

    En esperant avoir été clair ^^'

    Le seul moyen que je vois c'est d'accéder au variable de l'entityPlayer ce qui risque de poser problème, il faudrait utiliser un core mod tel que le PlayerAPI ou tu peux toujours ajouter l'effet de health boost et de mettre le ambient à true (ou si tu es en 1.8 de mettre showParticles à false) : new PotionEffect(21, Integer.MAX_VALUE, 0, true).


  • Administrateurs

    player.setAbsorptionAmount(int) te permet de mettre des cœurs dorées au joueur.
    Tu peux donc utiliser ça pour augmenter sa vie max.



  • Merci Robin…

    Par contre, faudrais m'expliquer comment a tu connu cette fonction... Car faut le deviner que ça rajoute un coeur xD

    Y'a d'autre truc du genre ? Comme bonus de vitesse, jump, sprint, force, etc etc ?



  • @'UnknowOrigin':

    Merci Robin…

    Par contre, faudrais m'expliquer comment a tu connu cette fonction... Car faut le deviner que ça rajoute un coeur xD

    Y'a d'autre truc du genre ? Comme bonus de vitesse, jump, sprint, force, etc etc ?

    Ce sont juste des fonctions utilisés dans le code de Minecraft ou bien rajoutés par forge, c'est en codant que tu les découvriras.


  • Administrateurs

    Fait player. eclipse devrait normalement t'afficher la liste de tout ce qui est disponible.



  • Cette thématique revient très souvent j'ai l'impression.
    Un tutoriel sur ce sujet qui propose une solution optimale serait une bonne idée je pense.



  • +1 Black !

    Je fait souvent le player. pour voire la suite, mais bon.. faut le savoir que setAbsorptionAmount(int) rajoute des coeurs, car dans le nom de la fonction… Rien ne l'indique ^^'

    C'est bien beau de voire la fonction, faut il encore la "deviner", y'en a qui sont compréhensible, mais la ^^'


  • Administrateurs

    Ou il faut chercher dans le code de la pomme en or ^^



  • Ou tout simplement regarder les commentaires des méthodes proposées quand tu fais player.