[mcl_observers] fix warnings
parent
962ae359af
commit
b814fe47f9
|
@ -11,7 +11,7 @@ local realtime = true
|
||||||
local rules_flat = {
|
local rules_flat = {
|
||||||
{ x = 0, y = 0, z = -1, spread = true },
|
{ x = 0, y = 0, z = -1, spread = true },
|
||||||
}
|
}
|
||||||
local get_rules_flat = function(node)
|
local function get_rules_flat(node)
|
||||||
local rules = rules_flat
|
local rules = rules_flat
|
||||||
for i=1, node.param2 do
|
for i=1, node.param2 do
|
||||||
rules = mesecon.rotate_rules_left(rules)
|
rules = mesecon.rotate_rules_left(rules)
|
||||||
|
@ -46,7 +46,7 @@ end
|
||||||
-- and update the observer state if needed.
|
-- and update the observer state if needed.
|
||||||
-- TODO: Also scan metadata changes.
|
-- TODO: Also scan metadata changes.
|
||||||
-- TODO: Ignore some node changes.
|
-- TODO: Ignore some node changes.
|
||||||
local observer_scan = function(pos, initialize)
|
local function observer_scan(pos, initialize)
|
||||||
local node = minetest.get_node(pos)
|
local node = minetest.get_node(pos)
|
||||||
local front
|
local front
|
||||||
if node.name == "mcl_observers:observer_up_off" or node.name == "mcl_observers:observer_up_on" then
|
if node.name == "mcl_observers:observer_up_off" or node.name == "mcl_observers:observer_up_on" then
|
||||||
|
@ -87,14 +87,14 @@ local observer_scan = function(pos, initialize)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Vertical orientation (CURRENTLY DISABLED)
|
-- Vertical orientation (CURRENTLY DISABLED)
|
||||||
local observer_orientate = function(pos, placer)
|
local function observer_orientate(pos, placer)
|
||||||
-- Not placed by player
|
-- Not placed by player
|
||||||
if not placer then return end
|
if not placer then return end
|
||||||
|
|
||||||
-- Placer pitch in degrees
|
-- Placer pitch in degrees
|
||||||
local pitch = placer:get_look_vertical() * (180 / math.pi)
|
local pitch = placer:get_look_vertical() * (180 / math.pi)
|
||||||
|
|
||||||
local node = minetest.get_node(pos)
|
--local node = minetest.get_node(pos)
|
||||||
if pitch > 55 then -- player looking upwards
|
if pitch > 55 then -- player looking upwards
|
||||||
-- Observer looking downwards
|
-- Observer looking downwards
|
||||||
minetest.set_node(pos, {name="mcl_observers:observer_down_off"})
|
minetest.set_node(pos, {name="mcl_observers:observer_down_off"})
|
||||||
|
@ -104,16 +104,14 @@ local observer_orientate = function(pos, placer)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
mesecon.register_node("mcl_observers:observer",
|
mesecon.register_node("mcl_observers:observer", {
|
||||||
{
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
on_rotate = false,
|
on_rotate = false,
|
||||||
_mcl_blast_resistance = 3.5,
|
_mcl_blast_resistance = 3.5,
|
||||||
_mcl_hardness = 3.5,
|
_mcl_hardness = 3.5,
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
description = S("Observer"),
|
description = S("Observer"),
|
||||||
_tt_help = S("Emits redstone pulse when block in front changes"),
|
_tt_help = S("Emits redstone pulse when block in front changes"),
|
||||||
_doc_items_longdesc = S("An observer is a redstone component which observes the block in front of it and sends a very short redstone pulse whenever this block changes."),
|
_doc_items_longdesc = S("An observer is a redstone component which observes the block in front of it and sends a very short redstone pulse whenever this block changes."),
|
||||||
|
@ -125,18 +123,19 @@ mesecon.register_node("mcl_observers:observer",
|
||||||
"mcl_observers_observer_side.png", "mcl_observers_observer_side.png",
|
"mcl_observers_observer_side.png", "mcl_observers_observer_side.png",
|
||||||
"mcl_observers_observer_front.png", "mcl_observers_observer_back.png",
|
"mcl_observers_observer_front.png", "mcl_observers_observer_back.png",
|
||||||
},
|
},
|
||||||
mesecons = { receptor = {
|
mesecons = {
|
||||||
|
receptor = {
|
||||||
state = mesecon.state.off,
|
state = mesecon.state.off,
|
||||||
rules = get_rules_flat,
|
rules = get_rules_flat,
|
||||||
}},
|
},
|
||||||
|
},
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
if not realtime then
|
if not realtime then
|
||||||
observer_scan(pos, true)
|
observer_scan(pos, true)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
after_place_node = observer_orientate,
|
after_place_node = observer_orientate,
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
_doc_items_create_entry = false,
|
_doc_items_create_entry = false,
|
||||||
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
||||||
tiles = {
|
tiles = {
|
||||||
|
@ -144,10 +143,12 @@ mesecon.register_node("mcl_observers:observer",
|
||||||
"mcl_observers_observer_side.png", "mcl_observers_observer_side.png",
|
"mcl_observers_observer_side.png", "mcl_observers_observer_side.png",
|
||||||
"mcl_observers_observer_front.png", "mcl_observers_observer_back_lit.png",
|
"mcl_observers_observer_front.png", "mcl_observers_observer_back_lit.png",
|
||||||
},
|
},
|
||||||
mesecons = { receptor = {
|
mesecons = {
|
||||||
|
receptor = {
|
||||||
state = mesecon.state.on,
|
state = mesecon.state.on,
|
||||||
rules = get_rules_flat,
|
rules = get_rules_flat,
|
||||||
}},
|
}
|
||||||
|
},
|
||||||
|
|
||||||
-- VERY quickly disable observer after construction
|
-- VERY quickly disable observer after construction
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -162,8 +163,7 @@ mesecon.register_node("mcl_observers:observer",
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
mesecon.register_node("mcl_observers:observer_down",
|
mesecon.register_node("mcl_observers:observer_down", {
|
||||||
{
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||||
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
||||||
|
@ -171,34 +171,36 @@ mesecon.register_node("mcl_observers:observer_down",
|
||||||
_mcl_blast_resistance = 3.5,
|
_mcl_blast_resistance = 3.5,
|
||||||
_mcl_hardness = 3.5,
|
_mcl_hardness = 3.5,
|
||||||
drop = "mcl_observers:observer_off",
|
drop = "mcl_observers:observer_off",
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
tiles = {
|
tiles = {
|
||||||
"mcl_observers_observer_back.png", "mcl_observers_observer_front.png",
|
"mcl_observers_observer_back.png", "mcl_observers_observer_front.png",
|
||||||
"mcl_observers_observer_side.png^[transformR90", "mcl_observers_observer_side.png^[transformR90",
|
"mcl_observers_observer_side.png^[transformR90", "mcl_observers_observer_side.png^[transformR90",
|
||||||
"mcl_observers_observer_top.png", "mcl_observers_observer_top.png",
|
"mcl_observers_observer_top.png", "mcl_observers_observer_top.png",
|
||||||
},
|
},
|
||||||
mesecons = { receptor = {
|
mesecons = {
|
||||||
|
receptor = {
|
||||||
state = mesecon.state.off,
|
state = mesecon.state.off,
|
||||||
rules = rules_down,
|
rules = rules_down,
|
||||||
}},
|
},
|
||||||
|
},
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
if not realtime then
|
if not realtime then
|
||||||
observer_scan(pos, true)
|
observer_scan(pos, true)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
_doc_items_create_entry = false,
|
_doc_items_create_entry = false,
|
||||||
tiles = {
|
tiles = {
|
||||||
"mcl_observers_observer_back_lit.png", "mcl_observers_observer_front.png",
|
"mcl_observers_observer_back_lit.png", "mcl_observers_observer_front.png",
|
||||||
"mcl_observers_observer_side.png^[transformR90", "mcl_observers_observer_side.png^[transformR90",
|
"mcl_observers_observer_side.png^[transformR90", "mcl_observers_observer_side.png^[transformR90",
|
||||||
"mcl_observers_observer_top.png", "mcl_observers_observer_top.png",
|
"mcl_observers_observer_top.png", "mcl_observers_observer_top.png",
|
||||||
},
|
},
|
||||||
mesecons = { receptor = {
|
mesecons = {
|
||||||
|
receptor = {
|
||||||
state = mesecon.state.on,
|
state = mesecon.state.on,
|
||||||
rules = rules_down,
|
rules = rules_down,
|
||||||
}},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- VERY quickly disable observer after construction
|
-- VERY quickly disable observer after construction
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -210,10 +212,10 @@ mesecon.register_node("mcl_observers:observer_down",
|
||||||
minetest.set_node(pos, {name = "mcl_observers:observer_down_off", param2 = node.param2})
|
minetest.set_node(pos, {name = "mcl_observers:observer_down_off", param2 = node.param2})
|
||||||
mesecon.receptor_off(pos, rules_down)
|
mesecon.receptor_off(pos, rules_down)
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
mesecon.register_node("mcl_observers:observer_up",
|
mesecon.register_node("mcl_observers:observer_up", {
|
||||||
{
|
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||||
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
groups = {pickaxey=1, material_stone=1, not_opaque=1, not_in_creative_inventory=1 },
|
||||||
|
@ -221,34 +223,36 @@ mesecon.register_node("mcl_observers:observer_up",
|
||||||
_mcl_blast_resistance = 3.5,
|
_mcl_blast_resistance = 3.5,
|
||||||
_mcl_hardness = 3.5,
|
_mcl_hardness = 3.5,
|
||||||
drop = "mcl_observers:observer_off",
|
drop = "mcl_observers:observer_off",
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
tiles = {
|
tiles = {
|
||||||
"mcl_observers_observer_front.png", "mcl_observers_observer_back.png",
|
"mcl_observers_observer_front.png", "mcl_observers_observer_back.png",
|
||||||
"mcl_observers_observer_side.png^[transformR270", "mcl_observers_observer_side.png^[transformR270",
|
"mcl_observers_observer_side.png^[transformR270", "mcl_observers_observer_side.png^[transformR270",
|
||||||
"mcl_observers_observer_top.png^[transformR180", "mcl_observers_observer_top.png^[transformR180",
|
"mcl_observers_observer_top.png^[transformR180", "mcl_observers_observer_top.png^[transformR180",
|
||||||
},
|
},
|
||||||
mesecons = { receptor = {
|
mesecons = {
|
||||||
|
receptor = {
|
||||||
state = mesecon.state.off,
|
state = mesecon.state.off,
|
||||||
rules = rules_up,
|
rules = rules_up,
|
||||||
}},
|
},
|
||||||
|
},
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
if not realtime then
|
if not realtime then
|
||||||
observer_scan(pos, true)
|
observer_scan(pos, true)
|
||||||
end
|
end
|
||||||
end,
|
end,
|
||||||
},
|
}, {
|
||||||
{
|
|
||||||
_doc_items_create_entry = false,
|
_doc_items_create_entry = false,
|
||||||
tiles = {
|
tiles = {
|
||||||
"mcl_observers_observer_front.png", "mcl_observers_observer_back_lit.png",
|
"mcl_observers_observer_front.png", "mcl_observers_observer_back_lit.png",
|
||||||
"mcl_observers_observer_side.png^[transformR270", "mcl_observers_observer_side.png^[transformR270",
|
"mcl_observers_observer_side.png^[transformR270", "mcl_observers_observer_side.png^[transformR270",
|
||||||
"mcl_observers_observer_top.png^[transformR180", "mcl_observers_observer_top.png^[transformR180",
|
"mcl_observers_observer_top.png^[transformR180", "mcl_observers_observer_top.png^[transformR180",
|
||||||
},
|
},
|
||||||
mesecons = { receptor = {
|
mesecons = {
|
||||||
|
receptor = {
|
||||||
state = mesecon.state.on,
|
state = mesecon.state.on,
|
||||||
rules = rules_up,
|
rules = rules_up,
|
||||||
}},
|
},
|
||||||
|
},
|
||||||
|
|
||||||
-- VERY quickly disable observer after construction
|
-- VERY quickly disable observer after construction
|
||||||
on_construct = function(pos)
|
on_construct = function(pos)
|
||||||
|
@ -259,7 +263,8 @@ mesecon.register_node("mcl_observers:observer_up",
|
||||||
minetest.set_node(pos, {name = "mcl_observers:observer_up_off"})
|
minetest.set_node(pos, {name = "mcl_observers:observer_up_off"})
|
||||||
mesecon.receptor_off(pos, rules_up)
|
mesecon.receptor_off(pos, rules_up)
|
||||||
end,
|
end,
|
||||||
})
|
}
|
||||||
|
)
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mcl_observers:observer_off",
|
output = "mcl_observers:observer_off",
|
||||||
|
@ -267,7 +272,7 @@ minetest.register_craft({
|
||||||
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
||||||
{ "mcl_nether:quartz", "mesecons:redstone", "mesecons:redstone" },
|
{ "mcl_nether:quartz", "mesecons:redstone", "mesecons:redstone" },
|
||||||
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mcl_observers:observer_off",
|
output = "mcl_observers:observer_off",
|
||||||
|
@ -275,7 +280,7 @@ minetest.register_craft({
|
||||||
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
||||||
{ "mesecons:redstone", "mesecons:redstone", "mcl_nether:quartz" },
|
{ "mesecons:redstone", "mesecons:redstone", "mcl_nether:quartz" },
|
||||||
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
|
||||||
}
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
if realtime then
|
if realtime then
|
||||||
|
|
Loading…
Reference in New Issue