forked from Mirrorlandia_minetest/minetest
Run detach callbacks on player leave
Correct docs regarding non-nil detaching children
This commit is contained in:
parent
a292d19fd0
commit
9dd432c29f
@ -4869,9 +4869,9 @@ Registered entities
|
|||||||
* `killer`: an `ObjectRef` (can be `nil`)
|
* `killer`: an `ObjectRef` (can be `nil`)
|
||||||
* `on_rightclick(self, clicker)`
|
* `on_rightclick(self, clicker)`
|
||||||
* `on_attach_child(self, child)`
|
* `on_attach_child(self, child)`
|
||||||
* `child`: an `ObjectRef` (can be `nil`) of the child that attaches
|
* `child`: an `ObjectRef` of the child that attaches
|
||||||
* `on_detach_child(self, child)`
|
* `on_detach_child(self, child)`
|
||||||
* `child`: an `ObjectRef` (can be `nil`) of the child that detaches
|
* `child`: an `ObjectRef` of the child that detaches
|
||||||
* `on_detach(self, parent)`
|
* `on_detach(self, parent)`
|
||||||
* `parent`: an `ObjectRef` (can be `nil`) from where it got detached
|
* `parent`: an `ObjectRef` (can be `nil`) from where it got detached
|
||||||
* This happens before the parent object is removed from the world
|
* This happens before the parent object is removed from the world
|
||||||
|
@ -2632,6 +2632,9 @@ void Server::DeleteClient(session_t peer_id, ClientDeletionReason reason)
|
|||||||
PlayerSAO *playersao = player->getPlayerSAO();
|
PlayerSAO *playersao = player->getPlayerSAO();
|
||||||
assert(playersao);
|
assert(playersao);
|
||||||
|
|
||||||
|
playersao->clearChildAttachments();
|
||||||
|
playersao->clearParentAttachment();
|
||||||
|
|
||||||
// inform connected clients
|
// inform connected clients
|
||||||
NetworkPacket notice(TOCLIENT_UPDATE_PLAYER_LIST, 0, PEER_ID_INEXISTENT);
|
NetworkPacket notice(TOCLIENT_UPDATE_PLAYER_LIST, 0, PEER_ID_INEXISTENT);
|
||||||
// (u16) 1 + std::string represents a vector serialization representation
|
// (u16) 1 + std::string represents a vector serialization representation
|
||||||
|
Loading…
Reference in New Issue
Block a user