mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-16 09:55:22 +02:00
on_deactivate: distinguish removal and unloading (#11931)
Sometimes you need to be able to do removal-related cleanup, such as removing files from disk, or entries from a database. staticdata obviously isn't suitable for large data. The data shouldn't be removed if the entity is unloaded, only if it is removed.
This commit is contained in:
@@ -103,7 +103,7 @@ void ScriptApiEntity::luaentity_Activate(u16 id,
|
||||
lua_pop(L, 2); // Pop object and error handler
|
||||
}
|
||||
|
||||
void ScriptApiEntity::luaentity_Deactivate(u16 id)
|
||||
void ScriptApiEntity::luaentity_Deactivate(u16 id, bool removal)
|
||||
{
|
||||
SCRIPTAPI_PRECHECKHEADER
|
||||
|
||||
@@ -120,9 +120,9 @@ void ScriptApiEntity::luaentity_Deactivate(u16 id)
|
||||
if (!lua_isnil(L, -1)) {
|
||||
luaL_checktype(L, -1, LUA_TFUNCTION);
|
||||
lua_pushvalue(L, object);
|
||||
|
||||
lua_pushboolean(L, removal);
|
||||
setOriginFromTable(object);
|
||||
PCALL_RES(lua_pcall(L, 1, 0, error_handler));
|
||||
PCALL_RES(lua_pcall(L, 2, 0, error_handler));
|
||||
} else {
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
|
Reference in New Issue
Block a user