Датапак для Майнкрафт с API для замены блоков в уже сгенерированном мире. Он обходит загруженные чанки вокруг точки выполнения команды и меняет заданные блоки без модов.
Возможности
Замена выполняется по парам идентификаторов блоков: например, камень можно заменить на воздух. Обработка идёт от текущего чанка наружу и прекращается после успешной обработки чанка либо после обхода заданной области.
Как пользоваться
Конфигурация хранится в {}.replace_block указанного хранилища команд. Шаблон настроек создаётся функцией replace_block:api/reset_settings с аргументом {storage:"{{storage}}"}.
Для запуска используйте replace_block:api/execute с тем же аргументом. Точка отсчёта берётся из позиции выполнения команды: для командного блока подойдёт function replace_block:api/execute {storage:"{{storage}}"}, для всех игроков — execute at @a run function replace_block:api/execute {storage:"{{storage}}"}. Изменение исполнителя через as на работу API не влияет.
При успехе функция возвращает число заменённых блоков; если замена не была выполнена, возвращается fail.
Настройки
{}.replace_block.search_range— радиус обхода в чанках; значение1охватывает девять чанков вокруг точки выполнения.{}.replace_block.success_threshold— сколько блоков нужно заменить в чанке, чтобы обработка считалась успешной.{}.replace_block.replace_pairs[].target_block— идентификатор заменяемого блока.{}.replace_block.replace_pairs[].replace_with— идентификатор нового блока.{}.replace_block.dimensions[].dimension— измерение, где действует замена.{}.replace_block.dimensions[].min_yи{}.replace_block.dimensions[].max_y— нижняя и верхняя границы высоты.
Все параметры обязательны. Пример конфигурации есть в reset_settings.mcfunction.
