Botania

Botania

133M Downloads

The Lighting Bug [1.14]

Awesomespore opened this issue · 35 comments

commented

So, since the mod was updated to 1.14, there has been a bug where if I unload certain chunks and reload them again, those chunks become completely dark, and light sources don't emit light.

After some time, I'm getting really suspicious of the mana spreader, as this lighting bug only ever seems to affect chunks that have mana spreaders placed in them. Here's an image.
2020-01-14_09 29 53 (Notice how the chunk that has a pure daisy in it is normal, hence why I suspect it's the spreaders, not the flowers.)

commented

Well, that's 9 months with no responses, so I assume it did.

commented

Sorry but on
Botania-1.19.2-437-FORGE
2023-02-21_13 41 36

with forge-43.2.3

commented

Hmm... after thorough testing in a test world, I have come to the conclusion that I honestly don't know.
This is the strangest issue I've ever seen. In a chunk with just Endoflames, they vanish and the chunk goes dark
In a chunk with just Endoflames and torches, they all vanish.
In a chunk with mana pools, spreaders, petal apothecaries, endoflames and torches, the chunk goes dark and the torches and endoflames vanish.
In a chunk with all of the above as well as light emitting blocks such as glowstone and jack o lanterns, the chunk goes dark, but those vanish as well as the endoflames, but the torches don't vanish.
Replacing the endoflames with another generating flora such as a thermalily, only the thermalily vanishes, but the chunk does not go dark.
Same story with functional flora.
This is very strange.......

commented

i doubt this is a botania specific bug
vanilla 1.14 is buggy
forge seems to make it even worse

commented

additionally, botania doesn't mess with chunk lighting at all, in that regard it's a pretty normal mod.

can you get it to happen on just plain forge?

commented

Was going to submit a report when I saw this already here. I've spent a while taking Botania in and out of a world, placing items and leaving & reentering chunks. This seems to be entirely tied to Mana Spreaders being within a chunk when it gets unloaded, most consistently repeatable by changing dimensions. All blocks that give off light, even from other mods, give off none and the entire chunk is pitch dark until block updates are applied to each light source.

commented

Yeah, I'm having the same issue

commented

Can confirm that my Endoflame setup with the basic spreader and mana pool is causing a dark spot... didnt happen till i went to go to the neither. then just now when i went to chase burried treasure.
Dark chunk
Dark chunk 2

the only major mods are mostly UI stuff... JEI, more Overlays.... whatever this is might be somewhere between those three botania items

EDIT and just for the record it impacted only the chunk. the darkness dropped off sharply at the chunk border. Image two shows image one, and two new chunks where i have put mana pools and spreaders

commented

the problem with the light bug, i could find in the preference of botania under the position [shaders]
enabled from true to false, this confirmed the mistake
hope it works for you too.

commented

This might be related to MinecraftForge/MinecraftForge#6433, but that PR has only been merged into 1.15

commented

I have this bug as well...only started seeing it after Botania was added to the modpack's instance. Not all chunks impacted have a mana spreader though, but all chunks DO have a functional flower (some floating, some not). As far as I can tell, Botania is the only thing that connects everything.
Examples:
https://imgur.com/KLrGo5i
From left to right, the far left chunk has a Solegnolia (planted)... The middle chunk has a Solegnolia (floating iirc) and some spreaders and manapools, a couple with sparks. The right chunk has a Solegnolia and a Jaded Amaranthus ( both floating), and various mystical flowers from the JA.
https://imgur.com/bVd70ar
Left Chunk has Pure Daisies (planted) and I believe a Hoppercock(floating) is in that chunk underground. The furthest chunk has a floating hoppercock, the front center chunk has several Shulk-Me-Nots and a Heisei Dream (all Floating) as well as some Endoflames (both visible in the SS and underground, all planted). The right chunk has more of those Endoflames (planted) and a Hoppercock (floating).

I have manapools and spreaders in unaffected chunks, but every chunk impacted seems to have a functional flower of some variety in it. I don't know if this helps track it down.

edit to add: This also seems to be impacting the server-side light logic, not just client-side/rendering...mobs will spawn in these chunks that require low light...hostiles (if I didn't have a mega torch disabling them) and bats spawn readily in the impacted chunks where they don't when they're fully lit.

commented

This is happening to me without mana pools, and is happening with hopperhocks, both floating and normal. In addition, I set up an hourglass next to a vanilla redstone lamp to try and trigger an update every so often, and the lamps got stuck when the darkness triggered again. Something seriously weird here, since it only happens sometimes and I have gone a whole game of many hours without encountering it, then suddenly encountered it in 4 chunks in rapid succession...

commented

so the chunk stopped ticking when the lighting issue happened? we saw that happen on the patron server as well, it seemed to be tile entities in general being weird.

commented
commented

Yes, that's what we saw as well.
Can you build and test master after resetting the state and relighting everything? (Or on a fresh world)

commented

In the more recent updates for Botania, I haven't seen this issue occur so far, so that's promising!

commented

I am experiencing it on r1.11-376 on our server. I had placed and endoflame, a manapool, diluted manapool, and 3 manaspreders in a chunk together and got this glitch. After finding this thread I broke down the spreaders and left the endoflame. It seemed to fix it until I Tried to capitalize on the glitch by making a mob farm. I moved the spreaders to another chunk to start that and when I put them back down the glitch happened back in the original chunk.

commented

I am experiencing this on my server. Botania+r1.11-376 with forge-1.14.4-28.2.0, (though I experienced it likewise with forge 28.1.115/117). I can confirm that it does seem to happen to chunks with Botania flowers in them. I have also noticed that this issue seems to occur more often in chunks with more entities in them. This issue seems to be related/identical to MC-142134, which affected 1.14.0 through 1.14.2. Both affected chunks also contained mana spreaders. A previous world encountered this same issue (I didn't get screenshots) in a chunk which had no spreaders, but did have sparks. This was also accompanied by severe lag spikes which came up every time the chunk was loaded.
2020-02-03_22 31 55

commented

Updated the server to r1.11-377 at first it looked like it was fixed. So far there haven't been any "Blackhole" effects of just no visible light, but the actual light level seems to hit or miss. When I first updated it seemed like it was working. Placed a torch and light level went up. But after playing for a while mobs started to spawn in the chunk and the light level went back to 0. Placing another torch raised it back up for a little while then it went back down.

commented

yeah I don't know anymore then. there's nearly zero custom light level code left in botania after 377 (only apothecaries and alf portals)

it's probably a vanilla/forge chunkloading issue

commented

Hey I'm definitely having this lighting issue! Only happening with Botania installed~!

commented

I updated my server to 377, and after the update I still had the lighting issue, but only with certain chunks, namely chunks that had had the lighting issue before. As before, they would be fine after regenerating the chunk, unless the chunk got unloaded then reloaded, after which it would go back to being dark. Interestingly though, on unaffected chunks , moving out of range then coming back would simply delete all the botania blocks/entities. I would place down a few endoflames shooting mana into a pool, and when I came back they would be missing.

Furthermore, I was unable to recreate the bug with a fresh server. I created a new server with just botania, its dependencies, and worldedit, and I was unable to recreate the lighting glitch despite moving in and out of range several times.

Both of these tests were done with botania 377 and forge 1.14.4 - 28.2.1.

commented

For people that are curious, the bug seems to be when the following happens:

  1. the chunk has changed and needs saving
  2. mode code inadvertently reload the chunk after it's unloaded but while it's still saving (e.g. writeToNbt)

this probably leads to a race/logic race in the logic where stuff is overwritten with bad values. This can probably manifest also as stuff vanishing or TE's becoming cursed (as we observed on the first patron world).
In this specific case I just fixed, all magical flowers touch world.getblockstate in their save method, leading to the above situation. Bandaided by using the chunk-cached state, but that's not perfect since it could be the case that it unloads without ever being cached in the first place.

Will continue looking later today and next week, appreciate the patience on this.

commented

yes, I was able to get a 100% reproduction for this. I think botania is triggering a vanilla bug
Unfortunately, the vanilla code here is absolute spaghetti so I'm just going to put some bandaids on it and pray

commented

please try the latest botania release (378), relight your chunks completely (preferably, use the optimize world + remove cached data option on the client, making backups), then try to reproduce this issue as much as you can

commented

This issue is stale because it has been open for a while with no activity. Remove stale label or comment or this will be closed soon.

commented

anyone gotten this since 378?

commented
commented

This is another chunk being impacted. What is visible there is basically everything that was added to the chunk (the rest is just natural terrain). I've applied the night vision effect to make the screenshot clearer - in reality it's completely dark. Again, release 378 of Botania, but different setup to the previous chunk.

botania-2

commented

There are still issues on our server with 378. Attached is a screenshot that the impacted player sent me. The blocks in this chunk were all placed after the update to 378 (the chunk was not broken prior to this version, and did not have any blocks placed in it until then). We haven't been able to test with 379 yet, but I didn't see any changes related to this bug mentioned in the changelog, so hopefully this is still useful. These are the only Botania blocks in the chunk. He stated "the mana mirror is linked to the rightmost mana pool", if that helps.

The only other blocks in the chunk are soulfire from Druidcraft (which is just lighting) and otherwise natural world generation and basic building blocks (ie. not tile entities or anything fancy). There are no other entities in the chunk.

botaniachunk

I'm hoping that this can be fixed, although seeing in the changelog that 379 was the final 1.14.x build is a bit concerning given that this bug still appears to linger, so I am very much hoping that another bugfix build will turn up at some point if you happen to be able to resolve the issue.

I can try to get more information from the player if needed.

commented

Would like to confirm this issue is still very much present in V. 1.16.4-410
Currently got two chunks going dark but only for around 20blocks vertical.

One of the chunks only have a single Rosa Arcana in it and was effected.

commented

Can confirm on V. 1.16.4-410. Using the Valhelsia 3 3.1.5 Modpack.

This isn't just a client side error. Mobs spawn in the dark chunks and won't burn while the sun is out.
It looks like the chunk is flagged as being underground or something like that.

botania_bug

commented

Relating to #3669, a question: would it be possible to completely avoid calling getBlock() in TileEntitySpecialFlower.write() (and other tile entities as well)? I'm looking at the vanilla code and none of the tile entities call getBlock(), and I have a faint feeling it might just be not supported in that context - with the Not Supported rearing its ugly head after 1.14 changed chunkloading.

commented

We can probably just tell the flower when we construct it whether it's floating or not. I'll give that a shot.

commented

Let's see if 081ace8 improves anything.