1
0
Fork 0
MineClone2/mods/ITEMS/REDSTONE/mcl_observers/init.lua

69 lines
1.9 KiB
Lua

local rules_flat = {
{ x = 0, y = 0, z = -1 },
}
local get_rules_flat = function(node)
local rules = rules_flat
for i=1, node.param2 do
rules = mesecon.rotate_rules_left(rules)
end
return rules
end
mesecon.register_node("mcl_observers:observer",
{
is_ground_content = false,
sounds = mcl_sounds.node_sound_stone_defaults(),
paramtype2 = "facedir",
-- TODO: Add to craft guide and creative inventory when it's useful
groups = {pickaxey=1, not_in_craft_guide=1, not_in_creative_inventory=1 },
on_rotate = false,
_mcl_blast_resistance = 17.5,
_mcl_hardness = 3.5,
},
{
description = "Observer",
tiles = {
"mcl_observers_observer_top.png", "default_furnace_bottom.png",
"mcl_observers_observer_side.png", "mcl_observers_observer_side.png",
"mcl_observers_observer_front.png", "mcl_observers_observer_back.png",
},
-- TODO: Mesecons handling
mesecons = { receptor = {
state = mesecon.state.off,
rules = get_rules_flat,
}},
},
{
_doc_items_create_entry = false,
tiles = {
"mcl_observers_observer_top.png", "default_furnace_bottom.png",
"mcl_observers_observer_side.png", "mcl_observers_observer_side.png",
"mcl_observers_observer_front.png", "mcl_observers_observer_back_lit.png",
},
-- TODO: Mesecons handling
mesecons = { receptor = {
state = mesecon.state.on,
rules = get_rules_flat,
}},
}
)
minetest.register_craft({
output = "mcl_observers:observer_off",
recipe = {
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
{ "mcl_nether:quartz", "mesecons:redstone", "mesecons:redstone" },
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
}
})
minetest.register_craft({
output = "mcl_observers:observer_off",
recipe = {
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
{ "mesecons:redstone", "mesecons:redstone", "mcl_nether:quartz" },
{ "mcl_core:cobble", "mcl_core:cobble", "mcl_core:cobble" },
}
})