Cuberite Forum

Full Version: How to override physics?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
How to override physics in Cuberite? Is there any hook to do this? For example:
Code:
IsFallingEnabled=true
function OnBlockFalling(Block,x,y,z)
  if IsFallingEnabled then
    return false -- Allow block to fall
  else
    return true -- Prevent block from falling
  end
end

function EntityPhysicsTick(Entity,dx,dy,dz)
  -- Do something
  return true -- Do not call any other plugins
end
There's currently no direct way to override physics, sorry. WHat you could, theoretically, do, is the hard way - intercept the cFallingBlock entity creation, don't let Cuberite create the entity and possibly re-set the block back, if Cuberite / client doesn't do that on its own. As for entities / mobs, there's not much to intercept, really, because we still need proper code refactor for all entities before sticking things out through an API that could potentially become very obsolete soon(ish).