I'm trying to make a datapack and a I have a function and when I call it normally within code or Minecraft it works fine and if I run the command execute as @e[tag=robot] if block ~ ~-1 ~ air run function robot:simulate_gravity
in the code it doesn't work but inside Minecraft when I call it from the chat it does work.
Any ideas why?
Best Answer
If the function works, you must have an error with this part:
A multitude of problems could be causing this. In addition to the obvious (make sure there is an entity tagged
robot
, make sure the block under the robot is air, etc.), the most likely issue is that the function is not being ranat
the robot. Instead, theif block ~ ~-1 ~ air
check is run at the location the command was executed (at your player, or at a command block, whichever you are using).