@@ -146,11 +146,11 @@ predicate = function(name) local item = minetest.registered_items[name] if item._sorcery and item._sorcery.container then local ct = item._sorcery.container - if ct.type == 'box' then return sorcery.lib.tbl.proto(ct, { + if ct.type == 'box' then return sorcery.lib.tbl.merge({ charge = 8; - }) end + }, ct) end end end; }; bucket = { @@ -160,11 +160,11 @@ predicate = function(name) local item = minetest.registered_items[name] if item._sorcery and item._sorcery.container then local ct = item._sorcery.container - if ct.type == 'bucket' then return sorcery.lib.tbl.proto(ct, { + if ct.type == 'bucket' then return sorcery.lib.tbl.merge({ charge = 3 * 3; - }) end + }, ct) end end end; }; container = { @@ -187,11 +187,11 @@ o = sorcery.data.compat[c.compat][name] if o then if c.finagle then if type(c.finagle) == 'function' then - return sorcery.lib.tbl.proto(c.finagle(o), o) + return sorcery.lib.tbl.merge(o, c.finagle(o)) elseif type(o) == 'table' then - return sorcery.lib.tbl.merge(c.finagle, o) + return sorcery.lib.tbl.merge(o, c.finagle) end end return o end