Actualizado:
1. Ejecutar un comando al tirar algo
scoreboard objectives add drop minecraft.custom:minecraft.drop
# Iterativo, siempre activo
execute as @a[scores={drop=1..}] run tellraw @s {"text":"Has tirado un objeto","color":"gray"}
# En cadena, siempre activo
scoreboard players reset @a[scores={drop=1..}] drop
2. Un altar de ofrendas
execute positioned 0 64 0 as @e[type=item,distance=..1.5] if items entity @s contents minecraft:diamond run tag @s add offered
execute as @e[type=item,tag=offered] at @s run give @p minecraft:emerald 5
kill @e[type=item,tag=offered]
Ejecútalos en un bloque iterativo y dos en cadena. Un diamante lanzado cerca de (0, 64, 0) se cambia por cinco esmeraldas. contents es el hueco de un objeto tirado (1.20.5+). Consulta detectar zonas.
3. Objetos que vuelven
/give @s minecraft:compass[custom_name="Recuerdo",custom_data={bound:1b}]
execute as @e[type=item] if items entity @s contents *[custom_data~{bound:1b}] at @s run tp @s @p
execute as @e[type=item] if items entity @s contents *[custom_data~{bound:1b}] run data modify entity @s PickupDelay set value 0s
Pon las dos últimas en bloques iterativo y en cadena. Un objeto ligado que se tire salta al jugador más cercano y se puede recoger al momento.
4. Quitar los objetos tirados
/kill @e[type=item]
Consulta el comando kill.
Solución de problemas
- El altar ignora los objetos: revisa la posición y la distancia.
- La recompensa no cuadra: una pila lanzada es una sola entidad de objeto, así que paga una vez.
- Bedrock: no hay estadística de objetos tirados ni comprobaciones de objetos, así que es solo para Java.
Comprueba tu comando
El Command Error Doctor (en inglés) revisa en tu navegador los errores de sintaxis más comunes.