The Pale Oak Java feature definition contains the following weights:
{ "chance": 0.2, "feature": "minecraft:pale_oak_creaking_checked" },
{ "chance": 0.8, "feature": "minecraft:pale_oak_checked" }
Which comes out to a 20% chance of a Pale Heart Oak of being selected.
However, on Bedrock Edition, the Pale Oak feature is defined as follows:
[ "minecraft:pale_oak_tree_with_decoration_feature", 9 ],
[ "minecraft:pale_oak_tree_with_creaking_heart_feature", 1 ]
Which comes out to a 10% chance of a Pale Heart Oak being selected for generation.
However, the feature weights do not significantly affect the outcome of the Heart generate due to Bedrock only scanning the northeast quadrant of the 2x2 trunk of the Pale Oak for a suitable location. Java Edition, on the other hand, allows Hearts to be placed in all four quadrants of the Pale Oak trunk. This not only causes far fewer Hearts to be generated, it also means the player always knows which corner of the oak to search when confronted by a Creaking.
Here is a table illustrating the stark differences between snapshot 22w44a and newer and Bedrock 1.21.50.28:
Seed XLoc ZLoc Java count Bedrock count
-1106759604738884840 0 0 16 3
-270 380 82 40
-480 1000 1 3
-7715933454100370463 -80 -40 19 8
-380 0 19 7
-700 80 2 0
-990 -80 1 2
970220026128112722 -4900 -560 4 1
1920 1950 1 0
5814430461651672175 -700 1050 8 1
-4971446989647199504 -560 200 12 1
-600 620 13 6
-3542109416978120429 580 2800 30 11
Bedrock had more Hearts in only two edge case with small Pale Garden biomes where the search and branch generation worked in its favor. In every other case, there are fewer (and often far fewer) Hearts in the biome.
One way to fix this is to increase the search to a 2x2 grid, raise the Y start from 0 to 3 to make up for the extra computational requirements, and even split the Creaking Heart Pale Oak feature into two subfeatures where the search will sometimes start at the bottom (Y 3) and sometimes start from the top (Y 6). Because there are more branches at the top, successful placements are more likely after the first row at Y 6, which should help reduce the cost of increasing the X and Z search grid.
If 2x2 is altogether too expensive to run on mobile devices perhaps remove the Heart placement check feature and instead modify the minecraft:tree_feature to include the ability to place a single block during its branch generation?
I added the latest iteration of the add-on I was using to test different generation strategies here:
[media]. It sacrifices vertical variety for horizontal variety. The 2x2 check is done on the XZ, but the Y is now limited to rows 4, 5, and 6 in the trunk. The weight for generating a non-Heart tree is also increased, improving performance since the 2x2 check provided more than enough Hearts. (Odds of a Heart-containing Pale Oak in this addon are 7.6%, down from the default of 10%.) It seems to run smoothly enough at 50 chunks of render distance and 12 chunks of simulation distance; however, I am using a beefy PC.
Steps to Reproduce:
Create a new world in Creative Mode and locate a Pale Garden biome.
Move around using /fill ~-20 ~ ~-20 ~20 ~8 ~20 air replace pale_oak_log and /fill ~-20 ~ ~-20 ~20 ~8 ~20 air replace pale_oak_leaves to clear the garden.
Expected Results:
The number of Pale Hearts should roughly match that of Java Edition.
Observed Results:
On Bedrock there are far fewer Pale Hearts available to the player, and in certain circumstances, none, even in medium sized Pale Garden biomes.
Linked issues
is duplicated by 3
Attachments
Comments 11

I noticed this as well while clearing out an entire forest with the fill & replace command, not finding a single creaking heart out of over 100 trees.
The chance of a pale oak tree generating with a creaking heart has been decreased in Java Edition and is matching Bedrock Edition.
@Gb16 The reduction in Hearts on Java didn't solve the problem. Bedrock is still rarely placing Hearts and does not match. See my new results table in the description.
This is still a problem in the 1.21.50 - The Garden Awakens update. People are searching through multiple forests and covering thousands of blocks and not finding a heart. We do not want to update a long term world until this is fixed. What is the pale oak forest with no spooky creaking?
In a small Pele Garden with around 50-80 Pale Oak trees I didn't encounter a single creaking in 3 nights.
I don't think that's that normal.
Fixed in 1.21.51 & 1.21.60-24. Super-fixed, in fact. Here a quick test result from one of my test seeds:
-7715933454100370463 X -80 Z -40 Hearts: 29 (wow!)
It probably isn't necessary to increase the search volume X 2, Z 2, Y 9 as I noticed in the new implementation of the feature search, but if the performance isn't hurt by that size volume, then there's no harm in it, either.
Java Edition should probably be brought into parity with Bedrock after this change since this number of Hearts should make finding a Creaking in those small-sized Pale Garden biomes more common.