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

Первый запрос и получение JSON

Опубликуйте модель, получите её данные и прочитайте основные поля ответа.

Для первого запроса подойдёт небольшая статическая модель, например один каменный блок. Подготовьте редактор и терминал с curl. API-ключ и сервер Minecraft не нужны.

Опубликовать модель и получить ID

  1. Откройте проект в BDEngine и окно экспорта в Minecraft.
  2. Выберите целевую версию Minecraft. Для первого знакомства достаточно экспорта модели без анимации.
  3. Выберите Minecraft Сервер / Export to Minecraft Server и дождитесь сообщения об успешной публикации.
  4. Скопируйте шестизначный ID из окна результата.

Используйте именно ID экспорта, а не ID модели из адреса каталога. Рядом будет быстрая команда для серверного плагина. Для HTTP-запроса нужен только ID. Подробнее: Экспорт по ID и быстрая команда.

Первый GET-запрос

Замените 123456 на ID из редактора и выполните:

Окно терминала
curl "https://www.block-display.com/server-api?id=123456&tag=my_model"

В Windows PowerShell можно явно вызвать curl.exe, если curl занят псевдонимом другой команды. Кавычки вокруг адреса сохраняют &tag=my_model частью URL.

tag=my_model задаёт значение, которое API подставит в теги и команды экспорта. Без этого параметра используется bde. Остальные параметры и правила: Запрос по ID.

Чтобы увидеть HTTP-статус и заголовки, добавьте -i:

Окно терминала
curl -i "https://www.block-display.com/server-api?id=123456&tag=my_model"

Успех обозначается статусом 200. При 404 проверьте ID и время публикации: экспорт доступен только 10 минут. При 429 дождитесь срока из Retry-After. Форматы остальных ошибок: Ошибки, версии и совместимость.

Прочитать ответ

Ниже учебный пример структуры ответа. Это не запись запроса к ID 123456: ваш ответ зависит от проекта и выбранной версии Minecraft.

{
"content": {
"version": "1.21.4",
"type": "modelOnly",
"passengers": [
"{id:\"minecraft:block_display\",Tags:[\"my_model_0\"],block_state:{Name:\"minecraft:stone\"}}"
],
"meta": {
"schema": 1,
"animations": {},
"sounds": {}
}
}
}
  • content содержит экспорт.
  • version указывает выбранную версию Minecraft.
  • type: "modelOnly" обозначает экспорт модели.
  • passengers содержит строки SNBT с визуальными частями. Это не массив готовых JSON-объектов сущностей.
  • Пустые meta.animations и meta.sounds означают, что в этом примере нет записей анимаций и звуков.

У модели с анимацией появятся другие данные. Полное объяснение оболочки: Структура JSON.

Сохранить данные до истечения ID

Публикация доступна 10 минут с момента экспорта. Скачивание не продлевает этот срок и не удаляет публикацию. Один ID можно запрашивать повторно, в том числе с разными tag.

При необходимости сохраните ответ в файл:

Окно терминала
curl --fail-with-body --output model.json "https://www.block-display.com/server-api?id=123456&tag=my_model"

При HTTP-ошибке команда завершится с ошибкой, а файл может содержать её тело. Перед использованием проверьте результат запроса. Сохранённый JSON остаётся у вас после истечения публикации. Для изменённого проекта или нового ID выполните экспорт заново.

Подробности: ID и срок жизни.

Понять поля ответа

Вы получили данные модели. Дальше выберите нужную часть справочника:

Создание сущностей и воспроизведение анимации выполняет использующая API интеграция.