Alright, I'll test it out.
I store the variable to see if the block is burning in the TileEntity, but judging by your response, I assume there's a more logical way to work around this.
https://pastebin.com/5Lg5xbbK
EDIT: I use World#markAndNotifyBlock(BlockPos, Chunk, IBlockState, IBlockState, flags) under update() in the TileEntity to update the light, if that's relevant.
I have an issue with a custom block when I change the light value of it.
I use Block#getLightValue(IBlockState, IBlockAccess, BlockPos) to change the light value, and it works.
However, as seen in the picture, the light only affects the adjacent blocks.
So how do I cause an update of lighting in a wider area?