O Guia do Principiante para Blocos de Comando no Minecraft
O Minecraft é uma das melhores maneiras de introduzir jovens e novas pessoas na codificação. Blocos de comando são fáceis de aprender e usar, e a programação Java está ao virar da esquina com mods Minecraft e plugins Bukkit. É também um lugar muito divertido para codificadores experientes mexerem.
O que são blocos de comando e por que devo usá-los?
Os blocos de comandos são um componente redstone que executa comandos do console quando ligados. Os comandos do console podem ser executados a partir da janela de bate-papo, executando-os com uma barra invertida, '/'. Comandos são usados para modificar o mundo do jogo de maneiras que não são possíveis à mão e, quando usados corretamente em blocos de comando, dão ao Minecraft um tipo de linguagem de programação psuedo. O código consiste em duas coisas: lógica e execução, e a maioria das linguagens de programação exige que ambas sejam escritas em texto. A codificação Minecraft tem um caminho diferente; a lógica e estrutura do programa é determinada por onde os blocos são colocados e como eles são conectados, o que significa que você pode voar sobre o seu mundo e ver as diferentes partes do seu programa dispostas bloco a bloco.
Ok, então como eu começo?
Este guia faz uso dos novos blocos de comando na versão 1.9. Ele funcionará em 1.8, mas pode exigir um pouco mais de experiência.
Abra um novo mundo do Minecraft (o Superflat funciona melhor), verifique se você está no modo Criativo e pressione o botão “/”. Esta é a janela de comando, que é a mesma coisa que a janela de bate-papo, exceto que você começa com um '/', e qualquer coisa que comece com a barra é um comando. O primeiro comando que você pode executar é
/ dê @p minecraft: command_block
Vamos quebrar isso. O comando “/ give” coloca itens em um inventário de jogadores e tem dois argumentos: o jogador e o item a ser dado. O @p é um seletor de destino. O seletor “@p” seleciona o jogador mais próximo. Alternativamente, você também pode usar seu nome de usuário Minecraft, mas se você executar um comando no console, você sempre será o jogador mais próximo. Os outros seletores de destino são "@a" para todos os jogadores, "@r" para um jogador aleatório e "@e" segmentará todos os jogadores entidades. Entidades incluem tudo o que não é um bloco, como monstros, bolas de neve, animais e flechas.
O comando deve ser executado com sucesso e fornecer um novo bloco. Coloque-o em qualquer lugar no chão para começar.
Você pode ver que o bloco de comando aponta na direção em que você o coloca, muito parecido com funis ou fornos. Isso será importante mais tarde.
Clique com o botão direito do mouse no bloco (ou use a chave que você usa para acessar as tabelas e fornos de fabricação) e será recebido com a GUI do bloco de comando..
Parece um pouco assustador no começo, mas não se preocupe, todos esses botões fazem alguma coisa. O botão que diz "Impulso" altera o tipo de bloco de comando. Existem três tipos diferentes de blocos de comando:
- Impulse, que executa comandos no borda ascendente de corrente de redstone. Isso significa que quando eles são energizados, eles executarão o comando uma vez e pararão, mesmo se continuarem a ser alimentados. Esta é a configuração padrão e é a única disponível em 1,8
- Repita, que executa comandos a cada Carraça eles são alimentados. Um tick é como um frame, e vários comandos podem ser executados em um único tick, até 20 vezes por segundo.
- Chain, que só é executado se o bloco de comando que está apontando para ele tiver executado seu comando. Estes serão executados em ordem, um após o outro, em um único tick, daí o nome 'Chain'.
O botão que diz “Incondicional” impede que o bloco de comando verifique se o bloco anterior na cadeia foi executado com sucesso. A outra opção, "Condicional", só funciona se o bloco anterior não tiver erros.
O botão que diz "Precisa de Redstone" só executa o comando se o bloco de comando estiver ligado. A outra opção, “Sempre ativo”, impede que o bloco de comando verifique se está ligado e apenas assume que está. Esta opção não deve ser usada com blocos de comandos do Impulse, pois os torna inúteis.
Vamos fazer uma corrente, nosso primeiro 'script'. Coloque um bloco de comando de cadeia ou dois voltados para o primeiro bloco de comando de impulso, assim:
Certifique-se de definir os blocos da cadeia para "Sempre ativo". Caso contrário, precisaríamos colocar blocos de redstone ou corrente, o que ocupa espaço desnecessário. Coloque um botão no bloco de comando de impulso no início da cadeia e pressione-o.
Nada vai acontecer. Isso é porque ainda não os preenchemos com comandos! Clique com o botão direito do mouse no bloco de impulso para editá-lo e coloque um comando básico
digamos começar
Observe como não precisamos de uma barra nos blocos de comando. Você pode usar um, se quiser, mas é desnecessário. O comando “/ say” pega um argumento, texto e diz do ponto de vista de quem o executa. Se você executá-lo, ele será exibido como "mensagem", assim como o bate-papo normal. Se for executado a partir de um bloco de comando, será “[@] message”. Alternativamente, há "/ tell", que leva um argumento de jogador, e "/ tellraw", que é como "/ tell", exceto que ele usa o JSON bruto em vez do texto.
Você pode preencher os blocos de comando da cadeia para escrever mais coisas para conversar. Eles serão executados em ordem, sem demora, no mesmo tick. Se você quiser executá-los com um atraso, você precisará configurá-los com repetidores de redstone. Junto com “/ say”, existem outros comandos básicos que fazem mais coisas, como “/ give”, que dá itens, “/ effect”, que aplica efeitos poção, “/ setblock” e “/ fill” que modificam seu mundo , e muitos outros. Um grande banco de dados de comandos pode ser encontrado no Minecraft Wiki, junto com outros conteúdos úteis.
Seletores de Alvo
Os seletores de destino “@p” são realmente muito mais poderosos do que parecem à primeira vista. Por exemplo, se quiséssemos segmentar todas as entidades, usaríamos "@e", mas se quiséssemos segmentar apenas os zumbis, usaríamos
@e [type = Zumbi]
Observe os colchetes depois de “@e”. Dentro desses suportes estão Argumentos do Seletor de Destino, uma lista completa pode ser encontrada no Minecraft Wiki. O argumento "type" apenas seleciona entidades de um certo tipo, sendo este um "Zombie". Se quiséssemos segmentar todos os zumbis dentro de 10 blocos do bloco de comando, usaríamos
@e [type = Zumbi, r = 10]
Com o "r" sendo um argumento de raio. Você também pode segmentar por localização, nome, equipe e pontuação, entre outros.
Comandos de Encadeamento
Vamos introduzir outro comando que não seja como os outros. O comando é "/ execute". Esse comando recebe outro comando como entrada e o executa do ponto de vista de outra entidade. A estrutura de “/ executar” é
/ execute @target X Y Z / comando
X, Y e Z são coordenadas para executar o comando. Isso não importa com a maioria dos comandos, mas importa muito se você usar posicionamento relativo. Uma posição relativa começa com “~” e é seguida por um número positivo ou negativo indicando quantos blocos da origem, que é denotado por “~ ~ ~”. Então, por exemplo, se quiséssemos executar “/ say” como se um Villager estivesse falando, podemos configurar o comando da seguinte forma:
/ execute @e [type = Villager] ~ ~ ~ / diga Ei
Este comando fará com que uma mensagem seja enviada para todos, de todos os aldeões. Isso não é ideal se tivermos mais de uma pessoa ou mais de um aldeão, então vamos reformatar esse comando:
/ execute @a ~ ~ ~ / execute @e [type = Aldeão, c = 1] ~ ~ ~ / diga @p Ei
Isso é muito mais complexo que o primeiro e envolve o encadeamento de dois comandos “/ execute” juntos. O primeiro “/ execute” do comando é executado em cada jogador, depois o segundo verifica exatamente um Aldeão próximo, e então faz com que o Aldeão diga ao jogador mais próximo “Hey”. Isso garante que apenas um Aldeão fale por pessoa.
Aprendendo a sintaxe
Certamente existem muitos comandos no Minecraft que possuem suas próprias sintaxes. Os menus de ajuda para cada comando geralmente lhe dirão rapidamente quais argumentos o comando precisa, e o Minecraft Wiki tem uma lista detalhada do que cada um faz. Não é tanto saber exatamente o que todo comando faz, mas saber usá-los juntos. Minecraft é um jogo, afinal, brincar com os comandos faz parte do processo de aprendizagem.