The precursor to this project was discussed on Flippeh's cNBT topic. Since then it became a much bigger project, and a couple days ago I got a request from LogicStuffs for the sourcecode.
Inside the repo are two projects; 'libnbt' is a dependency of 'libmcmap'. (This does not include the code I wrote for generating a POV-Ray scene from the map data.)
Libmcmap & libnbt compile natively on Mac OSX and Linux, and on Windows using MinGW.
See the Github 'README' for installation instructions.
Hey Phos, just wanted to thank your for making this a thing (and moreso for making it LGPL) - there aren't many other C/C++ libraries for interpreting world data, and I found yours the most accessible. I'm currently using your library in a personal project to actively stream Minecraft worlds into Unreal Engine 4 and utilize their full potential in an MMORPG context.
I just completed my most extensive use (which also means testing) of libmcmap to-date, uncovering and fixing a whole new crop of bugs. This and two major Minecraft versions seemed to warrant a release of libmcmap v0.3.
A change log (critical bug fixes in red):
shownbt - careless argument handling used uninitialized pointer.
nbt_print_ascii() - division wasn't protected from input value of zero.
mcmap_chunk_read() & mcmap_chunk_write() - overlooked pointers during free could be accidentally freed again.
mcmap_prime_single() - typo during delicate surgery on the memory structure.
mcmap_prime_circle() - forgot to translate away from origin.
Fixed 22 cases, in failure gray-areas, of unpopulated or outdated message buffer.
Fixed typos in block definitions & libmcmap license notice.
Added consideration of block types new in Minecraft 1.9 & 1.10.
The precursor to this project was discussed on Flippeh's cNBT topic. Since then it became a much bigger project, and a couple days ago I got a request from LogicStuffs for the sourcecode.
Inside the repo are two projects; 'libnbt' is a dependency of 'libmcmap'. (This does not include the code I wrote for generating a POV-Ray scene from the map data.)
Libmcmap & libnbt compile natively on Mac OSX and Linux, and on Windows using MinGW.
See the Github 'README' for installation instructions.
Development & testing screenshots:
https://twitter.com/petermarkley/status/373872343589744640
https://twitter.com/petermarkley/status/386722644088741888
https://twitter.com/petermarkley/status/388499118584115200
(Added links above to original screenshot tweets, for context.)
Hey Phos, just wanted to thank your for making this a thing (and moreso for making it LGPL) - there aren't many other C/C++ libraries for interpreting world data, and I found yours the most accessible. I'm currently using your library in a personal project to actively stream Minecraft worlds into Unreal Engine 4 and utilize their full potential in an MMORPG context.
Here's a screenshot:
And the source code: https://bitbucket.org/Hal9007/westeroscraftunreal/src/
So yeah, just wanted to let you know your work is appreciated; I look forward to future updates!
Dude, that's like the most amazing thing ever. Thanks for showing that off!
I get the warm fuzzies thinking my work is being appreciated! :-D
I just completed my most extensive use (which also means testing) of libmcmap to-date, uncovering and fixing a whole new crop of bugs. This and two major Minecraft versions seemed to warrant a release of libmcmap v0.3.
A change log (critical bug fixes in red):
The aforementioned "extensive use" of libmcmap was - you guessed it - an adventure map! Go check it out!
Released libmcmap v0.4 with new MinGW make target for Windows, due to (modestly) popular request.
I have migrated the source code to Github: https://github.com/petermarkley/libmcmap
Former Dropbox links will be deprecated.