s_env.{cpp, h} cleanups

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

@ -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
@ -94,10 +94,12 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
lua_getfield(L, -1, "registered_abms");
int registered_abms = lua_gettop(L);
if(lua_istable(L, registered_abms)){
int table = lua_gettop(L);
if (!lua_istable(L, registered_abms)) {
lua_pop(L, 1);
throw LuaError("core.registered_abms was not a lua table, as expected.");
}
lua_pushnil(L);
while(lua_next(L, table) != 0){
while (lua_next(L, registered_abms)) {
// key at index -2 and value at index -1
int id = lua_tonumber(L, -2);
int current_abm = lua_gettop(L);
@ -107,7 +109,7 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
if (lua_istable(L, -1)) {
int table = lua_gettop(L);
lua_pushnil(L);
while(lua_next(L, table) != 0){
while (lua_next(L, table)) {
// key at index -2 and value at index -1
luaL_checktype(L, -1, LUA_TSTRING);
trigger_contents.insert(lua_tostring(L, -1));
@ -124,7 +126,7 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
if (lua_istable(L, -1)) {
int table = lua_gettop(L);
lua_pushnil(L);
while(lua_next(L, table) != 0){
while (lua_next(L, table)) {
// key at index -2 and value at index -1
luaL_checktype(L, -1, LUA_TSTRING);
required_neighbors.insert(lua_tostring(L, -1));
@ -153,10 +155,6 @@ void ScriptApiEnv::initializeEnvironment(ServerEnvironment *env)
// removes value, keeps key for next iteration
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);
// Get core.registered_lbms

@ -26,7 +26,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
class ServerEnvironment;
struct ScriptCallbackState;
class ScriptApiEnv : virtual public ScriptApiBase {
class ScriptApiEnv : virtual public ScriptApiBase
{
public:
// Called on environment step
void environment_Step(float dtime);
@ -35,7 +36,7 @@ public:
void environment_OnGenerated(v3s16 minp, v3s16 maxp, u32 blockseed);
// 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()
void on_emerge_area_completion(v3s16 blockpos, int action,