Aller au contenu

Changer l'apparence des joueurs masqués

Sans rien configurer, un joueur masqué apparaît sous un nom au hasard, avec un skin au hasard, et tout le reste inchangé : son armure, ses cœurs, ses flammes quand il brûle. Ce guide explique comment changer chacun de ces points.

Tout se trouve sous disguise, dans config.yml :

config.yml
disguise:
name:
show: true
value: random
prefix: "&7Masqué "
suffix: ""
skin: random
health:
show: true
color: ["&4"]
show_armor: true
show_nbts: true
show_fire: true
show_stuck_arrows: true

value: random et skin: random veulent dire la même chose : tirer au hasard dans le pool appelé default. Un pool est simplement une liste dans laquelle SomaHider pioche, et ces listes vivent dans deux fichiers séparés que vous pouvez modifier.

FichierContient
usernames.ymlLes noms qu’un joueur masqué peut recevoir.
skins.ymlLes skins qu’il peut recevoir.

Le moyen le plus rapide de changer l’allure de vos joueurs masqués est donc de modifier le pool default dans ces deux fichiers, sans toucher à config.yml.

Admettons que vous vouliez des noms médiévaux pour un événement, et les noms habituels partout ailleurs.

  1. Ajoutez un second pool dans usernames.yml.

    usernames.yml
    usernames:
    default:
    - Steve
    - Alex
    medieval:
    - Aldric
    - Bertrand
    - Guenievre

    default est celui qu’utilise random. medieval est le vôtre, et son nom est celui que vous avez écrit.

  2. Pointez la zone dessus.

    zones.yml
    zones:
    tournoi:
    disguise:
    name:
    value: medieval
  3. Appliquez.

    /sh reload

Les skins fonctionnent exactement pareil, avec des pools dans skins.yml et skin: medieval sur la zone.

name.value et skin acceptent les quatre mêmes types de valeur. SomaHider devine lequel vous vouliez dire, dans cet ordre :

Vous écrivezVous obtenez
randomUn tirage au hasard dans le pool default.
medievalUn tirage au hasard dans votre pool medieval.
%factionsuuid_faction_name%Le placeholder, résolu sur le joueur masqué.
NotchExactement ça : le nom fixe Notch, ou pour un skin, celui du joueur Notch.

L’ordre compte en cas de collision. Un pool nommé Notch l’emporte sur le joueur appelé Notch, parce que les pools sont vérifiés en premier. Et aucun pool ne peut s’appeler random, ce mot étant déjà pris.

prefix et suffix encadrent le nom et acceptent les codes couleur :

config.yml
disguise:
name:
prefix: "&7Masqué "
suffix: " &8[?]"

Attention aux espaces à l’intérieur des guillemets. "&7Masqué " en contient un à la fin, et c’est justement lui qui sépare le préfixe du nom.

Les deux acceptent aussi les placeholders, y compris les relationnels (%rel_...%) qui donnent un résultat différent selon la personne qui regarde. C’est ainsi qu’on colore un nom selon que l’observateur est un allié ou un ennemi.

Un joueur reste reconnaissable à son équipement, à ses cœurs ou à l’épée enchantée qu’il tient. Cinq interrupteurs contrôlent ça :

RéglageLe passer à false pour
name.showSupprimer complètement le nom au-dessus de la tête.
health.showSupprimer les cœurs affichés sous le nom.
show_armorMontrer le joueur comme s’il ne portait rien.
show_nbtsRetirer les détails des objets, pour qu’un objet en main ne soit pas identifiable à ses tags.
show_fireCacher les flammes quand il brûle.
show_stuck_arrowsCacher les flèches plantées dans son corps.

Couper show_nbts est le seul qui ait un effet de bord : certains plugins s’appuient sur les tags d’objet pour afficher correctement leurs items côté client. Si c’est le cas du vôtre, listez ces tags dans nbts.yml et ils survivront au nettoyage.

Une zone ne réécrit que les clés qu’elle veut changer. Tout ce qu’elle omet vient de config.yml :

zones.yml
zones:
arene:
world: events
center:
x: 1500
z: 1500
radius: 150
disguise:
name:
prefix: "&cArène "
show_armor: false

Cette zone garde le pool de noms global, les skins, les cœurs et les effets. Elle ne change que le préfixe et masque l’armure, rien d’autre.

Par défaut, un joueur peut recevoir un nouveau nom à chaque démarrage de zone. Pour un tournoi, où les gens se suivent sur plusieurs manches, c’est déroutant. Désactivez ce comportement :

config.yml
persist_identity: true

Un joueur conserve désormais le même nom et le même skin tant qu’il reste connecté et que la zone tourne. Sortir de la zone puis y revenir lui rend la même identité. Une déconnexion en donne une nouvelle, la fermeture de la zone aussi.

/sh info <zone> vous dit si la zone utilise son propre déguisement ou celui de config.yml. C’est ainsi que vous confirmez que votre surcharge a bien été lue.

Pour juger du rendu lui-même, démarrez la zone et placez-vous dedans avec un second compte. Un membre du staff ayant soma.hider.bypass peut aussi basculer /sh bypass pour comparer les deux points de vue sans quitter la zone.