Команда //set является одной из фундаментальных операций в плагине и моде WorldEdit, позволяющей мгновенно заполнить выделенную область указанными блоками. Это один из самых часто используемых инструментов для массового редактирования мира, создания построек, ландшафтного дизайна и автоматизации рутинных задач.
Базовый синтаксис команды //set
//set <pattern>
Пример
//set glass
Заполнить регион стеклом
Команда заменяет все блоки в текущем выделении на указанный паттерн. Поддерживается отмена действия через //undo .
Как выделить регион вы можете узнать в статье
Как пользоваться wordledit или на странице
команды Wand. Используйте волшебный топорик, введя команду //wand, а затем кликая поочередно левой и правой кнопкой мыши в противоположных углах кубоида, внутри которого хотите заменить блоки с помощью команды set.
Требуемое право доступа: worldedit.region.set
Использование паттернов
Паттерн определяет, какие блоки будут размещены при выполнении команды. WorldEdit поддерживает широкий спектр паттернов — от простых до сложных комбинированных конструкций.
Одиночный блок
Самый базовый вариант — указание одного типа блока:
//set stone
Установить камень
Замена на воздух
//set 0 или //set air заменяет все блоки на воздух, что равносильно удалению.
//set 0
Вставка блока из руки
//set hand
Установить блок, который в руке
Паттерн со случайными блоками
Позволяет устанавливать блоки случайным образом из списка:
//set gold_block,diamond_block,emerald_block
Установка золотого, алмазного и изумрудного блоков
//set 5%diamond_ore,95%stone
5% алмазной руды и 95% камня
Веса указываются через знак % и являются относительными: 5%dirt,15%stone можно пересчитать как 25% грязи и 75% камня.
Паттерн случайных состояний
Префикс * перед типом блока выбирает случайное состояние для каждого блока:
//set *oak_stairs
Ступеньки смотрят в разные стороны, часть являются затопленными
Паттерн из буфера обмена
#clipboard использует блоки из вашего буфера в том же расположении:
//set #clipboard
Вставка из буфера обмена
Смещение @[x,y,z] позволяет сдвинуть паттерн относительно исходной позиции, пример: //set #clipboard@[5,0,-3].
Паттерн изменения типа или состояний
Префикс ^ изменяет только тип блока или указанные состояния, не затрагивая остальное:
//set ^oak_stairs
//set ^[facing=west]
Вторая команда поворачивает ступеньки
Полезно для изменения материала лестниц, плит или дверей без потери их ориентации.
Паттерн категорий блоков (тегов)
Синтаксис ##<tag> выбирает случайный блок из указанной категории:
//set ##*wool
//set ##planks
//set ##logs
Вставка шерсти случайного цвета
Добавление * (##*tag) использует все состояния блоков категории, а не только дефолтные.
Специальный синтаксис для отдельных блоков
- Текст на табличках: используйте символ
| для разделения строк: //set oak_sign|Привет|Мир. Работает с ошибками
- Головы игроков:
//set player_head|Notch установит голову со скином указанного игрока. Вставляет обычную голову в новых версиях
- Спаунеры мобов:
//set spawner|zombie задаст тип моба для спаунера
Решение распространённых проблем
Команда не выполняется: «No permission»
Причина: Отсутствие права worldedit.region.set.
Решение: Выдайте право через менеджер привилегий (LuckPerms, PermissionsEx) или убедитесь, что у операторов есть доступ по умолчанию.
Блоки устанавливаются не там, где ожидалось
Причина: Неправильное выделение региона или смещение буфера.
Решение: Используйте мод CUI, чтобы видеть текущее выделение или проверьте выделение командой //size.
Сервер лагает при выполнении //set на большой области
Причина: Синхронное выполнение в стандартном WorldEdit.
Решение: Установите FastAsyncWorldEdit или разбейте операцию на части с помощью //expand и промежуточных сохранений.
Рекомендации по безопасному использованию
- Проверяйте выделение: Перед массовыми изменениями используйте
//size для оценки количества затронутых блоков
- Тестируйте на малой области: Сначала выполните команду на небольшом выделении, чтобы убедиться в корректности паттерна
- Используйте //undo: Команда
//undo отменяет последнее действие WorldEdit
- Резервное копирование: Перед масштабными изменениями создайте снапшот мира или используйте
//copy для сохранения области
Связанные команды
Вопросы и ответы
Как удалить все блоки в выделении?
Используйте //set air или //set 0 — оба варианта заменяют блоки на воздух, «удаляя» их из выделения.
Как установить блоки случайным образом?
Используйте запятую для равномерного распределения: //set stone,dirt,glass. Для весов добавьте проценты: //set 70%stone,30%dirt. Веса относительные, не обязательно доводить их сумму до 100%.
Как изменить только состояние блока, не меняя его тип?
Используйте паттерн с префиксом ^: //set ^[facing=north] изменит ориентацию блоков, не затрагивая их тип. Это полезно для лестниц, дверей и других блоков с состояниями.
Как применить //set только к определённым блокам?
Используйте команду //replace
Можно ли использовать //set в консоли?
Да, но команда требует активного выделения региона. В консоли выделение должно быть установлено заранее через команды с координатами или от имени игрока с сохранённым регионом.
Как установить текст на таблички через //set?
Используйте символ | для разделения строк: //set oak_sign|Строка1|Строка2. Если текст содержит пробелы, оберните весь паттерн в кавычки: "oak_sign|Привет мир".
В чём разница между //set и //replace?
//set заменяет все блоки в выделении на паттерн. //replace <mask> <pattern> заменяет только блоки, соответствующие маске. Например, //replace stone dirt заменит только камень, оставив другие блоки нетронутыми.