summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVanessaE <vanessaezekowitz@gmail.com>2013-01-19 23:14:44 -0800
committerVanessaE <vanessaezekowitz@gmail.com>2013-01-19 23:14:44 -0800
commita2fc5547001399fdfd2f6a2c2746c01b0f97244f (patch)
treed8ef1771360846029d81c47b716104a920ef6bf1
parentf854d96c18f0a0ab2bf931b6d6a9c11f24cdb0b9 (diff)
parent47597910344754199f1400d57262ebaf1e705411 (diff)
downloadpipeworks-a2fc5547001399fdfd2f6a2c2746c01b0f97244f.tar
pipeworks-a2fc5547001399fdfd2f6a2c2746c01b0f97244f.tar.gz
pipeworks-a2fc5547001399fdfd2f6a2c2746c01b0f97244f.tar.bz2
pipeworks-a2fc5547001399fdfd2f6a2c2746c01b0f97244f.tar.xz
pipeworks-a2fc5547001399fdfd2f6a2c2746c01b0f97244f.zip
Merge pull request #11 from Novatux/master
Fixed a bug where autocrafter could be used to clone items.
-rw-r--r--autocrafter.lua7
-rw-r--r--autoplace.lua2
-rw-r--r--compat.lua18
-rw-r--r--item_transport.lua2
4 files changed, 25 insertions, 4 deletions
diff --git a/autocrafter.lua b/autocrafter.lua
index 71aeccf..9469b7d 100644
--- a/autocrafter.lua
+++ b/autocrafter.lua
@@ -4,6 +4,9 @@ function autocraft(inventory)
local recipe=inventory:get_list("recipe")
local result
local new
+ for i=1,9 do
+ recipe[i]=ItemStack({name=recipe[i]:get_name(),count=1})
+ end
result,new=minetest.get_craft_result({method="normal",width=3,items=recipe})
local input=inventory:get_list("input")
if result.item:is_empty() then return end
@@ -28,7 +31,9 @@ function autocraft(inventory)
inventory:remove_item("src",stack)
end
inventory:add_item("dst",result)
- print(dump(new))
+ for i=1,9 do
+ inventory:add_item("dst",new.items[i])
+ end
end
minetest.register_node("pipeworks:autocrafter",{
diff --git a/autoplace.lua b/autoplace.lua
index 84c6fde..dbcc423 100644
--- a/autoplace.lua
+++ b/autoplace.lua
@@ -54,7 +54,7 @@ end
function tube_autoroute(pos)
nctr = minetest.env:get_node(pos)
- print ("minetest.get_item_group("..nctr.name..',"tubedevice") == '..minetest.get_item_group(nctr.name, "tubedevice"))
+ --print ("minetest.get_item_group("..nctr.name..',"tubedevice") == '..minetest.get_item_group(nctr.name, "tubedevice"))
if (is_tube(nctr.name) == nil)
and minetest.get_item_group(nctr.name, "tubedevice") ~= 1 then return end
diff --git a/compat.lua b/compat.lua
index 40ed4a1..04dcadd 100644
--- a/compat.lua
+++ b/compat.lua
@@ -57,6 +57,12 @@ minetest.register_node(":default:furnace", {
end
return true
end,
+ after_place_node = function(pos)
+ tube_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ tube_scanforobjects(pos)
+ end
})
minetest.register_node(":default:furnace_active", {
@@ -111,6 +117,12 @@ minetest.register_node(":default:furnace_active", {
end
return true
end,
+ after_place_node = function(pos)
+ tube_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ tube_scanforobjects(pos)
+ end
})
minetest.register_node(":default:chest", {
@@ -159,4 +171,10 @@ minetest.register_node(":default:chest", {
minetest.log("action", player:get_player_name()..
" takes stuff from chest at "..minetest.pos_to_string(pos))
end,
+ after_place_node = function(pos)
+ tube_scanforobjects(pos)
+ end,
+ after_dig_node = function(pos)
+ tube_scanforobjects(pos)
+ end
})
diff --git a/item_transport.lua b/item_transport.lua
index 7cc2853..c1d7315 100644
--- a/item_transport.lua
+++ b/item_transport.lua
@@ -282,7 +282,6 @@ function notvel(tbl,vel)
end
function go_next(pos,velocity,stack)
- --print(dump(pos))
local chests={}
local tubes={}
local cnode=minetest.env:get_node(pos)
@@ -313,7 +312,6 @@ function go_next(pos,velocity,stack)
npos=addVect(pos,vect)
node=minetest.env:get_node(npos)
tube_receiver=minetest.get_item_group(node.name,"tubedevice_receiver")
- --tubelike=minetest.get_item_group(node.name,"tubelike")
meta=minetest.env:get_meta(npos)
tubelike=meta:get_int("tubelike")
if tube_receiver==1 then