Plugin Résolu Création d'un plugin avec 'ajout' de touches et lancement de commande d'autres plugins externes

Sirvechs

Aventurier
2 Avril 2019
2
0
2
26
Bonjour,
Je suis débutant en programmation de plugin minecraft (c'est mon premier) mais j'ai un peu d'expérience en programmation (première année d'école d'ingénieur en développement d'application 3D) et j'ai un niveau potable en JAVA.

Voici les question que je me pose après quelques documentations et du temps à essayer des choses avec l'api craftbukkit :
- J'aimerais faire en sorte de lister les entrées claviers de certaines touches par joueur (une douzaine) pour lancer des commandes d'un autre plugin.
J'avais pensé à un HashMap<Player, List<String>> avec une création à chaque connexion d'un joueur et une destruction lorsqu'un joueur se déconnecte, puis la liste de String serait une liste des inputs sur les douze touches que je souhaite isoler. Pour récupérer les inputs, dans ma class implémentant l'interface Listener, y a t'il dans l'api un event lié au joueur récupérant les inputs qui ne sont pas comprises dans le jeu (ce qui m'étonnerais) ? J'avais pensé à faire un KeyEvent pour les récupérer, ou à implémenter KeyListener pour chopper le KeyRelease (qui serait mieux en terme de performance). Mais est-ce la bonne solution ? Faut-il que je rajoute des inputs dans le jeu-Client pour pouvoir les exploiter ?

Merci d'avoir pris le temps de lire :D
 

DiscowZombie

Développeur
Staff
Modérateur
Support
2 Mars 2017
2 659
1
931
298
Alsace
www.discowzombie.fr
Salut,

j'ai un peu de mal à comprendre ce que tu essayes de faire mais à mon avis ce n'est pas réalisable en plugin. Il faut bien garder en tête qu'un plugin s'exécute côté serveur, et, par conséquent, tu as très peu d'interaction possible directement avec le client (joueur) donc ce genre de chose n'est pas possible (tu dois nécessairement passer par un mod ici).

Récupérer les inputs comme tu aurais l'habitude de le faire en Java (KeyListener) ne t'avancera pas. Encore une fois, le plugin s'exécute comme côté serveur, donc, les inputs que tu pourrais récupérer seront ceux faits sur la machine qui héberge le serveur (et en aucun cas ceux fait par un joueur en jeu), ce qui ne t'avance pas du tout.
 

Sirvechs

Aventurier
2 Avril 2019
2
0
2
26
Merci beaucoup !

En effet ça me semble assez logique oui ^.^

Je passe le topic en résolu.