Ajout d'un header et d'un footer sur la liste de joueur
-
Je vois ça, sinon passe par un hébergeur comme imgur.
-
Je comprends pas tout le tuto ? Tu entends quoi par un Header et un Footer ? Ils permettent de faire quoi une fois ajoutés ?
-
@‘ZeAmateis’:
Je comprends pas tout le tuto ? Tu entends quoi par un Header et un Footer ? Ils permettent de faire quoi une fois ajoutés ?
Il permet de rajouter un texte en haut (header) et en bas (footer) de la liste des joueurs lorsque l’on appuie sur TAB. C’est quelque chose de présent sur pas mal de serveurs connus.
-
Ok merci de l’éclairage !
-
Tu dit TAB ? dit plutôt la touche pour afficher la list des joueurs. Dans mon cas au début je n’ai pas compris car pour afficher la liste des joueurs j’utilise shift.
-
@‘Diangle’:
Tu dit TAB ? dit plutôt la touche pour afficher la list des joueurs. Dans mon cas au début je n’ai pas compris car pour afficher la liste des joueurs j’utilise shift.
Dans les classes de Minecraft cet overlay s’appelle GuiPlayerTabOverlay voilà pourquoi je l’appelle le tab overlay.
-
Est-ce que c’est juste en 1.8 ou aussi possible en version antérieur?
-
@‘Degraduck’:
Est-ce que c’est juste en 1.8 ou aussi possible en version antérieur?
Le texte en bas et en haut du Gui a été rajouté par Mojang en 1.8 donc ça ne peut marcher qu’en 1.8.
-
Merci de l’information
-
Ce tutoriel fonctionne en 1.12 (en modifiant le nom des classes en des fonctions vu qu’elles ont changées) mais je ne doute pas qu’il fonctionne en 1.8 aussi. Je valide ce tutoriel qui est intéressant je trouve. Pour ceux qui veulent, voici le code en 1.12 :
@SubscribeEvent public static void playerConnect(PlayerLoggedInEvent event) { if (!event.player.getEntityWorld().isRemote) { SPacketPlayerListHeaderFooter packet = new SPacketPlayerListHeaderFooter(); Field header = packet.getClass().getDeclaredFields()[0]; header.setAccessible(true); Field footer = packet.getClass().getDeclaredFields()[1]; footer.setAccessible(true); try { header.set(packet, new TextComponentString(TextFormatting.RED + "My Header")); footer.set(packet, new TextComponentString(TextFormatting.RED + "My Footer")); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } ((EntityPlayerMP)event.player).connection.sendPacket(packet); } } -
@‘BrokenSwing’:
Ce tutoriel fonctionne en 1.12 (en modifiant le nom des classes en des fonctions vu qu’elles ont changées) mais je ne doute pas qu’il fonctionne en 1.8 aussi. Je valide ce tutoriel qui est intéressant je trouve. Pour ceux qui veulent, voici le code en 1.12 :
@SubscribeEvent public static void playerConnect(PlayerLoggedInEvent event) { if (!event.player.getEntityWorld().isRemote) { SPacketPlayerListHeaderFooter packet = new SPacketPlayerListHeaderFooter(); Field header = packet.getClass().getDeclaredFields()[0]; header.setAccessible(true); Field footer = packet.getClass().getDeclaredFields()[1]; footer.setAccessible(true); try { header.set(packet, new TextComponentString(TextFormatting.RED + "My Header")); footer.set(packet, new TextComponentString(TextFormatting.RED + "My Footer")); } catch (IllegalArgumentException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } ((EntityPlayerMP)event.player).connection.sendPacket(packet); } }Cela Ne Fonctionne Pas En 1.9.4 !
j’utiliser l’importe
import java.lang.reflect.Field;
-
Le seul truc qui peux changer entre les version est SPacketPlayerListHeaderFooter et ((EntityPlayerMP)event.player).connection.sendPacket(packet);
-
@‘BrokenSwing’:
Le seul truc qui peux changer entre les version est SPacketPlayerListHeaderFooter et ((EntityPlayerMP)event.player).connection.sendPacket(packet);
Mais le truc c’est que cela mais aucune, mais aucune erreur (J’ai bien pensé a enlevez le static car j’utilise que les fonctions non-static) !
-
T’as fonction est donc bien appelée ?
-
R robin4002 a fait référence à ce sujet sur
-
R robin4002 a fait référence à ce sujet sur
-
R robin4002 a fait référence à ce sujet sur