mirror of
https://github.com/luanti-org/luanti.git
synced 2025-10-13 08:35:20 +02:00
Add on_deactivate callback for luaentities (#10723)
This commit is contained in:
@@ -112,6 +112,15 @@ void LuaEntitySAO::addedToEnvironment(u32 dtime_s)
|
||||
}
|
||||
}
|
||||
|
||||
void LuaEntitySAO::dispatchScriptDeactivate()
|
||||
{
|
||||
// Ensure that this is in fact a registered entity,
|
||||
// and that it isn't already gone.
|
||||
// The latter also prevents this from ever being called twice.
|
||||
if (m_registered && !isGone())
|
||||
m_env->getScriptIface()->luaentity_Deactivate(m_id);
|
||||
}
|
||||
|
||||
void LuaEntitySAO::step(float dtime, bool send_recommended)
|
||||
{
|
||||
if(!m_properties_sent)
|
||||
@@ -302,7 +311,7 @@ u16 LuaEntitySAO::punch(v3f dir,
|
||||
{
|
||||
if (!m_registered) {
|
||||
// Delete unknown LuaEntities when punched
|
||||
m_pending_removal = true;
|
||||
markForRemoval();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -335,7 +344,7 @@ u16 LuaEntitySAO::punch(v3f dir,
|
||||
clearParentAttachment();
|
||||
clearChildAttachments();
|
||||
m_env->getScriptIface()->luaentity_on_death(m_id, puncher);
|
||||
m_pending_removal = true;
|
||||
markForRemoval();
|
||||
}
|
||||
|
||||
actionstream << puncher->getDescription() << " (id=" << puncher->getId() <<
|
||||
|
Reference in New Issue
Block a user