Releases: wurstmineberg/api.wurstmineberg.de
Wurstmineberg Minecraft API 2.0.0 — Change ALL The Things
This release is the first major version bump, which means backwards-incompatible changes! Don't worry though, almost all v1 endpoints will continue to work as before. In fact, the only one that is completely broken is /minigame/diary/all.json
, because the whole diary thing didn't really go anywhere.
The new endpoints are reachable at /v2/
, and even have their own documentation page. Some of the most important changes:
- The API now supports multiple Minecraft worlds via systemd-minecraft. Most endpoints that were located in
/server/
are now in/world/<world>/
. - The people file uses a new format and is now read from a postgresql database.
- Players are now consistently being referred to by either their Wurstmineberg ID if they have one, or their Minecraft UUID. All endpoints will accept either of those, and will no longer accept Minecraft nicknames.
- All endpoints now have a file extension. This is in preparation for a planned feature where JSON endpoints will also be provided in other formats (e.g. the unaltered NBT, or nicely formatted HTML) by replacing the
.json
with another extension. Also, thanks to new routing syntax in bottle.py, we were able to ditch the weird names ending inpng.png
. - Most of the endpoints that previously required the custom logs provided by wurstminebot to function correctly now parse the server logs themselves. The only exception is
/minigame/deathgames/log.json
, which will still require manual logging to some extent because automatically determining whether a kill was part of the Death Games is hard. - There are a few new endpoints, including world chunk data, server logs, player skins, and API version.
- There are a few changed dependencies and configuration options. See the readme for details.
Wurstmineberg Minecraft API 1.18.0 — pickup and drop
This release adds the /minecraft/items/by-tag/:item_id/:tag_value
endpoint, which corresponds to the new tagVariants
feature in items.json.
It also adds support for the new pickup
and drop
stats added in Minecraft 1.9 snapshot 15w33a, including them in /server/playerstats/item.json
and leaving only the sum stats in /server/playerstats/general.json
Wurstmineberg Minecraft API 1.17.2
This release fixes a bug in /server/playerdata.json
that caused the endpoint to return 500 Internal Server Error if any whitelisted players have not been on the main world yet.
Wurstmineberg Minecraft API 1.17.1
This release fixes a bug in /server/status.json
which caused it to return 500 Internal Server Error when the server is running but no one is online.
Wurstmineberg Minecraft API 1.17.0 — item by effect
This release adds the /minecraft/items/by-effect/:item_id/:effect_id
endpoint, and updates /server/status.json
to use mcstatus. The config has gained a new field serverIP
which is used by the status endpoint and defaults to wurstmineberg.de
.
Wurstmineberg Minecraft API 1.16.0 — villages
This release adds 3 new endpoints which expose the main world's village data files as JSON:
/server/world/villages/end.json
for The End/server/world/villages/nether.json
for the Nether/server/world/villages/overworld.json
for the Overworld
It also adds an explicit coding comment, since the source code contains non-ASCII Unicode characters.
Wurstmineberg Minecraft API 1.15.0 — server status and dyed items
This release adds two new endpoints:
/server/status.json
provides a bit of info about the current server status: whether the server is online, the list of people who are online, and the Minecraft version that's currently running. This endpoint is now used on our main page, replacing the need for wurstminebot to generate the server status JSON all the time./minecraft/items/render/dyed-by-id/:item_id/:color/png.png
renders an item's base texture with a tint of a specific color. Only items for which base images are available (currently only leather armor) are supported. The tinting is designed to mimic that used by Minecraft.
Also, two behaviors have been fixed:
- The module can be used outside of a uWSGI context again. If the
uwsgi
module can't be imported, the fallback config path/opt/wurstmineberg/config/api.json
is used. - When the requested item can't be found by
/minecraft/items/by-id/:item_id
or/minecraft/items/by-damage/:item_id/:item_damage
, these endpoints will return HTTP status 404 Not Found instead of 500 Internal Server Error again.
Wurstmineberg Minecraft API 1.14.0 — Preparations
This updates makes the API compatible with the new items.json
structure. Also:
- You can now set the location of the config file using the uWSGI option
config_path
. - Item objects now include the
stringID
field in addition to the numericblockID
anditemID
. - Some of the documentation has been clarified.
Wurstmineberg Minecraft API 1.13.3
This release fixes the /server/maps/render/:identifier/png.png
endpoint to actually output a rendered PNG image. Please note that you should define the cache
entry in the config so that rendered maps may be cached instead of creating tempfiles on every request.
The documentation page (the /
“endpoint”) now displays the API version.
Wurstmineberg Minecraft API 1.13.2 — Now With More uWSGI
So apparently uwsgi actually needs that application
variable. That's good to know.