mirror of
https://github.com/luanti-org/luanti.git
synced 2025-07-27 17:28:41 +00:00
SAPI: Track last executed mod and include in error messages
This commit is contained in:
parent
738fbc66d0
commit
2b04ab874d
19 changed files with 231 additions and 45 deletions
|
@ -91,7 +91,8 @@ void ScriptApiEntity::luaentity_Activate(u16 id,
|
|||
lua_pushvalue(L, object); // self
|
||||
lua_pushlstring(L, staticdata.c_str(), staticdata.size());
|
||||
lua_pushinteger(L, dtime_s);
|
||||
// Call with 3 arguments, 0 results
|
||||
|
||||
setOriginFromTable(object);
|
||||
PCALL_RES(lua_pcall(L, 3, 0, m_errorhandler));
|
||||
} else {
|
||||
lua_pop(L, 1);
|
||||
|
@ -135,11 +136,12 @@ std::string ScriptApiEntity::luaentity_GetStaticdata(u16 id)
|
|||
lua_pop(L, 2); // Pop entity and get_staticdata
|
||||
return "";
|
||||
}
|
||||
|
||||
luaL_checktype(L, -1, LUA_TFUNCTION);
|
||||
lua_pushvalue(L, object); // self
|
||||
// Call with 1 arguments, 1 results
|
||||
|
||||
setOriginFromTable(object);
|
||||
PCALL_RES(lua_pcall(L, 1, 1, m_errorhandler));
|
||||
|
||||
lua_remove(L, object); // Remove object
|
||||
|
||||
size_t len = 0;
|
||||
|
@ -207,8 +209,10 @@ void ScriptApiEntity::luaentity_Step(u16 id, float dtime)
|
|||
luaL_checktype(L, -1, LUA_TFUNCTION);
|
||||
lua_pushvalue(L, object); // self
|
||||
lua_pushnumber(L, dtime); // dtime
|
||||
// Call with 2 arguments, 0 results
|
||||
|
||||
setOriginFromTable(object);
|
||||
PCALL_RES(lua_pcall(L, 2, 0, m_errorhandler));
|
||||
|
||||
lua_pop(L, 1); // Pop object
|
||||
}
|
||||
|
||||
|
@ -238,8 +242,10 @@ void ScriptApiEntity::luaentity_Punch(u16 id,
|
|||
lua_pushnumber(L, time_from_last_punch);
|
||||
push_tool_capabilities(L, *toolcap);
|
||||
push_v3f(L, dir);
|
||||
// Call with 5 arguments, 0 results
|
||||
|
||||
setOriginFromTable(object);
|
||||
PCALL_RES(lua_pcall(L, 5, 0, m_errorhandler));
|
||||
|
||||
lua_pop(L, 1); // Pop object
|
||||
}
|
||||
|
||||
|
@ -264,8 +270,10 @@ void ScriptApiEntity::luaentity_Rightclick(u16 id,
|
|||
luaL_checktype(L, -1, LUA_TFUNCTION);
|
||||
lua_pushvalue(L, object); // self
|
||||
objectrefGetOrCreate(L, clicker); // Clicker reference
|
||||
// Call with 2 arguments, 0 results
|
||||
|
||||
setOriginFromTable(object);
|
||||
PCALL_RES(lua_pcall(L, 2, 0, m_errorhandler));
|
||||
|
||||
lua_pop(L, 1); // Pop object
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue