Merge pull request #8166 from Warr1024/fix7020
authorWarr1024 <warr1024@gmail.com>
Sat, 5 Oct 2019 13:46:57 +0000 (09:46 -0400)
committersfan5 <sfan5@live.de>
Sat, 5 Oct 2019 13:46:57 +0000 (15:46 +0200)
Fix (or workaround?) for 'Falling nodes with node inventory cause crash when unloaded'

builtin/game/falling.lua

index df213e304f0912ec9df80304a13eca672717e94b..950d6b56fe95830361014f668748ec7b4486f708 100644 (file)
@@ -22,7 +22,18 @@ core.register_entity(":__builtin:falling_node", {
 
        set_node = function(self, node, meta)
                self.node = node
-               self.meta = meta or {}
+               meta = meta or {}
+               if type(meta.to_table) == "function" then
+                       meta = meta:to_table()
+               end
+               for _, list in pairs(meta.inventory or {}) do
+                       for i, stack in pairs(list) do
+                               if type(stack) == "userdata" then
+                                       list[i] = stack:to_string()
+                               end
+                       end
+               end
+               self.meta = meta
                self.object:set_properties({
                        is_visible = true,
                        textures = {node.name},