Java Edition:Block Duplication Methods
Specific Block Duplication Methods
Update Suppression
From Beta 1.6 Test Build 3 to 1.19 Deep Dark Experimental Snapshot 1, if you place a block next to the BUD line of an update suppressor, the block will duplicate. It will appear both in your inventory and where you placed it, due to the suppression of the block update skipping the decrement of the item stack used to place the block.
It will work with any block. It also works with shulkers and blocks with NBT data, however the NBT data will be erased when you place the block. The shulker in your inventory will still have any items you put in it, but the shulker you put next to the suppressor will not have any items in it.
Pushable Blocks
In Beta 1.7.2 a setup with pistons and certain timings could duplicate any block that can be pushed by a piston. This video has a tutorial on how to use this method.
Chunk Savestating
Chunk Savestating allows for any chunk to be reloaded to a previous state, making every block renewable.
Chunk Regeneration
Chunk Regeneration allows for any naturally occurring block (or block found in a structure's chest) to be renewable by resetting it to what would be generated upon initial world generation.