summaryrefslogtreecommitdiff
path: root/pipeworks
diff options
context:
space:
mode:
Diffstat (limited to 'pipeworks')
-rw-r--r--pipeworks/default_settings.txt3
-rw-r--r--pipeworks/flowing_logic.lua2
-rw-r--r--pipeworks/signal_tubes.lua49
-rw-r--r--pipeworks/textures/pipeworks_digiline_detector_tube_end.pngbin0 -> 1068 bytes
-rw-r--r--pipeworks/textures/pipeworks_digiline_detector_tube_inv.pngbin0 -> 765 bytes
-rw-r--r--pipeworks/textures/pipeworks_digiline_detector_tube_noctr.pngbin0 -> 892 bytes
-rw-r--r--pipeworks/textures/pipeworks_digiline_detector_tube_plain.pngbin0 -> 1500 bytes
-rw-r--r--pipeworks/textures/pipeworks_digiline_detector_tube_short.pngbin0 -> 526 bytes
8 files changed, 52 insertions, 2 deletions
diff --git a/pipeworks/default_settings.txt b/pipeworks/default_settings.txt
index bbf02ce..41a3f7a 100644
--- a/pipeworks/default_settings.txt
+++ b/pipeworks/default_settings.txt
@@ -10,6 +10,7 @@ pipeworks.enable_pipe_devices = true
pipeworks.enable_redefines = true
pipeworks.enable_mese_tube = true
pipeworks.enable_detector_tube = true
+pipeworks.enable_digiline_detector_tube = true
pipeworks.enable_conductor_tube = true
pipeworks.enable_accelerator_tube = true
pipeworks.enable_crossing_tube = true
@@ -19,4 +20,4 @@ pipeworks.enable_one_way_tube = true
pipeworks.enable_priority_tube = true
pipeworks.enable_cyclic_mode = true
-pipeworks.delete_item_on_clearobject = true \ No newline at end of file
+pipeworks.delete_item_on_clearobject = true
diff --git a/pipeworks/flowing_logic.lua b/pipeworks/flowing_logic.lua
index e0a6236..5166b15 100644
--- a/pipeworks/flowing_logic.lua
+++ b/pipeworks/flowing_logic.lua
@@ -71,7 +71,7 @@ pipeworks.spigot_check = function(pos, node)
local belowname = minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}).name
if belowname and (belowname == "air" or belowname == "default:water_flowing" or belowname == "default:water_source") then
local spigotname = minetest.get_node(pos).name
- local fdir=node.param2
+ local fdir=node.param2 % 4
local check = {
{x=pos.x,y=pos.y,z=pos.z+1},
{x=pos.x+1,y=pos.y,z=pos.z},
diff --git a/pipeworks/signal_tubes.lua b/pipeworks/signal_tubes.lua
index c7b61ec..dfd7649 100644
--- a/pipeworks/signal_tubes.lua
+++ b/pipeworks/signal_tubes.lua
@@ -67,6 +67,55 @@ if pipeworks.enable_detector_tube then
})
end
+if minetest.get_modpath("digilines") and pipeworks.enable_digiline_detector_tube then
+ pipeworks.register_tube("pipeworks:digiline_detector_tube", {
+ description = "Digiline Detecting Pneumatic Tube Segment",
+ inventory_image = "pipeworks_digiline_detector_tube_inv.png",
+ plain = { "pipeworks_digiline_detector_tube_plain.png" },
+ node_def = {
+ tube = {can_go = function(pos, node, velocity, stack)
+ local meta = minetest.get_meta(pos)
+
+ local setchan = meta:get_string("channel")
+
+ digiline:receptor_send(pos, digiline.rules.default, setchan, stack:to_string())
+
+ return pipeworks.notvel(pipeworks.meseadjlist, velocity)
+ end},
+ on_construct = function(pos)
+ local meta = minetest.get_meta(pos)
+ meta:set_string("formspec",
+ "size[8.6,2.2]"..
+ "field[0.6,0.6;8,1;channel;Channel:;${channel}]"..
+ "image[0.3,1.3;1,1;pipeworks_digiline_detector_tube_inv.png]"..
+ "label[1.6,1.2;Digiline Detecting Tube]"
+ )
+ end,
+ on_receive_fields = function(pos, formname, fields, sender)
+ if fields.channel then
+ minetest.get_meta(pos):set_string("channel", fields.channel)
+ end
+ end,
+ groups = {},
+ digiline = {
+ receptor = {},
+ effector = {
+ action = function(pos,node,channel,msg) end
+ }
+ },
+ },
+ })
+
+ minetest.register_craft( {
+ output = "pipeworks:digiline_detector_tube_1 2",
+ recipe = {
+ { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" },
+ { "digilines:wire_std_00000000", "mesecons_materials:silicon", "digilines:wire_std_00000000" },
+ { "homedecor:plastic_sheeting", "homedecor:plastic_sheeting", "homedecor:plastic_sheeting" }
+ },
+ })
+end
+
if pipeworks.enable_conductor_tube then
pipeworks.register_tube("pipeworks:conductor_tube_off", {
description = "Conducting Pneumatic Tube Segment",
diff --git a/pipeworks/textures/pipeworks_digiline_detector_tube_end.png b/pipeworks/textures/pipeworks_digiline_detector_tube_end.png
new file mode 100644
index 0000000..e9d01ba
--- /dev/null
+++ b/pipeworks/textures/pipeworks_digiline_detector_tube_end.png
Binary files differ
diff --git a/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png b/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png
new file mode 100644
index 0000000..0ed763a
--- /dev/null
+++ b/pipeworks/textures/pipeworks_digiline_detector_tube_inv.png
Binary files differ
diff --git a/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png b/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png
new file mode 100644
index 0000000..6f07886
--- /dev/null
+++ b/pipeworks/textures/pipeworks_digiline_detector_tube_noctr.png
Binary files differ
diff --git a/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png b/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png
new file mode 100644
index 0000000..86ded6f
--- /dev/null
+++ b/pipeworks/textures/pipeworks_digiline_detector_tube_plain.png
Binary files differ
diff --git a/pipeworks/textures/pipeworks_digiline_detector_tube_short.png b/pipeworks/textures/pipeworks_digiline_detector_tube_short.png
new file mode 100644
index 0000000..6729c53
--- /dev/null
+++ b/pipeworks/textures/pipeworks_digiline_detector_tube_short.png
Binary files differ