Что можно расширить
Возможности JavaScript-плагинов BDEngine: интерфейс, объекты, импорт и экспорт, HeadPaint и окружение.
Для разработки достаточно базового JavaScript и открытого BDEngine. Начать можно с небольшой кнопки, которая выполняет полезное действие в редакторе.
Что расширяет плагин
Плагин BDEngine - обычный JavaScript-файл с метаданными. Пользователь устанавливает его в редактор, затем перезапускает BDEngine. При следующем запуске редактор загружает сохранённый код. Отдельный сборщик для простого плагина не нужен.
Плагин работает в контексте страницы редактора: может добавлять интерфейс, получать выделенные объекты, создавать содержимое и обращаться к возможностям BDEngine. Он не становится частью экспортированной модели и не выполняется в Minecraft. Для внешней серверной интеграции предназначен Server API.
Типовые задачи
| Задача | Возможности |
|---|---|
| Собственный инструмент | Кнопка в меню Dock, обычное или модальное окно, элементы DOM внутри окна. |
| Обработка модели | Получение выделения, добавление встроенных объектов, удаление и обновление отображения. |
| Генератор | Программное создание дисплеев и коллекций из параметров пользователя. |
| Обмен данными | Загрузка содержимого проекта, JSON-экспорт и собственные действия в меню импорта и экспорта. |
| Рисование | Работа с цветом, холстом и инструментами через editorAPI.headPaint. |
| Окружение | Небо, время суток, фаза Луны и другие параметры через editorAPI.sky. |
| Интерфейс на нескольких языках | Регистрация переводов плагина и получение локализованных строк. |
Для каждой задачи есть отдельное руководство в разделе Решить задачу. Не обязательно сначала проходить все возможности редактора.
Поддерживаемый API и внутренности
Основная точка входа - window.editorAPI. Это стабильный, официально поддерживаемый
интерфейс расширений. Через него написаны основные примеры документации.
window.editor тоже доступен разработчику. Через него можно изучать редактор и
использовать внутренние возможности, для которых нет готового метода editorAPI.
Но структура и методы editor могут меняться между версиями. Такие зависимости
нужно учитывать при поддержке плагина.
Различия и примеры выбора разобраны в статье Публичный API и внутренние объекты. Документация ориентируется на Release; возможность, появившаяся только в Beta, ещё не означает доступность в основной версии.
Первый результат или конкретная задача
Если ещё не создавали плагин, начните с урока Первый плагин: кнопка и окно.
В нём есть готовый .js, установка через интерфейс и проверка повторного открытия окна.
Если уже знаете, что хотите добавить, выберите практическую задачу. Точные параметры и возвращаемые значения находятся в справочнике editorAPI.