From 2f879e8bbd8329e4c796dc1f7eeea9bdc3be2b3d Mon Sep 17 00:00:00 2001 From: Beha Date: Mon, 12 Aug 2019 13:18:52 -0400 Subject: Clear old item groups when they are overridden. (#8753) This fixes overridden items keeping their old groups in the group to items mapping even after their groups have been changed in lua. It also prevents a more widespread issue where overriding an item will add its content ID *twice* to the mapping, resulting in odd behaviour in features such as ABMs. --- src/nodedef.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/nodedef.h') diff --git a/src/nodedef.h b/src/nodedef.h index 60d91f8d9..1a12aae93 100644 --- a/src/nodedef.h +++ b/src/nodedef.h @@ -668,6 +668,14 @@ private: */ void addNameIdMapping(content_t i, std::string name); + /*! + * Removes a content ID from all groups. + * Erases content IDs from vectors in \ref m_group_to_items and + * removes empty vectors. + * @param id Content ID + */ + void eraseIdFromGroups(content_t id); + /*! * Recalculates m_selection_box_int_union based on * m_selection_box_union. -- cgit v1.2.3