Руководства / Команды и данные
/fill и /clone: лимит в 32 768 блоков и режимы, которые его обходят
Обе команды по умолчанию ограничены 32 768 блоками за вызов и отказываются работать с большими объёмами. Разбираем режимы hollow, outline и replace, маски клонирования и способы перенести постройку больше лимита.
/fill и /clone делят лимит, задаваемый геймрулом max_block_modifications: 32 768 блоков на команду по умолчанию. Это 32×32×32. Превысите — и команда откажется с ошибкой «Too many blocks in the specified area», которая в цепочке командных блоков видна только в выводе самого блока, так что выглядит это как полное отсутствие реакции. Поднимите геймрул, если вам действительно нужны более крупные одиночные команды.
Как понять, что вы вышли за лимит
Подсчёт включает обе границы, поэтому область от 0 0 0 до 31 31 31 — ровно 32 768, впритык к лимиту. От 0 0 0 до 32 32 32 — это 35 937, и команда не пройдёт.
blocks = (|x2-x1|+1) × (|y2-y1|+1) × (|z2-z1|+1)
Для всего, что больше, разбивайте на слои и выполняйте несколько команд. Разбиение по Y обычно проще всего продумать.
Режимы fill
| Режим | Что делает |
|---|---|
replace | по умолчанию; при желании можно отфильтровать до одного типа блока |
hollow | заполняет внешнюю оболочку, очищая внутренности до воздуха |
outline | заполняет внешнюю оболочку, не трогая внутренности |
destroy | сначала выбрасывает существующие блоки в виде предметов |
keep | заполняет только воздух, никогда не перезаписывает |
hollow и outline — та самая пара, которую постоянно путают. Чтобы построить стеклянный короб вокруг существующей постройки, нужен outline; hollow удалил бы всё, что внутри.
keep — безопасный вариант для рельефа: он не съест ничего уже поставленного.
Форма с фильтром принимает блок для замены последним:
/fill ~ ~ ~ ~10 ~5 ~10 stone replace dirt
Это заменит только землю на камень и оставит всё остальное нетронутым.
Режимы и маски clone
У /clone две независимые настройки, и порядок имеет значение:
Маска — replace (всё) или filtered <block> (только этот блок), или masked (пропустить воздух в источнике).
Режим — normal, force (разрешает перекрывающиеся области) или move (очистить источник после копирования).
/clone <begin> <end> <destination> masked normal
masked — то, что нужно, когда вы штампуете постройку на существующий рельеф: воздух в источнике не проделает дыры в месте назначения.
move — тот, что всех удивляет: он удаляет оригинал. Отмены нет.
Перекрытие требует force
Если источник и место назначения хоть как-то перекрываются, normal откажется. force это разрешает, но результат зависит от порядка копирования и редко бывает тем, что вы хотели. Клонирование во временную область и обратно предсказуемее.
Чанки должны быть загружены
Обе команды работают только с загруженными чанками. /fill или /clone, углы которого попадают в незагруженный рельеф, отклоняется с «That position is not loaded». Для скриптовых построек сначала /forceload add область, а после уберите — иначе одна и та же команда сработает, когда вы стоите рядом, и провалится при запуске со спавна.
Собирайте любую из них с аргументами в правильном порядке и с проверенным по лимиту количеством блоков в Конструкторе команд для мира и блоков.