diff --git a/mods/default/item_entity.lua b/mods/default/item_entity.lua deleted file mode 100644 index 2e3694d5..00000000 --- a/mods/default/item_entity.lua +++ /dev/null @@ -1,78 +0,0 @@ --- mods/default/item_entity.lua - -local builtin_item = minetest.registered_entities["__builtin:item"] - -local item = { - set_item = function(self, itemstring) - builtin_item.set_item(self, itemstring) - - local stack = ItemStack(itemstring) - local itemdef = minetest.registered_items[stack:get_name()] - if itemdef and itemdef.groups.flammable ~= 0 then - self.flammable = itemdef.groups.flammable - end - end, - - burn_up = function(self) - -- disappear in a smoke puff - self.object:remove() - local p = self.object:get_pos() - minetest.sound_play("default_item_smoke", { - pos = p, - max_hear_distance = 8, - }) - minetest.add_particlespawner({ - amount = 3, - time = 0.1, - minpos = {x = p.x - 0.1, y = p.y + 0.1, z = p.z - 0.1 }, - maxpos = {x = p.x + 0.1, y = p.y + 0.2, z = p.z + 0.1 }, - minvel = {x = 0, y = 2.5, z = 0}, - maxvel = {x = 0, y = 2.5, z = 0}, - minacc = {x = -0.15, y = -0.02, z = -0.15}, - maxacc = {x = 0.15, y = -0.01, z = 0.15}, - minexptime = 4, - maxexptime = 6, - minsize = 5, - maxsize = 5, - collisiondetection = true, - texture = "default_item_smoke.png" - }) - end, - -on_step = function(self, dtime, ...) - builtin_item.on_step(self, dtime, ...) - - if self.flammable then - -- flammable, check for igniters every 10 s - self.ignite_timer = (self.ignite_timer or 0) + dtime - if self.ignite_timer > 10 then - self.ignite_timer = 0 - - local pos = self.object:get_pos() - if pos == nil then - return -- object already deleted - end - local node = minetest.get_node_or_nil(pos) - if not node then - return - end - - -- Immediately burn up flammable items in lava - if minetest.get_item_group(node.name, "lava") > 0 then - self:burn_up() - else - -- otherwise there'll be a chance based on its igniter value - local burn_chance = self.flammable - * minetest.get_item_group(node.name, "igniter") - if burn_chance > 0 and math.random(0, burn_chance) ~= 0 then - self:burn_up() - end - end - end - end - end, -} - --- set defined item as new __builtin:item, with the old one as fallback table -setmetatable(item, builtin_item) -minetest.register_entity(":__builtin:item", item)