diff options
author | VanessaE <vanessaezekowitz@gmail.com> | 2013-07-08 20:40:13 -0700 |
---|---|---|
committer | VanessaE <vanessaezekowitz@gmail.com> | 2013-07-08 20:40:13 -0700 |
commit | f42486f0380a9c8d31d51ab31b786e33d452cbd1 (patch) | |
tree | 26b6d53e6ebeb451c2414266162544060dc32764 | |
parent | 2f843fdd767a71bb51f8d31908ff03399cd97703 (diff) | |
parent | 2c89692b4ae886fcaed082e2ede0edc3d38089d7 (diff) | |
download | pipeworks-f42486f0380a9c8d31d51ab31b786e33d452cbd1.tar pipeworks-f42486f0380a9c8d31d51ab31b786e33d452cbd1.tar.gz pipeworks-f42486f0380a9c8d31d51ab31b786e33d452cbd1.tar.bz2 pipeworks-f42486f0380a9c8d31d51ab31b786e33d452cbd1.tar.xz pipeworks-f42486f0380a9c8d31d51ab31b786e33d452cbd1.zip |
Merge pull request #45 from hdastwb/lockedchest
Locked chest integration
-rw-r--r-- | autoplace.lua | 45 | ||||
-rw-r--r-- | compat.lua | 25 |
2 files changed, 69 insertions, 1 deletions
diff --git a/autoplace.lua b/autoplace.lua index f049665..a15d598 100644 --- a/autoplace.lua +++ b/autoplace.lua @@ -218,7 +218,50 @@ function tube_autoroute(pos) -- does not scan for the front side of the node. ---chests +--locked chests + + -- check for left/right connects + + if string.find(nxm.name, "default:chest_locked") ~= nil + and (nxm.param2 == 0 or nxm.param2 == 2) then + pxm=1 end + if string.find(nxp.name, "default:chest_locked") ~= nil + and (nxp.param2 == 0 or nxp.param2 == 2) then + pxp=1 end + + if string.find(nzm.name, "default:chest_locked") ~= nil + and (nzm.param2 == 1 or nzm.param2 == 3) then + pzm=1 end + if string.find(nzp.name, "default:chest_locked") ~= nil + and (nzp.param2 == 1 or nzp.param2 == 3) then + pzp=1 end + + -- check for backside connects + + if string.find(nxm.name, "default:chest_locked") ~= nil + and nxm.param2 == 1 then + pxm = 1 end + + if string.find(nxp.name, "default:chest_locked") ~= nil + and nxp.param2 == 3 then + pxp = 1 end + + if string.find(nzm.name, "default:chest_locked") ~= nil + and nzm.param2 == 0 then + pzm = 1 end + + if string.find(nzp.name, "default:chest_locked") ~= nil + and nzp.param2 == 2 then + pzp = 1 end + + -- check for top/bottom connections + + if string.find(nym.name, "default:chest_locked") ~= nil then pym = 1 end + if string.find(nyp.name, "default:chest_locked") ~= nil then pyp = 1 end + + -- does not scan for the front side of the node. + +--furnaces -- check for left/right connects @@ -97,3 +97,28 @@ chest=clone_node("default:chest") end minetest.register_node(":default:chest",chest) + + +chest_locked=clone_node("default:chest_locked") + chest_locked.groups.tubedevice=1 + chest_locked.groups.tubedevice_receiver=1 + chest_locked.tube={insert_object = function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:add_item("main",stack) + end, + can_insert=function(pos,node,stack,direction) + local meta=minetest.env:get_meta(pos) + local inv=meta:get_inventory() + return inv:room_for_item("main",stack) + end} + local old_after_place = minetest.registered_nodes["default:chest_locked"].after_place_node; + chest_locked.after_place_node = function(pos, placer) + tube_scanforobjects(pos) + old_after_place(pos, placer) + end + chest_locked.after_dig_node = function(pos) + tube_scanforobjects(pos) + end + +minetest.register_node(":default:chest_locked",chest_locked) |