Communiquer avec le serveur sans packets
Dim 28 Juin - 17:24
Communiquer avec le serveur sans packets
-[Pré-requis]-
1) Avoir décompilé MCP
Les joueurs devront avoir votre client pour apercevoir ceci. L'utilisation d'une version Minecraft non modifiée ne fonctionnera pas.
Ils ne verront que le "texte code".
1] NetHandlerPlayClient
Pour commencer, nous allons nous rendre dans la classe NetHandlerPlayClient, on va rechercher la fonction handleChat, ensuite on à ceci:
On va supprimer cette ligne:
- Code:
this.gameController.ingameGUI.func_191742_a(packetIn.getType(), packetIn.getChatComponent());
Et mettre a la place ceci:
- Code:
ITextComponent chatComponent = packetIn.getChatComponent();
String formattedText = chatComponent.getFormattedText();
C'est ce qui va nous permettre de récupérer le texte formaté.
Maintenant, on va devoir écrire quelques lignes simples afin de récupérer un texte qui nous servira de "code" pour activer ce que l'on souhaite et communiquer.
On écrit ceci
- Code:
if (formattedText.contains("tuto_forum_alternative")) {
this.gameController.ingameGUI.func_191742_a(packetIn.getType(), new TextComponentTranslation("\u00a7eVous avez suivi ce tutoriel depuis \u00a7bhttp://forum.alternative-api.fr/"));
}
else {
this.gameController.ingameGUI.func_191742_a(packetIn.getType(), packetIn.getChatComponent());
}
En gros, on dis que:
-Si le texte formaté contient "tuto_forum_alternative"
On affiche un texte personnalisé à la place.
-Si le texte formaté ne contient pas "tuto_forum_alternative"
On affiche le texte de base.
2] Coté serveur: WorldGuard/WorldEdit
Maintenant, sur notre serveur on va créer une nouvelle zone.
On séléctionne la zone ou l'on veut que la détection du texte soit faite:
puis on écrit dans le tchat:
- Code:
/rg define nom_de_la_zone
Remplacez "nom_de_la_zone" par le nom de votre zone
On a ceci dans le tchat:
Maintenant on écrit dans le tchat:
- Code:
/rg flag nom_de_la_zone greeting votre_code
Remplacez "votre_code" par le texte "code" que vous avez mis au dessus (ex: tuto_forum_alternative").
Une fois cela fait, vous êtes prêt !
Si vous avez copié le code au dessus, vous devriez avoir le même texte que moi dans le tchat:
Si ce n'est pas le cas et que vous avez le texte "code" à la place, c'est que vous l'avez mal écrit.
Si vous souhaitez ajouter plusieurs autres combinaisons de "texte code", vous devez l'ajouter avec un "else if":
La si le client reçoit le code "tuto_forum_alternative" ou "merci_davoir_suivi", le texte approprié s'affichera.
En modifiant le client et le code, vous pouvez avoir des choses comme par exemple, afficher le nom d'une zone comme sur cette vidéo (en haut, en dessous de la boussole, à coté de la position).
Fire_Blaim aime ce message
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum