Pokechu22/WorldDownloader

Chests, echests and shulkers not saving contents in 1.16.4 version

Ankmaniac opened this issue · 8 comments

I'm trying to download my base from a multiplayer server I play on so I can play on it without paper spigot messing up farms and villagers, I open every single farm, hopper and shulker in my base but they aren't saved when it's finished. I don't know what's causing them to be wiped unless if I have to open them after I return from other parts of the world

You're not the only person to report something like this (see #234), but I haven't had time to look into it.

Are you using the forge version, or the base edit version? And, what do you mean by opening a farm?

I don't know what's causing them to be wiped unless if I have to open them after I return from other parts of the world

No, block entities are supposed to be re-imported if you load a chunk containing them; that should work.

My bad opening a farm was a typo, I meant to write chest, but I tried it with both forge and the base version both had the same issue

Does it work if you start downloading, open the chest, and then immediately stop downloading?

it works if i immediately stop downloading yeah

ok so i did some testing, if i overwrite my save it will keep previously checked containers and add in newly checked containers too, but reset my enderchest unless i recheck it. also unloading and then reloading the chunks doesnt seem to be the problem, might be something to do with the nether in that case

even more testing, it doesnt save all villager professions or trades, the zombies and villagers in my iron farm at all, only saved one type of painting even though i loaded all of them, and saved the contents of chests that werent in range of my nether portal such as my skeleton grinder, which im pretty sure means that going through the nether portal while downloading the world will reset the contents and entities within all loaded chunks, and those which werent in range dont get reset

Ender chests being imported from the previous save is a separate issue (since ender chests are saved with player data instead of in the world). It's something I already have a fix for, which will be included in the next update: #219

I'm also going to assume that by paintings, you instead mean item frames with maps in them; maps are a bit more complicated than paintings.

Changing dimensions is a bit of a pain point for the mod since it results in a bunch of chunks unloading all at the same time and in an unusual manner. It's annoying that it's breaking like this, but I'm not entirely surprised that it's broken either. You should be able to work around it by stopping downloading before entering the portal and then resuming downloading when you're on the other side. That should resolve all container loss (other than ender chests, which you'll need to open before the last time you stop downloading).

even more testing, both the paintings i had around my base and my map wall are difficult to save, along with hopper minecarts and villagers. they will be saved if i start and stop downloading while looking at them, but if i unload them while downloading the world it wont be saved. im pretty sure that the only saved entities are those which are loaded in when you stop downloading, and if you save chunks with unloaded entities in them then the entities wont be saved at all despite being previously loaded in

addition: saving containers works flawlessly while overwriting as long as i dont go through the nether, but saving entities seems to be really inconsistent and buggy

additional addition: saving villager trades while theyre loaded in will result in only the last tier trade being saved with all previous tier trades being removed, but they will remain their last tier, so master villagers will stay master villagers with 2 trades