I used to want to go into geology because I thought it was a non-math heavy major lol. Now I’m looking at like wildlife conservation and natural resource management stuff, but I still find this stuff fascinating. Awesome video!!
I do Geography which is basically geology & well human society study. Also why'd people think Geology could ever be solved. I feel like the only science to ever be truly solved is physics just because of how its the basis for every science & thus is the easiest to solve not to say it will be anytime soon we have a bunch of problems with our current understanding of gravity at a quantom scale which likely when solved will lead to a whole load more being learned like when we worked out quantom mechanics & general relativity. But Geology is like Biology the bottom of science the tail end the things that will only be able to be solved when nothing exists to do stuff differently. Also Sociology & Psychology fit into this. Basically Chemistry with the right theories & tests with different chemicals can be solved roughly one day until something like biology of an alien world shakes our understanding by having life use something like Ammonia as its solvent for life which would change it all.
So here's my best guesses based on my own experience with OpenGL: *Particles:* The RGB(A) 0.0-1.0 has to do with the way the effects are colored by OpenGL. Since we use normalized color values for vertex coloring, Minecraft's just trying to save a bit of processing time by avoiding the need to calculate (1/255)*V. This approach saves 108-264* compute cycles per particle, which doesn't seem like a whole lot but it'll add up over time. IIRC the reason Dust particles don't have use alpha value while Effect particles do is because Dust particles don't have a way to alter their transparency in the game code. *Glow Colors:* These may be locked to those 16 entries to match the color range for chat messages. The reason they're different from the dyes is because they're visibly distinct to people with colorblindness, while the dye colors are much harder to differentiate. *Text Display:* Likely uses hexcode for ease of use, since you can just copy-paste 6 characters from Photoshop or Paletton instead of 0.0-1.0 or 0-255 for each channel. Since it only needs to do the (1/255)*V calculations when initializing the entity, the tradeoff of readability vs processing time is much better than for particle generators. As for why the alpha transparency is 0-255, hexcodes don't include the alpha channel and people are better at picking random integers than random decimals. *Text Background:* I think Mojang just hates you guys, because I can't think of any reason they'd have you convert the hexcode to an integer _before_ entering it into the command block. *Leather Armor:* is stored as an integer for space-saving purposes when saving the game. One 32-bit integer takes 4 bytes of data, while three 32-bit floats take up 12 bytes. And since they only need to do the (1/255)*V calculations on loading the game like the text entities, the time spent converting the integer to floats isn't that big a deal. _*Division is very slow, taking 30-60 compute cycles to perform a single operation. Multiplication is faster, but still takes ~6 compute cycles to perform a single operation. This seems like nothing, but when you're generating hundreds or thousands of particles each second, that adds up._
Me who was watching this but knows very little of chemicals, elements and compounds: What the heck is this dude speaking? I'd like an English translator...
I believe the 16 colors for the glowing effect are the same as the standard ANSI color codes, which are still used in modern terminals. If that’s the case, then it wouldn’t be shocking for those colors to be derived directly from Java
Maybe 4 netherite ingots + 4 amethyst shards and then one new item could work? I think the End needs to be given something new so maybe use a new item from there (or just the dragon egg). And that would be cool because it would require something from all three dimensions in order to be created!
Dude this video was awesome. I clicked on this just expecting a someone making fun of education edition but I actually learned and that’s lit. This was so interesting!
This isnt a problem with Mojang, but a problem with Microsoft, who owns Mojang. The fact that Microsoft owns the game should tell you everything you need to know about why this is such a failure.
no mojang absolutely does not care, the education edition was created solely for profit in mind. they are also too busy creating 1 major feature update for java branch per year that adds mobs and blocks that nobody asked for and don't do anything. modders make more significant contribution to this game than its own creators, and i can't even say creators, they're more like maintainers.
Some answers from someone who does a lot of development with Minecraft: - The 16 colours are from old terminals. Naming just happens to be different internally to the translations (the names of dyes) - 0 to 1 RGBA in particles makes it easy for the array to get sent to the GPU. Particles internally are an absolute mess since each one requires different data. - Glowing effect actually does support RGB colour, but team colours don't. - ARGB is preferred when programming because 0xRRGGBB is the standard way of representing RGB in hex. Doing it as 0xRRGGBBAA would be more of a weird change than 0xAARRGGBB since 0xRRGGBB == 0x00RRGGBB, making it (kindaa??) compatible The reason there are so many different colours is mainly because these were made by different people at different times, and that they all serve different purposes. The 16 colours was used for the old text format that Minecraft used to use. Now text can be full RGB, but other things made use of the 16 colour system before this change (e.g. wool and dye). The particles use a 0-1 array because the easiest way to do variable information like that in a command is with NBT, and the shader will take a vec4 (array of four floats) anyway, so it's quick to access. There's no reason it couldn't be another format, but it would be more effort for no reason. Glowing effect is only limited by teams, and team colours are a byproduct of that old 16 colour text code. ARGB is just a normal way of writing it in code, but Minecraft doesn't let you write integers in hex (0x....), so you just have to convert it. The conversion with RGB is still two's complement: 0xRRGGBB is the same as 0x00RRGGBB so it's always positive. Sorry for the block of text, I hope this makes some sense. TLDR: Legacy, people, and purpose
Thanks for the info, I can understand why they are used in each case it’s just odd that if you are making something for an end user that there isn’t consistency just so it easier. I know commands aren’t really something they focus on though.
100% agree with this. i noticed this (or got angry at it) when i tried to summon leather. other than that ive really only had to deal with the old dust particle system
They are good for contraptions, especially redstone contraptions, the derailment mechanic would be HORRIBLE for that. Being able to rely on their behavior is very important, and derailment would break EVERYTHING, just a bad idea.
Situation: There are six competing standards. - Six?! We need to develop one universal standard that covers all the use cases! Situation: There are seven competing standards.
It's always been a mystery to me why gamma has to be polynomial and not exponential. It seems like nonsense compared to how we scale sound, which is logarithmic/exponential. Why do humans use radicals/quadratics for digital light?
I am very late to the party here i just wanted to point out that chaining minecart is alerady a think because if you put in the front a furnace minecart at the front and put coal in it it will track evry minecart behind it and they will stick together i must say it's not the most pratical way of doing it but it exist
the 16 colours for formatting text in older versions as well as the team colours correspond to the 16 colours available in ansi terminals (and old standard for displaying coloured text on computers were having more than 16 colours would still overwork the cpu and gpu) in may-june 2009 when notch added coloured text messages and coloured wool for the first time, he just coded those 16 colours into the code. the colour for wools was only changed in 1.2 when notch decided to add dyes to the game and especially choco beans as one of the colours. so far no brown existed
i think one reason is that in memory these numbers are indeed just one number, when they write the command they need to set setting for each argument on how that be processed from the human input into the internal state. the default for that is decimal numbers, so they just forgot to set that those arguments should be hex in the command. as for items they do not have a special way to say that a property is to be interpreted/displayed differently when interacting with the human, at least that was true in the old nbt way or storing things before tags. so for item those properties are just you setting the nbt manually and because it just knows this has to be a number the architecture does not allow to ask for that number in hex.
ok, here's my justification for a few of the color formats using decompiled code: I'll explain formatting codes first; there is a list of formatting codes, which have letters and names, such as "gold" having the letter 6, which can be applied by using §6, but servers often allow &6 instead. Somebody else pointed out the color choices are similar to the 16 colors from IBM PCs, which you can see more by finding their comment, or on the trivia part of the *Formatting codes* page on the minecraft wiki. Their actual color is an integer, using the RBG technique you mention later on. First of all, I cannot explain the particle color format, it seems the most random. In the version I decompiled, their color is a vector and I think that's because it uses some shader stuff for rendering if I look at the code. Team colors use a formatting code, so technically the team could be colored italic. Dyes are just separate from formatting codes, but their color is internally an integer. Text entities have separate transparency since they don't handle the color of the text, that is just handled by the text component. Text components can use our formatting codes for color, or hex codes. The ARGB decimal value is the one directly passed into the vertex rendering, it's the literal value which gets rendered. In code it is an integer. The RGB decimal value is just an ARGB value, with an alpha of 0, it will be the same as if you set the alpha to 0. In code it is an integer. So, in the end, they're all java integers. (apart from particles)