Minecraft Wiki
Advertisement

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.

Objectifs

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 et doit être composé d'un seul mot.

A l'inverse, le nom d'affichage peut être formé de plusieurs mots, et il est affiché publiquement dans diverses situations. Il est aussi sensible à la casse.

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 event flags.
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
Varie de 0 à 20 (Ou plus si le joueur possède absorbtion/vie supplémentaire) (représente le nombre de demi-cœurs du joueur)
Non

Dans la version 1.7, des centaines de nouveaux critères ont été ajoutés.[1] Ces critères utilisent les systèmes de statistiques et de trophées pour former des critères composés[2]. Contrairement au critère simple au-dessus, le critère composé a plusieurs parties, séparées par des points ("."). Par exemple, "stat.entityKilledBy.Zombie" est un critère composé, qui va être augmenté quand le joueur sera tué par un zombie[3].

Liste des critères composés connus :

Critère Description Lecture seule ? Nombre de sous-critères
achievement Les sous-critères acceptés sont : "makeBread", "bakeCake", "diamondsToYou", "killCow", "portal", "buildFurnace", "buildSword", "cookFish", "enchantments", "mineWood", "openInventory", "exploreAllBiomes", "buildWorkBench", "theEnd", "blazeRod", "spawnWither", "buildBetterPickaxe", "acquireIron", "theEnd2", "bookcase", "flyPig", "ghast", "snipeSkeleton", "diamonds", "killWither", "fullBeacon", "buildHoe", "breedCow", "onARail", "overkill", "killEnemy", "potion", "buildPickaxe". La valeur dépend du nombre de réalisation du trophée (par exemple, si le joueur obtient 3 blocs de bois, la valeur du sous-critère "mineWood" sera de 3). Non 33
stat Les critères sont reliés avec les statistiques d'un Joueur. Les sous-critères acceptés sont : "damageDealt", "damageTaken", "leaveGame", "minecartOneCm", "swimOneCm", "walkOneCm", "horseOneCm", "pigOneCm", "flyOneCm", "boatOneCm", "fallOneCm", "climbOneCm", "diveOneCm", "fishCaught", "junkFished", "treasureFished", "playOneMinute", "playerKills", "mobKills", "animalsBred", "jump", "drop", "deaths".

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

Non 23
stat.craftItem Le sous-critère est l'ID de l'objet ou du bloc fabriqué. La valeur du sous-critère augmente lorsque le bloc ou l'objet est déplacé dans l'inventaire du joueur depuis un établi, un four ou la partie artisanat de l'inventaire. Dans le cas d'une recette demandant un ingrédient et donnant 4 produit par exemple, le score augmentera d'un point, et non 4. 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/click. Non 202
stat.useItem Le sous-critère est l'ID de l'objet ou du bloc utilisé. Toutes les ID de blocs existants peuvent être utilisées. Le score augmente d'un lorsque l'objet est utilisé. Une utilisation peut correspondre à:

En revanche, certaines l'usage d'objets ne sont pas considérées comme une utilisation par le scoreboard. C'est le cas de la consommation de n'importe quelle nourriture ou potion; ou bien lorsqu'un item est créé lors de son utilisation, c'est le cas d'une carte qui serait utilisée pour la première fois, ou d'un seau qui peut se remplir de lave, d'eau ou bien de lait, ou encore de la consommation d'un ragoût de champignons.

Non 320
stat.breakItem Le sous-critère est l'ID d'un objet possédant une durabilité. 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. Non 50
stat.mineBlock Le sous-critère est l'ID de l'objet ou du bloc miné. Toutes les ID de blocs existants peuvent être utilisées. 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, tels que les vitres, la glace, les pastèque ou encore les bibliothèques. Non 134
stat.killEntity Le sous-critère est le nom de l'entité. Les noms valides sont :

"Silverfish", "Ozelot", "Zombie", "Blaze", "Pig", "Creeper", "Cow", "Ghast", "Witch", "Squid", "Spider", "Villager", "Enderman", "LavaSlime", "PigZombie", "Wolf", "Sheep", "EntityHorse", "Chicken", "Slime", "Skeleton", "Bat", "MushroomCow", "CaveSpider". Le score augmente d'un lorsque le joueur a tué l'entité concernée.

Non 24
stat.entityKilledBy Le sous-critère est le nom de l'entité. Les noms valides sont :

"Silverfish", "Ozelot", "Zombie", "Blaze", "Pig", "Creeper", "Cow", "Ghast", "Witch", "Squid", "Spider", "Villager", "Enderman", "LavaSlime", "PigZombie", "Wolf", "Sheep", "EntityHorse", "Chicken", "Slime", "Skeleton", "Bat", "MushroomCow", "CaveSpider". 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.

Non 24

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 les arguments score_nom et score_nom_min. Dans ces arguments, nom est le nom interne de l'objectif à tester. score_nom teste si le score du joueur ne dépasse pas le nombre de points spécifié, et score_nom_min testera si le score du joueur atteint un minimum spécifié. Par exemple, "testfor @p[score_mort=5,score_mort_min=1]" 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

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)
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. On remarque que les scores n'ont pas la gestion du pluriel.

Équipes

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 formatage 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, arcs ou potion de dégâts volatile. 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". Notez aussi que cette option n'est pas sauvegardée quand un serveur est redémarré : l'option retournera à true et le restera sauf si elle est modifiée manuellement (pour la session en cours).

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.

Syntaxe des commandes

Commande Description
scoreboard <objectives|players|teams> La commande de base du système de tableau de score.
scoreboard objectives list Liste tous les objectifs existants, avec leur critère et leur nom d'affichage.
scoreboard objectives add <nom> <critère> [nom d'affichage...] Crée un nouvel objectif avec le nom interne nom, le critère spécifié, et le nom d'affichage (optionnel). Si le nom d'affichage n'est pas spécifié, ce sera le même que le nom. Voir ci-dessus la description de ces arguments. Tous les arguments sont sensibles à la casse.
scoreboard objectives remove <nom> Supprime les objectifs portant le nom nom dans le système de tableau de score. Les données sont supprimées de la liste des objectifs, ainsi que le score du joueur y correspondant, et si l'objectif est affiché quelque part, il ne sera plus visible.
scoreboard objectives setdisplay <emplacement d'affichage> [objectif] Affiche les infos du score objectif à l'endroit spécifié emplacement d'affichage. Les emplacements disponibles sont "list", "sidebar" et "belowName". Voir plus haut "Emplacements d'affichage". Notez que le paramètre objectif est optionnel : si aucun objectif n'est défini, l'emplacement d'affichage cité sera vidé (il retournera à son statut par défaut).
scoreboard players list Affiche tous les joueurs suivis par un objectif par le système de tableau de score.
scoreboard players set <joueur> <objectif> <score> Met le score dans l'objectif du joueur en remplacant le score précédent, s'il y en a un.
scoreboard players add <joueur> <objectif> <combien> Ajoute combien au score de l'objectif du joueur. combien doit être supérieur à 0.
scoreboard players remove <joueur> <objectif> <combien> Enlève combien au score de l'objectif du joueur. combien doit être supérieur à 0.
scoreboard players reset <joueur> Supprime tous les scores du joueur. Notez que ceci s'applique à tous les objectifs, et ne met pas simplement les scores à 0 : ceci enlève le joueur du système de scoreboard.
scoreboard teams list [nom de l'équipe] Liste toutes les teams, avec leur nom d'affichage et le nombre de joueurs qu'il y a dedans. L'argument optionnel peut être utilisé pour lister les joueurs de l'équipe nom de l'équipe.
scoreboard teams add <nom de l'équipe> [nom d'affichage] Crée une équipe avec le nom interne nom de l'équipe et un nom d'affichage (optionnel).
scoreboard teams remove <nom de l'équipe> Supprime l'équipe nom de l'équipe du système de tableau de score.
scoreboard teams empty <nom de l'équipe> Enlève tous les joueurs de l'équipe nom de l'équipe. Le texte d'aide donne la sous-commande "clear" et non "empty" ; bug ? Cependant "empty" fonctionne contrairement à "clear".
scoreboard teams join <nom de l'équipe> [joueur(s)] Met le(s) joueur(s) dans l'équipe nom de l'équipe. Si aucun joueur n'est spécifié alors le joueur exécutant la commande est ajouté dans l'équipe nom de l'équipe.
scoreboard teams leave <nom de l'équipe> [joueur(s)] Enlève le(s) joueur(s) de l'équipe nom de l'équipe. Si aucun joueur n'est spécifié alors le joueur exécutant la commande est enlevé de l'équipe nom de l'équipe.
scoreboard teams option <nom de l'équipe> <friendlyfire|color|seeFriendlyInvisibles> <valeur> La commande de base pour gérer les options des équipes.
scoreboard teams option <nom de l'équipe> friendlyfire <true|false> Quand l'option est mise à false, les joueurs dans l'équipe ne peuvent pas s'infliger de dégâts directs par arme de mêlée, arc ou potion de dégâts volatile, mais ils peuvent toujours s'infliger des effets négatifs entre eux.
scoreboard teams option <nom de l'équipe> color <couleur> Ceci colorera les noms de tous les joueurs dans l'équipe nom de l'équipe dans le chat, dans la liste des joueurs (touche Tab par défaut), au-dessus de leur tête et dans la "sidebar". Les couleurs sont : "black", "dark_blue", "dark_green", "dark_aqua", "dark_red", "dark_purple", "gold", "gray", "dark_gray", "blue", "green", "aqua", "red", "light_purple", "yellow", et "white". Les autres valeurs valides sont "reset" (les noms seront affichés dans la couleur par défaut et sans formatage), "obfuscated" (même effet que celui vu dans certaines parties cachées du poème de l'Ender), "bold" (gras), "strikethrough" (barré), "underline" (souligné), et "italic" (italique). Voir Codes de formatage pour plus d'informations sur les différents aspects.
scoreboard teams option <nom de l'équipe> seeFriendlyInvisibles <true|false> Quand l'option est mise à "true", les joueurs d'une même équipe peuvent se voir même s'ils sont invisibles. Le joueur peut également se voir. En réalité, les joueurs deviennent semi-transparents, ils ne sont donc pas complètement opaques. L'option est à "true" par défaut. Aspect.

Format NBT

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.

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

        • Un objectif.

          •  CriteriaName : Le critère de cet objectif. Doit être "dummy", "deathCount", "playerKillCount", "totalKillCount", ou "health".

          •  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).

          •  Name : Le nom interne de cet objectif.

      •  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.

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

          •  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.

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

        • Une équipe.

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

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

          •  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).

          •  Name : Le nom interne de cette équipe.

          •  Prefix : Le préfixe devant les noms des joueurs de l'équipe. En général, c'est un code de formatage.

          •  Suffix : Le suffixe derrière les noms des joueurs de l'équipe. En général, c'est le code de reset, "§r", pour éviter au formatage de s'étendre.

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

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

      •  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".

Historique

r
1.513w04aAjout du tableau de score.

Galerie

Références

Advertisement