Viewing Single Trivia
▲
1
▼
Before version 18w07a (1.13), the height of large oak trees would be shared for each instance of the large tree generator created. Before Beta 1.8, this was not an issue since every time a large tree needed to be generated it used a new instance of the generator. However, from Beta 1.8 onward, each biome had its own large tree generator instance, resulting in naturally generated large trees sharing the same height per biome. These height values would remain the same until the game is restarted.
The source code below is generated using RetroMCP for version 1.2.5 unless otherwise stated.
Around line 340 of WorldGenBigTree.java, this can be found:
[code]
if(this.heightLimit == 0) {
this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit);
}
[/code]
This code randomises the height of generated large oak trees. However, this height limit is set once due to the [code]this.heightLimit == 0[/code] check.
Line 51 of BiomeGenBase.java shows the generator instance being created: [code]protected WorldGenBigTree worldGenBigTree = new WorldGenBigTree(false);[/code] The instance is unique for every biome created and is used whenever a biome has large trees in it. Therefore, large tree heights are unique per biome. This is not too noticable however, since these trees only generate in forests, extreme hills, ice plains, jungles and plains.
Between Alpha v1.2.0 and Beta 1.7.3, BiomeGenBase still controlled what trees were generated, but it used a new large tree generator instance every time, as seen on line 64: [code]return (WorldGenerator)(var1.nextInt(10) == 0 ? new WorldGenBigTree() : new WorldGenTrees());[/code] In earlier versions, new generator instances were still being created with the exception that the height was shared per chunk: in Alpha v1.1.2_01, the following code was used around line 380 in ChunkProviderGenerate.populate().
[code]
Object var18 = new WorldGenTrees();
if(this.rand.nextInt(10) == 0) {
var18 = new WorldGenBigTree();
}
[/code]
In the image attached to this submission, it shows a world generated in Minecraft Java Edition 1.9.4. The red sand border shows the border between chunks generated before and after game reset. Trees with sea lanterns are large trees generated before the reset and trees with glowstone are large trees generated after the reset.
This bug has its own report on the official bug tracker:
https://bugs.mojang.com/browse/MC-11208
Around line 340 of WorldGenBigTree.java, this can be found:
[code]
if(this.heightLimit == 0) {
this.heightLimit = 5 + this.rand.nextInt(this.heightLimitLimit);
}
[/code]
This code randomises the height of generated large oak trees. However, this height limit is set once due to the [code]this.heightLimit == 0[/code] check.
Line 51 of BiomeGenBase.java shows the generator instance being created: [code]protected WorldGenBigTree worldGenBigTree = new WorldGenBigTree(false);[/code] The instance is unique for every biome created and is used whenever a biome has large trees in it. Therefore, large tree heights are unique per biome. This is not too noticable however, since these trees only generate in forests, extreme hills, ice plains, jungles and plains.
Between Alpha v1.2.0 and Beta 1.7.3, BiomeGenBase still controlled what trees were generated, but it used a new large tree generator instance every time, as seen on line 64: [code]return (WorldGenerator)(var1.nextInt(10) == 0 ? new WorldGenBigTree() : new WorldGenTrees());[/code] In earlier versions, new generator instances were still being created with the exception that the height was shared per chunk: in Alpha v1.1.2_01, the following code was used around line 380 in ChunkProviderGenerate.populate().
[code]
Object var18 = new WorldGenTrees();
if(this.rand.nextInt(10) == 0) {
var18 = new WorldGenBigTree();
}
[/code]
In the image attached to this submission, it shows a world generated in Minecraft Java Edition 1.9.4. The red sand border shows the border between chunks generated before and after game reset. Trees with sea lanterns are large trees generated before the reset and trees with glowstone are large trees generated after the reset.
This bug has its own report on the official bug tracker:
https://bugs.mojang.com/browse/MC-11208
Comments (0)
You must be logged in to post comments.
Related Games
Pac-In-Time
Play with the Teletubbies
Suits: A Business RPG
SpongeBob SquarePants: Employee of the Month
Tony Hawk's Pro Skater 2
Kid Chameleon
Chip's Challenge 2
Assassin's Creed Rogue
Just Cause 2
Resident Evil Village
Putt-Putt Saves the Zoo
Asagao Academy: Normal Boots Club
Nicktoons Racing
Infinite Minigolf
World End Economica
Danganronpa V3: Killing Harmony
The Police Mystery
Assassin's Creed Origins
Nitronic Rush
Dark Souls II
Mega Man Legacy Collection
Horizon Zero Dawn
Genshin Impact
Football Manager 2005
War Gods
System Shock
GeoSafari
Grand Theft Auto III
Dead Rising
Garfield's Mad About Cats
Halo 4
NASCAR 2000
Ayano's Lovesick Labyrinth
Superhero League of Hoboken
WWE 2K20
Venge
Freddy in Space 3: Chica in Space
Robot Wars: Extreme Destruction
Big Rigs: Over the Road Racing
River City Girls 2
Star Wars: Republic Commando
Ultimate Custom Night
Street Fighter II
Detroit: Become Human
Warcraft III: Reign of Chaos
Young Justice: Legacy
The Typing of the Dead: Overkill
Senran Kagura: Shinovi Versus
Steep
Torchlight II