GDMC HTTP Interface
Мод для Minecraft на Fabric/Forge, реализующий HTTP-интерфейс для чтения и записи блоков (и не только) из внешней программы или скрипта.
- Загрузчики
- FabricNeoForgeForge
- Скачиваний на Modrinth
- 1,9 тыс.
- Подписчиков на Modrinth
- 8
- версии
- 22
- Обновлён
- 29 мая 202629 мая
- Опубликован
- в 2024
Коротко о моде
Работает и в игре, и на сервере — ставьте, где нужен
GDMC HTTP Interface Mod
Мод для Minecraft (Java Edition), реализующий HTTP-интерфейс для чтения и записи блоков (и не только).
С помощью этого интерфейса вы можете использовать другие приложения и скрипты, запущенные на той же машине, для чтения и изменения мира Minecraft.
Это инструмент, созданный для Generative Design in Minecraft Competition (GDMC). Это ежегодный конкурс для систем процедурного ИИ в Minecraft, где задача — написать алгоритм, который генерирует поселение, адаптируясь к уже существующему ландшафту. Присоединяйтесь к нашему community Discord server!
| Версия Minecraft | Версия GDMC-HTTP | Документация | Год конкурса GDMC |
|---|---|---|---|
| 1.21.11 | 📦 GDMC-HTTP 1.8.4 | 📒 API Docs | 2026 |
| 1.21.4 | 📦 GDMC-HTTP 1.6.0 | 📒 API Docs | 2025 |
| 1.20.2 | 📦 GDMC-HTTP 1.6.0 | 📒 API Docs | 2024 |
| 1.19.2 | 📦 GDMC-HTTP 1.6.0 | 📒 API Docs | 2023 |
| 1.16.5 | 📦 GDMC-HTTP 0.4.2 | 📒 API Docs | 2021, 2022 |
Использование
Когда вы откроете мир Minecraft, в чате появится сообщение о том, что мод открыл HTTP-соединение по адресу localhost:9000. Это значит, что теперь вы можете отправлять HTTP-запросы из внешней программы в Minecraft, пока мир открыт.
Для тестирования и экспериментов мы рекомендуем инструмент для тестирования API, например Kreya, Yaak, HTTPie или консольную утилиту вроде cURL или wget.
Когда вы хотите создать собственный генератор поселений или другое приложение, мы рекомендуем использовать библиотеку GDPC для Python, которая специально разработана сообществом GDMC для работы с этим модом. Но подойдёт любой язык программирования или скриптовый язык, поддерживающий связь по HTTP (а это большинство из них — встроенно или через простую в использовании библиотеку).
HTTP-эндпоинты
Когда HTTP-интерфейс активен, вам доступны следующие HTTP-эндпоинты:
| HTTP-метод | URL | Описание | Документация |
|---|---|---|---|
POST | /commands | 📜 Отправка консольных команд Minecraft | 📒 API Docs |
GET | /blocks | 🧱 Получение информации о блоках в заданной области | 📒 API Docs |
PUT | /blocks | 🧱 Размещение блоков | 📒 API Docs |
GET | /biomes | 🏜️ Получение информации о биомах в заданной области | 📒 API Docs |
GET | /chunks | ⛏ Получение сырых данных чанков в заданной области | 📒 API Docs |
GET | /structure | 🏗️ Создание файла структуры NBT из заданной области | 📒 API Docs |
POST | /structure | 🏗️ Размещение файла структуры NBT в мире | 📒 API Docs |
GET | /entities | 🐷 Получение информации о сущностях в заданной области | 📒 API Docs |
PUT | /entities | 🐷 Призыв сущностей в мир | 📒 API Docs |
PATCH | /entities | 🐷 Редактирование уже существующих в мире сущностей | 📒 API Docs |
DELETE | /entities | 🐷 Удаление сущностей из мира | 📒 API Docs |
GET | /players | 👷 Получение информации об игроках в заданной области | 📒 API Docs |
GET | /buildarea | 📐 Получение информации о текущей области строительства | 📒 API Docs |
GET | /heightmap | 🗺️ Получение информации о карте высот области строительства | 📒 API Docs |
OPTIONS | / | 🪪 Получение текущей версии Minecraft и мода | 📒 API Docs |
Подробная документация по эндпоинтам доступна в docs/Endpoints.
Команды
Этот мод добавляет в игру следующие пользовательские консольные команды:
| Команда | Описание |
|---|---|
/buildarea | Показать текущую область застройки, если она задана. Некоторые эндпоинты могут использовать флаг withinBuildArea, чтобы ограничить действия этой областью. |
| `/buildarea set ` | Задать виртуальную «область застройки» для определённой области мира. В аргументах команды можно комбинировать абсолютные, локальные и относительные координаты. |
| `/buildarea set ` | Задать текущую область застройки и сохранить эти данные под `` в сохранённых данных для дальнейшего использования. |
| `/buildarea load ` | Загрузить ранее заданную область застройки. |
/buildarea remove | Удалить текущую область застройки. |
| `/buildarea remove ` | Удалить область застройки с указанным ``. |
/buildarea tp | Телепортироваться в текущую область застройки, если она задана. |
| `/buildarea tp ` | Телепортироваться в ранее сохранённую область застройки. |
/buildarea list | Показать список всех сохранённых областей застройки. |
/buildarea makebook | Выдать игрокам книгу со списком всех сохранённых областей застройки в виде ссылок, по клику на которые вы телепортируетесь в это место. |
| `/buildarea makebook ` | Создать книгу (см. выше), подписанную ``. Если автор не указан, по умолчанию используется "GDMC". |
/gethttpport | Показать текущий номер порта HTTP-интерфейса. |
/sethttpport | Сбросить номер порта HTTP-интерфейса обратно на значение по умолчанию 9000. |
| `/sethttpport ` | Изменить номер порта HTTP-интерфейса. Полезно, когда порт по умолчанию (9000) конфликтует с другим приложением на вашей машине. Чтобы эта настройка вступила в силу, нужно перезагрузить мир. |
Благодарности
GDMC-HTTP активно развивается при поддержке сообщества GDMC. Отдельно стоит отметить Niki Gawlik, создателя оригинальной версии этого мода для Minecraft 1.16.5. Этот репозиторий — продолжение их работы. Поддержка загрузчика Fabric частично основана на форке от Simon Pribylski. Структура проекта, позволяющая поддерживать несколько загрузчиков и версий Minecraft в одной ветке, адаптирована из мода Distant Horizons.
Частые вопросы
Как установить GDMC HTTP Interface?
Установите Fabric под свою версию Minecraft, скачайте GDMC HTTP Interface под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть GDMC HTTP Interface?
У GDMC HTTP Interface есть сборки для Minecraft 1.19.2, 1.20.2, 1.21.4, 1.21.10–1.21.11.
Нужен ли GDMC HTTP Interface на сервере?
Работает и в игре, и на сервере — ставьте, где нужен