Aller au contenu

Nouveau membre ?! Pense à te présenter pour accéder au contenu du forum !

New member ?! Introduce yourself to get access to the forum !

Calypso

 tutoriel / partage [Tutoriel - Plugin] Changer un panneau dans un événement PlayerInteractEvent

Messages recommandés

Salut tout le monde !

 

Un tutoriel assez rapide sur le coup.

Vous vous êtes surement déjà confronté à un problème: Changer ou récupérer une ligne d'un panneau dans un événement PlayerInteractEvent. Le problème, c'est que l'on ne possède pas directement l'objet du panneau en question et que même si on arrivait à le récupérer, un setLine ne " fonctionnerait pas ".

 

Il faut tout d’abord récupérer le block avec lequel le joueur a interagi:

 

Block b = e.getClickedBlock();

 

 

Et on cast un objet Block en objet Sign, comme ceci:

 

Sign sign = (Sign) b.getState();

 

La fonction getState va seulement renvoyer l'état actuel du block (La DOC !! https://hub.spigotmc.org/javadocs/bukkit/)

 

Maintenant, on n'a plus qu'à set nos lines, par exemple:

 

sign.setLine(1, "Mon plugin !!!");

 

Mais vous pouvez tout aussi bien utiliser la fonction getLine.

Attention, comme je l'ai dis plus haut, avec ces lignes de codes, le panneau ne se mettra pas à jour ! Donc pensez bien à l'update comme ceci:

 

sign.update();

 

Voila voila !

Court mais utile.

Bonne continuation :)

Partager ce message


Lien à poster
Partager sur d’autres sites

×

Information importante

By using this site, you agree to our Conditions d’utilisation.