owl_tech/electro_wire/electro_wire.lua

80 lines
3.4 KiB
Lua
Raw Normal View History

2023-01-27 20:32:33 +01:00
local S = minetest.get_translator(minetest.get_current_modname())
--Copper wire
minetest.register_node("owl_tech:copper_electro_wire",{
description = "Copper electro wire tire 1",
_tt_help = S("Transport electro enegry"),
_doc_items_longdesc = S("Fence gates can be opened or closed and can't be jumped over. Fences will connect nicely to fence gates."),
_doc_items_usagehelp = S("Right-click the fence gate to open or close it."),
tiles = {"(owl_tech_base_fluid_pipe.png^[colorize:#ff5e00:128)^owl_tech_base_wire.png"},
paramtype = "light",
is_ground_content = false,
stack_max = 64,
sunlight_propagates = true,
walkable = true,
groups = {owl_tech_electro_wire=1},
drawtype = "nodebox",
node_box = {
type = "connected",
fixed = {-0.125,-0.125,-0.125,0.125,0.125,0.125} ,
connect_top = {-0.125,-0.125,-0.125,0.125,0.5,0.125} ,
connect_bottom = {-0.125,-0.5,-0.125,0.125,0.125,0.125} ,
connect_front = {-0.125,-0.125,-0.5,0.125,0.125,0.125} ,
connect_left = {-0.5,-0.125,-0.125,0.125,0.125,0.125} ,
connect_back = {-0.125,-0.125,-0.125,0.125,0.125,0.5} ,
connect_right = {-0.125,-0.125,-0.125,0.5,0.125,0.125} ,
},
connects_to = {"group:owl_tech_electro_wire","owl_tech_electro_mashine","owl_tech_electro_gen"},
sounds = mcl_sounds.node_sound_wool_defaults(),
_mcl_hardness = 0.1,
_mcl_blast_resistance = 0.1,
on_construct = function(pos)
owl_tech:prepear_vire(pos,32)
local timer =minetest.get_node_timer(pos)
owl_tech:look_around_for_wire(pos)
--update wire around
if minetest.get_node_group(minetest.get_node({x=pos.x,y=pos.y+1,z=pos.z}),"group:owl_tech_electro_wire") then
owl_tech:look_around_for_wire({x=pos.x,y=pos.y+1,z=pos.z})
end
if minetest.get_node_group(minetest.get_node({x=pos.x,y=pos.y-1,z=pos.z}),"group:owl_tech_electro_wire") then
owl_tech:look_around_for_wire({x=pos.x,y=pos.y-1,z=pos.z})
end
if minetest.get_node_group(minetest.get_node({x=pos.x,y=pos.y,z=pos.z+1}),"group:owl_tech_electro_wire") then
owl_tech:look_around_for_wire({x=pos.x,y=pos.y,z=pos.z+1})
end
if minetest.get_node_group(minetest.get_node({x=pos.x,y=pos.y,z=pos.z-1}),"group:owl_tech_electro_wire") then
owl_tech:look_around_for_wire({x=pos.x,y=pos.y,z=pos.z-1})
end
if minetest.get_node_group(minetest.get_node({x=pos.x+1,y=pos.y,z=pos.z}),"group:owl_tech_electro_wire") then
owl_tech:look_around_for_wire({x=pos.x+1,y=pos.y,z=pos.z})
end
if minetest.get_node_group(minetest.get_node({x=pos.x-1,y=pos.y,z=pos.z}),"group:owl_tech_electro_wire") then
owl_tech:look_around_for_wire({x=pos.x-1,y=pos.y,z=pos.z})
end
--------------------
timer:start(0.2)
end,
on_timer = function (pos, elapsed)
local meta = minetest.get_meta(pos)
owl_tech:look_around_for_wire(pos)
if meta:get_int("connect_amount")>0 then
owl_tech:send_to_side_electro(pos)
end
local timer =minetest.get_node_timer(pos)
timer:start(0.2)
end
})
--Crafte iron fluid pipe
minetest.register_craft({
type = "shaped",
output = "owl_tech:copper_electro_wire 4",
recipe = {
{"owl_tech:copper_plate","mcl_core:ruber_dust","owl_tech:copper_plate"},
{"","",""},
{"","",""}
}
})