i'd like to see more lighting in the game. like if you put a coloured stained glass in front to a redstone lamp the light changes to the colour of the glass. i think this could be interesting and could help map creators or builders to be more creative with lighting. comment if you agree
Using glass to change the apparent color of the light emitter can be done now, it's just neither compact, nor particularly convenient.
Changing the color of the emitted light has technical issues and would likely be much more laggy
Colored lights (eg objects like Xmas lights) should be fairly simple to code whereas colored light (a phenomena) would be far more expensive in terms of performance. [If the light was colored, each block would (theoretically) need to be rendered to account for the interaction of the color/spectrum of any light source that reached it and the reflectance spectrum of the block qv. https://en.wikipedia.org/wiki/Reflectance . Breifly, a red object will appear black when illuminated by a light source that contains no (or very little) red. ]
ing glass to change the apparent color of the light emitter can be done now, it's just neither compact, nor particularly convenient.Changing the color of the emitted light has technical issues and would likely be much more laggy
from url=https://www.minecraftforum.net/forums/minecraft-java-edition/suggestions/2936956-colored-lights]Colored Lights which post you may also find interesting…
Colored lighting wouldn't actually be that difficult to add; consider the following code:
This renders one face of a block; note the "setColorOpaque_F" calls, which set the R,G,B color components for each vertex - they are already calculated separately and all you'd need to do is have three light channels in the world data, each one only affecting each color (the actual color of light is currently set by a light table, so that sky light is white or bluish and block light is yellowish, which could both be used for "white" light, much as e.g. white stained clay is not pure white).
True, there would be some limitations, such as what happens if you had an orange light source (red = 15, green = 8); the color would change from orange to red with distance since green would reach 0 while red is still 7, plus the gamma curve is not linear, and varies with the "brightness" setting:
Light filtering can be implemented by simply extending the current light opacity system to have separate values for each color instead of one (so a block might be opaque to red light but let green and blue through). This would require 3 times the calculations when propagating light but I've optimized the lighting engine myself enough to more than offset that (in particular, the laggiest part is when the game relights chunks right after they are generated, which is done over several minutes by relighting a few blocks per chunk section per tick, which I made so much faster that I sped up the process by a factor of 8 and it still causes less lag. I didn't actually change the algorithm, just optimized calculations and loops and most importantly, directly access the raw block/light data from a chunk cache (this is one area where the internal changes to not use block IDs, even internally, and adding complicated "blockstate" and "blockpos" objects and other such wrappers hits 1.8+ very hard. I doubt that even with the claims of optimizations in e.g. 1.14 they could ever match the speed or memory footprint of older versions).
Here are some articles that discuss the same general lighting engine that Minecraft uses, including colored lighting (even a "fast" voxel lighting algorithm will still be relatively slow compared to other means due to the nature of how light is propagated, the alternative is dynamic shader-based lighting but that has its own issues, including the fact that many game mechanics depend on the light level):
i'd like to see more lighting in the game. like if you put a coloured stained glass in front to a redstone lamp the light changes to the colour of the glass. i think this could be interesting and could help map creators or builders to be more creative with lighting. comment if you agree
A red filter absorbs all colors except red...
Pass red light through any other colored filter and it appears black (absence of all light).
Your idea would in reality not work as you propose.
Of course, there are many many things in MC that do not work as they do in reality!!!
Lou
Links to pdf format, downloadable, command lists for (these often clarify/expand descriptions, and where possible link to the author's posting):
MoreCommands: http://www.mediafire.com/view/qjc9c6klcnp660e/CmdLstMoreCommands.pdf
WorldEdit: http://www.mediafire.com/view/bi7r00xd9rgxrrt/WE_Commands.pdf
Using glass to change the apparent color of the light emitter can be done now, it's just neither compact, nor particularly convenient.
Changing the color of the emitted light has technical issues and would likely be much more laggy
from url=https://www.minecraftforum.net/forums/minecraft-java-edition/suggestions/2936956-colored-lights]Colored Lights[/url] which post you may also find interesting…
This renders one face of a block; note the "setColorOpaque_F" calls, which set the R,G,B color components for each vertex - they are already calculated separately and all you'd need to do is have three light channels in the world data, each one only affecting each color (the actual color of light is currently set by a light table, so that sky light is white or bluish and block light is yellowish, which could both be used for "white" light, much as e.g. white stained clay is not pure white).
True, there would be some limitations, such as what happens if you had an orange light source (red = 15, green = 8); the color would change from orange to red with distance since green would reach 0 while red is still 7, plus the gamma curve is not linear, and varies with the "brightness" setting:
Light filtering can be implemented by simply extending the current light opacity system to have separate values for each color instead of one (so a block might be opaque to red light but let green and blue through). This would require 3 times the calculations when propagating light but I've optimized the lighting engine myself enough to more than offset that (in particular, the laggiest part is when the game relights chunks right after they are generated, which is done over several minutes by relighting a few blocks per chunk section per tick, which I made so much faster that I sped up the process by a factor of 8 and it still causes less lag. I didn't actually change the algorithm, just optimized calculations and loops and most importantly, directly access the raw block/light data from a chunk cache (this is one area where the internal changes to not use block IDs, even internally, and adding complicated "blockstate" and "blockpos" objects and other such wrappers hits 1.8+ very hard. I doubt that even with the claims of optimizations in e.g. 1.14 they could ever match the speed or memory footprint of older versions).
Here are some articles that discuss the same general lighting engine that Minecraft uses, including colored lighting (even a "fast" voxel lighting algorithm will still be relatively slow compared to other means due to the nature of how light is propagated, the alternative is dynamic shader-based lighting but that has its own issues, including the fact that many game mechanics depend on the light level):
https://www.seedofandromeda.com/blogs/29-fast-flood-fill-lighting-in-a-blocky-voxel-game-pt-1
https://www.seedofandromeda.com/blogs/30-fast-flood-fill-lighting-in-a-blocky-voxel-game-pt-2
TheMasterCaver's First World - possibly the most caved-out world in Minecraft history - includes world download.
TheMasterCaver's World - my own version of Minecraft largely based on my views of how the game should have evolved since 1.6.4.
Why do I still play in 1.6.4?
I like this idea, possibly it could work with all forms of lighting, even skylight? I think that would make it cooler.
I run a Survival MC server and will be adding Skyblock, Creative, and Minigames in the near future. Come check us out at mc.audaxgames.net!
this would be cool but i feel like it would be super glitchy
add me on xbox one Oreo Volcano to play minecraft, fortnite, call of duty or whatever i need new friends