Плавность выполнения цикла перебора блоков

Версия Minecraft
1.12.2
API
Forge

VeniVidiVici

Санта Барбарис
327
15
198
Добрый день, делаю некую кирко-подобную тулзу, которая должна добывать большую область блоков. Я беру метод onBlockStartBreak , если мои условия верны то тремя переборами for прогоняюсь по x, y, z в нужном интервале, в сердце цикла проверяю условие по конкретному блоку на координатах, и например сетаю его на Air (или даже вызываю метод поломки блока игроком), однако это происходит мгновенно, и вся область добывается сразу. Отсюда вопрос: можно ли как-то сделать последовательную добычу блока за блоком в таком цикле, чтобы визуально процесс шёл плавней. Если да, то как? Возможно не вижу что-то на поверхности, подскажите, кто сообразительный. Спасибо
 
Последнее редактирование:
Решение
Это должен быть не цикл, а отложенные в выполнении таски. Типо, когда блок ломается киркой - создаётся 8 тасок с разной задержкой, каждая таска ломает один из восьми блоков вокруг сломанного рукой блока.
Таски свои и обрабатывать их тоже самому. Что-то вроде структуры в двумя полями: Runnable(логика таски) и int(задержка в тиках). И где-то список этих тасок.
В тик-хандлере для каждой таски уменьшаешь int каждый тик,
когда он становится равен 0 - выполняешь Runnable и удаляешь таску
7,099
324
1,510
Это должен быть не цикл, а отложенные в выполнении таски. Типо, когда блок ломается киркой - создаётся 8 тасок с разной задержкой, каждая таска ломает один из восьми блоков вокруг сломанного рукой блока.
Таски свои и обрабатывать их тоже самому. Что-то вроде структуры в двумя полями: Runnable(логика таски) и int(задержка в тиках). И где-то список этих тасок.
В тик-хандлере для каждой таски уменьшаешь int каждый тик,
когда он становится равен 0 - выполняешь Runnable и удаляешь таску
 
Сверху