Add digiline detector tube (#139)
* Add digiline detector tube The digiline detector tube outputs an itemstring of every stack that passes through it on the channel specified in its formspec. * Don't store digiline detector tube's formspec in a temporary local
This commit is contained in:
parent
f76668969e
commit
a1ed3acd7a
@ -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
|
||||
|
@ -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",
|
||||
|
BIN
textures/pipeworks_digiline_detector_tube_end.png
Normal file
BIN
textures/pipeworks_digiline_detector_tube_end.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
BIN
textures/pipeworks_digiline_detector_tube_inv.png
Normal file
BIN
textures/pipeworks_digiline_detector_tube_inv.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 765 B |
BIN
textures/pipeworks_digiline_detector_tube_noctr.png
Normal file
BIN
textures/pipeworks_digiline_detector_tube_noctr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 892 B |
BIN
textures/pipeworks_digiline_detector_tube_plain.png
Normal file
BIN
textures/pipeworks_digiline_detector_tube_plain.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
BIN
textures/pipeworks_digiline_detector_tube_short.png
Normal file
BIN
textures/pipeworks_digiline_detector_tube_short.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 526 B |
Loading…
Reference in New Issue
Block a user