(I'm also mildly curious as to the reasoning for naming the sheep that way but I'm not sure if I actually want to know.)
Sheep had different colors prior to 1.4.4 (there's an error here - "before 1.6" should be "before 1.4.4", as shown in the history section). The "names" are an old debug feature (the entity ID would be shown when F3 was enabled, which was presumably removed in Beta 1.8 because it was a big cheat).
Also, it was much easier to find pink sheep in older versions because passive mobs continuously (de)spawned (as often as hostile mobs did / still do), so you didn't have to explore to keep finding new sheep (the entity IDs shown in the screenshot mean that more than 12,000 entities (including particles) had been spawned at that point in the current session, which starts out at 0 for the first world loaded and only resets when you restart the game; any existing mobs will be reassigned new IDs).
Earlier this month when I was testing the mods in version 1.7.10, I came across three pink sheep within 100 blocks of each other in a Dark Forest, but I didn't record it.
你玩的是Beta版?这么老的版本?我遇见粉红羊大都在创造模式,全都没有记录过。
Are you playing Beta? Such an old version? I've met pink sheep mostly in creative mode, none of it documented.
Rollback Post to RevisionRollBack
生存冒险游戏是足以陪伴你一生的游戏类型, Survival adventure games are the type of games that will last you a lifetime,
不同年龄阶段的你在游戏中的所作所为, what you do in the game at different ages,
不同年龄阶段的你在游戏中处理问题的方式, the way you handle problems in the game at different ages,
不同年龄阶段的你在游戏中下意识的反应, your subconscious reactions in the game at different ages,
都是现实世界的你在虚拟世界中的镜像复刻。 it's a virtual replica of your real world self.
玩《我的世界》的过程就是一个很好的例子。 Playing Minecraft is a great example.
Earlier this month when I was testing the mods in version 1.7.10, I came across three pink sheep within 100 blocks of each other in a Dark Forest, but I didn't record it.
This was caused by a bug in these versions which caused passive mobs to be improperly randomized, due to some extremely weird code ("Notch code", as some might say, aka poorly written code and/or just plain weird bugs as a result):
My only experience of finding pink sheep in vanilla 1.6.4 (all versions between Beta 1.8 and 1.12.2 are affected if structures are enabled) was pretty much the same, multiple pink sheep in the same small area, and people have found far more, even dozens, since the bug causes passive mobs to (mostly) be the same across 512x512 block regions, as I explained in more detail in the second link (I'd long since fixed this bug and have found many pink sheep since, but only one at a time within a relatively large area. Interestingly, since they are no longer grouped together they are much easier to come across, as was also the case before Beta 1.8 because passive mobs (de)spawned like hostile mobs so they were constantly turning over without even having to explore new parts of the world).
This was caused by a bug in these versions which caused passive mobs to be improperly randomized, due to some extremely weird code ("Notch code", as some might say, aka poorly written code and/or just plain weird bugs as a result):
Thank you very much, analyzing the game from the code level is much better than simply summarizing it as "relying on luck".
This title has some funny meaning: "Notch code", I've only heard about notch, seems he taught himself the program? but I don't know how good he is at programming. I found out that Notch is also a biological term, how should understand this word "Notch code"?
Thank you very much, analyzing the game from the code level is much better than simply summarizing it as "relying on luck".
This title has some funny meaning: "Notch code", I've only heard about notch, seems he taught himself the program? but I don't know how good he is at programming. I found out that Notch is also a biological term, how should understand this word "Notch code"?
This thread goes into some detail over why Notch was considered to be a "bad" programmer, although it doesn't really give any examples, it still comes up a lot when any mention of optimization or performance issues come up, even to this day (e.g. this comment blames the slow pace of recent updates on how Notch originally coded the game, ignoring how much it has been rewritten since then; another comment making the same claim. Yes, the game did have more frequent updates, several times a year, until 2014 / 1.8 but they were also generally much smaller, and of course, people complained about that as well).
Ironically, the developer of Optifine, the most popular optimization mod for the game (at least at the time) claimed that Notch's code was "straightforward and easy to follow" compared to how Mojang rewrote it in 1.8 (this also caused many mods to stop updating, some permanently, a similar major refactor occurred in 1.13):
The old Notch code was straightforward and relatively easy to follow. The new rendering system is an over-engineered monster full of factories, builders, bakeries, baked items, managers, dispatchers, states, enums and layers. Object allocation is rampant, small objects are allocated like there is no tomorrow. No wonder that the garbage collector has to work so hard.
The main issue that I see is their use of a very old and deprecated rendering API, and taking so long (1.17) to update to "somewhat" modern rendering (still nearly as old as the game itself, which started development in May 2009):
Java Edition 1.17
Release date: June 8, 2021
Game library updates
Rendering is now using OpenGL 3.2 core profile.
All fixed-function rendering has been replaced with shader-based rendering. https://minecraft.wiki/w/Java_Edition_1.17#General_2
On the other hand, I started playing on a computer that only supported OpenGL 2.1 and the average player likewise seems to use much older/lower end computers compared to the general gaming population (OpenGL 2.1 still offers more features than 1.1-1.2, which came out in 1997-1998 and formed the basis of the renderer, with a few newer (optional) features tacked on over the years; e.g. see the evolution of the "OpenGL" splash). The lack of support for OpenGL in general from Intel and AMD, at least on Windows (the most common OS) was another major factor, until recently even newer OpenGL games didn't perform so well, at least on AMD.
That said, the bug that caused mass pink sheep (or other passive mob) spawning was certainly a case of "why in the world did they code it this way?!" The code used to generate villages and temples includes this piece of code (note that the weird variable names are simply because the code was decompiled and they certainly didn't originally name them that; the variable "this.field_82665_g" defaults to 32 so this means that the values passed to "setRandomSeed" are the same across 32x32 chunk regions):
int var5 = par1 / this.field_82665_g;
int var6 = par2 / this.field_82665_g;
Random var7 = this.worldObj.setRandomSeed(var5, var6, 10387312);
Which calls this method in the "World" class; why didn't they instead have this a method of the structure class and use the random instance that is already present? Instead, this ends up setting the "world" RNG instance to the same value across large areas:
public Random setRandomSeed(int par1, int par2, int par3)
{
long var4 = (long)par1 * 341873128712L + (long)par2 * 132897987541L + this.getWorldInfo().getSeed() + (long)par3;
this.rand.setSeed(var4);
return this.rand;
}
Likewise, this is part of the code that spawns passive mobs during world generation; again, why in the world are they using a completely different RNG (again, for the "world") instead of the one that was passed in ("par6Random")? As you can guess, the "par0World.rand" is the same one that was previously seeded to a specific state, presto, passive mobs are now locked to the same random values (mostly, since each chunk has a chance to roll additional packs so there may be more than one type of mob, each individual spawn attempt may also not succeed and this will change the sequence of random numbers for later attempts, with up to 4 out of 12 spawning a sheep:
while (par6Random.nextFloat() < par1BiomeGenBase.getSpawningChance())
{
SpawnListEntry var8 = (SpawnListEntry)WeightedRandom.getRandomItem(par0World.rand, var7);
And yet again, why do sheep use the "world.rand" instance to determine their color instead of their own private RNG, as mobs like horses do (their variants and stats will be different every time you recreate a world)?
And yes, the fact that you can enter a seed and find pink sheep in the same locations as somebody else is also a quirk of game design, while perhaps not intended I still considered this when I fixed it myself so "pink sheep seeds" are still possible (I only fixed the use of the inappropriate RNG in the structure classes, which I otherwise replaced for my own changes, and set the "world" RNG to a chunk-specific state prior to spawning passive mobs, resetting it afterwards, since I didn't want to modify more code than necessary):
// Sets world RNG so sheep wool colors are based off the world seed; restores state afterwards
Random rnd = this.worldObj.rand;
long seed = rnd.nextLong();
rnd.setSeed(this.rand.nextLong());
RandomMobSpawner.performWorldGenSpawning(this.worldObj, biome, blockX, blockZ, this.rand, this.groundLevel);
rnd.setSeed(seed);
This thread goes into some detail over why Notch was considered to be a "bad" programmer, although it doesn't really give any examples, it still comes up a lot when any mention of optimization or performance issues come up, even to this day (e.g. this comment blames the slow pace of recent updates on how Notch originally coded the game, ignoring how much it has been rewritten since then; another comment making the same claim. Yes, the game did have more frequent updates, several times a year, until 2014 / 1.8 but they were also generally much smaller, and of course, people complained about that as well).
Ironically, the developer of Optifine, the most popular optimization mod for the game (at least at the time) claimed that Notch's code was "straightforward and easy to follow" compared to how Mojang rewrote it in 1.8 (this also caused many mods to stop updating, some permanently, a similar major refactor occurred in 1.13):
The main issue that I see is their use of a very old and deprecated rendering API, and taking so long (1.17) to update to "somewhat" modern rendering (still nearly as old as the game itself, which started development in May 2009):
Too bad I can't access reddit and wikipedia, they're blocked without VPN. Wikipedia was accessible before 2019, but not after, same was Google Maps.
I haven't studied programming systematically, so I can't make an accurate judgment in this regard, but I did hear that MC was rewritten in a later version (but I don't know what kind of scenario this is, completely starting from scratch?), and a few years ago, I came across a discussion of the vanilla MC code in the Chinese Minecraft community, those Chinese players also complain that the MC code was a bit confusing and used...a game engine? I think it's what you call OpenGL, but it's really old.
My guess is these guys are probably modders, and it seems...this is also consistent with the 1.7.10/1.12.2 version of the mods, after all you mentioned 1.8/1.13 version of the rewrite, since I don't understand programming, I can only use "feeling" to explain... After all, there are really many voices in the Chinese MC player community mentioning that 【the Minecraft community needs a stable version for the development of mods】.
I found that in addition to 1.7.10/1.12.2, version 1.14/1.16/1.18/1.20 (that's weird, they're all even numbers?) also seem to have a lot of mods, but I'm not sure they're the exuberant scenes of the old version.
I was met it in Minecraft Java Edition Beta1.6.6 when I recording a survival video. OH MY GOD!
大家好!我是 xaero1362。
everyone gets their euphoria when they just see a random pink sheep in their world
That's Pink? It looks like more of an off-White.
(I'm also mildly curious as to the reasoning for naming the sheep that way but I'm not sure if I actually want to know.)
Sheep had different colors prior to 1.4.4 (there's an error here - "before 1.6" should be "before 1.4.4", as shown in the history section). The "names" are an old debug feature (the entity ID would be shown when F3 was enabled, which was presumably removed in Beta 1.8 because it was a big cheat).
Also, it was much easier to find pink sheep in older versions because passive mobs continuously (de)spawned (as often as hostile mobs did / still do), so you didn't have to explore to keep finding new sheep (the entity IDs shown in the screenshot mean that more than 12,000 entities (including particles) had been spawned at that point in the current session, which starts out at 0 for the first world loaded and only resets when you restart the game; any existing mobs will be reassigned new IDs).
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?
这月初我在1.7.10里测mod时,在一片黑森林遇到了3只相隔不超过100格的粉红羊,但我没有记录下来。
Earlier this month when I was testing the mods in version 1.7.10, I came across three pink sheep within 100 blocks of each other in a Dark Forest, but I didn't record it.
你玩的是Beta版?这么老的版本?我遇见粉红羊大都在创造模式,全都没有记录过。
Are you playing Beta? Such an old version? I've met pink sheep mostly in creative mode, none of it documented.
This was caused by a bug in these versions which caused passive mobs to be improperly randomized, due to some extremely weird code ("Notch code", as some might say, aka poorly written code and/or just plain weird bugs as a result):
MC-2788 Sheep wool color doesn't generate/randomize properly; generating villages resets world RNG
My only experience of finding pink sheep in vanilla 1.6.4 (all versions between Beta 1.8 and 1.12.2 are affected if structures are enabled) was pretty much the same, multiple pink sheep in the same small area, and people have found far more, even dozens, since the bug causes passive mobs to (mostly) be the same across 512x512 block regions, as I explained in more detail in the second link (I'd long since fixed this bug and have found many pink sheep since, but only one at a time within a relatively large area. Interestingly, since they are no longer grouped together they are much easier to come across, as was also the case before Beta 1.8 because passive mobs (de)spawned like hostile mobs so they were constantly turning over without even having to explore new parts of the world).
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?
Thank you very much, analyzing the game from the code level is much better than simply summarizing it as "relying on luck".
This title has some funny meaning: "Notch code", I've only heard about notch, seems he taught himself the program? but I don't know how good he is at programming. I found out that Notch is also a biological term, how should understand this word "Notch code"?
This thread goes into some detail over why Notch was considered to be a "bad" programmer, although it doesn't really give any examples, it still comes up a lot when any mention of optimization or performance issues come up, even to this day (e.g. this comment blames the slow pace of recent updates on how Notch originally coded the game, ignoring how much it has been rewritten since then; another comment making the same claim. Yes, the game did have more frequent updates, several times a year, until 2014 / 1.8 but they were also generally much smaller, and of course, people complained about that as well).
Ironically, the developer of Optifine, the most popular optimization mod for the game (at least at the time) claimed that Notch's code was "straightforward and easy to follow" compared to how Mojang rewrote it in 1.8 (this also caused many mods to stop updating, some permanently, a similar major refactor occurred in 1.13):
The main issue that I see is their use of a very old and deprecated rendering API, and taking so long (1.17) to update to "somewhat" modern rendering (still nearly as old as the game itself, which started development in May 2009):
On the other hand, I started playing on a computer that only supported OpenGL 2.1 and the average player likewise seems to use much older/lower end computers compared to the general gaming population (OpenGL 2.1 still offers more features than 1.1-1.2, which came out in 1997-1998 and formed the basis of the renderer, with a few newer (optional) features tacked on over the years; e.g. see the evolution of the "OpenGL" splash). The lack of support for OpenGL in general from Intel and AMD, at least on Windows (the most common OS) was another major factor, until recently even newer OpenGL games didn't perform so well, at least on AMD.
That said, the bug that caused mass pink sheep (or other passive mob) spawning was certainly a case of "why in the world did they code it this way?!" The code used to generate villages and temples includes this piece of code (note that the weird variable names are simply because the code was decompiled and they certainly didn't originally name them that; the variable "this.field_82665_g" defaults to 32 so this means that the values passed to "setRandomSeed" are the same across 32x32 chunk regions):
Which calls this method in the "World" class; why didn't they instead have this a method of the structure class and use the random instance that is already present? Instead, this ends up setting the "world" RNG instance to the same value across large areas:
Likewise, this is part of the code that spawns passive mobs during world generation; again, why in the world are they using a completely different RNG (again, for the "world") instead of the one that was passed in ("par6Random")? As you can guess, the "par0World.rand" is the same one that was previously seeded to a specific state, presto, passive mobs are now locked to the same random values (mostly, since each chunk has a chance to roll additional packs so there may be more than one type of mob, each individual spawn attempt may also not succeed and this will change the sequence of random numbers for later attempts, with up to 4 out of 12 spawning a sheep:
And yet again, why do sheep use the "world.rand" instance to determine their color instead of their own private RNG, as mobs like horses do (their variants and stats will be different every time you recreate a world)?
And yes, the fact that you can enter a seed and find pink sheep in the same locations as somebody else is also a quirk of game design, while perhaps not intended I still considered this when I fixed it myself so "pink sheep seeds" are still possible (I only fixed the use of the inappropriate RNG in the structure classes, which I otherwise replaced for my own changes, and set the "world" RNG to a chunk-specific state prior to spawning passive mobs, resetting it afterwards, since I didn't want to modify more code than necessary):
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?
It's PINK.
大家好!我是 xaero1362。
Wow, that's pretty professional.
I think...if I don't learn Java at a high level, I...can't understand these professional analyses...
Too bad I can't access reddit and wikipedia, they're blocked without VPN. Wikipedia was accessible before 2019, but not after, same was Google Maps.
I haven't studied programming systematically, so I can't make an accurate judgment in this regard, but I did hear that MC was rewritten in a later version (but I don't know what kind of scenario this is, completely starting from scratch?), and a few years ago, I came across a discussion of the vanilla MC code in the Chinese Minecraft community, those Chinese players also complain that the MC code was a bit confusing and used...a game engine? I think it's what you call OpenGL, but it's really old.
My guess is these guys are probably modders, and it seems...this is also consistent with the 1.7.10/1.12.2 version of the mods, after all you mentioned 1.8/1.13 version of the rewrite, since I don't understand programming, I can only use "feeling" to explain... After all, there are really many voices in the Chinese MC player community mentioning that 【the Minecraft community needs a stable version for the development of mods】.
I found that in addition to 1.7.10/1.12.2, version 1.14/1.16/1.18/1.20 (that's weird, they're all even numbers?) also seem to have a lot of mods, but I'm not sure they're the exuberant scenes of the old version.
Me too. I am live in China.So,It was be banned.
大家好!我是 xaero1362。