--- a/net/minecraft/world/level/block/grower/TreeGrower.java
+++ b/net/minecraft/world/level/block/grower/TreeGrower.java
@@ -132,6 +_,7 @@
                 .get(configuredMegaFeature)
                 .orElse(null);
             if (holder != null) {
+                this.setTreeType(holder); // CraftBukkit
                 for (int i = 0; i >= -1; i--) {
                     for (int i1 = 0; i1 >= -1; i1--) {
                         if (isTwoByTwoSapling(state, level, pos, i, i1)) {
@@ -164,6 +_,7 @@
             if (holder1 == null) {
                 return false;
             } else {
+                this.setTreeType(holder1); // CraftBukkit
                 ConfiguredFeature<?, ?> configuredFeature2 = holder1.value();
                 BlockState blockState1 = level.getFluidState(pos).createLegacyBlock();
                 level.setBlock(pos, blockState1, 4);
@@ -198,4 +_,59 @@
 
         return false;
     }
+
+    // CraftBukkit start
+    private void setTreeType(Holder<ConfiguredFeature<?, ?>> holder) {
+        ResourceKey<ConfiguredFeature<?, ?>> treeFeature = holder.unwrapKey().get();
+        if (treeFeature == TreeFeatures.OAK || treeFeature == TreeFeatures.OAK_BEES_005) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TREE;
+        } else if (treeFeature == TreeFeatures.HUGE_RED_MUSHROOM) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.RED_MUSHROOM;
+        } else if (treeFeature == TreeFeatures.HUGE_BROWN_MUSHROOM) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.BROWN_MUSHROOM;
+        } else if (treeFeature == TreeFeatures.JUNGLE_TREE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.COCOA_TREE;
+        } else if (treeFeature == TreeFeatures.JUNGLE_TREE_NO_VINE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.SMALL_JUNGLE;
+        } else if (treeFeature == TreeFeatures.PINE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TALL_REDWOOD;
+        } else if (treeFeature == TreeFeatures.SPRUCE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.REDWOOD;
+        } else if (treeFeature == TreeFeatures.ACACIA) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.ACACIA;
+        } else if (treeFeature == TreeFeatures.BIRCH || treeFeature == TreeFeatures.BIRCH_BEES_005) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.BIRCH;
+        } else if (treeFeature == TreeFeatures.SUPER_BIRCH_BEES_0002) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TALL_BIRCH;
+        } else if (treeFeature == TreeFeatures.SWAMP_OAK) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.SWAMP;
+        } else if (treeFeature == TreeFeatures.FANCY_OAK || treeFeature == TreeFeatures.FANCY_OAK_BEES_005) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.BIG_TREE;
+        } else if (treeFeature == TreeFeatures.JUNGLE_BUSH) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.JUNGLE_BUSH;
+        } else if (treeFeature == TreeFeatures.DARK_OAK) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.DARK_OAK;
+        } else if (treeFeature == TreeFeatures.MEGA_SPRUCE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.MEGA_REDWOOD;
+        } else if (treeFeature == TreeFeatures.MEGA_PINE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.MEGA_PINE;
+        } else if (treeFeature == TreeFeatures.MEGA_JUNGLE_TREE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.JUNGLE;
+        } else if (treeFeature == TreeFeatures.AZALEA_TREE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.AZALEA;
+        } else if (treeFeature == TreeFeatures.MANGROVE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.MANGROVE;
+        } else if (treeFeature == TreeFeatures.TALL_MANGROVE) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.TALL_MANGROVE;
+        } else if (treeFeature == TreeFeatures.CHERRY || treeFeature == TreeFeatures.CHERRY_BEES_005) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.CHERRY;
+        } else if (treeFeature == TreeFeatures.PALE_OAK || treeFeature == TreeFeatures.PALE_OAK_BONEMEAL) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.PALE_OAK;
+        } else if (treeFeature == TreeFeatures.PALE_OAK_CREAKING) {
+            net.minecraft.world.level.block.SaplingBlock.treeType = org.bukkit.TreeType.PALE_OAK_CREAKING;
+        } else {
+            throw new IllegalArgumentException("Unknown tree generator " + treeFeature);
+        }
+    }
+    // CraftBukkit end
 }
