Compare commits

...

5 Commits

Author SHA1 Message Date
PilzAdam 64626b15c8 Fix a string not being converted into a number 2013-10-27 09:57:02 +01:00
PilzAdam 7c7d3e2292 Merge pull request #1 from Zeg9/master
Update to the "take items only if inventory is not full" behavior
2013-05-03 15:37:04 -07:00
Zeg9 7c071a45f5 Update to the "take items only if inventory is not full" behavior 2013-04-19 21:07:02 +02:00
PilzAdam 913540214c Log mod load if log_mod is set to true 2012-10-07 19:42:41 +02:00
PilzAdam 60b15341fa Bugfix in pushing items of water 2012-10-04 20:26:55 +02:00
1 changed files with 15 additions and 6 deletions

View File

@ -78,7 +78,7 @@ minetest.register_entity(":__builtin:item", {
end,
on_step = function(self, dtime)
local time = minetest.setting_get("remove_items")
local time = tonumber(minetest.setting_get("remove_items"))
if not time then
time = 300
end
@ -126,14 +126,15 @@ minetest.register_entity(":__builtin:item", {
local vec = get_flowing_dir(self)
if vec then
local v = self.object:getvelocity()
if vec and vec.x-p.x > 0 then
self.object:setvelocity({x=0.5,y=0,z=0})
self.object:setvelocity({x=0.5,y=v.y,z=0})
elseif vec and vec.x-p.x < 0 then
self.object:setvelocity({x=-0.5,y=0,z=0})
self.object:setvelocity({x=-0.5,y=v.y,z=0})
elseif vec and vec.z-p.z > 0 then
self.object:setvelocity({x=0,y=0,z=0.5})
self.object:setvelocity({x=0,y=v.y,z=0.5})
elseif vec and vec.z-p.z < 0 then
self.object:setvelocity({x=0,y=0,z=-0.5})
self.object:setvelocity({x=0,y=v.y,z=-0.5})
end
self.object:setacceleration({x=0, y=-10, z=0})
self.physical_state = true
@ -170,8 +171,16 @@ minetest.register_entity(":__builtin:item", {
on_punch = function(self, hitter)
if self.itemstring ~= '' then
hitter:get_inventory():add_item("main", self.itemstring)
local left = hitter:get_inventory():add_item("main", self.itemstring)
if not left:is_empty() then
self.itemstring = left:to_string()
return
end
end
self.object:remove()
end,
})
if minetest.setting_get("log_mods") then
minetest.log("action", "builtin_item loaded")
end