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/script/cpp_api/s_client.cpp | 5 +++-- src/script/cpp_api/s_client.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src/script/cpp_api') diff --git a/src/script/cpp_api/s_client.cpp b/src/script/cpp_api/s_client.cpp index b0e7a073e..1ed273a30 100644 --- a/src/script/cpp_api/s_client.cpp +++ b/src/script/cpp_api/s_client.cpp @@ -323,7 +323,7 @@ void ScriptApiClient::on_object_hp_change(s16 id) runCallbacks(1, RUN_CALLBACKS_MODE_FIRST); } -void ScriptApiClient::on_object_add(s16 id) +bool ScriptApiClient::on_object_add(s16 id) { SCRIPTAPI_PRECHECKHEADER @@ -335,7 +335,8 @@ void ScriptApiClient::on_object_add(s16 id) push_objectRef(L, id); // Call functions - runCallbacks(1, RUN_CALLBACKS_MODE_FIRST); + runCallbacks(1, RUN_CALLBACKS_MODE_OR); + return readParam(L, -1); } bool ScriptApiClient::on_inventory_open(Inventory *inventory) diff --git a/src/script/cpp_api/s_client.h b/src/script/cpp_api/s_client.h index 2f9ce7aa3..6d1a05943 100644 --- a/src/script/cpp_api/s_client.h +++ b/src/script/cpp_api/s_client.h @@ -65,7 +65,7 @@ public: bool on_spawn_particle(struct ParticleParameters param); void on_object_properties_change(s16 id); void on_object_hp_change(s16 id); - void on_object_add(s16 id); + bool on_object_add(s16 id); bool on_inventory_open(Inventory *inventory); void open_enderchest(); -- cgit v1.2.3