From 950d2c9b3e10cbace9236e820c8119d1abb9e01f Mon Sep 17 00:00:00 2001 From: Elias Fleckenstein Date: Sun, 19 Sep 2021 18:55:25 +0200 Subject: Add ClientObjectRef:remove and return true in on_object_add callback to remove newly added object --- src/client/content_cao.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/client') 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); -- cgit v1.2.3