mirror of
https://github.com/PaperMC/Paper.git
synced 2024-12-29 07:48:53 +01:00
Fix growing large dark oak trees
This commit is contained in:
parent
4d3ef4821f
commit
d5b95a2832
2 changed files with 35 additions and 38 deletions
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue