So, if you don't know, the color of the void in vanilla Minecraft changes, if you are below a specific y coordinate.
Just for fun, I tried to find out, what that number is, and by gradually approaching the number I found out, that the number I am looking for is 61.379999995231624865255071199499070644378662109375.
If you are on y = 61.379999995231624865255071199499070644378662109375, the void is white (I think its more like very light blue on day time and at night its also dark, but then you can see the stars), but if you go below that number, the void turns black (That also means, no stars at night).
You can try that by yourself by using folowing commands (so make sure you can see the void below you and then type theese):
That is kind of weird, because it is such a uneven number, so I asked myself (and now I'm asking you) does this number have any meaning? Or is it just a random number somone just typed in the code, like just for fun?
I dropped two Images below, one with white/light viod and one with black/dark void
The Meaning of Life, the Universe, and Everything.
Location:
Hypixel
Join Date:
5/11/2021
Posts:
131
Minecraft:
DragonAnimators
PMC:
DragonAnimators
Member Details
I really don't think this has any real meaning. When I play Bedwars, on this one map when you are on a bridge or diamond gen at that level, you can see the void's color change. I never thought much of it so I think it might just be a bug. Either that or Mojang is the greatest comedian ever,
There is no way that a programmer would code in such a number; this is the result of the compilation-decompilation process (any "source code" provided by a Java decompiler/Minecraft mod development tool is not the true, original source, there can even be bigger code differences), which rounds all floating-point values to their closest exact representation; in this case, 0.1 cannot be represented exactly since floats are stored as binary representations.
As for the value you give, the intended value was 61.38, which is likely not a hard-coded value but the results of various calculations, including conversions from float to double and vice-versa; when I enter it in this calculator it says that the closest double value is 61.38000000000000255795384873636066913604736328125.
Also of note, when you are above sea level the void is supposed to be blue, not the color of the sky, as is the case in 1.6.4 and every older version back to at least Alpha; this is particularly noticeable in ocean biomes, where it helped blend in the ocean with the skybox (which is very likely why they made it like this. It also gives a well-defined horizon to the moon and sun, which will disappear as they go below sea level instead of being visible until the drop below the seafloor):
Note that the color of the ocean below the horizon and above the ground is not just due to the water texture, but the blue void behind it, which also moves down as you go higher up to stay aligned with the horizon:
Oh, thanks, that explains it very good, but now im courious: why exactly cant 0.1 be represented as 0.1 but can as 0.10000000149011612? And why can't 61.38 be represented as 61.38, but can as that weird number I found?
Oh, thanks, that explains it very good, but now im courious: why exactly cant 0.1 be represented as 0.1 but can as 0.10000000149011612? And why can't 61.38 be represented as 61.38, but can as that weird number I found?
Might just be that Mojang had to use that number instead of 61.38 or its an unsolved bug.
Many new programmers become aware of binary floating-point after seeing their programs give odd results: “Why does my program print 0.10000000000000001 when I enter 0.1?”; “Why does 0.3 + 0.6 = 0.89999999999999991?”; “Why does 6 * 0.1 not equal 0.6?” Questions like these are asked every day, on online forums like stackoverflow.com.
The answer is that most decimals have infinite representations in binary. Take 0.1 for example. It’s one of the simplest decimals you can think of, and yet it looks so complicated in binary:
The bits go on forever; no matter how many of those bits you store in a computer, you will never end up with the binary equivalent of decimal 0.1.
Another example of how this can actually crash a program if not understood:
A float has limited precision. Assuming it's implemented in IEEE754 single precision floating point, it only has 24 bits of precision, or about 7 decimal digits. The number 18000000 can be represented exactly in this format, but 18000001 cannot, so adding 1 results in the extra bits at the low end being either rounded or truncated resulting in the value 18000000. So you get an infinite loop.
As mentioned above, a 32 bit float has 24 bits of precision; this means that it can only exactly represent integers from 0 to 16777215, as well as any number that can be obtained by multiplying or dividing any of those integers by a power of 2 (1, 2, 4, 8, etc). 64 bit doubles, as the game uses for entity positions, have more precision but still can't exactly represent the majority of real numbers, not even mathematical constants like pi (for situations where precision and accuracy are important they use special numerical types, such as fixed-point for currency, or even special floating-point types with more precision, but at the cost of speed so no games would ever use them, nor would you notice in most cases).
Incidentally, the value 61.38 comes from the fact that sea level is at y=63 and the player's eye height is 1.62 above their feet level, which is the value tracked by the position of an entity, so if you want the player's eyes to be aligned with sea level you add the eye height, and indeed, 61.38 + 1.62 = 63.
So, if you don't know, the color of the void in vanilla Minecraft changes, if you are below a specific y coordinate.
Just for fun, I tried to find out, what that number is, and by gradually approaching the number I found out, that the number I am looking for is 61.379999995231624865255071199499070644378662109375.
If you are on y = 61.379999995231624865255071199499070644378662109375, the void is white (I think its more like very light blue on day time and at night its also dark, but then you can see the stars), but if you go below that number, the void turns black (That also means, no stars at night).
You can try that by yourself by using folowing commands (so make sure you can see the void below you and then type theese):
/tp @s ~ 61.379999995231624865255071199499070644378662109375 ~
(the void should now be white/light)
/tp @s ~ 61.379999995231624865255071199499070644378662109374999999999 ~
(the void should now be black/dark)
That is kind of weird, because it is such a uneven number, so I asked myself (and now I'm asking you) does this number have any meaning? Or is it just a random number somone just typed in the code, like just for fun?
I dropped two Images below, one with white/light viod and one with black/dark void
I really don't think this has any real meaning. When I play Bedwars, on this one map when you are on a bridge or diamond gen at that level, you can see the void's color change. I never thought much of it so I think it might just be a bug. Either that or Mojang is the greatest comedian ever,
Subscribe to my YouTube channel for Hypixel content: DragonAnimators - YouTube
When you see weird numbers like that it is due to floating-point precision errors; for example, consider this bit of code:
There is no way that a programmer would code in such a number; this is the result of the compilation-decompilation process (any "source code" provided by a Java decompiler/Minecraft mod development tool is not the true, original source, there can even be bigger code differences), which rounds all floating-point values to their closest exact representation; in this case, 0.1 cannot be represented exactly since floats are stored as binary representations.
As for the value you give, the intended value was 61.38, which is likely not a hard-coded value but the results of various calculations, including conversions from float to double and vice-versa; when I enter it in this calculator it says that the closest double value is 61.38000000000000255795384873636066913604736328125.
Also of note, when you are above sea level the void is supposed to be blue, not the color of the sky, as is the case in 1.6.4 and every older version back to at least Alpha; this is particularly noticeable in ocean biomes, where it helped blend in the ocean with the skybox (which is very likely why they made it like this. It also gives a well-defined horizon to the moon and sun, which will disappear as they go below sea level instead of being visible until the drop below the seafloor):
MC-213360 Void no longer blue but rather one single color
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?
Oh, thanks, that explains it very good, but now im courious: why exactly cant 0.1 be represented as 0.1 but can as 0.10000000149011612? And why can't 61.38 be represented as 61.38, but can as that weird number I found?
Might just be that Mojang had to use that number instead of 61.38 or its an unsolved bug.
Subscribe to my YouTube channel for Hypixel content: DragonAnimators - YouTube
No, not at all, as I mentioned before, it is because computers store numbers in binary form with finite precision, as explained in this article:
Another example of how this can actually crash a program if not understood:
As mentioned above, a 32 bit float has 24 bits of precision; this means that it can only exactly represent integers from 0 to 16777215, as well as any number that can be obtained by multiplying or dividing any of those integers by a power of 2 (1, 2, 4, 8, etc). 64 bit doubles, as the game uses for entity positions, have more precision but still can't exactly represent the majority of real numbers, not even mathematical constants like pi (for situations where precision and accuracy are important they use special numerical types, such as fixed-point for currency, or even special floating-point types with more precision, but at the cost of speed so no games would ever use them, nor would you notice in most cases).
Incidentally, the value 61.38 comes from the fact that sea level is at y=63 and the player's eye height is 1.62 above their feet level, which is the value tracked by the position of an entity, so if you want the player's eyes to be aligned with sea level you add the eye height, and indeed, 61.38 + 1.62 = 63.
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'm gonna put my money on some floating point errors.