/function

De Minecraft Wiki
Ir para navegação Ir para pesquisar
/function
Nível de permissão
exigido
  • 2 ‌[EJ apenas]
  • 1 ‌[EB apenas]
Restrições

Apenas com cheat ‌[EB apenas]

Executa comandos encontrados nos arquivos de funções correspondentes com o contexto de execução do comando (executor, posição de execução, ângulos, etc.) do próprio comando /function.

Na Edição Java, executar uma função ou todas as funções em uma marcação de um pacote de dados.

Na Edição Bedrock, executa uma função com um pacote de comportamento.

Na Edição Java, o comportamento do /return run function ... (ou /return run execute ... run function ...) é diferente com uma chamada direta para o comando /function. Se /return run function ... executar várias funções, a execução para após o primeiro /return em qualquer uma das funções. Se uma chamada direta para o /function ... executar várias funções, todas as funções serão executadas e os valores de retorno serão somados como o valor result do comando /function ....

  • Edição Java
function <name>
Executa uma função ou funções em uma marcação.
function <name> <arguments>
function <name> with (block <sourcePos>|entity <source>|storage <source>) [<path>]
Executa uma função ou funções em uma marcação, com argumentos para macros.
  • Edição Bedrock
function <name: filepath>
Executa uma função.

EJ: <name>: function
EB: name: filepath: CommandFilePath

Especifica a(s) função(ões) a serem executadas.
Na Edição Java, deve ser uma localização de recurso, que se refere a uma única função ou prefixada com um #, que se refere a uma função de marcação. Na Edição Bedrock, deve estar no formato path/to/function/file, que se refere a uma função localizada em [behavior_pack]/functions/path/to/function/file.mcfunction.

EJ: <arguments>: nbt_compound_tag

Especifica argumentos para as funções de macro em uma marcação NBT composta.
Deve ser um composto NBT no formato SNBT.

EJ: <sourcePos>: block_pos

A posição da entidade de bloco alvo cujo NBT deve ser usado.
Isso deve ser um bloco de posição composto de <x>, <y> e <z>, cada um deles deve ser um número inteiro ou notação de til e circunflexo.

EJ: <source>: entity (in entity <target> mode)

Especifica uma entidade cujo NBT deve ser usado.
Deve ser um nome de jogador, seletores de destino ou o UUID. 

EJ: <source>: resource_location (no modo storage<target>)

Especifica um armazenamento cujo NBT deve ser usado.
Deve ser uma localização de recurso.

EJ: <path>: nbt_path

Especifica o caminho NBT. Deve ser um caminho de uma única tag composta.
Deve ser um caminho NBT.

ComandoCircunstânciaEdição JavaEdição Bedrock
QualquerO comando está incompleto ou algum argumento não foi especificado corretamente.Não analisável Interrompido
A função ou marcação de função especificada não existe. Falha Falha
Não há função na marcação do function. N/A
/function <name>Existe alguma linha de macro na(s) função(ões). Falha
/... with block ...<sourcePos>está descarregado ou fora do mundo.
O bloco em <sourcePos> não é uma entidade de bloco.
/... with entity ...<source> falha ao resolver para uma entidade (o jogador nomeado deve estar online).
/... with ... <path>Não há nenhuma marcação em <path>.
Mais de uma marcação é selecionada por <path>.
A marcação em <path> não é uma marcação composta.
/... <arguments>
/... with ..
Com os argumentos fornecidos, qualquer linha de macro na(s) função(ões) se torna um comando não analisável.
QualquerApenas uma função é especificada e nela não há nenhum comando /return sendo executado. Vazio
Apenas uma função é especificada, e nela há um comando /return sendo executado e retornando uma falha. Falha
Várias funções são especificadas e, em todas elas, não há nenhum comando /return sendo executado. Vazio
De outra formaBem-sucedido

Na Edição Java, para /return run execute store ... run function ...:

ComandoEdiçãoSituaçãoContagem de sucesso/execute store success .../execute store result ...
qualquerEdição JavaEm caso de falhaN/A00
Em caso do vazioN/Ainalteradoinalterado
Em caso de sucessoN/A1o valor de retorno da primeira função sem-vazio
(A execução para após o primeiro /return em qualquer uma das funções especificadas)

Na Edição Java, de outra forma:

ComandoEdiçãoSituaçãoContagem de sucesso/execute store success .../execute store result ...
qualquerEdição JavaEm caso de falha000
Em caso do vazio0inalteradoinalterado
Em caso de sucesso11a soma dos valores retorna todas as funções não vazias

Na Edição Bedrock:

ComandoEdiçãoSituaçãoContagem de sucesso
qualquerEdição BedrockEm caso de falha0
Em caso de sucesso1
  • Na Edição Java:
    • Para executar uma função localizada em data/custom/functions/example/test.mcfunction em um pacote de dados carregado: /function custom:example/test
    • Para executar todas as funções em uma função de marcação localizada em data/custom/tags/functions/example/test.json : /function #custom:example/test
    • Para executar uma função se houver uma ovelha em um raio de 2 chuncks: /execute if entity @e[type=sheep,distance=..2] run function custom:example/test
    • Para executar uma função, a menos que o executor seja um jogador: /execute unless entity @s[type=player] run function custom:example/test
    • Para executar uma macro de função com argumentos a=42, b="example": /function custom:example/test {a: 42, b: "example"}
    • Para executar uma macro de função com argumentos de armazenamento custom:storage : /function custom:example/test with custom:storage
Edição Java
1.12pre1Adicionado /function.
pre4Adicionados novos argumentos ao comando /function: [if|unless] [selector]
pre6Funções ignoradas (quando uma condicional falha) agora são consideradas falhas quando usadas em comandos.
1.1317w49b/function agora aceita marcações como argumento.
Removido argumentos [if/unless] em favor do /execute [if/unless].
1.20.223w31aAdicionados argumentos de macro de função.
1.20.323w41aO comando /function não retorna mais o número de comandos executados para acomodar melhor o novo comando /return.
23w44aSe /function <function tag> executar várias funções em combinação com /return run, a execução será interrompida após o primeiro /return em qualquer uma das funções.
Uma única chamada para o comando /function sempre retorna quando executado com /return run. Por exemplo, /return run execute [split context] run function <some function with conditional return> sempre retorna após processar o primeiro contexto.
1.20.523w51aCorrigido um bug em que /function executando uma função com /return fail tinha um valor success de 1.[1][2]
Edição Bedrock
1.8.0beta 1.8.0.8Adicionado /function.
  • /tag – Para executar a função em lote, a cada tique ou no recarregamento do servidor.
  1. ↑ MC-267193 — resolvido como "corrigido".
  2. ↑ MC-268160