aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_object.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/lua_api/l_object.cpp')
-rw-r--r--src/script/lua_api/l_object.cpp514
1 files changed, 254 insertions, 260 deletions
diff --git a/src/script/lua_api/l_object.cpp b/src/script/lua_api/l_object.cpp
index 5d48ee93d..e7394133a 100644
--- a/src/script/lua_api/l_object.cpp
+++ b/src/script/lua_api/l_object.cpp
@@ -39,16 +39,16 @@ with this program; if not, write to the Free Software Foundation, Inc.,
ObjectRef
*/
-ObjectRef *ObjectRef::checkobject(lua_State *L, int narg)
+
+ObjectRef* ObjectRef::checkobject(lua_State *L, int narg)
{
luaL_checktype(L, narg, LUA_TUSERDATA);
void *ud = luaL_checkudata(L, narg, className);
- if (!ud)
- luaL_typerror(L, narg, className);
- return *(ObjectRef **)ud; // unbox pointer
+ if (!ud) luaL_typerror(L, narg, className);
+ return *(ObjectRef**)ud; // unbox pointer
}
-ServerActiveObject *ObjectRef::getobject(ObjectRef *ref)
+ServerActiveObject* ObjectRef::getobject(ObjectRef *ref)
{
ServerActiveObject *co = ref->m_object;
if (co && co->isGone())
@@ -56,24 +56,24 @@ ServerActiveObject *ObjectRef::getobject(ObjectRef *ref)
return co;
}
-LuaEntitySAO *ObjectRef::getluaobject(ObjectRef *ref)
+LuaEntitySAO* ObjectRef::getluaobject(ObjectRef *ref)
{
ServerActiveObject *obj = getobject(ref);
if (obj == NULL)
return NULL;
if (obj->getType() != ACTIVEOBJECT_TYPE_LUAENTITY)
return NULL;
- return (LuaEntitySAO *)obj;
+ return (LuaEntitySAO*)obj;
}
-PlayerSAO *ObjectRef::getplayersao(ObjectRef *ref)
+PlayerSAO* ObjectRef::getplayersao(ObjectRef *ref)
{
ServerActiveObject *obj = getobject(ref);
if (obj == NULL)
return NULL;
if (obj->getType() != ACTIVEOBJECT_TYPE_PLAYER)
return NULL;
- return (PlayerSAO *)obj;
+ return (PlayerSAO*)obj;
}
RemotePlayer *ObjectRef::getplayer(ObjectRef *ref)
@@ -87,10 +87,9 @@ RemotePlayer *ObjectRef::getplayer(ObjectRef *ref)
// Exported functions
// garbage collector
-int ObjectRef::gc_object(lua_State *L)
-{
+int ObjectRef::gc_object(lua_State *L) {
ObjectRef *o = *(ObjectRef **)(lua_touserdata(L, 1));
- // infostream<<"ObjectRef::gc_object: o="<<o<<std::endl;
+ //infostream<<"ObjectRef::gc_object: o="<<o<<std::endl;
delete o;
return 0;
}
@@ -122,8 +121,7 @@ int ObjectRef::l_get_pos(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
push_v3f(L, co->getBasePosition() / BS);
return 1;
}
@@ -134,8 +132,7 @@ int ObjectRef::l_set_pos(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// pos
v3f pos = checkFloatPos(L, 2);
// Do it
@@ -149,8 +146,7 @@ int ObjectRef::l_move_to(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// pos
v3f pos = checkFloatPos(L, 2);
// continuous
@@ -189,18 +185,17 @@ int ObjectRef::l_punch(lua_State *L)
lua_pushnumber(L, wear);
// If the punched is a player, and its HP changed
- if (src_original_hp != co->getHP() && co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
+ if (src_original_hp != co->getHP() &&
+ co->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
getServer(L)->SendPlayerHPOrDie((PlayerSAO *)co,
- PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH,
- puncher));
+ PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, puncher));
}
// If the puncher is a player, and its HP changed
if (dst_origin_hp != puncher->getHP() &&
puncher->getType() == ACTIVEOBJECT_TYPE_PLAYER) {
getServer(L)->SendPlayerHPOrDie((PlayerSAO *)puncher,
- PlayerHPChangeReason(
- PlayerHPChangeReason::PLAYER_PUNCH, co));
+ PlayerHPChangeReason(PlayerHPChangeReason::PLAYER_PUNCH, co));
}
return 1;
}
@@ -213,10 +208,8 @@ int ObjectRef::l_right_click(lua_State *L)
ObjectRef *ref2 = checkobject(L, 2);
ServerActiveObject *co = getobject(ref);
ServerActiveObject *co2 = getobject(ref2);
- if (co == NULL)
- return 0;
- if (co2 == NULL)
- return 0;
+ if (co == NULL) return 0;
+ if (co2 == NULL) return 0;
// Do it
co->rightClick(co2);
return 0;
@@ -247,8 +240,7 @@ int ObjectRef::l_set_hp(lua_State *L)
lua_getfield(L, -1, "type");
if (lua_isstring(L, -1) &&
- !reason.setTypeFromString(
- readParam<std::string>(L, -1))) {
+ !reason.setTypeFromString(readParam<std::string>(L, -1))) {
errorstream << "Bad type given!" << std::endl;
}
lua_pop(L, 1);
@@ -295,8 +287,7 @@ int ObjectRef::l_get_inventory(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
InventoryLocation loc = co->getInventoryLocation();
if (getServerInventoryMgr(L)->getInventory(loc) != NULL)
@@ -356,8 +347,7 @@ int ObjectRef::l_set_wielded_item(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
ItemStack item = read_item(L, 2, getServer(L)->idef());
bool success = co->setWieldedItem(item);
@@ -374,8 +364,7 @@ int ObjectRef::l_set_armor_groups(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
ItemGroupList groups;
read_groups(L, 2, groups);
@@ -402,9 +391,8 @@ int ObjectRef::l_set_physics_override(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = (PlayerSAO *)getobject(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO *co = (PlayerSAO *) getobject(ref);
+ if (co == NULL) return 0;
// Do it
if (lua_istable(L, 2)) {
co->m_physics_override_speed = getfloatfield_default(
@@ -415,8 +403,8 @@ int ObjectRef::l_set_physics_override(lua_State *L)
L, 2, "gravity", co->m_physics_override_gravity);
co->m_physics_override_sneak = getboolfield_default(
L, 2, "sneak", co->m_physics_override_sneak);
- co->m_physics_override_sneak_glitch = getboolfield_default(L, 2,
- "sneak_glitch", co->m_physics_override_sneak_glitch);
+ co->m_physics_override_sneak_glitch = getboolfield_default(
+ L, 2, "sneak_glitch", co->m_physics_override_sneak_glitch);
co->m_physics_override_new_move = getboolfield_default(
L, 2, "new_move", co->m_physics_override_new_move);
co->m_physics_override_sent = false;
@@ -469,8 +457,7 @@ int ObjectRef::l_set_animation(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
v2f frames = v2f(1, 1);
if (!lua_isnil(L, 2))
@@ -497,7 +484,7 @@ int ObjectRef::l_get_animation(lua_State *L)
if (co == NULL)
return 0;
// Do it
- v2f frames = v2f(1, 1);
+ v2f frames = v2f(1,1);
float frame_speed = 15;
float frame_blend = 0;
bool frame_loop = true;
@@ -520,9 +507,9 @@ int ObjectRef::l_set_local_animation(lua_State *L)
return 0;
// Do it
v2s32 frames[4];
- for (int i = 0; i < 4; i++) {
- if (!lua_isnil(L, 2 + 1))
- frames[i] = read_v2s32(L, 2 + i);
+ for (int i=0;i<4;i++) {
+ if (!lua_isnil(L, 2+1))
+ frames[i] = read_v2s32(L, 2+i);
}
float frame_speed = 30;
if (!lua_isnil(L, 6))
@@ -572,10 +559,10 @@ int ObjectRef::l_set_eye_offset(lua_State *L)
offset_third = read_v3f(L, 3);
// Prevent abuse of offset values (keep player always visible)
- offset_third.X = rangelim(offset_third.X, -10, 10);
- offset_third.Z = rangelim(offset_third.Z, -5, 5);
+ offset_third.X = rangelim(offset_third.X,-10,10);
+ offset_third.Z = rangelim(offset_third.Z,-5,5);
/* TODO: if possible: improve the camera colision detetion to allow Y <= -1.5) */
- offset_third.Y = rangelim(offset_third.Y, -10, 15); // 1.5*BS
+ offset_third.Y = rangelim(offset_third.Y,-10,15); //1.5*BS
getServer(L)->setPlayerEyeOffset(player, offset_first, offset_third);
lua_pushboolean(L, true);
@@ -640,8 +627,7 @@ int ObjectRef::l_set_bone_position(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
ServerActiveObject *co = getobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
std::string bone;
if (!lua_isnil(L, 2))
@@ -694,8 +680,7 @@ int ObjectRef::l_set_attach(lua_State *L)
return 0;
if (co == parent)
- throw LuaError("ObjectRef::set_attach: attaching object to itself is not "
- "allowed.");
+ throw LuaError("ObjectRef::set_attach: attaching object to itself is not allowed.");
// Do it
int parent_id = 0;
@@ -866,8 +851,7 @@ int ObjectRef::l_set_velocity(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
v3f pos = checkFloatPos(L, 2);
// Do it
co->setVelocity(pos);
@@ -894,8 +878,7 @@ int ObjectRef::l_get_velocity(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
v3f v = co->getVelocity();
pushFloatPos(L, v);
@@ -908,8 +891,7 @@ int ObjectRef::l_set_acceleration(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// pos
v3f pos = checkFloatPos(L, 2);
// Do it
@@ -923,8 +905,7 @@ int ObjectRef::l_get_acceleration(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
v3f v = co->getAcceleration();
pushFloatPos(L, v);
@@ -970,8 +951,7 @@ int ObjectRef::l_set_yaw(lua_State *L)
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
if (isNaN(L, 2))
throw LuaError("ObjectRef::set_yaw: NaN value is not allowed.");
@@ -1000,8 +980,7 @@ int ObjectRef::l_set_texture_mod(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
std::string mod = luaL_checkstring(L, 2);
co->setTextureMod(mod);
@@ -1014,8 +993,7 @@ int ObjectRef::l_get_texture_mod(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
std::string mod = co->getTextureMod();
lua_pushstring(L, mod.c_str());
@@ -1029,10 +1007,9 @@ int ObjectRef::l_set_sprite(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
- v2s16 p(0, 0);
+ v2s16 p(0,0);
if (!lua_isnil(L, 2))
p = readParam<v2s16>(L, 2);
int num_frames = 1;
@@ -1055,9 +1032,8 @@ int ObjectRef::l_get_entity_name(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- log_deprecated(L, "Deprecated call to \"get_entity_name");
- if (co == NULL)
- return 0;
+ log_deprecated(L,"Deprecated call to \"get_entity_name");
+ if (co == NULL) return 0;
// Do it
std::string name = co->getName();
lua_pushstring(L, name.c_str());
@@ -1070,8 +1046,7 @@ int ObjectRef::l_get_luaentity(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
LuaEntitySAO *co = getluaobject(ref);
- if (co == NULL)
- return 0;
+ if (co == NULL) return 0;
// Do it
luaentity_get(L, co->getId());
return 1;
@@ -1085,7 +1060,7 @@ int ObjectRef::l_is_player_connected(lua_State *L)
NO_MAP_LOCK_REQUIRED;
// This method was once added for a bugfix, but never documented
log_deprecated(L, "is_player_connected is undocumented and "
- "will be removed in a future release");
+ "will be removed in a future release");
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
lua_pushboolean(L, (player != NULL && player->getPeerId() != PEER_ID_INEXISTENT));
@@ -1144,14 +1119,13 @@ int ObjectRef::l_get_look_dir(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
// Do it
float pitch = co->getRadLookPitchDep();
float yaw = co->getRadYawDep();
- v3f v(std::cos(pitch) * std::cos(yaw), std::sin(pitch),
- std::cos(pitch) * std::sin(yaw));
+ v3f v(std::cos(pitch) * std::cos(yaw), std::sin(pitch), std::cos(pitch) *
+ std::sin(yaw));
push_v3f(L, v);
return 1;
}
@@ -1162,13 +1136,12 @@ int ObjectRef::l_get_look_pitch(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- log_deprecated(L, "Deprecated call to get_look_pitch, use get_look_vertical "
- "instead");
+ log_deprecated(L,
+ "Deprecated call to get_look_pitch, use get_look_vertical instead");
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
// Do it
lua_pushnumber(L, co->getRadLookPitchDep());
return 1;
@@ -1180,13 +1153,12 @@ int ObjectRef::l_get_look_yaw(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- log_deprecated(L, "Deprecated call to get_look_yaw, use get_look_horizontal "
- "instead");
+ log_deprecated(L,
+ "Deprecated call to get_look_yaw, use get_look_horizontal instead");
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
// Do it
lua_pushnumber(L, co->getRadYawDep());
return 1;
@@ -1197,9 +1169,8 @@ int ObjectRef::l_get_look_vertical(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
// Do it
lua_pushnumber(L, co->getRadLookPitch());
return 1;
@@ -1210,9 +1181,8 @@ int ObjectRef::l_get_look_horizontal(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
// Do it
lua_pushnumber(L, co->getRadRotation().Y);
return 1;
@@ -1223,9 +1193,8 @@ int ObjectRef::l_set_look_vertical(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
float pitch = readParam<float>(L, 2) * core::RADTODEG;
// Do it
co->setLookPitchAndSend(pitch);
@@ -1237,9 +1206,8 @@ int ObjectRef::l_set_look_horizontal(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
float yaw = readParam<float>(L, 2) * core::RADTODEG;
// Do it
co->setPlayerYawAndSend(yaw);
@@ -1252,13 +1220,12 @@ int ObjectRef::l_set_look_pitch(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- log_deprecated(L, "Deprecated call to set_look_pitch, use set_look_vertical "
- "instead.");
+ log_deprecated(L,
+ "Deprecated call to set_look_pitch, use set_look_vertical instead.");
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
float pitch = readParam<float>(L, 2) * core::RADTODEG;
// Do it
co->setLookPitchAndSend(pitch);
@@ -1271,13 +1238,12 @@ int ObjectRef::l_set_look_yaw(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
- log_deprecated(L, "Deprecated call to set_look_yaw, use set_look_horizontal "
- "instead.");
+ log_deprecated(L,
+ "Deprecated call to set_look_yaw, use set_look_horizontal instead.");
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
float yaw = readParam<float>(L, 2) * core::RADTODEG;
// Do it
co->setPlayerYawAndSend(yaw);
@@ -1293,10 +1259,11 @@ int ObjectRef::l_set_fov(lua_State *L)
if (!player)
return 0;
- player->setFov({static_cast<f32>(luaL_checknumber(L, 2)),
- readParam<bool>(L, 3, false),
- lua_isnumber(L, 4) ? static_cast<f32>(luaL_checknumber(L, 4))
- : 0.0f});
+ player->setFov({
+ static_cast<f32>(luaL_checknumber(L, 2)),
+ readParam<bool>(L, 3, false),
+ lua_isnumber(L, 4) ? static_cast<f32>(luaL_checknumber(L, 4)) : 0.0f
+ });
getServer(L)->SendPlayerFov(player->getPeerId());
return 0;
@@ -1324,9 +1291,8 @@ int ObjectRef::l_set_breath(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
u16 breath = luaL_checknumber(L, 2);
co->setBreath(breath);
@@ -1338,23 +1304,22 @@ int ObjectRef::l_get_breath(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
- if (co == NULL)
- return 0;
+ PlayerSAO* co = getplayersao(ref);
+ if (co == NULL) return 0;
// Do it
u16 breath = co->getBreath();
- lua_pushinteger(L, breath);
+ lua_pushinteger (L, breath);
return 1;
}
// set_attribute(self, attribute, value)
int ObjectRef::l_set_attribute(lua_State *L)
{
- log_deprecated(L, "Deprecated call to set_attribute, use MetaDataRef methods "
- "instead.");
+ log_deprecated(L,
+ "Deprecated call to set_attribute, use MetaDataRef methods instead.");
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
+ PlayerSAO* co = getplayersao(ref);
if (co == NULL)
return 0;
@@ -1371,11 +1336,11 @@ int ObjectRef::l_set_attribute(lua_State *L)
// get_attribute(self, attribute)
int ObjectRef::l_get_attribute(lua_State *L)
{
- log_deprecated(L, "Deprecated call to get_attribute, use MetaDataRef methods "
- "instead.");
+ log_deprecated(L,
+ "Deprecated call to get_attribute, use MetaDataRef methods instead.");
ObjectRef *ref = checkobject(L, 1);
- PlayerSAO *co = getplayersao(ref);
+ PlayerSAO* co = getplayersao(ref);
if (co == NULL)
return 0;
@@ -1390,6 +1355,7 @@ int ObjectRef::l_get_attribute(lua_State *L)
return 0;
}
+
// get_meta(self, attribute)
int ObjectRef::l_get_meta(lua_State *L)
{
@@ -1402,14 +1368,14 @@ int ObjectRef::l_get_meta(lua_State *L)
return 1;
}
+
// set_inventory_formspec(self, formspec)
int ObjectRef::l_set_inventory_formspec(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
- if (player == NULL)
- return 0;
+ if (player == NULL) return 0;
std::string formspec = luaL_checkstring(L, 2);
player->inventory_formspec = formspec;
@@ -1424,8 +1390,7 @@ int ObjectRef::l_get_inventory_formspec(lua_State *L)
NO_MAP_LOCK_REQUIRED;
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
- if (player == NULL)
- return 0;
+ if (player == NULL) return 0;
std::string formspec = player->inventory_formspec;
lua_pushlstring(L, formspec.c_str(), formspec.size());
@@ -1456,7 +1421,7 @@ int ObjectRef::l_get_formspec_prepend(lua_State *L)
ObjectRef *ref = checkobject(L, 1);
RemotePlayer *player = getplayer(ref);
if (player == NULL)
- return 0;
+ return 0;
std::string formspec = player->formspec_prepend;
lua_pushlstring(L, formspec.c_str(), formspec.size());
@@ -1608,14 +1573,14 @@ int ObjectRef::l_hud_set_flags(lua_State *L)
return 0;
u32 flags = 0;
- u32 mask = 0;
+ u32 mask = 0;
bool flag;
const EnumString *esp = es_HudBuiltinElement;
for (int i = 0; esp[i].str; i++) {
if (getboolfield(L, 2, esp[i].str, flag)) {
flags |= esp[i].num * flag;
- mask |= esp[i].num;
+ mask |= esp[i].num;
}
}
if (!getServer(L)->hudSetFlags(player, flags, mask))
@@ -1770,8 +1735,7 @@ int ObjectRef::l_set_sky(lua_State *L)
lua_pushnil(L);
while (lua_next(L, -2) != 0) {
// Key is at index -2 and value at index -1
- skybox_params.textures.emplace_back(
- readParam<std::string>(L, -1));
+ skybox_params.textures.emplace_back(readParam<std::string>(L, -1));
// Removes the value, but keeps the key for iteration
lua_pop(L, 1);
}
@@ -1784,12 +1748,11 @@ int ObjectRef::l_set_sky(lua_State *L)
using "regular" or "plain" skybox modes as textures aren't needed.
*/
- if (skybox_params.textures.size() != 6 &&
- skybox_params.textures.size() > 0)
+ if (skybox_params.textures.size() != 6 && skybox_params.textures.size() > 0)
throw LuaError("Skybox expects 6 textures!");
- skybox_params.clouds = getboolfield_default(
- L, 2, "clouds", skybox_params.clouds);
+ skybox_params.clouds = getboolfield_default(L, 2,
+ "clouds", skybox_params.clouds);
lua_getfield(L, 2, "sky_color");
if (lua_istable(L, -1)) {
@@ -1873,10 +1836,9 @@ int ObjectRef::l_set_sky(lua_State *L)
if (lua_istable(L, 4)) {
lua_pushnil(L);
while (lua_next(L, 4) != 0) {
- // Key at index -2, and value at index -1
+ // Key at index -2, and value at index -1
if (lua_isstring(L, -1))
- skybox_params.textures.emplace_back(
- readParam<std::string>(L, -1));
+ skybox_params.textures.emplace_back(readParam<std::string>(L, -1));
else
skybox_params.textures.emplace_back("");
// Remove the value, keep the key for the next iteration
@@ -1916,7 +1878,7 @@ int ObjectRef::l_get_sky(lua_State *L)
lua_newtable(L);
s16 i = 1;
- for (const std::string &texture : skybox_params.textures) {
+ for (const std::string& texture : skybox_params.textures) {
lua_pushlstring(L, texture.c_str(), texture.size());
lua_rawseti(L, -2, i++);
}
@@ -1934,7 +1896,7 @@ int ObjectRef::l_get_sky_color(lua_State *L)
if (!player)
return 0;
- const SkyboxParams &skybox_params = player->getSkyParams();
+ const SkyboxParams& skybox_params = player->getSkyParams();
lua_newtable(L);
if (skybox_params.type == "regular") {
@@ -1976,20 +1938,25 @@ int ObjectRef::l_set_sun(lua_State *L)
SunParams sun_params = player->getSunParams();
- sun_params.visible = getboolfield_default(L, 2, "visible", sun_params.visible);
- sun_params.texture = getstringfield_default(L, 2, "texture", sun_params.texture);
- sun_params.tonemap = getstringfield_default(L, 2, "tonemap", sun_params.tonemap);
- sun_params.sunrise = getstringfield_default(L, 2, "sunrise", sun_params.sunrise);
- sun_params.sunrise_visible = getboolfield_default(
- L, 2, "sunrise_visible", sun_params.sunrise_visible);
- sun_params.scale = getfloatfield_default(L, 2, "scale", sun_params.scale);
+ sun_params.visible = getboolfield_default(L, 2,
+ "visible", sun_params.visible);
+ sun_params.texture = getstringfield_default(L, 2,
+ "texture", sun_params.texture);
+ sun_params.tonemap = getstringfield_default(L, 2,
+ "tonemap", sun_params.tonemap);
+ sun_params.sunrise = getstringfield_default(L, 2,
+ "sunrise", sun_params.sunrise);
+ sun_params.sunrise_visible = getboolfield_default(L, 2,
+ "sunrise_visible", sun_params.sunrise_visible);
+ sun_params.scale = getfloatfield_default(L, 2,
+ "scale", sun_params.scale);
getServer(L)->setSun(player, sun_params);
lua_pushboolean(L, true);
return 1;
}
-// get_sun(self)
+//get_sun(self)
int ObjectRef::l_get_sun(lua_State *L)
{
NO_MAP_LOCK_REQUIRED;
@@ -2029,12 +1996,14 @@ int ObjectRef::l_set_moon(lua_State *L)
MoonParams moon_params = player->getMoonParams();
- moon_params.visible = getboolfield_default(L, 2, "visible", moon_params.visible);
- moon_params.texture =
- getstringfield_default(L, 2, "texture", moon_params.texture);
- moon_params.tonemap =
- getstringfield_default(L, 2, "tonemap", moon_params.tonemap);
- moon_params.scale = getfloatfield_default(L, 2, "scale", moon_params.scale);
+ moon_params.visible = getboolfield_default(L, 2,
+ "visible", moon_params.visible);
+ moon_params.texture = getstringfield_default(L, 2,
+ "texture", moon_params.texture);
+ moon_params.tonemap = getstringfield_default(L, 2,
+ "tonemap", moon_params.tonemap);
+ moon_params.scale = getfloatfield_default(L, 2,
+ "scale", moon_params.scale);
getServer(L)->setMoon(player, moon_params);
lua_pushboolean(L, true);
@@ -2077,15 +2046,18 @@ int ObjectRef::l_set_stars(lua_State *L)
StarParams star_params = player->getStarParams();
- star_params.visible = getboolfield_default(L, 2, "visible", star_params.visible);
- star_params.count = getintfield_default(L, 2, "count", star_params.count);
+ star_params.visible = getboolfield_default(L, 2,
+ "visible", star_params.visible);
+ star_params.count = getintfield_default(L, 2,
+ "count", star_params.count);
lua_getfield(L, 2, "star_color");
if (!lua_isnil(L, -1))
read_color(L, -1, &star_params.starcolor);
lua_pop(L, 1);
- star_params.scale = getfloatfield_default(L, 2, "scale", star_params.scale);
+ star_params.scale = getfloatfield_default(L, 2,
+ "scale", star_params.scale);
getServer(L)->setStars(player, star_params);
lua_pushboolean(L, true);
@@ -2128,8 +2100,7 @@ int ObjectRef::l_set_clouds(lua_State *L)
CloudParams cloud_params = player->getCloudParams();
- cloud_params.density =
- getfloatfield_default(L, 2, "density", cloud_params.density);
+ cloud_params.density = getfloatfield_default(L, 2, "density", cloud_params.density);
lua_getfield(L, 2, "color");
if (!lua_isnil(L, -1))
@@ -2140,9 +2111,8 @@ int ObjectRef::l_set_clouds(lua_State *L)
read_color(L, -1, &cloud_params.color_ambient);
lua_pop(L, 1);
- cloud_params.height = getfloatfield_default(L, 2, "height", cloud_params.height);
- cloud_params.thickness =
- getfloatfield_default(L, 2, "thickness", cloud_params.thickness);
+ cloud_params.height = getfloatfield_default(L, 2, "height", cloud_params.height );
+ cloud_params.thickness = getfloatfield_default(L, 2, "thickness", cloud_params.thickness);
lua_getfield(L, 2, "speed");
if (lua_istable(L, -1)) {
@@ -2188,6 +2158,7 @@ int ObjectRef::l_get_clouds(lua_State *L)
return 1;
}
+
// override_day_night_ratio(self, brightness=0...1)
int ObjectRef::l_override_day_night_ratio(lua_State *L)
{
@@ -2230,9 +2201,10 @@ int ObjectRef::l_get_day_night_ratio(lua_State *L)
return 1;
}
-ObjectRef::ObjectRef(ServerActiveObject *object) : m_object(object)
+ObjectRef::ObjectRef(ServerActiveObject *object):
+ m_object(object)
{
- // infostream<<"ObjectRef created for id="<<m_object->getId()<<std::endl;
+ //infostream<<"ObjectRef created for id="<<m_object->getId()<<std::endl;
}
// Creates an ObjectRef and leaves it on top of stack
@@ -2240,7 +2212,7 @@ ObjectRef::ObjectRef(ServerActiveObject *object) : m_object(object)
void ObjectRef::create(lua_State *L, ServerActiveObject *object)
{
ObjectRef *o = new ObjectRef(object);
- // infostream<<"ObjectRef::create: o="<<o<<std::endl;
+ //infostream<<"ObjectRef::create: o="<<o<<std::endl;
*(void **)(lua_newuserdata(L, sizeof(void *))) = o;
luaL_getmetatable(L, className);
lua_setmetatable(L, -2);
@@ -2261,7 +2233,7 @@ void ObjectRef::Register(lua_State *L)
lua_pushliteral(L, "__metatable");
lua_pushvalue(L, methodtable);
- lua_settable(L, metatable); // hide metatable from Lua getmetatable()
+ lua_settable(L, metatable); // hide metatable from Lua getmetatable()
lua_pushliteral(L, "__index");
lua_pushvalue(L, methodtable);
@@ -2271,97 +2243,119 @@ void ObjectRef::Register(lua_State *L)
lua_pushcfunction(L, gc_object);
lua_settable(L, metatable);
- lua_pop(L, 1); // drop metatable
+ lua_pop(L, 1); // drop metatable
markAliasDeprecated(methods);
- luaL_openlib(L, 0, methods, 0); // fill methodtable
- lua_pop(L, 1); // drop methodtable
+ luaL_openlib(L, 0, methods, 0); // fill methodtable
+ lua_pop(L, 1); // drop methodtable
// Cannot be created from Lua
- // lua_register(L, className, create_object);
+ //lua_register(L, className, create_object);
}
const char ObjectRef::className[] = "ObjectRef";
luaL_Reg ObjectRef::methods[] = {
- // ServerActiveObject
- luamethod(ObjectRef, remove),
- luamethod_aliased(ObjectRef, get_pos, getpos),
- luamethod_aliased(ObjectRef, set_pos, setpos),
- luamethod_aliased(ObjectRef, move_to, moveto),
- luamethod(ObjectRef, punch), luamethod(ObjectRef, right_click),
- luamethod(ObjectRef, set_hp), luamethod(ObjectRef, get_hp),
- luamethod(ObjectRef, get_inventory), luamethod(ObjectRef, get_wield_list),
- luamethod(ObjectRef, get_wield_index),
- luamethod(ObjectRef, get_wielded_item),
- luamethod(ObjectRef, set_wielded_item),
- luamethod(ObjectRef, set_armor_groups),
- luamethod(ObjectRef, get_armor_groups),
- luamethod(ObjectRef, set_animation), luamethod(ObjectRef, get_animation),
- luamethod(ObjectRef, set_animation_frame_speed),
- luamethod(ObjectRef, set_bone_position),
- luamethod(ObjectRef, get_bone_position), luamethod(ObjectRef, set_attach),
- luamethod(ObjectRef, get_attach), luamethod(ObjectRef, set_detach),
- luamethod(ObjectRef, set_properties),
- luamethod(ObjectRef, get_properties),
- luamethod(ObjectRef, set_nametag_attributes),
- 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),
- luamethod_aliased(ObjectRef, set_yaw, setyaw),
- luamethod_aliased(ObjectRef, get_yaw, getyaw),
- luamethod(ObjectRef, set_rotation), luamethod(ObjectRef, get_rotation),
- luamethod_aliased(ObjectRef, set_texture_mod, settexturemod),
- luamethod_aliased(ObjectRef, set_sprite, setsprite),
- luamethod(ObjectRef, get_entity_name),
- luamethod(ObjectRef, get_luaentity),
- // Player-only
- luamethod(ObjectRef, is_player),
- luamethod(ObjectRef, is_player_connected),
- luamethod(ObjectRef, get_player_name),
- luamethod(ObjectRef, get_player_velocity),
- luamethod(ObjectRef, add_player_velocity),
- luamethod(ObjectRef, get_look_dir), luamethod(ObjectRef, get_look_pitch),
- luamethod(ObjectRef, get_look_yaw),
- luamethod(ObjectRef, get_look_vertical),
- luamethod(ObjectRef, get_look_horizontal),
- luamethod(ObjectRef, set_look_horizontal),
- luamethod(ObjectRef, set_look_vertical),
- luamethod(ObjectRef, set_look_yaw), luamethod(ObjectRef, set_look_pitch),
- luamethod(ObjectRef, get_fov), luamethod(ObjectRef, set_fov),
- luamethod(ObjectRef, get_breath), luamethod(ObjectRef, set_breath),
- luamethod(ObjectRef, get_attribute), luamethod(ObjectRef, set_attribute),
- luamethod(ObjectRef, get_meta),
- luamethod(ObjectRef, set_inventory_formspec),
- luamethod(ObjectRef, get_inventory_formspec),
- luamethod(ObjectRef, set_formspec_prepend),
- luamethod(ObjectRef, get_formspec_prepend),
- luamethod(ObjectRef, get_player_control),
- luamethod(ObjectRef, get_player_control_bits),
- luamethod(ObjectRef, set_physics_override),
- luamethod(ObjectRef, get_physics_override), luamethod(ObjectRef, hud_add),
- luamethod(ObjectRef, hud_remove), luamethod(ObjectRef, hud_change),
- luamethod(ObjectRef, hud_get), luamethod(ObjectRef, hud_set_flags),
- luamethod(ObjectRef, hud_get_flags),
- luamethod(ObjectRef, hud_set_hotbar_itemcount),
- luamethod(ObjectRef, hud_get_hotbar_itemcount),
- luamethod(ObjectRef, hud_set_hotbar_image),
- luamethod(ObjectRef, hud_get_hotbar_image),
- luamethod(ObjectRef, hud_set_hotbar_selected_image),
- luamethod(ObjectRef, hud_get_hotbar_selected_image),
- luamethod(ObjectRef, set_sky), luamethod(ObjectRef, get_sky),
- luamethod(ObjectRef, get_sky_color), luamethod(ObjectRef, set_sun),
- luamethod(ObjectRef, get_sun), luamethod(ObjectRef, set_moon),
- luamethod(ObjectRef, get_moon), luamethod(ObjectRef, set_stars),
- luamethod(ObjectRef, get_stars), luamethod(ObjectRef, set_clouds),
- luamethod(ObjectRef, get_clouds),
- luamethod(ObjectRef, override_day_night_ratio),
- luamethod(ObjectRef, get_day_night_ratio),
- luamethod(ObjectRef, set_local_animation),
- luamethod(ObjectRef, get_local_animation),
- luamethod(ObjectRef, set_eye_offset),
- luamethod(ObjectRef, get_eye_offset), luamethod(ObjectRef, send_mapblock),
- {0, 0}};
+ // ServerActiveObject
+ luamethod(ObjectRef, remove),
+ luamethod_aliased(ObjectRef, get_pos, getpos),
+ luamethod_aliased(ObjectRef, set_pos, setpos),
+ luamethod_aliased(ObjectRef, move_to, moveto),
+ luamethod(ObjectRef, punch),
+ luamethod(ObjectRef, right_click),
+ luamethod(ObjectRef, set_hp),
+ luamethod(ObjectRef, get_hp),
+ luamethod(ObjectRef, get_inventory),
+ luamethod(ObjectRef, get_wield_list),
+ luamethod(ObjectRef, get_wield_index),
+ luamethod(ObjectRef, get_wielded_item),
+ luamethod(ObjectRef, set_wielded_item),
+ luamethod(ObjectRef, set_armor_groups),
+ luamethod(ObjectRef, get_armor_groups),
+ luamethod(ObjectRef, set_animation),
+ luamethod(ObjectRef, get_animation),
+ luamethod(ObjectRef, set_animation_frame_speed),
+ luamethod(ObjectRef, set_bone_position),
+ luamethod(ObjectRef, get_bone_position),
+ luamethod(ObjectRef, set_attach),
+ luamethod(ObjectRef, get_attach),
+ luamethod(ObjectRef, set_detach),
+ luamethod(ObjectRef, set_properties),
+ luamethod(ObjectRef, get_properties),
+ luamethod(ObjectRef, set_nametag_attributes),
+ 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),
+ luamethod_aliased(ObjectRef, set_yaw, setyaw),
+ luamethod_aliased(ObjectRef, get_yaw, getyaw),
+ luamethod(ObjectRef, set_rotation),
+ luamethod(ObjectRef, get_rotation),
+ luamethod_aliased(ObjectRef, set_texture_mod, settexturemod),
+ luamethod_aliased(ObjectRef, set_sprite, setsprite),
+ luamethod(ObjectRef, get_entity_name),
+ luamethod(ObjectRef, get_luaentity),
+ // Player-only
+ luamethod(ObjectRef, is_player),
+ luamethod(ObjectRef, is_player_connected),
+ luamethod(ObjectRef, get_player_name),
+ luamethod(ObjectRef, get_player_velocity),
+ luamethod(ObjectRef, add_player_velocity),
+ luamethod(ObjectRef, get_look_dir),
+ luamethod(ObjectRef, get_look_pitch),
+ luamethod(ObjectRef, get_look_yaw),
+ luamethod(ObjectRef, get_look_vertical),
+ luamethod(ObjectRef, get_look_horizontal),
+ luamethod(ObjectRef, set_look_horizontal),
+ luamethod(ObjectRef, set_look_vertical),
+ luamethod(ObjectRef, set_look_yaw),
+ luamethod(ObjectRef, set_look_pitch),
+ luamethod(ObjectRef, get_fov),
+ luamethod(ObjectRef, set_fov),
+ luamethod(ObjectRef, get_breath),
+ luamethod(ObjectRef, set_breath),
+ luamethod(ObjectRef, get_attribute),
+ luamethod(ObjectRef, set_attribute),
+ luamethod(ObjectRef, get_meta),
+ luamethod(ObjectRef, set_inventory_formspec),
+ luamethod(ObjectRef, get_inventory_formspec),
+ luamethod(ObjectRef, set_formspec_prepend),
+ luamethod(ObjectRef, get_formspec_prepend),
+ luamethod(ObjectRef, get_player_control),
+ luamethod(ObjectRef, get_player_control_bits),
+ luamethod(ObjectRef, set_physics_override),
+ luamethod(ObjectRef, get_physics_override),
+ luamethod(ObjectRef, hud_add),
+ luamethod(ObjectRef, hud_remove),
+ luamethod(ObjectRef, hud_change),
+ luamethod(ObjectRef, hud_get),
+ luamethod(ObjectRef, hud_set_flags),
+ luamethod(ObjectRef, hud_get_flags),
+ luamethod(ObjectRef, hud_set_hotbar_itemcount),
+ luamethod(ObjectRef, hud_get_hotbar_itemcount),
+ luamethod(ObjectRef, hud_set_hotbar_image),
+ luamethod(ObjectRef, hud_get_hotbar_image),
+ luamethod(ObjectRef, hud_set_hotbar_selected_image),
+ luamethod(ObjectRef, hud_get_hotbar_selected_image),
+ luamethod(ObjectRef, set_sky),
+ luamethod(ObjectRef, get_sky),
+ luamethod(ObjectRef, get_sky_color),
+ luamethod(ObjectRef, set_sun),
+ luamethod(ObjectRef, get_sun),
+ luamethod(ObjectRef, set_moon),
+ luamethod(ObjectRef, get_moon),
+ luamethod(ObjectRef, set_stars),
+ luamethod(ObjectRef, get_stars),
+ luamethod(ObjectRef, set_clouds),
+ luamethod(ObjectRef, get_clouds),
+ luamethod(ObjectRef, override_day_night_ratio),
+ luamethod(ObjectRef, get_day_night_ratio),
+ luamethod(ObjectRef, set_local_animation),
+ luamethod(ObjectRef, get_local_animation),
+ luamethod(ObjectRef, set_eye_offset),
+ luamethod(ObjectRef, get_eye_offset),
+ luamethod(ObjectRef, send_mapblock),
+ {0,0}
+};