Modifier le knockback / recul / la vélocité du joueur



  • Bonjour, j'aimerais ajouter quelque chose à mon mod en cours de développement, côté client seulement.
    J'aimerais modifier la vélocité / recul / knockback du joueur, faire en sorte qu'il ne prenne que 50% de recul, ou 1 seul bloc de recul.
    Ca fait quelques heures que je cherche et je ne trouve pas.

    Merci d'avance de l'aide que vous pourrez m'apporter.
    Cordialement, Matt. Bonne journée.



  • Quelque chose comme ça ?

    
    @SubscribeEvent
    public void oneBlockKnockback (final LivingAttackEvent event) {
    if(event.getEntity() != null && event.getEntity() instanceof EntityPlayer) {
    
    EntityPlayer player = (EntityPlayer) event.getEntity();
    player.setVelocity(0.1, 0.1, 0.1);
    }
    }
    
    


  • Salut,
    Je trouve que cela sent un peu l'anti-kb, non ?
    Et la méthode s'appelle "addVelocity".



  • @'Plaigon':

    Salut,
    Je trouve que cela sent un peu l'anti-kb, non ?
    Et la méthode s'appelle "addVelocity".

    Assez logiquement, c'est addVelocity pour ajouter de la vélocité, setVelocity pour remplacer la vélocité…



  • Autant pour moi, j'ai regardé dans une workspace d'une ancienne version.



  • @'Dylem':

    Quelque chose comme ça ?

    
    @SubscribeEvent
       public void oneBlockKnockback (final LivingAttackEvent event) {
        if(event.getEntity() != null && event.getEntity() instanceof EntityPlayer) {
       
        EntityPlayer player = (EntityPlayer) event.getEntity();
        player.setVelocity(0.1, 0.1, 0.1);
        }
       }
    
    

    Salut et merci de ta réponse rapide, et désolé de la mienne assez tardive ^^'
    L’événement s'exécute bien mais la vélocité du joueur attaqué reste la même (il me semble, du moins même à "0, 0, 0" j'ai du recul), une idée du pourquoi ?
    Merci d'avance, cordialement, Matt.


  • Administrateurs

    Je ne suis pas sûr que LivingAttackEvent est appelé côté client.
    Et dans le cas où il l'est, il y a de très forte chance que l'effet de recul soit géré par le serveur et donc que mettre setVelocity en client soit complètement inutile.



  • @'robin4002':

    Je ne suis pas sûr que LivingAttackEvent est appelé côté client.
    Et dans le cas où il l'est, il y a de très forte chance que l'effet de recul soit géré par le serveur et donc que mettre setVelocity en client soit complètement inutile.

    Salut, comment puis-je faire alors ?


  • Administrateurs

    Dans le cas où c'est bien le serveur qui gère le recul, hormis trouver une faille tu ne peux pas faire ce que tu veux faire.



  • @'robin4002':

    Dans le cas où c'est bien le serveur qui gère le recul, hormis trouver une faille tu ne peux pas faire ce que tu veux faire.

    Un ami l'avait fait avec un EventMod.class, je sais que c'est possible mais pas comment



  • Je pense pas qu'il l'avait fait uniquement côté client, comme la dit robin il y a de grandes chances que ce soit géré par le serveur.
    Sinon si tu connais quelqu'un qui l'a fait demande lui tout simplement.



  • @'AymericRed':

    Je pense pas qu'il l'avait fait uniquement côté client, comme la dit robin il y a de grandes chances que ce soit géré par le serveur.
    Sinon si tu connais quelqu'un qui l'a fait demande lui tout simplement.

    Je lui ai demandé il y a environ une semaine, aucune réponse et il ne semble jamais connecté.
    Puis ceux qui développent des cheat genre Huzuni et toutes ces m*rdes, comment ils font ? Je suis certain que c'est possible.