Что такое .mcfunction в Minecraft и зачем нужны функции?
В датапаках видел файлы .mcfunction. Чем функция в Майнкрафте отличается от обычной команды и зачем вообще объединять команды в файл?
2 ответа
Функция (.mcfunction) — это список команд, которые выполняются по очереди сверху вниз, как будто ты ввёл их одну за другой. Это ровно та же идея, что функция в питоне: написал один раз — вызываешь много раз.
Пример start_game.mcfunction:
tp @a 0 100 0
give @a iron_sword
effect give @a regeneration 10
title @a title {"text":"Игра началась!"}
Вызываешь всё это одной командой:
/function my_pack:start_game
Вместо четырёх команд вручную — один вызов. Когда твои механизмы разрастаются, функции спасают от хаоса: вся логика старта игры лежит в одном файле, и ты её переиспользуешь.
Есть ещё спецфункции: положи команды в data/minecraft/function/load.mcfunction (через тег) — и они выполнятся при загрузке мира, а tick.mcfunction — каждый игровой тик (20 раз в секунду). Это как «главный цикл» твоего датапака.