Перейти к содержимому

Что можно расширить

Возможности 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.