Команди консолі/function

Матеріал з Minecraft Wiki
Перейти до: навігація, пошук
function
Обмеження

Оператор

Перша поява

1.12 (1.12-pre1)

Виконує команди знаходження у відповідному файлі функцій.

У Java Edition запускає функцію або всі функції в тег з пакет даних.
У Bedrock Edition виконує функцію з пакета поведінки.

Синтаксис

  • Java Edition
функція <name>
  • Bedrock Edition
функція <name: filepath>

Аргументи

<name> (BE: name: filepath)

У Java Edition:
Може мати формат namespace:path/to/function/file, або #namespace:path/to/function/tag.
Формат без # префіксу, namespace:path/to/function/file, запускає одну функцію, розташовану в [data_pack]/data/namespace/functions/path/to/function/file.mcfunction.
Формат з # префіксом, #namespace:path/to/function/tag, запускає всі функції, включені в тег функцій, розташований у [data_pack]/data/namespace/tags/functions/path/to/function/tag.json.
У Bedrock Edition:
Може мати формат path/to/function/file
Запускає функцію, розташовану в [behavior_pack]/functions/path/to/function/file.mcfunction

Результат

Виходить з ладу, якщо аргумент не вказано правильно.

У разі успіху, запускає функцію через джерело команд, яке запустило /function команду.

У Java Edition:[1][2]
Підрахунок успіху — це кількість підрахунків успіху всіх команд, виконаних у функції/функції +1 (саме ця команда).
Наприклад,
foo:bar1
function foo:bar2
foo:bar2
function foo:bar3
foo:bar3
say hi
Кількість успіху /function foo:bar3 = 1 (одна команда в foo:bar3) + 1 (саме ця команда) = 2.
Кількість успіху /function foo:bar2 = 2 (зверху) + 1 (саме ця команда) = 3.
Кількість успіху /function foo:bar1 = 3 (зверху) + 1 (саме ця команда) = 4.
Виведення команди повертає кількість виконаних команд (а не кількість успішних команд) плюс кількість вбудованих функцій, викликаних функцією.
Підрахунок виходу /function foo:bar3 = 1 (одна команда в foo:bar3).
Підрахунок виходу /function foo:bar2 = 1 (одна команда в foo:bar2) + 1 (одна команда в foo:bar3) + 1 (одна вбудована функція) = 3.
Підрахунок виходу /function foo:bar1 = 1 (одна команда в foo:bar1) + 1 (одна команда в foo:bar2) + 1 (одна команда в foo:bar3) + 2 (дві вбудовані функції) = 5.
У разі успіху, /execute store success завжди повертається 1. В іншому випадку повертає 0.
У разі успіху повертається значення /execute store result — це те саме, що кількість підрахунків. В іншому випадку повертає 0.

Приклади

  • У Java Edition:
    • Для запуску функції, розташованої на data/custom/functions/example/test.mcfunction у завантаженому пакеті даних: /function custom:example/test
    • Запуск усіх функцій у функції тег, розташованій у data/custom/tags/functions/example/test.json: /function #custom:example/test
    • Запустити функцію, якщо є вівця в радіусі 2 блоків: /execute if entity @e[type=sheep,distance=..2] запускає функцію custom:example/test
    • Запуск функції, якщо виконавцем не є гравець: /execute unless entity @s[type=player] запускає функцію custom:example/test

Історія

Java Edition
1.12pre1Додана команда /function.
1.1317w49b/function тепер приймає теги функції як аргумент.
Видалений аргумент [if/unless] на користь /execute [if/unless].
Bedrock Edition
1.8.0beta 1.8.0.8Додана команда /function.

Примітки