execute as @e[type=item,nbt={Item:{id:"minecraft:lapis_block"}}] run data merge entity @s {Item:{tag:{CanPlaceOn:["minecraft:gold_block","minecraft:lapis_block","minecraft:redstone_block","minecraft:purpur_block"]}}}
execute as @e[type=item,nbt={Item:{id:"minecraft:lapis_block"}}] run data modify entity @s Item.tag.display.Name set value "{\"text\":\"Structure Cube\"}"
execute as @e[type=item,nbt={Item:{id:"minecraft:redstone_block"}}] run data merge entity @s {Item:{tag:{CanPlaceOn:["minecraft:observer","minecraft:gold_block","minecraft:lapis_block","minecraft:redstone_block","minecraft:purpur_block"]}}}
execute as @e[type=item,nbt={Item:{id:"minecraft:redstone_block"}}] run data modify entity @s Item.tag.display.Name set value "{\"text\":\"Energy Cube\"}"
execute as @e[type=item,nbt={Item:{id:"minecraft:purpur_block"}}] run data merge entity @s {Item:{tag:{CanPlaceOn:["minecraft:gold_block","minecraft:lapis_block","minecraft:redstone_block","minecraft:purpur_block"]}}}
execute as @e[type=item,nbt={Item:{id:"minecraft:purpur_block"}}] run data modify entity @s Item.tag.display.Name set value "{\"text\":\"Gravity Cube\"}"
execute as @e[type=item,nbt={Item:{id:"minecraft:emerald_block"}}] run data merge entity @s {Item:{tag:{CanPlaceOn:["minecraft:gold_block","minecraft:lapis_block","minecraft:redstone_block","minecraft:purpur_block"]}}}
execute as @e[type=item,nbt={Item:{id:"minecraft:emerald_block"}}] run data modify entity @s Item.tag.display.Name set value "{\"text\":\"Force Cube\"}"

#execute as @e[type=item] run data modify entity @s PickupDelay set value 0s
execute as @e[type=item] run data merge entity @s {Age:10s,PickupDelay:0s}
#execute at @a[gamemode=adventure] run teleport @e[type=item] ~ ~1 ~
execute as @e[type=item] at @s at @a[gamemode=adventure,limit=1,sort=nearest] run teleport @s ~ ~1 ~