COWMODSКаталог модов

GDMC HTTP Interface

Minecraft Fabric/Forge Mod that implements an HTTP interface for reading and writing blocks (and more) with an external program or script.

Автор: Niels-NTG2 тыс.8обновлён 29 мая 2026 г.
ТехнологииУтилитыГенерация мира

Описание

GDMC HTTP Interface Mod

Mod for Minecraft (Java Edition) that implements an HTTP interface for reading and writing blocks (and more).

With this interface you can use other applications and scripts running on the same machine to read and modify a Minecraft world.

This is designed as a tool for the Generative Design in Minecraft Competition (GDMC). This annual competition for procedural AI systems in Minecraft, where the challenge is to write an algorithm that generates a settlement while adapting to pre-existing terrain. Feel free to join our community Discord server!

Minecraft versionGDMC-HTTP versionDocsGDMC competition year
1.21.11📦 GDMC-HTTP 1.8.4📒 API Docs2026
1.21.4📦 GDMC-HTTP 1.6.0📒 API Docs2025
1.20.2📦 GDMC-HTTP 1.6.0📒 API Docs2024
1.19.2📦 GDMC-HTTP 1.6.0📒 API Docs2023
1.16.5📦 GDMC-HTTP 0.4.2📒 API Docs2021, 2022

Usage

When you open a Minecraft world, you will see a chat message that the mod has opened an HTTP connection at the address localhost:9000. This means that you can now send HTTP requests from an external program to Minecraft while the world is open.

For testing and experimentation we recommend an API testing tool such as Kreya, Yaak, HTTPie or a command line tool such as cURL or wget.

When you want to build your own settlement generator or some other application, we recommend using the GDPC Python library, which is purpose-built by the GDMC community to work with this mod. But any programming or scripting language that supports communication over HTTP (which includes most of them, be it either built-in or via an easy-to-use library) will work.

HTTP Endpoints

When the HTTP interface is active, you have access to the following HTTP endpoints:

HTTP methodURLDescriptionDocs
POST/commands📜 Send Minecraft console commands📒 API Docs
GET/blocks🧱 Get information on blocks in a given area📒 API Docs
PUT/blocks🧱 Place blocks📒 API Docs
GET/biomes🏜️ Get information on biomes in a given area📒 API Docs
GET/chunks⛏ Get raw chunk data in a given area📒 API Docs
GET/structure🏗️ Create an NBT structure file from a given area📒 API Docs
POST/structure🏗️ Place an NBT structure file into the world📒 API Docs
GET/entities🐷 Get information on entities in a given area📒 API Docs
PUT/entities🐷 Summon entities into the world📒 API Docs
PATCH/entities🐷 Edit entities that already exist in the world📒 API Docs
DELETE/entities🐷 Remove entities from the world📒 API Docs
GET/players👷 Get information on players in a given area📒 API Docs
GET/buildarea📐 Get information on the current build area📒 API Docs
GET/heightmap🗺️ Get heightmap information of the build area📒 API Docs
OPTIONS/🪪 Get current Minecraft and mod version📒 API Docs

Detailed documentation of the endpoints can be found at docs/Endpoints.

Commands

This mod adds the following custom console commands to the game:

CommandDescription
/buildareaGet the current build area, if present. Some endpoints can use the withinBuildArea flag to constrain actions to this area.
/buildarea set <fromX> <fromY> <fromZ> <toX> <toY> <toZ>Set virtual "build area" to a certain area of the world. For the command arguments you can mix and match absolute, local or relative coordinates.
/buildarea set <fromX> <fromY> <fromZ> <toX> <toY> <toZ> <name>Set the current build area and store this data under <name> with the save data for later use.
/buildarea load <name>Load previously set build area.
/buildarea removeRemove current build area.
/buildarea remove <name>Remove build area of given <name>.
/buildarea tpTeleport to within current build area, if present.
/buildarea tp <name>Teleport to within previously saved build area.
/buildarea listList all saved build areas.
/buildarea makebookGive players a book that lists all saved build areas as links that when clicked teleport you to that location.
/buildarea makebook <author>Create book (see above), signed by <author>. If omitted author defaults to "GDMC".
/gethttpportShow current port number of the HTTP interface.
/sethttpportReset port number of the HTTP interface back to the default 9000.
/sethttpport <number>Changes port number of the HTTP interface. Useful for when the default port (9000) conflicts with some other application on your machine. You need to reload your world for this setting to take effect.

Acknowledgements

GDMC-HTTP has been actively developed with the help of the GDMC community. Of special note here is Niki Gawlik, who created the original version of this mod for Minecraft 1.16.5. This repo is a continuation of their work. Fabric mod loader support was in part based on a fork by Simon Pribylski. The project structure that makes it possible to support multiple mod loaders and Minecraft versions all on the same branch has been adapted from the Distant Horizons mod.

Галерея

GDMC HTTP Interface logo"JEB_GEN_" - GDMC 2023 competition winner"Gaussianly Filtered" - GDMC 2025 competition winner

Последние версии

Все версии →
release

GDMC HTTP Interface 1.8.4-1.21.11

1.8.4-1.21.11
29 мая 2026 г.373Minecraft: 1.21.11fabric, neoforge
Скачать
Что нового
- NEW: All routes now also support the `OPTIONS` method for [CORS preflight requests](https://developer.mozilla.org/en-US/docs/Glossary/Preflight_request). Thanks to [MoltenCoffee](https://github.com/MoltenCoffee)! - FIX: Upgrade to stable NeoForged version. - FIX: Upgrade Fabric loader. - FIX: Improve logging HTTP server initialisation.
release

GDMC HTTP Interface 1.8.3-1.21.11

1.8.3-1.21.11
8 мар. 2026 г.147Minecraft: 1.21.11fabric, neoforge
Скачать
Что нового
- FIX: Allow setting alternative HTTP host address in mod settings ([#36](https://github.com/Niels-NTG/gdmc_http_interface/issues/36)). - FIX: Log stack trace if HTTP server fails to start ([#36](https://github.com/Niels-NTG/gdmc_http_interface/issues/36)).
release

GDMC HTTP Interface 1.8.2-1.21.11

1.8.2-1.21.11
27 февр. 2026 г.73Minecraft: 1.21.11fabric, neoforge
Скачать
Что нового
- NEW: Support for [Mod Menu](https://modrinth.com/mod/modmenu) (Fabric only). - FIX: Update mod metadata for Fabric and NeoForge. - FIX: Build system config file cleanup.
release

GDMC HTTP Interface 1.8.1-1.21.11

1.8.1-1.21.11
6 февр. 2026 г.64Minecraft: 1.21.11fabric, neoforge
Скачать
Что нового
- FIX: Commands `/buildarea load`, `/buildarea remove`, `/buildarea set` and `/buildarea tp` now provide suggestions with existing build area names while typing. - FIX: Custom heightmaps now accept fluid tags that aren't just 'water' or 'lava'. - FIX: Mod file size has been reduced by removing unneeded Fabric dependencies.
release

GDMC HTTP Interface 1.8.0-1.21.11

1.8.0-1.21.11
23 янв. 2026 г.59Minecraft: 1.21.11fabric, neoforge
Скачать
Что нового
- NEW: GDMC-HTTP is now compatible with Minecraft 1.21.11 - NEW: Command for managing build areas has been completely overhauled: - `/setbuildarea <fromX> <fromY> <fromZ> <toX> <toY> <toZ>` has changed to `/buildarea set <fromX> <fromY> <fromZ> <toX> <toY> <toZ>`. - You can now give a build area a name by passing `/buildarea set <fromX> <fromY> <fromZ> <toX> <toY> <toZ> <name>`. - Previously saved build areas can be loaded using `/buildarea load <name>`. - Build areas are saved with the level data and are therefore persistent. - Teleport to the current build area using `/buildarea tp`. - Teleport to a previously saved build area using `/buildarea tp <name>`. - Get a list of all previously saved build areas using `/buildarea list`. - Using `/buildarea makebook`, give players a written book that lists all saved build areas, including clickable links that teleport players to those locations.
release

GDMC HTTP Interface 1.7.0-1.21.10

1.7.0-1.21.10
10 дек. 2025 г.80Minecraft: 1.21.10fabric, neoforge
Скачать
Что нового
- NEW: GDMC-HTTP is now compatible with Minecraft 1.21.10! - NEW: In addition to Fabric, GDMC-HTTP now also supports the NeoForge mod loader. - BREAKING: Forge mod loader support has been removed. - BREAKING: Backwards compatibility with Minecraft versions prior to 1.21.10 has been removed.
release

GDMC HTTP Interface 1.6.0-1.21.4

1.6.0-1.21.4
23 мар. 2025 г.300Minecraft: 1.21.4fabric, forge
Скачать
Что нового
- NEW: `GET /heightmap` endpoint no longer requires having to set a build area using the in-game `/setbuildarea` command. It now also accepts `x`, `z`, `dx` and `dz` parameters to specify any area. - NEW: `GET /heightmap` endpoint also accepts a `withinBuildArea` flag to skip over positions outside the build area. - NEW: `GET /heightmap` endpoint can now also match specific block states when using custom heightmaps. For example: `blocks=oak_log[axis=y]` will only include upright oak tree logs, while horizontal oak logs (`minecraft:oak_log[axis=x]` and `minecraft:oak_log[axis=z]`) are excluded. - FIX: `GET /blocks` now returns `minecraft:void_air` instead of `minecraft:air` for positions outside the vertical world limit. - FIX: `PUT /blocks` discard placement instructions outside vertical world limit. - FIX: `GET /heightmap` fixed inconsistent responses when using custom block lists due to undefined behaviour during parsing of the `blocks` query parameter. - FIX: `GET /heightmap` when using custom heightmaps, match blocks on all possible block states instead of only the default ones. For example: `blocks=oak_log` now matches `minecraft:oak_log[axis=x]` and `minecraft:oak_log[axis=z]` in addition to the default `minecraft:oak_log[axis=y]`. - FIX: `GET /heightmap` values of `yBounds` parameter are now clamped to the vertical world limit. - FIX: `GET /biomes` now returns an empty string for the biome ID if the requested position is outside vertical world limit.
release

GDMC HTTP Interface 1.6.0-1.20.2

1.6.0-1.20.2
23 мар. 2025 г.90Minecraft: 1.20.2fabric, forge
Скачать
Что нового
- NEW: `GET /heightmap` endpoint no longer requires having to set a build area using the in-game `/setbuildarea` command. It now also accepts `x`, `z`, `dx` and `dz` parameters to specify any area. - NEW: `GET /heightmap` endpoint also accepts a `withinBuildArea` flag to skip over positions outside the build area. - NEW: `GET /heightmap` endpoint can now also match specific block states when using custom heightmaps. For example: `blocks=oak_log[axis=y]` will only include upright oak tree logs, while horizontal oak logs (`minecraft:oak_log[axis=x]` and `minecraft:oak_log[axis=z]`) are excluded. - FIX: `GET /blocks` now returns `minecraft:void_air` instead of `minecraft:air` for positions outside the vertical world limit. - FIX: `PUT /blocks` discard placement instructions outside vertical world limit. - FIX: `GET /heightmap` fixed inconsistent responses when using custom block lists due to undefined behaviour during parsing of the `blocks` query parameter. - FIX: `GET /heightmap` when using custom heightmaps, match blocks on all possible block states instead of only the default ones. For example: `blocks=oak_log` now matches `minecraft:oak_log[axis=x]` and `minecraft:oak_log[axis=z]` in addition to the default `minecraft:oak_log[axis=y]`. - FIX: `GET /heightmap` values of `yBounds` parameter are now clamped to the vertical world limit. - FIX: `GET /biomes` now returns an empty string for the biome ID if the requested position is outside vertical world limit.
release

GDMC HTTP Interface 1.6.0-1.19.2

1.6.0-1.19.2
23 мар. 2025 г.82Minecraft: 1.19.2fabric, forge
Скачать
Что нового
- NEW: `GET /heightmap` endpoint no longer requires having to set a build area using the in-game `/setbuildarea` command. It now also accepts `x`, `z`, `dx` and `dz` parameters to specify any area. - NEW: `GET /heightmap` endpoint also accepts a `withinBuildArea` flag to skip over positions outside the build area. - NEW: `GET /heightmap` endpoint can now also match specific block states when using custom heightmaps. For example: `blocks=oak_log[axis=y]` will only include upright oak tree logs, while horizontal oak logs (`minecraft:oak_log[axis=x]` and `minecraft:oak_log[axis=z]`) are excluded. - FIX: `GET /blocks` now returns `minecraft:void_air` instead of `minecraft:air` for positions outside the vertical world limit. - FIX: `PUT /blocks` discard placement instructions outside vertical world limit. - FIX: `GET /heightmap` fixed inconsistent responses when using custom block lists due to undefined behaviour during parsing of the `blocks` query parameter. - FIX: `GET /heightmap` when using custom heightmaps, match blocks on all possible block states instead of only the default ones. For example: `blocks=oak_log` now matches `minecraft:oak_log[axis=x]` and `minecraft:oak_log[axis=z]` in addition to the default `minecraft:oak_log[axis=y]`. - FIX: `GET /heightmap` values of `yBounds` parameter are now clamped to the vertical world limit. - FIX: `GET /biomes` now returns an empty string for the biome ID if the requested position is outside vertical world limit.
release

GDMC HTTP Interface 1.5.2-1.21.4

1.5.2-1.21.4
9 мар. 2025 г.64Minecraft: 1.21.4fabric, forge
Скачать
Что нового
- FIX: Critical bug in custom heightmaps due to upper and lower Y bounds being reversed. - FIX: Typos in documentation.