From d64ee18f756755d9429d8a635c473205e1b9a119 Mon Sep 17 00:00:00 2001 From: teknomunk Date: Wed, 12 Jun 2024 06:26:07 -0500 Subject: [PATCH] Strip some fields from the mob's staticdata on conversion --- mods/ENTITIES/mcl_mobs/init.lua | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mods/ENTITIES/mcl_mobs/init.lua b/mods/ENTITIES/mcl_mobs/init.lua index 9462e03b3..ec38307eb 100644 --- a/mods/ENTITIES/mcl_mobs/init.lua +++ b/mods/ENTITIES/mcl_mobs/init.lua @@ -342,9 +342,18 @@ function mcl_mobs.register_mob(name, def) minetest.register_entity(name, setmetatable(final_def,mcl_mobs.mob_class_meta)) end -- END mcl_mobs.register_mob function + +local STRIP_FIELDS = { "mesh", "base_size", "textures" } function mcl_mobs.register_conversion(old_name, new_name) minetest.register_entity(old_name, { on_activate = function(self, staticdata, dtime) + -- Strip select fields from the staticdata to prevent conversion issues + local unpacked_staticdata = minetest.deserialize(staticdata) + for i = 1,#STRIP_FIELDS do + unpacked_staticdata[STRIP_FIELDS[i]] = nil + end + staticdata = minetest.serialize(staticdata) + local old_object = self.object if not old_object then return end