mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-14 00:55:20 +02:00
ObjectRef: Add add_velocity() (#3208)
Allow changing the velocity of objects relatively to their current velocity
This commit is contained in:
@@ -850,6 +850,20 @@ int ObjectRef::l_set_velocity(lua_State *L)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// add_velocity(self, {x=num, y=num, z=num})
|
||||
int ObjectRef::l_add_velocity(lua_State *L)
|
||||
{
|
||||
NO_MAP_LOCK_REQUIRED;
|
||||
ObjectRef *ref = checkobject(L, 1);
|
||||
LuaEntitySAO *co = getluaobject(ref);
|
||||
if (!co)
|
||||
return 0;
|
||||
v3f pos = checkFloatPos(L, 2);
|
||||
// Do it
|
||||
co->addVelocity(pos);
|
||||
return 0;
|
||||
}
|
||||
|
||||
// get_velocity(self)
|
||||
int ObjectRef::l_get_velocity(lua_State *L)
|
||||
{
|
||||
@@ -1840,6 +1854,7 @@ const luaL_Reg ObjectRef::methods[] = {
|
||||
luamethod(ObjectRef, get_nametag_attributes),
|
||||
// LuaEntitySAO-only
|
||||
luamethod_aliased(ObjectRef, set_velocity, setvelocity),
|
||||
luamethod(ObjectRef, add_velocity),
|
||||
luamethod_aliased(ObjectRef, get_velocity, getvelocity),
|
||||
luamethod_aliased(ObjectRef, set_acceleration, setacceleration),
|
||||
luamethod_aliased(ObjectRef, get_acceleration, getacceleration),
|
||||
|
@@ -161,6 +161,9 @@ private:
|
||||
// set_velocity(self, {x=num, y=num, z=num})
|
||||
static int l_set_velocity(lua_State *L);
|
||||
|
||||
// add_velocity(self, {x=num, y=num, z=num})
|
||||
static int l_add_velocity(lua_State *L);
|
||||
|
||||
// get_velocity(self)
|
||||
static int l_get_velocity(lua_State *L);
|
||||
|
||||
|
Reference in New Issue
Block a user