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
Ultimate Custom Night
LEGO Universe
Bad Milk
Poppy Playtime
Twisted Metal 2
Twisted Metal
Ultimate Marvel vs. Capcom 3
Andy's Apple Farm
League of Legends
Disney's Aladdin
Dungeon Defenders
LEGO Indiana Jones: The Original Adventures
Microshaft Winblows 98
Hello Kitty Island Adventure
Pandemonium!
RapeLay
Onimusha: Warlords
Roblox
Poker Night at the Inventory
Deliver Us the Moon
Football Manager 2013
Night Trap
Sega Rally 2
Return Fire
Kena: Bridge of Spirits
Moon
Fear Effect Sedna
Microsoft Minesweeper
LEGO Island 2: The Brickster's Revenge
River City Girls
The Great Ace Attorney Chronicles
Nickelodeon All-Star Brawl
Need for Speed: High Stakes
Mutant Football League
Ittle Dew 2
Dungeon Keeper
Far Cry 6
Garten of Banban
Beyond: Two Souls
Pajama Sam: Games to Play on Any Day
Hitman
Wattam
Rust
Soda Dungeon
Law & Order: Double or Nothing
The Lion King
Grand Theft Auto III
Riven: The Sequel to Myst
Crysis 2
Not for Broadcast