aboutsummaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2021-09-19 18:55:25 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2021-09-19 18:55:25 +0200
commit950d2c9b3e10cbace9236e820c8119d1abb9e01f (patch)
treec0d9c1ca33c0251667d0a8cb59f25de65996dc69 /src/client
parentfb4815c660d6d9cfc9df76a3ba763095b9701925 (diff)
downloaddragonfireclient-950d2c9b3e10cbace9236e820c8119d1abb9e01f.tar.xz
Add ClientObjectRef:remove and return true in on_object_add callback to remove newly added object
Diffstat (limited to 'src/client')
-rw-r--r--src/client/content_cao.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp
index be6608ab6..3a6ca3e29 100644
--- a/src/client/content_cao.cpp
+++ b/src/client/content_cao.cpp
@@ -822,8 +822,11 @@ void GenericCAO::addToScene(ITextureSource *tsrc, scene::ISceneManager *smgr)
setNodeLight(m_last_light);
updateMeshCulling();
- if (m_client->modsLoaded())
- m_client->getScript()->on_object_add(m_id);
+ if (m_client->modsLoaded() && m_client->getScript()->on_object_add(m_id)) {
+ removeFromScene(false);
+ return;
+ }
+
if (m_client->modsLoaded())
m_client->getScript()->on_object_properties_change(m_id);