Ids de blocs, d'objets et d'entités : namespaces, états de bloc, et ceux qui diffèrent
Un id n'est pas toujours le nom de l'objet, et l'id d'un bloc n'est pas le même que celui de son objet. Les règles de nommage, les renommages qui cassent les anciennes commandes, et où se situent les états.
Chaque commande qui échoue avec « Unknown item » ou « Unknown block » est un problème d'id, et les règles sont plus subtiles qu'« en minuscules avec des tirets bas ».
Le namespace n'est pas facultatif dans les données
minecraft:diamond_sword
my_pack:custom_sword
Les commandes vous permettent d'omettre minecraft: — /give @s diamond_sword fonctionne — et les fichiers JSON aussi : un diamond_sword seul dans une table de butin ou une recette se résout en minecraft:diamond_sword. Écrivez quand même le namespace partout ; cela garde vos propres ids non ambigus et une faute de frappe dans un namespace facile à repérer.
L'id de bloc et l'id d'objet sont deux choses différentes
Certains blocs n'ont pas d'objet, certains objets posent un bloc différent :
| Objet | Bloc posé |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot, mais les variantes en pot sont des blocs distincts |
| — | minecraft:water, minecraft:fire n'ont pas d'objet (air n'existe comme objet que sous forme de pile vide) |
/setblock prend l'id de bloc. /give prend l'id d'objet. Utiliser le mauvais est la source la plus courante de « cet id n'existe pas » alors que la chose existe manifestement.
Les états de bloc s'écrivent entre crochets
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
Les états sont des propriétés du bloc, pas de l'objet — l'orientation d'un objet escalier simple est décidée à la pose. L'exception est un objet portant un composant block_state, dont les propriétés sont appliquées après la pose. Les propriétés non spécifiées prennent leurs valeurs par défaut.
waterlogged piège les gens : il existe sur les escaliers, les dalles, les barrières et des dizaines d'autres, et poser un bloc sans lui supprime l'eau qui s'y trouvait.
Les renommages qui cassent les anciennes commandes
Une poignée d'ids ont changé et les anciens sont simplement inconnus désormais :
| Ancien | Actuel |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_sign et compagnie |
grass est le plus douloureux, car grass_block existe toujours et est une chose différente. Les anciennes commandes utilisant grass pour la plante échouent maintenant comme bloc inconnu.
Ids d'entités
Globalement prévisibles, avec des exceptions : minecraft:snow_golem et non snowman, minecraft:mooshroom et non mushroom_cow, et chaque projectile est sa propre entité — minecraft:arrow, minecraft:spectral_arrow, minecraft:trident.
Les entités qui sont techniquement des entités de bloc — coffres, entonnoirs, panneaux — n'apparaissent pas dans la liste des entités et ne peuvent pas être /summon. Elles sont posées en tant que blocs et modifiées avec /data.
Les tags valent mieux que les listes
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
Partout où une commande ou un JSON accepte un tag, l'utiliser survit à l'ajout de nouveaux types de bois par Mojang. Coder en dur les treize ids de planches ne le fait pas.
Recherchez chaque id de bloc, d'objet et d'entité, avec les états de bloc et les tags auxquels chacun appartient, dans le Block, Item & Entity ID Browser.