IDs de bloco, item e entidade: namespaces, estados de bloco e os que mudam
Um id nem sempre é o nome do item, e o id de um bloco não é o mesmo que o id do seu item. As regras de nomenclatura, os renomeados que quebram comandos antigos e onde os estados entram.
Todo comando que falha com "Unknown item" ou "Unknown block" é um problema de id, e as regras são mais sutis do que "tudo em minúsculas com underline".
O namespace não é opcional nos dados
minecraft:diamond_sword
my_pack:custom_sword
Os comandos permitem omitir minecraft: — /give @s diamond_sword funciona — e os arquivos JSON também: um diamond_sword sozinho numa loot table ou receita é resolvido como minecraft:diamond_sword. Mesmo assim, escreva o namespace em todo lugar; isso mantém seus próprios ids sem ambiguidade e deixa um erro de digitação no namespace fácil de identificar.
Id de bloco e id de item são coisas diferentes
Alguns blocos não têm item, e alguns itens colocam um bloco diferente:
| Item | Bloco colocado |
|---|---|
minecraft:wheat_seeds | minecraft:wheat |
minecraft:redstone | minecraft:redstone_wire |
minecraft:string | minecraft:tripwire |
minecraft:flower_pot | minecraft:flower_pot, mas as variantes em vaso são blocos separados |
| — | minecraft:water, minecraft:fire não têm item (air só existe como item na forma de pilha vazia) |
/setblock usa o id de bloco. /give usa o id de item. Usar o errado é a causa mais comum do "esse id não existe" quando a coisa claramente existe.
Estados de bloco ficam entre colchetes
/setblock ~ ~ ~ oak_stairs[facing=east,half=top,waterlogged=true]
Os estados são propriedades do bloco, não do item — a rotação de uma escada comum é decidida no momento da colocação. A exceção é um item que carrega um componente block_state, cujas propriedades são aplicadas depois da colocação. Propriedades não especificadas assumem seus valores padrão.
waterlogged pega muita gente: ele existe em escadas, lajes, cercas e dezenas de outros blocos, e definir um bloco sem ele remove a água que estava ali.
Renomeados que quebram comandos antigos
Alguns ids mudaram e os antigos simplesmente não são mais reconhecidos:
| Antigo | Atual |
|---|---|
grass | short_grass |
grass_path | dirt_path |
scute | turtle_scute |
sign | oak_sign e similares |
grass é o mais doloroso, porque grass_block ainda existe e é outra coisa. Comandos antigos que usavam grass para a planta agora falham como bloco desconhecido.
Ids de entidade
Em sua maioria previsíveis, com exceções: minecraft:snow_golem e não snowman, minecraft:mooshroom e não mushroom_cow, e cada projétil é uma entidade própria — minecraft:arrow, minecraft:spectral_arrow, minecraft:trident.
Entidades que tecnicamente são block entities — baús, funis, placas — não aparecem na lista de entidades e não podem ser alvo de /summon. Elas são colocadas como blocos e editadas com /data.
Tags vencem listas
#minecraft:planks #minecraft:logs #minecraft:wool
#minecraft:doors #minecraft:beds #minecraft:swords
Sempre que um comando ou JSON aceita uma tag, usá-la faz com que tudo continue funcionando quando a Mojang adiciona novos tipos de madeira. Fixar os treze ids de tábua na mão, não.
Pesquise qualquer id de bloco, item e entidade, com estados de bloco e as tags às quais cada um pertence, no Navegador de IDs de Bloco, Item e Entidade.