Effet de knockback
-
@‘Plaigon’:
Donc tu as besoin d’un packet à envoyer au serveur avec l’id de l’entity visée, que tu pourras ensuite **instancier **côté serveur à l’aide d’un World#getEntityByID, afin **d’appeler **la fonction knockback.
-
Faut-il donc que j’ajoute a ma classe de Packet une nouvelle variable de knockback ?
Car pour l’instant j’ai réussi à trouver ça :
ModSWMod.network.sendToServer(new PacketCapabilitiesSWMod());
A vrai dire j’avance très lentement car j’ai beaucoup de mal à comprendre le network
-
Non, il faut que l’appel de la fonction knockback sur ton entity visée soit fait côté serveur (dans ton ta fonction onMessage de ta sous-classe Handler) plutôt que côté client (dans ta fonction onItemRightClick).
-
Je ne comprends vraiment pas ce que je dois faire.
Où est ce que je dois mettre mon code pour le knockback ? Dans un event ? Le laisser dans onItemRightClick ?
Comment je suis sensé envoyé l’ID de l’entité au serveur ? Je ne sais pas comment il faut faire et faut il créer une nouvelle variable ?
Une fois que j’ai envoyé le packet, comment je peux instancier cette entité ?N’as tu pas un bout de code à me fournir, cela pourrait être plus explicite et je pourrai comprendre mieux ?
-
“Où est ce que je dois mettre mon code pour le knockback ? Dans un event ? Le laisser dans onItemRightClick ?”
–>
@‘Plaigon’:il faut que l’appel de la fonction knockback […] dans ton ta fonction onMessage de ta sous-classe Handler
“Comment je suis sensé envoyé l’ID de l’entité au serveur ? Je ne sais pas comment il faut faire et faut il créer une nouvelle variable ?”
Tu as la méthode Entity#getEntityId, tout bêtement.“Une fois que j’ai envoyé le packet, comment je peux instancier cette entité ?”
Une fois le packet reçu* plutôt
–>
@‘Plaigon’:avec l’id de l’entity visée, que tu pourras ensuite instancier côté serveur à l’aide d’un World#getEntityByID
A mettre dans un try, au cas où l’id ne soit pas bon/l’entity ne puisse pas être instancé !
“N’as tu pas un bout de code à me fournir, cela pourrait être plus explicite et je pourrai comprendre mieux ?”
Tu dois savoir apprendre par toi même, surtout cette notion. En revanche MFF est là pour te mettre sur la piste ! -
Merci pour ton aide et merci pour le tuto même si je l’ai déjà lu, est ce que je dois faire une nouvelle classe de packet exprès pour ce que je veux faire ?
-
Peut-être que MC a déjà un packet adapté (notamment lors du middle click sur un entity pour get son oeuf). Faut que tu diriges tes recherches vers ceci, si tu veux éviter ta propre classe de packet, qui disons le, ne contiendrais pas grand chose.
-
Pourquoi faire simple quand on peut faire compliqué ?
onItemRightClick est utilisé quand tu fais click droit en général, mais il existe la même chose pour le click sur une entité : itemInteractionForEntity -> pas besoin de rayTrace et pas besoin de packet !
-
Franchement je ne comprends rien du tout, je n’y arrive pas.
EDIT : je vais essayer ton idée
Merci ça marche ^^
-
Bien joué, je n’en n’avais plus connaissance !
EDIT = LeBossMax2, ce serait plutôt “Pourquoi faire compliqué quand on peut faire simple ?”
