1º Etapa: Escolha um bloco para ser o luckyblock e um lugar (F3 para ver coordenadas), a partir desse lugar sumone o marcador nesta coordenada com uma tag de sua preferência, segue o comando:
summon minecraft:marker 61 22 -1010 {Tags:["marcador"]}
O marcador serve para criar um objeto vazio mas que possui uma localização/coordenada no mapa
A partir dele vamos executar os comandos, sem precisar colocar uma coordenada
Eu escolhi o bloco de ouro para ser o lucky block e o marcador está na mesma coordenada
Vamos criar o scoreboard luckyblock para atribuir um número aleatório para o jogador
scoreboard objectives add luckyblock dummy
Este número vai servir para gerar itens aleatórios assim que o bloco escolhido for quebrado
2º Etapa: Coloque este comando em um bloco de comando Repeat como Always Active (Sempre Ativo) para detectar se o bloco escolhido foi quebrado
execute at @e[tag=marcador] unless block ~ ~ ~ minecraft:gold_block
Precisamos colocar um comparador, um pistão e um bloco de redstone para executar apenas 1 vez o comando que vai gerar os itens após o bloco ser quebrado
A imagem representa bem o que precisamos fazer, temos o bloco de comando Repeat para detectar e o bloco de comando Impulse para executar a função que vou explicar melhor no próximo passo
3º Etapa: Coloque este comando no bloco de comando Impulse
execute as @e[tag=marcador] run function comandos:luckyblock
Este comando vai rodar a função na coordenada do marcador e dropar um item aleatório assim que o bloco for destruído
Seguem os comandos da função que serão executados em cima do marcador e no final ele será removido do mapa
execute store result score @s luckyblock run random value 1..5
execute if score @s luckyblock matches 1 run execute at @s run summon item ~ ~1 ~ {Item:{id:"minecraft:diamond",count:1}}
execute if score @s luckyblock matches 2 run execute at @s run summon item ~ ~1 ~ {Item:{id:"minecraft:stone",count:5}}
execute if score @s luckyblock matches 3 run execute at @s run summon item ~ ~1 ~ {Item:{id:"minecraft:iron_ingot",count:2}}
execute if score @s luckyblock matches 4 run execute at @s run summon item ~ ~1 ~ {Item:{id:"minecraft:gold_ingot",count:2}}
execute if score @s luckyblock matches 5 run execute at @s run summon item ~ ~1 ~ {Item:{id:"minecraft:dirt",count:10}}
kill @s
Apenas coloque os itens de sua escolha e expanda para 6, 7 itens ou mais, sorteando de 1..6 1..7 etc
Você pode baixar a função clicando aqui e arrastar para dentro da pasta do seu mundo, se você nunca criou uma função e não sabe o que é, veja este tutorial para entender e fazer este processo
Coloque este comando em um bloco de comando Repeat como Always Active (Sempre Ativo) para que o bloco quebrado não seja dropado, apenas troque para o ID do bloco que você escolheu
kill @e[type=item,nbt={Item:{id:"minecraft:gold_block"}}]