Nomes De Blocos - Quais são os tipos de blocos e a finalidade de cada um?
Quais são os tipos de blocos e a finalidade de cada um?

O que são nomes de blocos e por que todo mundo se confunde

Nomes de blocos são os identificadores internos que o Minecraft usa para cada bloco no jogo. O problema é que existem várias camadas de nomenclatura e elas não conversam entre si da forma que qualquer documentação nova tentaria fazer você acreditar. Tem o nome técnico (como stone), o nome em inglês que aparece nos códigos, o display name que aparece na interface, e ainda tem os dados de versão que mudaram drasticamente entre o Java e o Bedrock Edition. A gente costuma chamar de "nomes de blocos" quando na verdade está buscando uma lista de IDs ou nomes técnicos. Isso é importante porque afeta diretamente o tipo de comando que você vai escrever. Um comando de /give precisa do nome técnico do bloco. Um /setblock também. Mas um datapack ou uma resource pack trabalha com namespaces e paths que são outra coisa completamente diferente.

Lista de nomes de blocos essenciais para comandos

Se você quer apenas usar comandos no jogo, aqui estão os que realmente importam no dia a dia. Blocos comuns que todo mundo precisa saber: stone, dirt, grass_block, sand, water, lava, oak_planks, cobblestone, iron_ingot, diamond, tnt, obsidian, glass, sandstone, redstone_block, command_block, barrier, lightning_rod, amethyst_block. O sufixo "_block" foi introduzido a partir da versão 1.13 na atualização Aquatic. Antes disso, simplesmente era stone, iron_ingot, etc. Sem o sufixo. Se você está lidando com servidores mais antigos ou scripts de automação que precisam funcionar em múltiplas versões, essa é a primeira armadilha. Um script que usa iron_ingot funciona na 1.12 e anterior, mas quebra na 1.13+ porque o ID mudou para iron_ingot sem o "_block" — na verdade espera, vou corrigir: na 1.12 o nome era simplesmente iron_ingot e continua sendo iron_ingot nas versões mais novas. O que mudou foi para blocos como stone que virou stone (igual) mas grass virou grass_block. A diferença é mais visível em materiais como wool que permaneceu, versus sponge que não mudou, mas melon que virou melon_block em alguns contextos.

Na prática, o jeito mais seguro de descobrir o nome exato de um bloco que você quer usar é colocar o bloco no inventário, abrir o chat e digitar /give @s {nome_do_bloco} — mas isso não ajuda se você não sabe o nome. O método real é segurar o bloco e digitar /data get entity @s SelectedItem (Bedrock) ou usar /item get no Java 1.20.5+. Em servers com plugins como PlugIn, você pode usar comandos como /blockdata ou simplesmente consultar a wiki oficial.

Como baixar e usar uma lista completa de nomes de blocos

A fonte mais confiável é a própria wiki oficial do Minecraft (minecraft.wiki/w/Block). Lá você encontra a lista completa atualizada para a versão mais recente, com todos os estados possíveis de cada bloco. Não precisa de plugin, não precisa de programa externo. É só acessar e filtrar por edição (Java ou Bedrock) e versão. Se você quer uma lista para consulta rápida offline ou para integrar em scripts de automação, existem arquivos JSON disponibilizados pela comunidade. O site minecraft.tools oferece exportações em formato JSON e CSV. Também há repositórios no GitHub com listas atualizadas automaticamente a cada release, como o minecraft-data do projeto mineflayer, que é amplamente usado por desenvolvedores de bots.

👉 Clique no botão abaixo para saber mais sobre o assunto!

O problema com arquivos de terceiros é que eles podem estar desatualizados. Eu já caí nessa Armadilha em 2023 quando atualizei um servidor para a 1.20.4 e um script de automação parou de funcionar porque o nome cherry_planks não existia na lista que eu estava usando — que era de Março de 2023. O workaround foi simplesmente comparar a saída do comando /tag ou consultar o changelog oficial da Mojang para identificar os blocos adicionados naquela atualização específica. Levei cerca de 20 minutos para atualizar a lista manualmente.

Pegadinhas que ninguém conta sobre nomes de blocos

A primeira pegadinha é que nomes de blocos com dados (data values) foram completamente removidos na 1.13. Antes, um bloco de lã vermelha era wool:14 ou wool_red. Depois da mudança, virou simplesmente red_wool. Se você tem algum tutorial antigo dizendo para usar wool:1, esqueça. Isso não funciona em nenhuma versão pós-1.12.6. A segunda pegadinha, e essa é mais sutil, é que o mesmo bloco pode ter nomes diferentes dependendo da engine. No Java Edition, o bloco de água é water. No Bedrock Edition, também é water. Mas o bloco de lava é lava em ambos. Já o bloco stone_bricks existe no Java, mas no Bedrock ele pode ser referenciado de forma ligeiramente diferente dependendo da versão exata. A diferença mais crítica é que no Bedrock Edition, blocos como sea_pickle têm comportamento de ID diferente — eles usam um formato de nbt que não existe no Java.

Outro ponto que passa despercebido: blocos com variantes (como wood, log, planks) agora usam nomes compostos. oak_log, birch_log, spruce_log, jungle_log, acacia_log, dark_oak_log, mangrove_log, cherry_log. Cada tipo de madeira tem seu próprio nome técnico. Não existe mais um único log com data value. Para quem trabalha com datapacks ou resource packs, o namespace é o conceito mais importante. Todos os nomes de blocos são prefixados pelo namespace, que no caso padrão é minecraft. Então o nome completo seria minecraft:stone. Em commands que aceitam nomes completos, o prefixo é opcional se você estiver no namespace padrão. Mas em addons ou datapacks personalizados, o namespace muda e aí o nome fica meumod:minhadimensional_stone ou algo semelhante.

O que fazer quando o nome simplesmente não funciona

Às vezes você digita o nome que acha correto e o comando falha com "Unknown block". Isso acontece por vários motivos. O mais comum é erro de digitação — crafting_table vs crafting_table (com ou sem underline no lugar errado). Outro motivo é que o bloco não existe naquela versão específica. Blocos adicionados em atualizações futuras não funcionam em servidores mais antigos, obviamente. Se o comando falha, o diagnóstico mais rápido é verificar a versão do seu servidor e consultar a wiki naquela versão específica. A wiki permite selecionar a versão no menu lateral. Isso evita a frustração de tentar usar um nome que só existe a partir da 1.20 e seu servidor está na 1.19.

Também vale lembrar que blocos como barrier, command_block, light, structure_void e outros blocos funcionais são acessíveis apenas com cheats ativados ou permissões de operador. Se você tentar dar um /give sem permissão, o jogo não retorna erro de "bloco não encontrado" — ele simplesmente não executa o comando. Isso confunde muita gente que acha que o nome está errado quando na verdade é permissão. Para listas completas e atualizadas, a wiki do Minecraft continua sendo a referência definitiva. Qualquer outra fonte é secundária e precisa ser validada contra ela. O tempo que você perde verificando a versão certa da wiki compensa qualquer atalho que tentar usar.