jsorrell / CarpetSkyAdditions

Empty world generation with new ways to obtain resources
MIT License
428 stars 87 forks source link

Dead coral fans stop producing sand before they decay. #61

Closed 57LeafClover closed 1 year ago

57LeafClover commented 1 year ago

I've noticed this issue when I had about 20 coral fan areas set up, where occasionally one to a few of the fans would stop producing sand while water was still flowing out of them. I've been able to reproduce it by pausing the game and unpausing it, so that seems to be the cause of the issue. I have not noticed it stopping production unless I pause the game at all.

Edit: It doesn't appear to happen only when pausing, but pausing is the easiest way to reproduce the issue.

jsorrell commented 1 year ago

I haven't been able to reproduce this yet. I turned off decay, set up 30 sand generators and tick warped for over 24 hours. I also tried pausing and unpausing a bunch. Are you using observers on the coral? If not it may be a client desync issue where the coral is gone but the client still shows it.

57LeafClover commented 1 year ago

I'm early into a skyblock world, so I was just doing it by hand and didn't have observers or anything yet. It's a single player world so I don't think it would be client desync, as I stared at one of them for about a minute before attempting to use bone meal again, which after I couldn't I had to break it by hand.

jsorrell commented 1 year ago

Still can't reproduce this. How often does it happen for you? Can you try quitting and rejoining your world when this happens and see if the block is still there?

PokerfaceHD commented 1 year ago

Im not the person to experience this bug too but I saw it on a live stream by ilmango. If you check his latest vod it happens around 2:15 several times. He didnt move away from that area so chunk unloading isnt the issue. Ive personally never experienced it in my several hundred hours of testing so seems like it either happens to a person or it never happens. You can get rid of the bug by removing the water and adding it back in so it must be an issue with the helper

57LeafClover commented 1 year ago

I just checked my world, when I got it to happen again I quit the world and rejoined, and it was still there and not producing sand. Also like PokerfaceHD said, when I removed the water and added it back it fixed it. It seems pausing was just something I happened to do when farming a lot of sand manually, and it doesn't seem to cause the issue.

jsorrell commented 1 year ago

I just had an idea that the scheduled fluid ticks of the water first flowing out are interfering with the scheduled block ticks of the coral. That's likely the issue and I'll look at that as the cause when i get a chance.

If this is the case, its likely any block update on the coral will fix the issue.

Thanks for helping debug this.

jsorrell commented 1 year ago

Actually thinking more, the scheduled block update will come before the fluid update, so if the water flows out of the coral on the same tick it was supposed to produce sand, the water wont yet be flowing and the scheduled ticks will be cancelled because the coral won't yet see flowing water.

I'll upload a fix in a few hours.

jsorrell commented 1 year ago

Ok it's just a stupid bug that has to do with dead coral wall fans being a different block than normal dead coral fans and block updates are being ignored for them. It's an easy fix that I'll release soon.