s_env.{cpp, h} cleanups

* Replace string by-val passing with const reference
* Fix code style
* Remove redundant `int table` definition and indentation level
master
est31 2016-03-07 19:34:48 +01:00
parent d494733839
commit 725cb4eb07
2 changed files with 65 additions and 66 deletions

View File

@ -58,7 +58,7 @@ void ScriptApiEnv::environment_Step(float dtime)
} }
} }
void ScriptApiEnv::player_event(ServerActiveObject* player, std::string type) void ScriptApiEnv::player_event(ServerActiveObject *player, const std::string &type)
{ {
SCRIPTAPI_PRECHECKHEADER SCRIPTAPI_PRECHECKHEADER
@ -94,10 +94,12 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
lua_getfield(L, -1, "registered_abms"); lua_getfield(L, -1, "registered_abms");
int registered_abms = lua_gettop(L); int registered_abms = lua_gettop(L);
if(lua_istable(L, registered_abms)){ if (!lua_istable(L, registered_abms)) {
int table = lua_gettop(L); lua_pop(L, 1);
throw LuaError("core.registered_abms was not a lua table, as expected.");
}
lua_pushnil(L); lua_pushnil(L);
while(lua_next(L, table) != 0){ while (lua_next(L, registered_abms)) {
// key at index -2 and value at index -1 // key at index -2 and value at index -1
int id = lua_tonumber(L, -2); int id = lua_tonumber(L, -2);
int current_abm = lua_gettop(L); int current_abm = lua_gettop(L);
@ -107,7 +109,7 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
if (lua_istable(L, -1)) { if (lua_istable(L, -1)) {
int table = lua_gettop(L); int table = lua_gettop(L);
lua_pushnil(L); lua_pushnil(L);
while(lua_next(L, table) != 0){ while (lua_next(L, table)) {
// key at index -2 and value at index -1 // key at index -2 and value at index -1
luaL_checktype(L, -1, LUA_TSTRING); luaL_checktype(L, -1, LUA_TSTRING);
trigger_contents.insert(lua_tostring(L, -1)); trigger_contents.insert(lua_tostring(L, -1));
@ -124,7 +126,7 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
if (lua_istable(L, -1)) { if (lua_istable(L, -1)) {
int table = lua_gettop(L); int table = lua_gettop(L);
lua_pushnil(L); lua_pushnil(L);
while(lua_next(L, table) != 0){ while (lua_next(L, table)) {
// key at index -2 and value at index -1 // key at index -2 and value at index -1
luaL_checktype(L, -1, LUA_TSTRING); luaL_checktype(L, -1, LUA_TSTRING);
required_neighbors.insert(lua_tostring(L, -1)); required_neighbors.insert(lua_tostring(L, -1));
@ -153,10 +155,6 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
// removes value, keeps key for next iteration // removes value, keeps key for next iteration
lua_pop(L, 1); lua_pop(L, 1);
} }
} else {
lua_pop(L, 1);
throw LuaError("core.registered_abms was not a lua table, as expected.");
}
lua_pop(L, 1); lua_pop(L, 1);
// Get core.registered_lbms // Get core.registered_lbms

View File

@ -26,7 +26,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class ServerEnvironment; class ServerEnvironment;
struct ScriptCallbackState; struct ScriptCallbackState;
class ScriptApiEnv : virtual public ScriptApiBase { class ScriptApiEnv : virtual public ScriptApiBase
{
public: public:
// Called on environment step // Called on environment step
void environment_Step(float dtime); void environment_Step(float dtime);
@ -35,7 +36,7 @@ public:
void environment_OnGenerated(v3s16 minp, v3s16 maxp, u32 blockseed); void environment_OnGenerated(v3s16 minp, v3s16 maxp, u32 blockseed);
// Called on player event // Called on player event
void player_event(ServerActiveObject *player, std::string type); void player_event(ServerActiveObject *player, const std::string &type);
// Called after emerge of a block queued from core.emerge_area() // Called after emerge of a block queued from core.emerge_area()
void on_emerge_area_completion(v3s16 blockpos, int action, void on_emerge_area_completion(v3s16 blockpos, int action,