diff --git a/world/voxel_chunk.cpp b/world/voxel_chunk.cpp index 22bccf8..56e0bf5 100644 --- a/world/voxel_chunk.cpp +++ b/world/voxel_chunk.cpp @@ -429,6 +429,9 @@ void VoxelChunk::clear_baked_lights() { void VoxelChunk::add_prop(Ref prop) { _props.push_back(prop); + + if (has_method("_prop_added")) + call("_prop_added", prop); } Ref VoxelChunk::get_prop(int index) { return _props.get(index); @@ -731,6 +734,8 @@ void VoxelChunk::_bind_methods() { BIND_VMETHOD(MethodInfo("_create_mesh")); BIND_VMETHOD(MethodInfo("_create_mesher")); + BIND_VMETHOD(MethodInfo("_prop_added", PropertyInfo(Variant::OBJECT, "prop", PROPERTY_HINT_RESOURCE_TYPE, "VoxelChunkPropData"))); + ClassDB::bind_method(D_METHOD("_create_mesher"), &VoxelChunk::_create_mesher); ClassDB::bind_method(D_METHOD("get_chunk_position_x"), &VoxelChunk::get_chunk_position_x);