diff options
author | md_5 <git@md-5.net> | 2018-07-28 08:41:45 +1000 |
---|---|---|
committer | md_5 <git@md-5.net> | 2018-07-28 08:41:45 +1000 |
commit | d5b95a2832432cebec3d276300e624e37eb4bb8e (patch) | |
tree | 03e02737241e4b95b6c286fe49e09e7ca68d70af | |
parent | 4d3ef4821f61be8dc692b58bf0673029dc16e9f1 (diff) | |
download | craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar.gz craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar.lz craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar.xz craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.zip |
Fix growing large dark oak trees
-rw-r--r-- | nms-patches/WorldGenMegaTreeProvider.patch | 20 | ||||
-rw-r--r-- | nms-patches/WorldGenTreeProvider.patch | 53 |
2 files changed, 35 insertions, 38 deletions
diff --git a/nms-patches/WorldGenMegaTreeProvider.patch b/nms-patches/WorldGenMegaTreeProvider.patch index 66577618..74037fdd 100644 --- a/nms-patches/WorldGenMegaTreeProvider.patch +++ b/nms-patches/WorldGenMegaTreeProvider.patch @@ -1,26 +1,10 @@ --- a/net/minecraft/server/WorldGenMegaTreeProvider.java +++ b/net/minecraft/server/WorldGenMegaTreeProvider.java -@@ -2,6 +2,7 @@ - - import java.util.Random; - import javax.annotation.Nullable; -+import org.bukkit.TreeType; // CraftBukkit - - public abstract class WorldGenMegaTreeProvider extends WorldGenTreeProvider { - -@@ -28,6 +29,15 @@ +@@ -28,6 +28,7 @@ if (worldgentreeabstract == null) { return false; } else { -+ // CraftBukkit start -+ if (worldgentreeabstract instanceof WorldGenJungleTree) { -+ BlockSapling.treeType = TreeType.JUNGLE; -+ } else if (worldgentreeabstract instanceof WorldGenMegaTree) { -+ BlockSapling.treeType = TreeType.MEGA_REDWOOD; -+ } else { -+ throw new IllegalArgumentException("Unknown tree generator " + worldgentreeabstract); -+ } -+ // CraftBukkit end ++ setTreeType(worldgentreeabstract); // CraftBukkit IBlockData iblockdata1 = Blocks.AIR.getBlockData(); generatoraccess.setTypeAndData(blockposition.a(i, 0, j), iblockdata1, 4); diff --git a/nms-patches/WorldGenTreeProvider.patch b/nms-patches/WorldGenTreeProvider.patch index 41d9998c..ba2116c7 100644 --- a/nms-patches/WorldGenTreeProvider.patch +++ b/nms-patches/WorldGenTreeProvider.patch @@ -8,29 +8,42 @@ public abstract class WorldGenTreeProvider { -@@ -16,6 +17,25 @@ +@@ -16,6 +17,7 @@ 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 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 ++ setTreeType(worldgentreeabstract); // CraftBukkit generatoraccess.setTypeAndData(blockposition, Blocks.AIR.getBlockData(), 4); if (worldgentreeabstract.generate(generatoraccess, generatoraccess.getChunkProvider().getChunkGenerator(), random, blockposition, WorldGenFeatureConfiguration.e)) { return true; +@@ -25,4 +27,30 @@ + } + } + } ++ ++ // CraftBukkit start ++ protected void setTreeType(WorldGenTreeAbstract worldgentreeabstract) { ++ 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 + } |