Recent Releases of gdmc_http_interface
gdmc_http_interface - GDMC-HTTP 1.6.0 (Minecraft 1.19.2 + 1.20.2 + 1.21.4)
Changelog:
- NEW:
GET /heightmapendpoint no longer requires having to set a build area using the in-game/setbuildareacommand. It now also acceptsx,z,dxanddzparameters to specify any area. - NEW:
GET /heightmapendpoint also accepts awithinBuildAreaflag to skip over positions outside the build area. - NEW:
GET /heightmapendpoint 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]andminecraft:oak_log[axis=z]) are excluded. - FIX:
GET /blocksnow returnsminecraft:void_airinstead ofminecraft:airfor positions outside the vertical world limit. - FIX:
PUT /blocksdiscard placement instructions outside vertical world limit. - FIX:
GET /heightmapfixed inconsistent responses when using custom block lists due to undefined behaviour during parsing of theblocksquery parameter. - FIX:
GET /heightmapwhen using custom heightmaps, match blocks on all possible block states instead of only the default ones. For example:blocks=oak_lognow matchesminecraft:oak_log[axis=x]andminecraft:oak_log[axis=z]in addition to the defaultminecraft:oak_log[axis=y]. - FIX:
GET /heightmapvalues ofyBoundsparameter are now clamped to the vertical world limit. - FIX:
GET /biomesnow returns an empty string for the biome ID if the requested position is outside vertical world limit.
- Java
Published by Niels-NTG 11 months ago
gdmc_http_interface - GDMC-HTTP 1.5.2 (Minecraft 1.19.2 + 1.20.2 + 1.21.4)
Changelog:
- FIX: Critical bug in custom heightmaps due to upper and lower Y bounds being reversed.
- FIX: Typos in documentation.
- Java
Published by Niels-NTG 12 months ago
gdmc_http_interface - GDMC-HTTP 1.5.1 (Minecraft 1.19.2 + 1.20.2 + 1.21.4)
Changelog:
- NEW: GDMC-HTTP is now compatible with Minecraft 1.21.4!
- FIX: Expanded and updated documentation.
- Java
Published by Niels-NTG about 1 year ago
gdmc_http_interface - GDMC-HTTP 1.5.0 (Minecraft 1.19.2 + 1.20.2)
Changelog:
- NEW: GDMC-HTTP is now compatible with both the Forge and Fabric modding platform!
- NEW:
GET /heightmapcan now receive a list of block IDs, block tag keys and fluid tag keys to create your own custom heightmaps! - NEW:
GET /heightmapcan now receive an upper and lower Y-value limit for the requested heightmap. Usefull for taking measurements of the surface of caves or The Nether dimension. - NEW: Add
keepLiquidsflag toPOST /structureendpoint. When set tofalseit removes all water sources present at the placement locations of the to be placed structure. - FIX: Actually implement behaviour to prevent spawning drops when placing structures for the
spawnDropsflag of thePOST /structureendpoint. - FIX:
/commandsnow returns a 405 is any other HTTP method besidesPOSTis used.
- Java
Published by Niels-NTG over 1 year ago
gdmc_http_interface - GDMC-HTTP 1.4.6 (Minecraft 1.19.2 + 1.20.2)
Changelog:
- NEW: To enhance backwards compatibility, all features introduced in GDMC-HTTP 1.4.0 are now also available for Minecraft 1.19.2!
- FIX: When the
doBlockUpdates=falseparameter is set onPUT /blocksdiscard placement instructions for duplicate block positions except the last one for that position. This prevents an undefined behaviour that made it impossible to predict in what order placement instructions targeting the same block position would resolve.
- Java
Published by Niels-NTG almost 2 years ago
gdmc_http_interface - GDMC-HTTP 1.4.5 (Minecraft 1.20.2)
Changelog:
- NEW: GDMC-HTTP can now also be obtained via the Modrinth mod portal!
- FIX: Add proper error handling for some instances where NBT data for a sign block submitted via
PUT /blockswas formatted incorrectly (#26). - FIX: Restore
spawnDropsflag ofPUT /blocksback to working order (#27). - FIX:
/itemcommand now works as expected when called via thePOST /commandsendpoint (#28).
- Java
Published by Niels-NTG almost 2 years ago
gdmc_http_interface - GDMC-HTTP 1.4.4 (Minecraft 1.20.2)
Changelog:
- FIX: Allow
GET /chunksto be used without having to set a build area. - FIX: Off-by-one bugs for block/chunk ranges in request URLs.
- FIX: Documentation cleanup.
- Java
Published by Niels-NTG almost 2 years ago
gdmc_http_interface - GDMC-HTTP 1.4.3 (Minecraft 1.20.2)
Changelog:
- FIX:
OPTIONS /now also returns theDataVersionfield. - FIX: Expanded and updated documentation.
- Java
Published by Niels-NTG about 2 years ago
gdmc_http_interface - GDMC-HTTP 1.4.2 (Minecraft 1.20.2)
Changelog:
- FIX:
GET /biomesdo not return entries for positions beyond the world's build height range. - FIX: Respond with
404status whenGET /biomeshas thewithinBuildArea=trueflag while no build area has been set using the/setbuildareacommand. - FIX: Respond with
404status whenGET /blockshas thewithinBuildArea=trueflag while no build area has been set using the/setbuildareacommand.
- Java
Published by Niels-NTG about 2 years ago
gdmc_http_interface - GDMC-HTTP 1.4.1 (Minecraft 1.20.2)
Changelog:
- FIX: Upgrade to Forge 1.20.2-48.1.0
- Java
Published by Niels-NTG about 2 years ago
gdmc_http_interface - GDMC-HTTP 1.4.0 (Minecraft 1.20.2)
Changelog:
TL;DR:
- ⛏ Minecraft 1.20.2 compatibility!
- ⏱ Huge performance improvements!
- 📜 Commands now return usefull feedback to the client!
- 📐 Restrict actions to the build area with the
withinBuildAreaflag! - 🏗 SNBT support for placing structures!
- 😸 Lots of quality-of-life improvements!
Full changelog:
- NEW: Compatibility with Minecraft version 1.20.2. No longer compatible with older versions of Minecraft. Any GDMC client (eg. your settlement generator) that works with GDMC-HTTP 1.0.0 or later should work with GDMC-HTTP 1.4.0 without making any changes to your code.
- NEW: The value "message" property returned by the POST /commands endpoint is now equal to what you would see in the in-game chat.
- NEW: POST /structure endpoint now also accepts SNBT-encoded files.
- NEW: GET /chunks default to using the build area if no URL query parameters are given.
- NEW: Add withinBuildArea flag to GET /chunks. If set to true and a build area is set, chunks outside of the build area are skipped.
- NEW: Add withinBuildArea flag to GET /biomes. If set to true and a build area is set, it skips positions outside of the build area.
- NEW: Add withinBuildArea flag to GET /structure. If set to true and a build area is set, it skips positions outside of the build area.
- NEW: Add withinBuildArea flag to POST /structure. If set to true and a build area is set, structures that are (partially) outside of the build area cannot be placed.
- NEW: Copy JSON representation of the current build area to clipboard when clicking on the chat message after setting it with the /setbuildarea command.
- NEW: Display GDMC-HTTP server status in chat message when player joins the world.
- NEW: Revert interface port to default (9000) if /sethttpport command has no arguments.
- FIX: Requests to PUT /blocks are up to 80%[^1] faster when block updates are enabled (default).
- FIX: Requests to PUT /blocks are up to 90%[^1] faster when block updates are disabled.
- FIX: Requests to GET /blocks are up to 60%[^1] faster!
- FIX: Requests to GET /chunks are up to 60%[^1] faster!
- FIX: Requests to GET /heightmap are now up to 85%[^1] faster!
- FIX: Requests to GET /biomes are now up to 60%[^1] faster!
- FIX: Requests to GET /structure are now up to 60%[^1] faster!
- FIX: Requests to GET /chunks larger than than 52x52 chunks should no longer time out[^1].
- FIX: Parse arguments dx, dy and dz in GET /entities as ranges (correct) instead of absolute coordinates (wrong).
- FIX: Improved error handling across all endpoints.
- FIX: Do not ignore blank entries in requests to DELETE /entities.
[^1]: Tested using an AMD Ryzen 3600 6-core CPU. Actual performance gains may vary depending on the amount of available CPU threads
- Java
Published by Niels-NTG about 2 years ago
gdmc_http_interface - GDMC-HTTP 1.3.3 (Minecraft 1.19.2)
- NEW: Add logo designed by Blinkenlights.
- FIX: Improved documentation.
- FIX: Replace links to Minecraft wiki the new domain (https://minecraft.wiki/).
- Java
Published by Niels-NTG over 2 years ago
gdmc_http_interface - GDMC-HTTP 1.3.2 (Minecraft 1.19.2)
Changelog:
- NEW: Add
GET /heightmapto get heightmap data of a given type of the currently set build area. Thanks to cmoyates! - NEW: Add custom heightmap types
MOTION_BLOCKING_NO_PLANTSandOCEAN_FLOOR_NO_PLANTS. - NEW: Add
withinBuildAreaflag toGET /blocks. If set to true it skips over positions outside of the build area. - NEW: Add
withinBuildAreaflag toPUT /blocks. If set to true it does not place blocks outside of the build area.
- Java
Published by Niels-NTG over 2 years ago
gdmc_http_interface - GDMC-HTTP 1.2.3 (Minecraft 1.19.2)
Changelog:
- FIX: With
PUT /blocks, allow for changing the block entity (NBT) data of a block even if the target block matches the block state and block ID of the placement instruction. This makes it possible to do things such as changing the text on an existing sign or changing the items of an already placed chest. - FIX: Reworked the algorithm for changing the shape of a block to fit with directly adjacent blocks (eg. fences) to be more efficient.
- Java
Published by Niels-NTG almost 3 years ago
gdmc_http_interface - GDMC-HTTP 1.2.2 (Minecraft 1.19.2)
Changelog:
- FIX: Ensure blocks placed via
POST /structurealways update on the client side to reflect its block entity data (eg. text on signs, pieces of armor on armor stands, etc.). Prior to this fix the data was correctly parsed, but only became visible in-game if the relevant chunks were reloaded. - FIX: Remove support for
pivotYURL query parameter in thePOST /structureendpoint since it wasn't implemented in the first place. Minecraft does not support it. This is not a breaking change since unknown query parameters will be ignored by GDMC-HTTP. - FIX: Add clarification on the transformation order of structures in the
POST /structureendpoint to documentation.
- Java
Published by Niels-NTG almost 3 years ago
gdmc_http_interface - GDMC-HTTP 1.2.1 (Minecraft 1.19.2)
Changelog:
- FIX: Issue where NBT file returned by
GET /structurewasn't GZIP-compressed even if the"Content-Encoding"request header contained the word "gzip". - FIX: Improve error handling when an empty file is submitted to
POST /structure.
- Java
Published by Niels-NTG almost 3 years ago
gdmc_http_interface - GDMC-HTTP 1.2.0 (Minecraft 1.19.2)
Changelog:
- NEW: Add
GET /playersendpoint to get all players on the server. Thanks to cmoyates! - NEW: Add support for target selector for entities in the
GET /entitiesendpoint using theselectorquery parameter. - NEW: Add support for target selector for players in the
GET /playersendpoint using theselectorquery parameter. - NEW: Unset build area by entering the
/setbuildareacommand without arguments.
- Java
Published by Niels-NTG almost 3 years ago
gdmc_http_interface - GDMC-HTTP 1.1.1 (Minecraft 1.19.2)
Changelog:
- NEW:
POST /commandnow acceptsx,y,zparameters, useful for when using commands with relative coordinates or commands such as /locate. - NEW: Add
OPTIONS /to get version of Minecraft and version of GDMC-HTTP interface. - NEW: Port number of the HTTP interface can be changed using the
/sethttpport <port>Minecraft console command. This value will be saved to a config file and therefore will be persistent. - NEW: Get port number of the HTTP interface via the
/gethttpportMinecraft console command. - FIX: The
/setbuildareaconsole command can now also accept coordinates that aren't loaded yet.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 1.0.0 (Minecraft 1.19.2)
Changelog:
- NEW: First stable release!
- BREAKING: JSON-formatted NBT-like data is no longer supported in request bodies. Use SNBT notation instead.
- BREAKING: Properties containing NBT values in JSON responses are no longer formatted as JSON, but as SNBT strings.
- BREAKING: Plain-text formatted responses have been removed in favour of JSON.
- BREAKING: Consistent error messages.
- BREAKING: Plain-text request bodies are no longer accepted (except for
POST /command). JSON-formatted request bodies are expected instead. - FIX: Improved performance!
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.7.6 (Minecraft 1.19.2)
Changelog:
- FIX:
GET /biomesnow returns an empty string for the biome ID if the requested position is outside of the vertical boundaries of the world. - FIX: Typo in error message
POST /structurehandler.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.7.5 (Minecraft 1.19.2)
Changelog:
- NEW:
GET /entities, read entities from a given area. - NEW:
PUT /entities, place any number of entities into the world. - NEW:
PATCH /entities, edit any number of entities already present in the world. - NEW:
DELETE /entities, remove any number of entities from the world. - NEW: Add
doBlockUpdates,spawnDropsandcustomFlagsparameters toPOST /structureendpoint. - FIX: Minor performance improvements and code readability by reducing branching.
- FIX: Updated build tools.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.7.4 (Minecraft 1.19.2)
Changelog:
- FIX: Placement of multi-part blocks such as beds and doors.
- FIX: Add proper exception handling for malformed JSON input at PUT /blocks.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.7.1 (Minecraft 1.19.2)
Changelog:
- Fix at
PUT /blocksfor placing block without (valid) coordinates. It places it at the URL query coordinates instead.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.7.0 (Minecraft 1.19.2)
Changelog:
PUT /blocksendpoint can now accept a JSON-formatted request body as input using the request header"Content-Type": "application/json". The format is identical the response of theGET /blockswith the"Accept": "application/json"request header, with a few minor additional features:- For each placement instruction,
x,yandzare optional. If omitted, it uses the coordinate set in the request's URL query as a fallback, or 0 if these aren't set. - For each placement instruction,
x,yandzcan be a integer ("x":32) or use tilde ("x": "~32") or caret ("x": "^32") notation in a string. - Block state (
"state") and block entity data ("data") can be an JSON object, a single string or can be omitted all together. - When placing blocks with
PUT /blocks, the "shapes" of directly adjacent blocks are updated, unless thedoBlockUpdatesflag is explicitly disabled. This means that placing a fence block directly adjacent to an existing block changes the shape of the fence such that it makes the appropriate connections.
- For each placement instruction,
- JSON response format of
PUT /blockshas changed to a simple array of strings. - For
GET /chunks, the binary format is now the default unless the"Accept"header is set to"application/json"or"text/plain". POST /structurecan now accept both GZIP-compressed and uncompressed NBT files.GET /structurecan now output GZIP-compressed (default) or uncompressed NBT files. The latter can be achieved by setting the request header"Accept-Encoding": "*"./versionnow returns a 405 is any other HTTP method besidesGETis used.- Improvements to code readability.
- Minor improvements to performance.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.6.5 (Minecraft 1.19.2)
Changelog:
- Add
GET /structureendpoint, for generating an NBT-formatted file of an area of blocks in the world. - Add
POST /structureendpoint, for placing an NBT-formatted file of a structure into the world.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.6.4 (Minecraft 1.19.2)
Changelog:
- Enable
GET /chunksto return a JSON-formatted response when the request headerAcceptis set toapplication/json.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.6.3 (Minecraft 1.19.2)
Changelog:
- Allow negative values for range coordinates in all endpoints that take the
dx,dyanddzparameters.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.6.2 (Minecraft 1.19.2)
Changelog:
- Fix plain text response for
GET /blocksendpoint
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.6.1 (Minecraft 1.19.2)
Changelog:
- Add
GET /biomesendpoint to request biome of a location in the world. - Minor performance enhancements.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.6.0 (Minecraft 1.19.2)
Changelog:
GET /blockscan return multiple blocks within a given area.- JSON response format of
GET /blocksis now a JSON array instead of a single object. - Response of
GET /blocksnow always includes a block's position in front of its material. - Response of
GET /blocksnow can include tile entity data associated with a block (eg. contents of a chest). - Endpoint
OPTIONS /blockshas been removed. PUT /blockscan now also process block entity data (eg. chest contents, a book on a lectern, armor on an armor stand, etc.).- Upgrade to Forge 1.19.2-43-2.0.
- Some minor performance improvements.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.5.3 (Minecraft 1.19.2)
Changelog:
- Implement parameter for specify target dimension (overworld, nether, end, etc.) for the
/blocks,/commandand/chunksendpoints. For examplePUT /blocks?dimension=netherplaces blocks in the nether instead of the overworld. If parameter is omitted it defaults to the overworld. - Fix relative position placement for blocks with a
~<int>position when placing blocks with thePUT /blocksendpoint. - Implement
OPTIONSmethod for the/blocksendpoint.
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.5.1 (Minecraft 1.19.2)
Changelog:
- Add GET /version endpoint, to get the current Minecraft version
- Java
Published by Niels-NTG about 3 years ago
gdmc_http_interface - GDMC-HTTP 0.5.0 (Minecraft 1.19.2)
Changelog:
- Adds compatibility for Minecraft version 1.19.2
- Java
Published by Niels-NTG about 3 years ago