Trees have a lot of leaves, and it takes a long time to destroy them all, which is a lot of effort to go to just to tidy up the landscape after acquiring the most valuable part, the logs (sticks are useful too, but you get way too many from a single tree).
Trees already look quite nice, though, so it would be good if they kept the same number of leaves to start with, but the leaves could be destroyed more quickly. There are a lot of possible ways to do this. For example:
Have any leaf that doesn't have a log sufficiently nearby break, like in Minecraft.
Have each leaf block keep track of which block is supporting it, then break the leaves if the supporting block is destroyed.
Whenever a leaf (or possibly log) is broken (except by this system), also break all the nearby leaves (maybe only those of the same type), so the player still has to destroy all of the leaves, but it's much less work.
Whenever a tree falls (which requires FallingBlocks to be active), destroy some or all of its leaves. This would work better for taller trees, and less well for trees in a dense forest which may be attached to adjacent trees by their canopies.
Trees have a lot of leaves, and it takes a long time to destroy them all, which is a lot of effort to go to just to tidy up the landscape after acquiring the most valuable part, the logs (sticks are useful too, but you get way too many from a single tree).
Trees already look quite nice, though, so it would be good if they kept the same number of leaves to start with, but the leaves could be destroyed more quickly. There are a lot of possible ways to do this. For example: