Les différentes formes de messages sous Sponge
Dans cet article je vais vous expliqué comment envoyer les différente forme de message à un joueur. Tout type de message peut être utile et il vaut donc mieux savoir comment faire.
Le plus facile que tout le monde doit connaitre:
player.sendMessage(Text.of("Test"));
Pour ce message la seul chose qui change c’est qu’on rajoute:
ChatTypes.ACTION_BAR
Ce qui donne:
player.sendMessage(ChatTypes.ACTION_BAR, Text.of(TextColors.YELLOW, Players.getFacingFr(player)));
Comme on peut le voir, moi je m’en sert pour afficher la direction ou je regarde, mais on peut aussi afficher le bloc regardé par le joueur… Bref ça sert beaucoup.
Pour le dernier, j’ai fait une méthode que j’ai appelé sendTitle()(pourquoi changer) pour pas me casser la tête.
On à juste à lui fournir trois paramètres:
– Le player qui va recevoir le message.
– Titre
– Le sous titre
Le code de ma méthode::
public static void sendTitle(Player player, String titre, String sousTitre) { Text Titre = Text.of(titre); Text SousTitre = Text.of(sousTitre); Title title =(Title) Title.of(Titre, SousTitre); player.sendTitle(title); }
On peut donc l’appeler comme ça:
TextUtils.sendTitle(player, "Téléportation", "Home \"" + homeName + "\" X:" + cX + " Y:" + cY + " Z:" + cZ);
Le dernier je le trouve cool a utiliser quand on tp un joueur par exemple^^.
Voila c’est finit pour ce cours tuto.
EDIT:
Un truck important que j’ai oublié: si on veut écrire un message en couleur dans la console du serveur. Je me suis codé deux méthodes:
public static void setConsoleMessage(Text message) { Sponge.getGame().getServer().getConsole().sendMessage(message); } public static void setConsoleMessage(String message) { Sponge.getGame().getServer().getConsole().sendMessage(TextUtils.color(message)); }
Et pour mettre la couleur:
public static Text color(String message) { return TextSerializers.formattingCode('&').deserialize(message); }
Bien sur c’est un code à adapté un petit peut pour votre plugin.
Tous les codes sont testés et sont fonctionnels, si il arrive qu'un de ces codes ne fonctionne pas chez vous, merci de me le signaler.