Jump to content

[1.19.2] Force update block lighting on specific chunks


Recommended Posts

I'm playing around with changing the client brightness of specific chunks by modifying shading functions with mixins. I've got this working properly and I set the affected chunks as dirty whenever their brightness is changed so it updates automatically. Note that this is purely clientside as I am not changing block light values, only the rendering functions.

However, there are often lines at the edges of the chunks with the original brightness. This only happens when smooth lighting is enabled. For example, when I change chunks from full brightness to dark, I get effects like this left over:


These are removed when I place or destroy a block in the chunk, however, they sometimes reappear when the chunk is rerendered, even when just moving it out of the view frustum by turning around.

How can I trigger a lighting update in code that I can run whenever the chunk is rendered?

This is what I've tried so far after reading ClientLevel.setBlock() but it doesn't seem to do anything.


MC.level.markAndNotifyBlock(MC.player.getOnPos(), (LevelChunk) MC.level.getChunk(MC.player.getOnPos()),
                            Blocks.AIR.defaultBlockState(), Blocks.DIRT.defaultBlockState(), 3, 512);


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Create New...

Important Information

By using this site, you agree to our Terms of Use.