Actualizado:
1. Preparación (una vez)
/scoreboard objectives add lucky_break minecraft.mined:minecraft.sponge
/scoreboard objectives add lucky dummy
/give @a minecraft:sponge 16
lucky_break sube uno cuando un jugador rompe una esponja. lucky guarda el número sacado.
2. Sacar un número para quien la rompe
# iterativo, siempre activo
execute as @a[scores={lucky_break=1..}] store result score @s lucky run random value 1..4
Consulta execute store y el comando random.
3. Elegir el premio
# en cadena, siempre activo (todos los bloques de abajo)
execute as @a[scores={lucky_break=1..,lucky=1}] run give @s minecraft:diamond 5
execute as @a[scores={lucky_break=1..,lucky=2}] at @s run summon minecraft:zombie ~2 ~ ~
execute as @a[scores={lucky_break=1..,lucky=3}] at @s run summon minecraft:tnt ~ ~1 ~ {fuse:60}
execute as @a[scores={lucky_break=1..,lucky=4}] run effect give @s minecraft:speed 30 1
Diamantes, un zombi, TNT que explota a los 3 segundos o velocidad. Consulta el comando de TNT para los tiempos de mecha.
4. Quitar lo soltado y reiniciar
execute as @e[type=item] if items entity @s contents minecraft:sponge run kill @s
scoreboard players set @a[scores={lucky_break=1..}] lucky_break 0
Quitar la esponja soltada impide que los jugadores vuelvan a colocar el mismo bloque. La línea de reinicio debe ir la última, para que cada rotura dé un solo sorteo.
5. Más premios
Cambia el sorteo a 1..10 y añade líneas para el 5 al 10. Dos líneas con el mismo premio lo hacen más frecuente.
Solución de problemas
- No pasa nada: solo el primer bloque es iterativo; el resto van en cadena.
- Desaparecen otras esponjas: se eliminan todas las esponjas soltadas. Elige otro bloque si tu mundo usa esponjas.
- Bedrock: no hay puntuación mined ni /random, así que esto solo funciona en Java (1.20.5 o posterior).
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.