Первый запрос и получение JSON
Опубликуйте модель, получите её данные и прочитайте основные поля ответа.
Для первого запроса подойдёт небольшая статическая модель, например один каменный блок.
Подготовьте редактор и терминал с curl. API-ключ и сервер Minecraft не нужны.
Опубликовать модель и получить ID
- Откройте проект в BDEngine и окно экспорта в Minecraft.
- Выберите целевую версию Minecraft. Для первого знакомства достаточно экспорта модели без анимации.
- Выберите Minecraft Сервер / Export to Minecraft Server и дождитесь сообщения об успешной публикации.
- Скопируйте шестизначный 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 интеграция.