1
0
mirror of https://github.com/mt-mods/pipeworks.git synced 2025-06-29 06:40:37 +02:00

10 Commits

Author SHA1 Message Date
05ca3e4f4f depend on screwdriver 2019-04-30 13:59:35 -04:00
27eb2ca9de Merge branch 'master' into 'master'
Fix crash when lua tubes are DoSed.

See merge request VanessaE/pipeworks!8
2019-01-15 23:39:29 +00:00
dc8778d7d3 Fix crash when lua tubes are DoSed. 2019-01-16 10:31:07 +13:00
26e7b46415 Support Technic freezer
fixes #7
2019-01-02 05:52:41 -05:00
839b0ed4b1 Merge branch 'nomesecons' into 'master'
Remove hard dependency on mesecons

See merge request VanessaE/pipeworks!7
2018-12-08 20:21:13 +00:00
da764f4ce0 Remove hard dependency on mesecons 2018-12-08 20:10:48 +00:00
ef5d30c92d Merge branch 'rotate-metadata-fix' into 'master'
fix metadata loss on rotate

See merge request VanessaE/pipeworks!6
2018-11-27 19:53:40 +00:00
f2fff77e90 fix metadata loss on rotate
use swap_node() instead of set_node() so locked chests can be used again after rotation
2018-11-27 20:47:37 +01:00
f37b21e632 fix autocrafter recipe 2018-11-15 03:51:56 +03:00
c9a951c2e8 improving connectivity 2018-11-14 07:07:33 +03:00
7 changed files with 41 additions and 11 deletions

View File

@ -407,7 +407,7 @@ minetest.register_craft( {
output = "pipeworks:autocrafter 2", output = "pipeworks:autocrafter 2",
recipe = { recipe = {
{ "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }, { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" },
{ "basic_materials:plastic_sheeting", "default:steel_ingot", "basic_materials:plastic_sheeting" }, { "basic_materials:plastic_sheet", "default:steel_ingot", "basic_materials:plastic_sheet" },
{ "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" } { "default:steel_ingot", "default:mese_crystal", "default:steel_ingot" }
}, },
}) })

View File

@ -122,7 +122,7 @@ end
-- when they are updated. -- when they are updated.
function pipeworks.on_rotate(pos, node, user, mode, new_param2) function pipeworks.on_rotate(pos, node, user, mode, new_param2)
node.param2 = new_param2 node.param2 = new_param2
minetest.set_node(pos, node) minetest.swap_node(pos, node)
pipeworks.scan_for_tube_objects(pos) pipeworks.scan_for_tube_objects(pos)
return true return true
end end

View File

@ -1,5 +1,6 @@
default default
basic_materials basic_materials
mesecons screwdriver
mesecons_mvps mesecons?
mesecons_mvps?
digilines? digilines?

View File

@ -193,6 +193,8 @@ local function punch_filter(data, filtpos, filtnode, msg)
["technic:mv_grinder"] = "dst", ["technic:mv_grinder"] = "dst",
["technic:mv_grinder_active"] = "dst", ["technic:mv_grinder_active"] = "dst",
["technic:tool_workshop"] = "src", ["technic:tool_workshop"] = "src",
["technic:mv_freezer"] = "dst",
["technic:mv_freezer_active"] = "dst"
} }
-- make sure there's something appropriate to inject the item into -- make sure there's something appropriate to inject the item into

View File

@ -133,15 +133,16 @@ dofile(pipeworks.modpath..logicdir.."flowable_node_registry_install.lua")
if pipeworks.enable_pipes then dofile(pipeworks.modpath.."/pipes.lua") end if pipeworks.enable_pipes then dofile(pipeworks.modpath.."/pipes.lua") end
if pipeworks.enable_teleport_tube then dofile(pipeworks.modpath.."/teleport_tube.lua") end if pipeworks.enable_teleport_tube then dofile(pipeworks.modpath.."/teleport_tube.lua") end
if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua") end if pipeworks.enable_pipe_devices then dofile(pipeworks.modpath.."/devices.lua") end
if pipeworks.enable_redefines then if pipeworks.enable_redefines then
dofile(pipeworks.modpath.."/compat-chests.lua") dofile(pipeworks.modpath.."/compat-chests.lua")
dofile(pipeworks.modpath.."/compat-furnaces.lua") dofile(pipeworks.modpath.."/compat-furnaces.lua")
end end
if pipeworks.enable_autocrafter then dofile(pipeworks.modpath.."/autocrafter.lua") end if pipeworks.enable_autocrafter then dofile(pipeworks.modpath.."/autocrafter.lua") end
if pipeworks.enable_lua_tube then dofile(pipeworks.modpath.."/lua_tube.lua") end if pipeworks.enable_lua_tube and
(minetest.get_modpath("mesecons") or minetest.get_modpath("digilines")) then
dofile(pipeworks.modpath.."/lua_tube.lua")
end
minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty") minetest.register_alias("pipeworks:pipe", "pipeworks:pipe_110000_empty")
print("Pipeworks loaded!") print("Pipeworks loaded!")

View File

@ -37,6 +37,23 @@ local rules = {
white = {x = 0, y = 0, z = 1, name = "white"}, white = {x = 0, y = 0, z = 1, name = "white"},
} }
local digiline_rules_luatube = {
{x=0, y=0, z=-1},
{x=1, y=0, z=0},
{x=-1, y=0, z=0},
{x=0, y=0, z=1},
{x=1, y=1, z=0},
{x=1, y=-1, z=0},
{x=-1, y=1, z=0},
{x=-1, y=-1, z=0},
{x=0, y=1, z=1},
{x=0, y=-1, z=1},
{x=0, y=1, z=-1},
{x=0, y=-1, z=-1},
-- vertical connectivity
{x=0, y=1, z=0},
{x=0, y=-1, z=0},
}
------------------ ------------------
-- Action stuff -- -- Action stuff --
@ -303,7 +320,7 @@ local function get_digiline_send(pos)
end end
minetest.after(0, function() minetest.after(0, function()
digilines.receptor_send(pos, digiline.rules.default, channel, msg) digilines.receptor_send(pos, digiline_rules_luatube, channel, msg)
end) end)
return true return true
end end
@ -316,8 +333,11 @@ local safe_globals = {
} }
local function create_environment(pos, mem, event) local function create_environment(pos, mem, event)
-- Gather variables for the environment -- Make sure the tube hasn't broken.
local vports = minetest.registered_nodes[minetest.get_node(pos).name].virtual_portstates local vports = minetest.registered_nodes[minetest.get_node(pos).name].virtual_portstates
if not vports then return {} end
-- Gather variables for the environment
local vports_copy = {} local vports_copy = {}
for k, v in pairs(vports) do vports_copy[k] = v end for k, v in pairs(vports) do vports_copy[k] = v end
local rports = get_real_port_states(pos) local rports = get_real_port_states(pos)
@ -540,7 +560,10 @@ local digiline = {
action = function(pos, node, channel, msg) action = function(pos, node, channel, msg)
run(pos, {type = "digiline", channel = channel, msg = msg}) run(pos, {type = "digiline", channel = channel, msg = msg})
end end
} },
wire = {
rules = pipeworks.digilines_rules
},
} }
local function on_receive_fields(pos, form_name, fields, sender) local function on_receive_fields(pos, form_name, fields, sender)
if not fields.program then if not fields.program then

View File

@ -102,7 +102,10 @@ if digiline_enabled and pipeworks.enable_digiline_detector_tube then
receptor = {}, receptor = {},
effector = { effector = {
action = function(pos,node,channel,msg) end action = function(pos,node,channel,msg) end
} },
wire = {
rules = pipeworks.digilines_rules
},
}, },
}, },
}) })