При строительстве карты возникла необходимость постепенного выполнения функции в 1.13-1.15. Если, например, создать функцию
setblock 0 0 0 stone
setblock 0 1 0 stone
setblock 0 2 0 stone
все блоки поставятся одновременно. А необходимо сперва поставить первый, спустя несколько тиков второй, затем третий. Нужен аналог функции delay или sleep в ЯП. Это можно реализовать на КБ повторителями, либо на скорбордах, проверяя при установке каждого блока строгое равенство переменной таймера, однако во втором случае игра подвисает из-за проверки всех блоков каждый тик. Так же это можно реализовать отдельной функцией для каждого блока, которые будут вызывать друг друга посредством КБ, но это натуральный костыль. Блоков будет ставиться таким образом очень много, КБ+повторители не вариант. Какие можете предложить способы реализации?
На данный момент есть вот такая реализация через датапак, команда /function test2:1 запускает постройку. Как создать такой же эффект с меньшим числом функций?
https://yadi.sk/d/Ezty3Taqdns0Pg
В сети из материала нашёл только решения, предлагающие использовать проверку какого-либо игрового таймера, но это повышает вычислительную сложность с линейной до квадратичной, лаги при большом количестве блоков неминуемы.
https://www.minecraftforum.net/forums/minecraft-java-edition/redstone-discussion-and/commands-command-blocks-and/2826143-how-to-do-delay-inside-functions