Tableau de score

De Minecraft Wiki
Aller à : navigation, rechercher
Version Java.pngMclogo.svg

Le système de tableau de score (anglais : Scoreboard) est une mécanique de jeu assez complexe destinée aux créateurs de cartes. Il est utilisable grâce aux blocs de commande et aux commandes.

Utilisation[modifier | modifier le wikicode]

Les tableaux de score peuvent être manipulés grâce à la commande /scoreboard. Elle permet de créer de nouveaux objectifs et de définir leurs valeurs pour toutes les entités.

Les objectifs sont une combinaison d'un nom, d'un nom d'affichage, et d'un critère, ils comptent les points d'un joueur sous forme d'un nombre entier. Les scores ne peuvent pas être inférieurs à -2 147 483 648 ou supérieurs à 2 147 483 647, ils ne supportent que les nombres entiers.

Le nom de l'objectif est utilisé dans les commandes (nom interne), arguments cibles, et dans le format de fichier. Il est sensible à la casse, doit être composé d'un seul mot et d'une taille maximale de 16 caractères.

A l'inverse, le nom d'affichage, au format texte JSON, est affiché publiquement dans diverses situations.

Critères[modifier | modifier le wikicode]

Le critère de l'objectif détermine son comportement, ce qu'il va compter :

Critère Description Peut être modifié
dummy Ce score n'est changé que par les commandes, et non par des évènements en jeu comme les morts. Ceci est utile pour créer des variables facilement manipulables. Oui
trigger Le score ne peut être changé que par les commandes, et pas par les événements de jeu comme la mort. La commande /trigger peut être utilisée par un joueur pour mettre ou incrémenter/décrémenter leurs propres scores dans un objectif avec un critère. La commande /trigger ne marche pas si cet objectif n'est pas mis en "enabled" pour le joueur qui l'utilise, et l'objectif va être "disabled" un fois qu'il l'utilise une fois. Noter que la commande /trigger peut être utilisée par des joueurs ordinaires même si la triche est désactivée et s'ils ne sont pas des opérateurs. C'est utile pour les interfaces de la commande /tellraw. Oui
deathCount Ce score s'incrémente automatiquement à chaque mort du joueur concerné. Oui
playerKillCount Ce score s'incrémente automatiquement pour un joueur quand il tue une personne. Oui
totalKillCount Ce score s'incrémente automatiquement pour un joueur quand il tue une personne ou une créature. Oui
health Représente le nombre de demi-cœurs du joueur ; varie de 0 à 20 (ou plus si le joueur possède les effets Absorption/Bonus de vie). Non
armor Calcule le nombre total de points de défense que fournissent les pièces d'armure portées, la valeur étant comprise entre 0 et 20 Non
level Correspond au nombre de niveaux d'expérience que possède le joueur. Non
xp Correspond au nombre de points d'expérience obtenus. Non
food Calcule le niveau de faim du joueur, la valeur étant comprise entre 0 et 20 (barre de faim pleine) Non
air Démarre à 300 (hors de l'eau) et diminue ensuite de 1 par tick aussi longtemps que le joueur a la tête sous l'eau (se réinitialise lorsque le joueur sort de l'eau). Non
minecraft.custom:* Les critères sont reliés avec les statistiques d'un joueur. * doit être remplacé par l'un des identifiants de la liste ci-dessous; un critère complet ressemblera à minecraft.custom:minecraft.animals_bred

Le score augmente automatiquement pour un joueur quand il réalise l'action spécifiée par le sous-critère.

Oui
minecraft.crafted:* Le sous-critère est l'identifiant de l'objet ou du bloc fabriqué ou cuit (le préfixe minecraft. est requis ici). La valeur du sous-critère augmente lorsque l'objet est déplacé dans l'inventaire du joueur depuis un établi, un fourneau ou la partie artisanat de l'inventaire. La valeur du sous-critère augmente d'un point lorsque l'objet est déplacé en cliquant, et de 2 lorsque l'objet est placé dans l'inventaire par un shift + clic.

Voir la liste des identifiants d'objet. Voir la liste des identifiants de bloc.

Certains objets, tels que les lingots de fer, les pioches, et les gâteaux, ont des équivalents en succès qui augmentent le score du même nombre de points.

Oui
minecraft.used:* Le sous-critère est l'identifiant de l'objet ou du bloc utilisé (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants d'objet.

Le score augmente d'un lorsque l'objet est utilisé. Une utilisation peut correspondre à :

En revanche, les utilisations d'objets sur des créatures (laisse, armure, selle, etc.) ne sont pas considérées comme une utilisation par le scoreboard.

Voir la liste des identifiants d'objet. Voir la liste des identifiants de bloc.

Oui
minecraft.broken:* Le sous-critère est l'identifiant d'un objet possédant une durabilité (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants d'objet.

Le score augmente d'un lorsque la durabilité de l'objet devient négative, et que celui-ci disparaît. Ce sous-critère peut être utilisée sur les armures, les outils ou encore les épées et les arcs.

Voir la liste des identifiants d'objet.

Oui
minecraft.mined:* Le sous-critère est l'identifiant du bloc miné (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants de bloc.

Le score augmente d'un lorsque le joueur mine un bloc, c'est-à-dire qu'il brise le bloc à l'aide d'un outil adapté à la récupération du bloc. Cela fonctionne aussi avec certains blocs ne pouvant être récupérés sans l'enchantement « Toucher de soie » (Silk Touch), tels que les vitres, la glace, les pastèque ou encore les bibliothèques et quand la règle de jeu doTileDrops est définie à false ; cependant cela ne fonctionne pas en mode Créatif.

Voir la liste des identifiants de blocs.

Oui
minecraft.killed:* Le sous-critère est le nom de l'entité (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants d'entité.

Le score augmente d'un lorsque le joueur a tué l'entité concernée.

Voir la liste des identifiants d'entités.

Oui
minecraft.killed_by:* Le sous-critère est le nom de l'entité (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants d'entité.

Le score augmente d'un lorsque le joueur est tué par l'entité concernée. A noter que les entités passives (telles que les moutons, les vaches, etc...) apparaissent dans cette liste, bien qu'elles soient incapables de blesser le joueur.

Voir la liste des identifiants d'entités.

Oui
minecraft.picked_up:* Le sous-critère est lidentifiant de l'objet ou du bloc ramassé (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants d'objet.

Le score augmente lorsqu'un joueur ramasse un objet au sol.

Voir la liste des identifiants d'objet. Voir la liste des identifiants de bloc.

Oui
minecraft.dropped:* Le sous-critère est lidentifiant de l'objet ou du bloc jeté (le préfixe minecraft. est requis ici). * doit être remplacé par l'un des identifiants d'objet.

Le score augmente lorsqu'un joueur jette un objet au sol.

Voir la liste des identifiants d'objet. Voir la liste des identifiants de bloc.

Oui
teamkill.* Le sous-critère est la couleur d'une équipe. Les couleurs valides dans la liste ci-dessous, * doit être remplacé par l'un des noms de couleur:

Le score augmente lorsqu'un joueur tue un membre d'une équipe portant la couleur spécifiée.

Oui
killedByTeam.* Le sous-critère est la couleur d'une équipe. Les couleurs valides dans la liste ci-dessous, * doit être remplacé par l'un des noms de couleur:

Le score augmente lorsqu'un joueur est tué par un membre d'une équipe portant la couleur spécifiée.

Oui

Le score d'un joueur défini par un objectif peut être changé via les commandes, quel que soit son critère (bien sûr, health ne peut pas être défini). Le score peut être incrémenté ou décrémenté d'une valeur, ou mis à une valeur définie. Les blocs de commande peuvent aussi être utilisés pour vérifier le score d'un joueur pour un objectif, avec l'argument scores={nom=valeur}. Dans cet argument, nom est le nom interne de l'objectif à tester. scores= teste si le score du joueur est dans l'intervalle spécifié par valeur. Par exemple, /execute if entity @p[scores={mort=1..5}] dans un bloc de commande avec un comparateur en sortie, le comparateur enverra du courant si le joueur est mort au moins une fois et pas plus de cinq fois, en prenant en compte que "mort" est un objectif de critère "deathCount".

Emplacements d'affichage[modifier | modifier le wikicode]

Il ne peut y avoir qu'un seul objectif dans chacun des emplacements d'affichage.

Nom de l'emplacement Description
list
Affiche un nombre jaune sans titre sur le menu tab (liste des joueurs).
sidebar
Affiche sur le côté droit de l'écran, les joueurs sont classés, il y a un titre de description (voir plus haut : nom d'affichage)
sidebar.team.<couleur>
Il y a 16 slots pour les équipes. Cela fait exactement la même chose que pour le sidebar, mais seulement pour les joueurs qui sont dans l'équipe qui utilise une couleur spécifique (par exemple, "sidebar.team.green" ne s'affiche que pour les joueurs de l'équipe "green" (green = vert en anglais)). Les couleurs valides sont :
belowName
Montre le score avec le nom d'affichage de l'objectif en dessous du nom du joueur, ce n'est visible que dans un rayon de 10 blocs autour du joueur.
Les trois emplacements d'affichage. On remarque que les scores n'ont pas la gestion du pluriel.
Les trois emplacements d'affichage.

Équipes[modifier | modifier le wikicode]

Les équipes sont une combinaison d'un nom, d'un nom d'affichage, d'un préfixe, d'un suffixe, de l'option friendly fire, et d'une liste des joueurs qui sont dans l'équipe.

De même que pour les objectifs, le nom et le nom d'affichage des équipes sont sensibles à la casse, nom est un mot simple utilisé dans les commandes, et le nom d'affichage peut être composé de plusieurs mots et être utilisé plusieurs fois.

Le préfixe et le suffixe sont insérés respectivement avant et après le nom de chaque joueur de l'équipe. Sans utiliser d'éditeur externe, les seuls préfixes possibles sont les codes de mise en forme pour les couleurs d'équipe, et le seul suffixe possible est le code de reset (donc les caractères suivant le nom du joueur ne seront pas formatés). Les effets des préfixes et des suffixes seront visibles sur le nom des joueurs dans le chat, dans la liste des joueurs connectés (touche Tab par défaut), dans l'emplacement d'affichage "sidebar", et au-dessus de la tête des joueurs.

L'option friendly fire autorise ou non les membres d'une même équipe à s'infliger des dommages. Sa valeur par défaut, "true", n'affectera pas le mécanisme de PvP. Si l'option est à "false", au contraire, les joueurs d'une même équipe ne pourront pas s'infliger de dommages entre eux par des attaques de mêlée ou arcs. Notez que les joueurs de la même équipe peuvent toujours s'infliger entre eux des effets négatifs en utilisant les potions, même si l'option friendly fire est à "false".

Il est important de préciser qu'un joueur ne peut pas être dans deux équipes à la fois.

Les blocs de commande peuvent être utilisés pour vérifier si un joueur est dans une équipe, au moyen de l'argument "team"; le caractère "!" peut être placé avant un nom d'équipe pour vérifier que le joueur n'est pas dans l'équipe. Par exemple, "testfor @p[team=rouge]" dans un bloc de commande allumera un comparateur placé en sortie si le joueur le plus proche est dans l'équipe "rouge". De la même manière, "testfor @p[team=!rouge,team=!bleue]" allumera un comparateur placé en sortie si le joueur le plus proche n'est ni dans l'équipe "rouge", ni dans l'équipe "bleue". Aussi, on peut vérifier si un joueur n'est dans aucune équipe : l'argument "team" doit être vide, comme ceci : "testfor @p[team=]". De même, "testfor @p[team=!]" vérifiera si le joueur est dans une équipe.

Format NBT[modifier | modifier le wikicode]

Le fichier scoreboard.dat dans le dossier "data" d'une sauvegarde d'un monde Minecraft contient les données du tableau de score :


  • L'ensemble des données (racine).

    •  data : Les données du tableau de score.

      •  DisplaySlots : Un ensemble d'emplacements d'affichage qui affichent les objectifs spécifiés.

        •  slot_0: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "list".

        •  slot_1: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar".

        •  slot_2: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "belowName".

        •  slot_3: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.black".

        •  slot_4: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.dark_blue".

        •  slot_5: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.dark_green".

        •  slot_6: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.dark_aqua".

        •  slot_7: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.dark_red".

        •  slot_8: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.dark_purple".

        •  slot_9: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.gold".

        •  slot_10: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.gray".

        •  slot_11: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.dark_gray".

        •  slot_12: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.blue".

        •  slot_13: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.green".

        •  slot_14: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.aqua".

        •  slot_15: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.red".

        •  slot_16: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.light_purple".

        •  slot_17: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.yellow".

        •  slot_18: Le nom interne de l'objectif (ou des objectifs) affiché(s) dans l'emplacement "sidebar.team.white".

      •  Objectives : Une liste composé d'informations représentant le(s) objectif(s).

        • Un objectif.

          •  CriteriaName : Le critère de cet objectif. Doit correspondre aux noms de critères ici.

          •  DisplayName : Le nom d'affichage de cet objectif. Si il n'a pas été spécifié à la création de l'objectif, alors il sera identique au nom de l'objectif (ci-dessous). Il s'agit d'une expression Texte JSON.

          •  Name : Le nom interne de cet objectif.

          •  RenderType : La façon dont le score est affiché. Peut être "integer" ou "hearts", mais par défaut "integer".

      •  PlayerScores : Une liste des informations représentant les scores des joueurs suivis par le système de tableau de score.

        • Une paire d'un joueur suivi et d'un objectif avec un score.

          •  Locked : 1 ou 0 (vrai/faux) - faux si cet objectif est "activé". Uniquement utilisé pour les objectifs avec le critère trigger, où cela doit être faux avant qu'un joueur puisse utiliser la commande /trigger.

          •  Name : Le nom du joueur qui a ce score pour cet objectif.

          •  Objective : Le nom interne de l'objectif dont le joueur obtient le score.

          •  Score : Le score qu'a ce joueur pour cet objectif.

      •  Teams : Une liste d'informations représentant les équipes.

        • Une équipe.

          •  Players : Une liste des noms des joueurs dans cette équipe.

            • Le nom d'un joueur de cette équipe.

          •  AllowFriendlyFire: 1 ou 0 (vrai/faux) - vrai si les joueurs d'une même équipe ne peuvent plus s'infliger de dégâts.

          •  CollisionRule: La valeur de l'option de règle de collision de cette équipe. Les options valides sont : always, pushOwnTeam, never, pushOtherTeams.

          •  DeathMessageVisibility: La valeur de l'option deathMessageVisibility de cette équipe. Les options valides sont : never, hideForOtherTeams, hideForOwnTeam, always

          •  DisplayName : Le nom d'affichage de cette équipe. Si il n'a pas été spécifié à la création de l'équipe, alors il sera identique au nom de l'équipe (ci-dessous). Il s'agit d'une expression Texte JSON.

          •  MemberNamePrefix : Le préfixe devant les noms des joueurs de l'équipe. Il s'agit d'une expression Texte JSON.

          •  MemberNameSuffix : Le suffixe derrière les noms des joueurs de l'équipe. Il s'agit d'une expression Texte JSON.

          •  Name : Le nom interne de cette équipe.

          •  NameTagVisibility: La valeur de l'option NameTagVisibility de cette équipe. Les options valides sont : never, hideForOtherTeams, hideForOwnTeam, always

          •  TeamColor: La couleur du texte ("black", "dark_blue", etc.) donnée à l'équipe. N'existe pas si aucune couleur n'est définie.

          •  SeeFriendlyInvisibles: 1 ou 0 (vrai/faux) - vrai si les joueurs d'une même équipe ne se voient (presque) plus.

      •  dataVersion : Numéro de version du fichier.

Historique[modifier | modifier le wikicode]

Version officielle
1.5 13w04aAjout du tableau de score.
1.13 18w06aSéparation de la commande /scoreboard en /scoreboard, /team et /tag.

Galerie[modifier | modifier le wikicode]

Références[modifier | modifier le wikicode]