https://github.com/avdstaaij/gdpc
A python framework for procedural generation in Minecraft with the GDMC HTTP Interface mod.
https://github.com/avdstaaij/gdpc
architecture game-ai-framework gdmc gdmc-competition generative-art generative-design level-editor map-editor minecraft pcg procedural-generation python python3
Last synced: 5 months ago
JSON representation
A python framework for procedural generation in Minecraft with the GDMC HTTP Interface mod.
- Host: GitHub
- URL: https://github.com/avdstaaij/gdpc
- Owner: avdstaaij
- License: mit
- Created: 2022-03-01T18:36:42.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2025-06-05T23:46:55.000Z (about 1 year ago)
- Last Synced: 2026-01-03T04:28:46.981Z (5 months ago)
- Topics: architecture, game-ai-framework, gdmc, gdmc-competition, generative-art, generative-design, level-editor, map-editor, minecraft, pcg, procedural-generation, python, python3
- Language: Python
- Homepage: https://gdpc.readthedocs.io/en/stable/
- Size: 4.54 MB
- Stars: 25
- Watchers: 2
- Forks: 20
- Open Issues: 27
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# GDPC
GDPC (Generative Design Python Client) is a Python framework for the [GDMC HTTP
Interface mod](https://github.com/Niels-NTG/gdmc_http_interface) for Minecraft
Java edition.
The GDMC HTTP mod implements a HTTP interface that allows you to edit a
Minecraft world live, while you're playing in it, making it possible to rapidly
iterate on generative algorithms. GDPC provides Python bindings for the
GDMC-HTTP interface, along with many high-level tools that make development much
easier.
GDPC is primarily designed for the [Generative Design in Minecraft Competition
(GDMC)](https://gendesignmc.wikidot.com/), a yearly competition for procedural
generation in Minecraft where the challenge is to write an algorithm that
creates a settlement that adapts to the pre-existing terrain. Feel free to join
us on [Discord](https://discord.gg/YwpPCRQWND)!
## Quick example
```python
from gdpc import Editor, Block, geometry
editor = Editor(buffering=True)
# Get a block
block = editor.getBlock((0,48,0))
# Place a block
editor.placeBlock((0,80,0), Block("stone"))
# Build a cube
geometry.placeCuboid(editor, (0,80,2), (2,82,4), Block("oak_planks"))
```
## Documentation
You can find installation instructions, guides and an API reference in our
documentation on [Read the Docs](https://gdpc.readthedocs.io)!
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md) for information about how to contribute.
## Acknowledgements
GDPC was progressively developed with the help of various members of the GDMC community. Of special note are [Niki Gawlik](https://github.com/nikigawlik), who started both GDMC-HTTP and GDPC, and [Blinkenlights](https://github.com/flashing-blinkenlights), who previously maintained the project.