summaryrefslogtreecommitdiffstats
path: root/nms-patches
diff options
context:
space:
mode:
authormd_5 <git@md-5.net>2018-07-28 08:41:45 +1000
committermd_5 <git@md-5.net>2018-07-28 08:41:45 +1000
commitd5b95a2832432cebec3d276300e624e37eb4bb8e (patch)
tree03e02737241e4b95b6c286fe49e09e7ca68d70af /nms-patches
parent4d3ef4821f61be8dc692b58bf0673029dc16e9f1 (diff)
downloadcraftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar
craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar.gz
craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar.lz
craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.tar.xz
craftbukkit-d5b95a2832432cebec3d276300e624e37eb4bb8e.zip
Fix growing large dark oak trees
Diffstat (limited to 'nms-patches')
-rw-r--r--nms-patches/WorldGenMegaTreeProvider.patch20
-rw-r--r--nms-patches/WorldGenTreeProvider.patch53
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
+ }