GregoryAM-SP / The-Minecraft-Overviewer

The Minecraft Overviewer | Successor
https://overviewer.gregoryam.com
GNU General Public License v3.0
88 stars 12 forks source link

Entity support #20

Closed Zottelchen closed 7 months ago

Zottelchen commented 1 year ago

Since 1.17 Minecraft moved some entities from the chunks to an extra folder in the world called 'entities'. --genpoi sadly doesn't look there yet. To be clear though, this needs to be additionally implemented: Tile entities (chests, barrels, etc.) are still in the same location as before (inside the region folder).

https://minecraft.fandom.com/wiki/Entity_format#Folder_Structure

Gregory-AM commented 1 year ago

I appreciate you bring this to my attention and will see what can be done to fix this.

jobe1986 commented 1 year ago

So far, from my own custom scanning of the entities directory (I've been making a manual POI list to include), and so far I have been able to identify that "tile" (block) entities remain in the main world file, and all other entities, such as item drops, mobs, etc... are all stored in the entities files.

I wrote a script to parse a list of entity types out of both sets of files on the server I run and these are the results: region/.mca entities: https://pastebin.com/0qKhkGBS entities/.mca entities: https://pastebin.com/nGcuckfg

Note how you'd expect item frames to be a "tile" (block) entity, however theyre stored amongst non-tile entities.

Gregory-AM commented 1 year ago

@jobe1986, does this work currently with 1.20?

jobe1986 commented 1 year ago

@jobe1986, does this work currently with 1.20?

Those lists were generated from 1.20.1, but it was using an entirely separate script I wrote myself, wasn't part of overviewer at all. I just thought I would supply those lists as an example of the types found in each set of files in the minecraft world on the server I run. I wouldnt call them conclusive lists of all possible entities though because I'm almost certain there are entities not present.

All overviewer needs to do is parse the entities directory for *.mca region files which simply contain a list of entities per chunk. Compared to the main region files theyre quite a bit simpler. The outer format of the file is the same as the main region files, so that wont be a problem, and the data stored for each chunk in the file is just 3 tags, the usual Position, and DataVersion for each chunk, and then an "Entities" tag containing a list of entities found in that chunk.

Unfortunately the custom script I use does far too many other things to be of use here I'm afraid.

Unix-User commented 1 year ago

Anything about this issue yet? I would like to render the animals, boats, and minecarts on the map.

Gregory-AM commented 1 year ago

Hey there. I haven't been working on Overviewer since the last release.

I've had some stuff come up in life that hindered me really pushing updates.

Good news though! I've recently started getting back into development of adding the missing blocks from 1.20. and hopefully trying to look into a few things missing.

This issue may not be fixed for some time as when this issue first came to be, I did try finding how the data was accessed and couldn't figure it out right away.

Since I have more time on my hands, I'll be dedicating more time to Overviewer and hopefully resolving this.

stwalkerster commented 7 months ago

I've got a fix for this in a private fork that we're using for our world renders. Once I get a bunch of the other changes we've made merged into this branch, I'll throw that change up as a PR too.