Skip to content

v3.26.0 - /nick et /skin

Choose a tag to compare

@Lightshadow02 Lightshadow02 released this 15 Sep 14:20
· 8 commits to main since this release

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.