41 Zeilen
2.0 KiB
Diff
41 Zeilen
2.0 KiB
Diff
|
--- a/net/minecraft/server/WorldGenTreeProvider.java
|
||
|
+++ b/net/minecraft/server/WorldGenTreeProvider.java
|
||
|
@@ -2,6 +2,7 @@
|
||
|
|
||
|
import java.util.Random;
|
||
|
import javax.annotation.Nullable;
|
||
|
+import org.bukkit.TreeType; // CraftBukkit
|
||
|
|
||
|
public abstract class WorldGenTreeProvider {
|
||
|
|
||
|
@@ -16,6 +17,29 @@
|
||
|
if (worldgentreeabstract == null) {
|
||
|
return false;
|
||
|
} else {
|
||
|
+ // CraftBukkit start
|
||
|
+ if (worldgentreeabstract instanceof WorldGenAcaciaTree) {
|
||
|
+ BlockSapling.treeType = TreeType.ACACIA;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenBigTree) {
|
||
|
+ BlockSapling.treeType = TreeType.BIG_TREE;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenForest) {
|
||
|
+ BlockSapling.treeType = TreeType.BIRCH;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenForestTree) {
|
||
|
+ BlockSapling.treeType = TreeType.DARK_OAK;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenJungleTree) {
|
||
|
+ BlockSapling.treeType = TreeType.JUNGLE;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenMegaTree) {
|
||
|
+ BlockSapling.treeType = TreeType.MEGA_REDWOOD;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenTaiga1) {
|
||
|
+ BlockSapling.treeType = TreeType.REDWOOD;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenTaiga2) {
|
||
|
+ BlockSapling.treeType = TreeType.REDWOOD;
|
||
|
+ } else if (worldgentreeabstract instanceof WorldGenTrees) {
|
||
|
+ BlockSapling.treeType = TreeType.TREE;
|
||
|
+ } else {
|
||
|
+ throw new IllegalArgumentException("Unknown tree generator " + worldgentreeabstract);
|
||
|
+ }
|
||
|
+ // CraftBukkit end
|
||
|
generatoraccess.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 4);
|
||
|
if (worldgentreeabstract.generate(generatoraccess, generatoraccess.getChunkProvider().getChunkGenerator(), random, blockposition, WorldGenFeatureConfiguration.e)) {
|
||
|
return true;
|