Skip to content

Commit

Permalink
Expand documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
Niels-NTG committed Mar 8, 2024
1 parent 1835bcb commit 8a5ef7a
Show file tree
Hide file tree
Showing 4 changed files with 29 additions and 23 deletions.
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
# GDMC-HTTP 1.4.4 (Minecraft 1.20.2)

- FIX: Allow `GET /chunks` to be used without having to set a build area.
- FIX: Off-by-one bugs for block/chunk ranges in request URLs.
- FIX: Documentation cleanup.

# GDMC-HTTP 1.4.3 (Minecraft 1.20.2)

- FIX: `OPTIONS /` now also returns the [`DataVersion`](https://minecraft.wiki/w/Data_version) field.
Expand Down
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ With this interface you can use other applications and scripts running on the sa

This is designed as a tool for the [Generative Design in Minecraft Competition (GDMC)](http://gendesignmc.engineering.nyu.edu/), an annual competition for generative AI systems in Minecraft, where the challenge is to write an algorithm that creates a settlement while adapting to pre-existing terrain. Feel free to join our [community Discord server](https://discord.gg/YwpPCRQWND)!

| Minecraft version | GDMC-HTTP version | Docs | GDMC competition entries[^1] |
| ----------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
| 1.20.2 | 📦 [GDMC-HTTP 1.4.3](https://github.com/Niels-NTG/gdmc_http_interface/releases/tag/v1.4.3) | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/tree/v1.4.3/docs/Endpoints.md) | [2024 (TBD)](https://gendesignmc.wikidot.com/wiki:2024-settlement-generation-competition) |
| 1.19.2 | 📦 [GDMC-HTTP 1.3.3](https://github.com/Niels-NTG/gdmc_http_interface/releases/tag/v1.3.3) | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/tree/v1.3.3/docs/Endpoints.md) | [2023](https://gendesignmc.wikidot.com/wiki:2023-settlement-generation-competition) |
| 1.16.5 | 📦 [GDMC-HTTP 0.4.2](https://github.com/nikigawlik/gdmc_http_interface/releases/tag/v0.4.2) | 📒 [API Docs](https://github.com/nikigawlik/gdmc_http_interface/wiki) | [2022](https://gendesignmc.wikidot.com/wiki:2022-settlement-generation-competition), [2021](https://gendesignmc.wikidot.com/wiki:2021-settlement-generation-competition) |
| Minecraft version | GDMC-HTTP version | Docs | GDMC competition entries[^1] |
|-------------------|---------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 1.20.2 | 📦 [GDMC-HTTP 1.4.4](https://github.com/Niels-NTG/gdmc_http_interface/releases/tag/v1.4.4) | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/tree/v1.4.4/docs/Endpoints.md) | [2024 (TBD)](https://gendesignmc.wikidot.com/wiki:2024-settlement-generation-competition) |
| 1.19.2 | 📦 [GDMC-HTTP 1.3.3](https://github.com/Niels-NTG/gdmc_http_interface/releases/tag/v1.3.3) | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/tree/v1.3.3/docs/Endpoints.md) | [2023](https://gendesignmc.wikidot.com/wiki:2023-settlement-generation-competition) |
| 1.16.5 | 📦 [GDMC-HTTP 0.4.2](https://github.com/nikigawlik/gdmc_http_interface/releases/tag/v0.4.2) | 📒 [API Docs](https://github.com/nikigawlik/gdmc_http_interface/wiki) | [2022](https://gendesignmc.wikidot.com/wiki:2022-settlement-generation-competition), [2021](https://gendesignmc.wikidot.com/wiki:2021-settlement-generation-competition) |

[^1]: Any script or program written to work with GDMC-HTTP version 1.0.0 or later *should* be compatible with any future version of GDMC-HTTP 1.x.x. If you find this is not the case, feel free to let us know by submitting an [issue](https://github.com/Niels-NTG/gdmc_http_interface/issues) or sending a message to the *#http-support* channel on our Discord server.

Expand Down Expand Up @@ -48,21 +48,21 @@ When the HTTP interface is active, you have access to the following HTTP endpoin

| HTTP method | URL | Description | Docs |
|-------------|--------------|------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------|
| `POST` | `/commands` | Send Minecraft console commands | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Send-Commands-POST-commands) |
| `GET` | `/blocks` | Get information on blocks in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Read-blocks-GET-blocks) |
| `PUT` | `/blocks` | Place blocks | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Place-blocks-PUT-blocks) |
| `GET` | `/biomes` | Get information on biomes in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Read-biomes-GET-biomes) |
| `GET` | `/chunks` | Get raw chunk data in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Read-chunk-data-get-chunks) |
| `GET` | `/structure` | Create an NBT structure file from a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Create-NBT-structure-file-get-structure) |
| `POST` | `/structure` | Place an NBT structure file into the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Place-NBT-structure-file-POST-structure) |
| `GET` | `/entities` | Get information on entities in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Read-entities-GET-entities) |
| `PUT` | `/entities` | Summon entities into the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Create-entities-PUT-entities) |
| `PATCH` | `/entities` | Edit entities that already exist in the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Edit-entities-PATCH-entities) |
| `DELETE` | `/entities` | Remove entities from the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Remove-entities-DELETE-entities) |
| `GET` | `/players` | Get information on players in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Read-players-GET-players) |
| `GET` | `/buildarea` | Get information on the current build area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Get-build-area-GET-buildarea) |
| `GET` | `/heightmap` | Get heightmap information of the build area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Get-heightmap-GET-heightmap) |
| `OPTIONS` | `/` | Get current Minecraft and mod version | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.3/docs/Endpoints.md#Read-HTTP-interface-information-OPTIONS-) |
| `POST` | `/commands` | Send Minecraft console commands | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Send-Commands-POST-commands) |
| `GET` | `/blocks` | Get information on blocks in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Read-blocks-GET-blocks) |
| `PUT` | `/blocks` | Place blocks | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Place-blocks-PUT-blocks) |
| `GET` | `/biomes` | Get information on biomes in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Read-biomes-GET-biomes) |
| `GET` | `/chunks` | Get raw chunk data in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Read-chunk-data-get-chunks) |
| `GET` | `/structure` | Create an NBT structure file from a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Create-NBT-structure-file-get-structure) |
| `POST` | `/structure` | Place an NBT structure file into the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Place-NBT-structure-file-POST-structure) |
| `GET` | `/entities` | Get information on entities in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Read-entities-GET-entities) |
| `PUT` | `/entities` | Summon entities into the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Create-entities-PUT-entities) |
| `PATCH` | `/entities` | Edit entities that already exist in the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Edit-entities-PATCH-entities) |
| `DELETE` | `/entities` | Remove entities from the world | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Remove-entities-DELETE-entities) |
| `GET` | `/players` | Get information on players in a given area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Read-players-GET-players) |
| `GET` | `/buildarea` | Get information on the current build area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Get-build-area-GET-buildarea) |
| `GET` | `/heightmap` | Get heightmap information of the build area | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Get-heightmap-GET-heightmap) |
| `OPTIONS` | `/` | Get current Minecraft and mod version | 📒 [API Docs](https://github.com/Niels-NTG/gdmc_http_interface/blob/v1.4.4/docs/Endpoints.md#Read-HTTP-interface-information-OPTIONS-) |

Detailed documentation of the endpoints can be found at [docs/Endpoints](./docs/Endpoints.md).

Expand Down
4 changes: 2 additions & 2 deletions docs/Endpoints.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Endpoints GDMC-HTTP 1.4.3 (Minecraft 1.20.2)
# Endpoints GDMC-HTTP 1.4.4 (Minecraft 1.20.2)

[TOC]

Expand Down Expand Up @@ -566,7 +566,7 @@ Response should be encoded as an [NBT](https://minecraft.wiki/w/NBT_format) or [
Get a single chunk at position x=0, z=8 in the Nether with the request `GET /chunks?x=0&z=8&dimension=nether` with the header `Accept: text/plain` to get something that is human-readable:

```
{ChunkDX:1,ChunkDZ:1,ChunkX:0,ChunkZ:8,Chunks:[{DataVersion:3120,Heightmaps:{MOTION_BLOCKING:[L;2310355422147575936L,2310355422147575936L,2310355422147575936L,2310355422147575936L, ...
{ChunkDX:1,ChunkDZ:1,ChunkX:0,ChunkZ:8,Chunks:[{DataVersion:3578,Heightmaps:{MOTION_BLOCKING:[L;2310355422147575936L,2310355422147575936L,2310355422147575936L,2310355422147575936L, ...
```

# Create NBT structure file `GET /structure`
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ mod_name=GDMC HTTP Interface
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
mod_license=MIT
# The mod version. See https://semver.org/
mod_version=1.4.3
mod_version=1.4.4
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
# This should match the base package used for the mod sources.
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html
Expand Down

0 comments on commit 8a5ef7a

Please sign in to comment.