})
end
+local data
local on_activate = function(self, staticdata, dtime_s)
if string.sub(staticdata, 1, string.len("return")) == "return" then
- local data = minetest.deserialize(staticdata)
+ data = minetest.deserialize(staticdata)
if data and type(data) == "table" then
self.itemstring = data.itemstring
self.age = (data.age or 0) + dtime_s
local def
local slip_factor
local change
+local slippery
+local i_node
local item_step = function(self, dtime, moveresult)
pos = self.object:get_pos()
if not pos then
node = nil
end
+
+ i_node = minetest.get_node_or_nil(pos)
+
-- Remove nodes in 'ignore' and burns items
- if node then
- if node.name == "ignore" then
+ if i_node then
+ if i_node.name == "ignore" then
self.object:remove()
return
- elseif node and burn_nodes[node.name] then
+ elseif i_node and burn_nodes[i_node.name] then
minetest.add_particlespawner({
amount = 6,
time = 0.001,
is_stuck = false
snode = minetest.get_node_or_nil(pos)
- if snode ~= "air" then
+ if snode and snode ~= "air" then
snode = minetest.registered_nodes[snode.name] or {}
is_stuck = (snode.walkable == nil or snode.walkable == true)
and (snode.collision_box == nil or snode.collision_box.type == "regular")