mesecons/mesecons_extrawires/mesewire.lua

57 lines
1.6 KiB
Lua
Raw Normal View History

2022-04-21 14:42:54 +02:00
local mese_nodename = minetest.registered_aliases["mesecons_gamecompat:mese"]
2022-04-21 18:06:59 +02:00
if mese_nodename then
-- Convert placeholders.
minetest.register_alias("mesecons_extrawires:mese", mese_nodename)
else
-- Register placeholder.
mese_nodename = "mesecons_extrawires:mese"
minetest.register_node("mesecons_extrawires:mese", {
description = "Mese Wire",
tiles = {"mesecons_wire_off.png"},
paramtype = "light",
light_source = 3,
groups = {cracky = 1},
sounds = mesecon.node_sound.stone,
})
end
2013-02-11 11:01:13 +01:00
local mesewire_rules =
{
{x = 1, y = 0, z = 0},
{x =-1, y = 0, z = 0},
{x = 0, y = 1, z = 0},
{x = 0, y =-1, z = 0},
{x = 0, y = 0, z = 1},
{x = 0, y = 0, z =-1},
}
minetest.override_item(mese_nodename, {
2013-02-11 11:01:13 +01:00
mesecons = {conductor = {
state = mesecon.state.off,
onstate = "mesecons_extrawires:mese_powered",
rules = mesewire_rules
}}
})
-- Copy node definition of powered mese from normal mese
-- and brighten texture tiles to indicate mese is powered
2022-04-21 18:09:18 +02:00
local unpowered_def = minetest.registered_nodes[mese_nodename]
local powered_def = mesecon.merge_tables(unpowered_def, {
drop = mese_nodename,
2022-04-21 18:09:18 +02:00
paramtype = "light",
light_source = math.min(unpowered_def.light_source + 2, minetest.LIGHT_MAX),
2013-02-11 11:01:13 +01:00
mesecons = {conductor = {
state = mesecon.state.on,
offstate = mese_nodename,
2013-02-11 11:01:13 +01:00
rules = mesewire_rules
}},
2022-04-21 18:09:18 +02:00
groups = mesecon.merge_tables(unpowered_def.groups or {}, {not_in_creative_inventory = 1}),
2017-10-07 00:44:49 +02:00
on_blast = mesecon.on_blastnode,
2013-02-11 11:01:13 +01:00
})
for i, v in pairs(powered_def.tiles) do
powered_def.tiles[i] = v .. "^[brighten"
end
minetest.register_node("mesecons_extrawires:mese_powered", powered_def)