diff options
author | Novatux <nathanael.courant@laposte.net> | 2013-01-20 07:57:58 +0100 |
---|---|---|
committer | Novatux <nathanael.courant@laposte.net> | 2013-01-20 07:57:58 +0100 |
commit | 47597910344754199f1400d57262ebaf1e705411 (patch) | |
tree | d8ef1771360846029d81c47b716104a920ef6bf1 | |
parent | 5edb7a61a3b7e9ab19146b6e76592b86bb79f5f2 (diff) | |
download | pipeworks-47597910344754199f1400d57262ebaf1e705411.tar pipeworks-47597910344754199f1400d57262ebaf1e705411.tar.gz pipeworks-47597910344754199f1400d57262ebaf1e705411.tar.bz2 pipeworks-47597910344754199f1400d57262ebaf1e705411.tar.xz pipeworks-47597910344754199f1400d57262ebaf1e705411.zip |
Added chests and furnaces autoconnect to tubes.
Fixed a bug where autocrafter could bbe used to clone items.
Removed test code.
-rw-r--r-- | autocrafter.lua | 7 | ||||
-rw-r--r-- | autoplace.lua | 2 | ||||
-rw-r--r-- | compat.lua | 18 | ||||
-rw-r--r-- | item_transport.lua | 2 |
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 @@ -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 |