mirror of
https://github.com/luanti-org/luanti.git
synced 2025-08-01 17:38:41 +00: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:
parent
f4a53f7ee6
commit
e7d4ec6834
6 changed files with 18 additions and 12 deletions
|
@ -4551,8 +4551,14 @@ Callbacks:
|
|||
* Called when the object is instantiated.
|
||||
* `dtime_s` is the time passed since the object was unloaded, which can be
|
||||
used for updating the entity state.
|
||||
* `on_deactivate(self)
|
||||
* `on_deactivate(self, removal)
|
||||
* Called when the object is about to get removed or unloaded.
|
||||
* `removal`: boolean indicating whether the object is about to get removed.
|
||||
Calling `object:remove()` on an active object will call this with `removal=true`.
|
||||
The mapblock the entity resides in being unloaded will call this with `removal=false`.
|
||||
* Note that this won't be called if the object hasn't been activated in the first place.
|
||||
In particular, `minetest.clear_objects({mode = "full"})` won't call this,
|
||||
whereas `minetest.clear_objects({mode = "quick"})` might call this.
|
||||
* `on_step(self, dtime)`
|
||||
* Called on every server tick, after movement and collision processing.
|
||||
`dtime` is usually 0.1 seconds, as per the `dedicated_server_step` setting
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue