Repository navigation
v3.26.0 - /nick et /skin
Deux outils de deguisement, reserves aux operateurs, et repris dans /dieux -> Deguisement.
/nick <nom> porte un nom d'emprunt
/nick retirer reprend le sien
/skin <joueur> porte le visage d'un joueur connecte
/skin retirer reprend le sien
Le nom
Il passe par les deux evenements de NeoForge. Celui de la liste des joueurs se lit a part de celui du chat : sans les deux, le nom d'emprunt n'apparaitrait qu'a la parole.
Le visage, c'est une autre affaire
Un client dessine un joueur a partir de la propriete "textures" de son profil, recue une seule fois a la connexion, et il garde cette fiche en memoire sur l'entite elle-meme. Changer le profil ne suffit donc pas : il faut demander aux autres clients d'oublier ce joueur puis de le redecouvrir.
D'ou la sequence : retrait et renvoi de sa ligne dans la liste des joueurs, puis retrait et renvoi de son entite — avec sa pose, son equipement et l'orientation de sa tete, faute de quoi il reapparaitrait nu, droit et le regard au nord. L'entite n'est renvoyee qu'a ceux qui la voient deja : l'envoyer a un joueur a l'autre bout du monde poserait chez lui une entite hors de ses chunks charges.
Le porteur ne voit pas son propre changement tout de suite — son modele a lui est deja charge. Il le verra a sa prochaine connexion, et la commande le lui dit.
Le skin est copie, pas reference
Le modele peut ensuite se deconnecter ou changer de skin sans rien changer au deguisement. Le vrai skin du porteur est mis de cote a la connexion : il ne peut plus etre relu du profil une fois le deguisement pose, et sans lui, retirer le deguisement laisserait le joueur en Steve plutot que dans son propre visage.
Le deguisement survit aux reconnexions : le profil etant reconstruit par Mojang a chaque fois, il est repose a la connexion.