1º Paso: Elige un bloque para que sea el lucky block y un lugar (F3 para ver las coordenadas). A partir de ese lugar, invoca el marcador en esa coordenada con una tag de tu preferencia. Aquí tienes el comando:
summon minecraft:marker 61 22 -1010 {Tags:["marcador"]}
El marcador sirve para crear un objeto vacío, pero que tiene una ubicación/coordenada en el mundo
A partir de él ejecutaremos los comandos, sin necesidad de colocar una coordenada manualmente
Yo elegí el bloque de oro para ser el lucky block y el marcador está en la misma coordenada
Ahora vamos a crear el scoreboard luckyblock para asignar un número aleatorio al jugador
scoreboard objectives add luckyblock dummy
Este número servirá para generar ítems aleatorios tan pronto como se rompa el bloque elegido
2º Paso: Coloca este comando en un bloque de comando Repeat en Always Active (Siempre Activo) para detectar si el bloque elegido fue destruido
execute at @e[tag=marcador] unless block ~ ~ ~ minecraft:gold_block
Necesitamos colocar un comparador, un pistón y un bloque de redstone para ejecutar solo una vez el comando que generará los ítems después de que el bloque sea destruido
La imagen representa bien lo que necesitamos hacer: tenemos el bloque de comando Repeat para detectar y el bloque de comando Impulse para ejecutar la función, que explicaré mejor en el siguiente paso
3º Paso: Coloca este comando en el bloque de comando Impulse
execute as @e[tag=marcador] run function comandos:luckyblock
Este comando ejecutará la función en la coordenada del marcador y soltará un ítem aleatorio tan pronto como el bloque sea destruido
A continuación están los comandos de la función que se ejecutarán sobre el marcador y al final será eliminado del mundo
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
Solo coloca los ítems que quieras y amplía para 6, 7 ítems o más, sorteando 1..6, 1..7, etc
Puedes descargar la función haciendo clic aquí y arrastrarla dentro de la carpeta de tu mundo. Si nunca creaste una función y no sabes qué es, mira este tutorial para entender y hacer este proceso
Coloca este comando en un bloque de comando Repeat en Always Active (Siempre Activo) para que el bloque roto no se dropee. Solo cambia el ID por el bloque que elegiste
kill @e[type=item,nbt={Item:{id:"minecraft:gold_block"}}]