mirror of
https://github.com/minetest-mods/mesecons.git
synced 2025-02-06 13:00:18 +01:00
use them. Also fixed the "on" state image for wire ends so that it works for curved wires also.
84 lines
2.1 KiB
Lua
84 lines
2.1 KiB
Lua
local corner_nodebox = {
|
|
type = "fixed",
|
|
fixed = {{ -16/32-0.001, -17/32, -3/32, 0, -13/32, 3/32 },
|
|
{ -3/32, -17/32, -16/32+0.001, 3/32, -13/32, 3/32}}
|
|
}
|
|
|
|
local corner_selectionbox = {
|
|
type = "fixed",
|
|
fixed = { -16/32-0.001, -18/32, -16/32, 5/32, -12/32, 5/32 },
|
|
}
|
|
|
|
local corner_get_rules = function (node)
|
|
local rules =
|
|
{{x = 1, y = 0, z = 0},
|
|
{x = 0, y = 0, z = -1}}
|
|
|
|
for i = 0, node.param2 do
|
|
rules = mesecon:rotate_rules_left(rules)
|
|
end
|
|
|
|
return rules
|
|
end
|
|
|
|
minetest.register_node("mesecons_extrawires:corner_on", {
|
|
drawtype = "nodebox",
|
|
tiles = {
|
|
"jeija_insulated_wire_curved_tb_on.png",
|
|
"jeija_insulated_wire_curved_tb_on.png^[transformR270",
|
|
"jeija_insulated_wire_sides_on.png",
|
|
"jeija_insulated_wire_ends_on.png",
|
|
"jeija_insulated_wire_sides_on.png",
|
|
"jeija_insulated_wire_ends_on.png"
|
|
},
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
walkable = false,
|
|
sunlight_propagates = true,
|
|
selection_box = corner_selectionbox,
|
|
node_box = corner_nodebox,
|
|
groups = {dig_immediate = 3, not_in_creative_inventory = 1},
|
|
drop = "mesecons_extrawires:insulated_off",
|
|
mesecons = {conductor =
|
|
{
|
|
state = mesecon.state.on,
|
|
rules = corner_get_rules,
|
|
offstate = "mesecons_extrawires:corner_off"
|
|
}}
|
|
})
|
|
|
|
minetest.register_node("mesecons_extrawires:corner_off", {
|
|
drawtype = "nodebox",
|
|
description = "Mesecon Corner",
|
|
tiles = {
|
|
"jeija_insulated_wire_curved_tb_off.png",
|
|
"jeija_insulated_wire_curved_tb_off.png^[transformR270",
|
|
"jeija_insulated_wire_sides_off.png",
|
|
"jeija_insulated_wire_ends_off.png",
|
|
"jeija_insulated_wire_sides_off.png",
|
|
"jeija_insulated_wire_ends_off.png"
|
|
},
|
|
paramtype = "light",
|
|
paramtype2 = "facedir",
|
|
walkable = false,
|
|
sunlight_propagates = true,
|
|
selection_box = corner_selectionbox,
|
|
node_box = corner_nodebox,
|
|
groups = {dig_immediate = 3},
|
|
mesecons = {conductor =
|
|
{
|
|
state = mesecon.state.off,
|
|
rules = corner_get_rules,
|
|
onstate = "mesecons_extrawires:corner_on"
|
|
}}
|
|
})
|
|
|
|
minetest.register_craft({
|
|
output = '"mesecons_extrawires:corner_off" 3',
|
|
recipe = {
|
|
{"", "", ""},
|
|
{"mesecons_insulated:insulated_off", "mesecons_insulated:insulated_off", ""},
|
|
{"", "mesecons_insulated:insulated_off", ""},
|
|
}
|
|
})
|