mirror of
https://github.com/minetest-mods/digtron.git
synced 2024-12-22 12:22:22 +01:00
Avoid falling nodes eating digger heads (#94)
If the interval of the digtron is too short (e.g. 1s) while the falling time of nodes in front of the digtron is too long, digtrons may run into them. Previously, this would result in falling nodes destroying the digger head. With this change, the digtron absorbs the falling node and puts it into its inventory.
This commit is contained in:
parent
6cf6fd80a9
commit
1b4628e491
8
util.lua
8
util.lua
@ -337,6 +337,14 @@ digtron.damage_creatures = function(player, source_pos, target_pos, amount, item
|
||||
table.insert(items_dropped, lua_entity.itemstring)
|
||||
lua_entity.itemstring = ""
|
||||
obj:remove()
|
||||
elseif lua_entity.name == "__builtin:falling_node" then
|
||||
-- Eat all falling nodes in front of the digtron
|
||||
-- to avoid them eating away our digger heads
|
||||
local drops = minetest.get_node_drops(lua_entity.node, "")
|
||||
for _, item in pairs(drops) do
|
||||
table.insert(items_dropped, item)
|
||||
end
|
||||
obj:remove()
|
||||
else
|
||||
if obj.add_velocity ~= nil then
|
||||
obj:add_velocity(velocity)
|
||||
|
Loading…
Reference in New Issue
Block a user