From: Vanessa Ezekowitz Date: Mon, 17 Sep 2012 16:32:47 +0000 (-0400) Subject: Added test object for pneumatic tube autorouting code, made tubes connect to X-Git-Url: http://81.2.79.47:8989/gitweb/?a=commitdiff_plain;h=2efaa35700401d7b618bb07a3a51036229c37fa5;p=zefram%2Fminetest%2Fpipeworks.git Added test object for pneumatic tube autorouting code, made tubes connect to it and any object that bears groups={tubedevice=1} (connects to any side) --- diff --git a/autoplace.lua b/autoplace.lua index 492f558..390c66a 100644 --- a/autoplace.lua +++ b/autoplace.lua @@ -43,7 +43,9 @@ end function tube_autoroute(pos) nctr = minetest.env:get_node(pos) - if (string.find(nctr.name, "pipeworks:tube_") == nil) then return end + print ("minetest.get_item_group("..nctr.name..',"tubedevice") == '..minetest.get_item_group(nctr.name, "tubedevice")) + if (string.find(nctr.name, "pipeworks:tube_") == nil) + and minetest.get_item_group(nctr.name, "tubedevice") ~= 1 then return end pxm=0 pxp=0 @@ -59,15 +61,24 @@ function tube_autoroute(pos) nzm = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z-1 }) nzp = minetest.env:get_node({ x=pos.x , y=pos.y , z=pos.z+1 }) - if (string.find(nxm.name, "pipeworks:tube_") ~= nil) then pxm=1 end - if (string.find(nxp.name, "pipeworks:tube_") ~= nil) then pxp=1 end - if (string.find(nym.name, "pipeworks:tube_") ~= nil) then pym=1 end - if (string.find(nyp.name, "pipeworks:tube_") ~= nil) then pyp=1 end - if (string.find(nzm.name, "pipeworks:tube_") ~= nil) then pzm=1 end - if (string.find(nzp.name, "pipeworks:tube_") ~= nil) then pzp=1 end + if (string.find(nxm.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nxm.name, "tubedevice") == 1 then pxm=1 end + if (string.find(nxp.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nxp.name, "tubedevice") == 1 then pxp=1 end + if (string.find(nym.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nym.name, "tubedevice") == 1 then pym=1 end + if (string.find(nyp.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nyp.name, "tubedevice") == 1 then pyp=1 end + if (string.find(nzm.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nzm.name, "tubedevice") == 1 then pzm=1 end + if (string.find(nzp.name, "pipeworks:tube_") ~= nil) + or minetest.get_item_group(nzp.name, "tubedevice") == 1 then pzp=1 end nsurround = pxm..pxp..pym..pyp..pzm..pzp - minetest.env:add_node(pos, { name = "pipeworks:tube_"..nsurround }) + if minetest.get_item_group(nctr.name, "tubedevice") ~= 1 then + minetest.env:add_node(pos, { name = "pipeworks:tube_"..nsurround }) + end + end -- auto-rotation code for various devices the tubes attach to diff --git a/textures/pipeworks_testobject.png b/textures/pipeworks_testobject.png new file mode 100644 index 0000000..38f85b7 Binary files /dev/null and b/textures/pipeworks_testobject.png differ diff --git a/tubes.lua b/tubes.lua index e7844a3..7a05d92 100644 --- a/tubes.lua +++ b/tubes.lua @@ -1,4 +1,21 @@ --- This file supplies pneumatic tubes. +-- This file supplies pneumatic tubes and a 'test' device + +minetest.register_node("pipeworks:testobject", { + description = "Pneumatic tube test ojbect", + tiles = { + "pipeworks_testobject.png", + }, + paramtype = "light", + groups = {snappy=3, tubedevice=1}, + sounds = default.node_sound_wood_defaults(), + walkable = true, + after_place_node = function(pos) + tube_scanforobjects(pos) + end, + after_dig_node = function(pos) + tube_scanforobjects(pos) + end, +}) -- tables