Each chunk section (16x16x16 area of blocks) of a block contains a lookup table with some of these block identifiers and then some array (NBT node called BlockStates) pointing to the lookup table describing these 16x16x16 blocks. As I described somewhere above, Minecraft uses block identifiers like minecraft:block_name with properties associated instead of block IDs/data values. Now on what you could work: Maybe you can try to make Mapcrafter parse the new chunks with new block identifiers correctly. I'll send you a zip file that you have to put somewhere and also you'd have to adjust the path in src/mapcraftercore/renderer/manager.cpp otherwise Mapcrafter will complain. I started to make the block images class load the new block images. I made a copy of the isometric world view (in the Mapcrafter source src/mapcraftercore/renderer/renderviews/isometricnew) to integrate the new block images there and adapt the renderer too. Also I got a dump of the structure of a new chunk with Mapcrafter here.Īs I mentioned I did some preparations on Mapcrafter already, that's in the branch world113. It's just a few changes for the blockstate lookup table in the chunks, so you can also consider the older format description and the current Mapcrafter code ( src/mapcraftercore/mc/chunk.h/cpp). Unfortunately my time is a bit limited right now, so I can't make it too detailed but I try to catch everything: I found that the new chunk format is explained quite well in a forum post here. I will keep you updated about the progress. Mapcrafter should then be able to render all blocks exactly how they look like in Minecraft (including modded blocks!) without manually having to define anything additionally in the Mapcrafter code. Then there are still quite some things to work on (for example lighting, biome handling), but as I said I think it will be really worth it. Next step would be to work on a basic integration of these block images and support for loading 1.13 worlds in Mapcrafter. I have managed already to implement the block rendering so far to render most blocks and also to export them in the same perspective as Mapcrafter used to generate block images. Maybe it's possible to have a basic set of block images generated and shipped with Mapcrafter (in order not to require OpenGL support on servers running Mapcrafter), for special needs it could make use of an offscreen software rendering (OSMesa). This tool will be independent of Mapcrafter. Instead I have started to work on a little tool that renders these block images for Mapcrafter with OpenGL from the Minecraft JSON block model files (we can associate these easily with the block identifiers). I think that making a mapping between new block identifiers and old block IDs/data values is a big effort and not wise for a future development of Mapcrafter. With the update to 1.13 these IDs/data values are not stored in the world format anymore, but new block identifiers (such as minecraft:block_name instead of block ID 123) with properties ( direction=south instead of data value 0x1 for example). Right now, images for all blocks in Minecraft are defined and generated more or less manually in the Mapcrafter code and associated to block IDs/data values. My plan is the following: I will not only make the current state Mapcrafter work with 1.13 worlds, but I will also change how the images of blocks are generated internally. Bad news is that it might take a while as it will be a big update, but I think it will be really worth it. I have good news for you guys, I have started to work on something.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |