Открыть сервис

WorldEdit — плагин для редактирования мира

WorldEdit — это свободный плагин для серверов Minecraft (Java Edition), предоставляющий инструменты для массового редактирования игрового мира: создания, копирования, перемещения и удаления больших объёмов блоков. Разработан британским программистом Скитом (Sk89q, настоящее имя — Ричард Аллен) и распространяется под лицензией GNU GPL v3. Плагин используется преимущественно администраторами серверов и строителями для ускорения процессов постройки и терраформирования, а также входит в стандартный набор инструментов многих серверных сборок.

История

Первая версия WorldEdit была выпущена в 2010 году для классической версии Minecraft. С развитием серверного API Bukkit плагин стал поддерживать его, а затем и более современные платформы, такие как Spigot, Paper и Sponge. Проект быстро приобрёл популярность благодаря интуитивному набору команд и гибкости. В 2012 году Скит основал организацию EngineHub, под эгидой которой продолжается разработка WorldEdit и смежных проектов, включая визуальный редактор WorldEditCUI (Client User Interface) для клиента игры. На протяжении многих лет плагин остаётся одним из самых загружаемых на ресурсах CurseForge и Modrinth, а его кодовая база используется в ряде производных инструментов, например, в плагине FastAsyncWorldEdit, оптимизированном для работы на крупных серверах.

Устройство и принцип работы

WorldEdit работает на стороне сервера и обрабатывает команды, вводимые игроком в чат. Ключевой концепцией является выделение области (region) — прямоугольного параллелепипеда, задаваемого двумя противоположными точками. Выделение выполняется с помощью деревянного топора (wooden axe) или команд //pos1 и //pos2. Все операции применяются к блокам внутри выделенной области.

Плагин использует собственный механизм истории изменений (history), позволяющий откатывать действия командой //undo. Это критически важно, так как ошибочная операция может уничтожить или изменить значительную часть мира. История хранится в памяти сервера и может быть ограничена по объёму и количеству записей.

Для работы с нерегулярными формами (не параллелепипедами) используются так называемые «кисти» (brushes) и «маски» (masks). Кисти позволяют изменять блоки сферической или произвольной формы, а маски ограничивают действие инструмента определёнными типами блоков или биомами.

Основные команды и функциональность

Функционал WorldEdit группируется по назначению:

  • Выделение и навигация: команды //wand (получить топор), //pos1, //pos2, //sel (выбор типа выделения, например, полигонального), //contract и //expand (изменение размеров выделения).
  • Операции с блоками: //set <блок> (заполнить область), //replace <откуда> <куда> (замена одних блоков на другие), //overlay <блок> (покрытие поверхности слоем), //fill (заполнение снизу вверх до определённого уровня).
  • Копирование и вставка: //copy (копирование выделения в буфер обмена), //cut (вырезание), //paste (вставка), //rotate (поворот), //flip (отражение). Буфер обмена хранится в памяти плагина и привязан к игроку.
  • Генерация и деформация: //hcyl и //cyl (создание цилиндров), //sphere и //hsphere (создание сфер), //forestgen (генерация деревьев), //smooth (сглаживание рельефа), //naturalize (создание естественного слоя почвы).
  • Работа с кистями: команды //brush (настройка кисти), //mask (настройка маски). Кисти бывают нескольких типов: сфера, цилиндр, клипборд (вставка скопированного), команда (выполнение произвольной команды).
  • Сервисные функции: //undo и //redo (отмена и повтор), //limit (ограничение количества изменяемых блоков за операцию), //fast (переключение быстрого режима без истории), //clearhistory (очистка истории).

Применение и значение

Основная сфера применения WorldEdit — строительство на серверах Minecraft. Плагин позволяет возводить масштабные сооружения (города, замки, статуи) за минуты, которые вручную заняли бы недели. Терраформирование ландшафта, создание искусственных озёр, гор и пещер также выполняется с его помощью. На многих серверах WorldEdit используется для подготовки игровых зон (арен для PvP, паркура) и устранения последствий гриферства — быстрого восстановления разрушенных территорий.

Кроме того, WorldEdit применяется для создания карт приключений и мини-игр. Картографы используют его для точной расстановки структур, создания декораций и тестирования игровых механик. Плагин также используется в образовательных целях при обучении детей основам программирования и пространственного мышления на примере Minecraft.

Ограничения и производительность

По умолчанию WorldEdit ограничивает максимальное количество блоков, изменяемых за одну операцию (стандартное значение — 5 000 000 блоков), чтобы предотвратить зависание сервера. При работе с очень большими областями операции могут вызывать задержки (лаги), так как обработка происходит в основном потоке сервера. Для решения этой проблемы существуют форки плагина, например FastAsyncWorldEdit, которые выполняют операции асинхронно и значительно повышают производительность на больших проектах. Набор доступных команд и прав регулируется через файл конфигурации и систему разрешений (например, LuckPerms).

Совместимость и альтернативы

WorldEdit доступен для различных серверных платформ: Bukkit/Spigot/Paper (начиная с версии 1.7.10), Sponge, а также для одиночной игры через мод Fabric (WorldEdit для Fabric). Существует также клиентский мод WorldEditCUI, который отображает выделенную область в виде полупрозрачной сетки, что облегчает работу. Основным конкурентом WorldEdit является плагин VoxelSniper, ориентированный на более тонкую и художественную работу с рельефом, однако WorldEdit остаётся стандартом де-факто благодаря универсальности и широкой документации.

Источники

  • Официальная документация WorldEdit на вики-портале EngineHub.
  • Репозиторий проекта на GitHub (EngineHub/WorldEdit).
  • Страница плагина на CurseForge.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →