For a while I would work as a coder during the day, and in the evening I would work in the mines, for my son.
"Dad we need more iron ore. Dad, make sure the furnaces have coal in them."
Eventually my kid worked out that you can build generators, effectively coding it in MC bricks and providing infinite resources. Probably the first time he's coded something, he just doesn't know it.
This made my evenings a bit less monotonous to start with, but then I was managing a factory instead of hacking out blocks underground.
One thing I never understood about the game was how TNT and minecarts are supposed to work, economically. It seems you need to kill creepers to get TNT? That takes time, even if you make a farm. And then when it blows up, it doesn't really blow up enough blocks to make it worth the time, surely? Same with the tracks for minecarts. How does the investment pay off? You need a huge amount of iron to make the tracks, and all it lets you do is transport stuff about as fast as riding a horse.
Step 2: type "#mine iron_ore"
https://github.com/cabaletta/baritone
https://youtu.be/CZkLXWo4Fg4?t=80
I always wonder why so few people know about Baritone. It can do so much: move the player, clear areas, mine ores and other blocks, construct simple surfaces such as roads or even paste complicated Schematicas layer by layer. Perhaps it takes away too much of the fun.