|
@@ -1,23 +1,23 @@
|
|
|
minetest.register_craftitem("meseconductors:lamp_controller", {
|
|
|
- description = "Lamp Controller",
|
|
|
- inventory_image = "meseconductors_lamp_controller.png",
|
|
|
+ description = "Lamp Controller",
|
|
|
+ inventory_image = "meseconductors_lamp_controller.png",
|
|
|
})
|
|
|
if minetest.get_modpath("technic") then
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:lamp_controller",
|
|
|
- recipe = {
|
|
|
- { "mesecons_torch:mesecon_torch_on", "technic:control_logic_unit", "mesecons_torch:mesecon_torch_on"},
|
|
|
- { "", "mesecons:mesecon", ""}
|
|
|
- },
|
|
|
+ output = "meseconductors:lamp_controller",
|
|
|
+ recipe = {
|
|
|
+ { "mesecons_torch:mesecon_torch_on", "technic:control_logic_unit", "mesecons_torch:mesecon_torch_on"},
|
|
|
+ { "", "mesecons:mesecon", ""}
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
else
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:lamp_controller",
|
|
|
- recipe = {
|
|
|
- { "mesecons_torch:mesecon_torch_on", "mesecons_luacontroller:luacontroller0000", "mesecons_torch:mesecon_torch_on"},
|
|
|
- { "", "mesecons:mesecon", ""}
|
|
|
- },
|
|
|
+ output = "meseconductors:lamp_controller",
|
|
|
+ recipe = {
|
|
|
+ { "mesecons_torch:mesecon_torch_on", "mesecons_luacontroller:luacontroller0000", "mesecons_torch:mesecon_torch_on"},
|
|
|
+ { "", "mesecons:mesecon", ""}
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
end
|
|
@@ -25,10 +25,10 @@ end
|
|
|
|
|
|
|
|
|
lamp_box = {
|
|
|
- type = "wallmounted",
|
|
|
- wall_top = {-0.3275,0.375,-0.3275,0.3275,0.5,0.3275},
|
|
|
- wall_bottom = {-0.3275,-0.5,-0.3275,0.3275,-0.375,0.3275},
|
|
|
- wall_side = {-0.375,-0.3275,-0.3275,-0.5,0.3275,0.3275},
|
|
|
+ type = "wallmounted",
|
|
|
+ wall_top = {-0.3275,0.375,-0.3275,0.3275,0.5,0.3275},
|
|
|
+ wall_bottom = {-0.3275,-0.5,-0.3275,0.3275,-0.375,0.3275},
|
|
|
+ wall_side = {-0.375,-0.3275,-0.3275,-0.5,0.3275,0.3275},
|
|
|
}
|
|
|
|
|
|
rules_all =
|
|
@@ -47,53 +47,53 @@ rules_all =
|
|
|
{x=0, y=-1, z=0},
|
|
|
{x=0, y=-1, z=-1}}
|
|
|
|
|
|
- -- Node Definition
|
|
|
+ -- Node Definition
|
|
|
--to do: rename .obj and texture
|
|
|
minetest.register_node("meseconductors:mese_light_off", {
|
|
|
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_wall_lamp.obj",
|
|
|
- tiles = {"meseconductors_wall_lamp.png"},
|
|
|
- groups = {cracky=3},
|
|
|
- paramtype = "light",
|
|
|
- paramtype2 = "wallmounted",
|
|
|
- description = "Wall / Ceiling Lamp",
|
|
|
- selection_box = lamp_box,
|
|
|
- walkable = false,
|
|
|
-
|
|
|
- mesecons = {effector = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_wall_lamp.obj",
|
|
|
+ tiles = {"meseconductors_wall_lamp.png"},
|
|
|
+ groups = {cracky=3},
|
|
|
+ paramtype = "light",
|
|
|
+ paramtype2 = "wallmounted",
|
|
|
+ description = "Wall / Ceiling Lamp",
|
|
|
+ selection_box = lamp_box,
|
|
|
+ walkable = false,
|
|
|
+
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_all,
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:mese_light_on", param2 = node.param2})
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:mese_light_on", param2 = node.param2})
|
|
|
|
|
|
- --on_place = minetest.rotate_node
|
|
|
- end,
|
|
|
+ --on_place = minetest.rotate_node
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
--to do: rename .obj and texture
|
|
|
minetest.register_node("meseconductors:mese_light_on", {
|
|
|
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_wall_lamp.obj",
|
|
|
- tiles = {"meseconductors_wall_lamp_on.png"},
|
|
|
- groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
- paramtype = "light",
|
|
|
- paramtype2 = "wallmounted",
|
|
|
- description = "Wall / Ceiling Lamp (On !!)",
|
|
|
- selection_box = lamp_box,
|
|
|
- walkable = false,
|
|
|
- --on_place = minetest.rotate_node,
|
|
|
- light_source = 15,
|
|
|
- drop = "meseconductors:mese_light_off",
|
|
|
- mesecons = {effector = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_wall_lamp.obj",
|
|
|
+ tiles = {"meseconductors_wall_lamp_on.png"},
|
|
|
+ groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
+ paramtype = "light",
|
|
|
+ paramtype2 = "wallmounted",
|
|
|
+ description = "Wall / Ceiling Lamp (On !!)",
|
|
|
+ selection_box = lamp_box,
|
|
|
+ walkable = false,
|
|
|
+ --on_place = minetest.rotate_node,
|
|
|
+ light_source = 14,
|
|
|
+ drop = "meseconductors:mese_light_off",
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_all,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:mese_light_off", param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:mese_light_off", param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
})
|
|
|
|
|
|
rules_lamp_standing =
|
|
@@ -111,260 +111,260 @@ rules_lamp_standing =
|
|
|
|
|
|
minetest.register_node("meseconductors:sphere_lamp_standing_off", {
|
|
|
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_sphere_lamp_standing.obj",
|
|
|
- tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
- groups = {cracky=3},
|
|
|
- paramtype = "light",
|
|
|
- description = "Sphere Lamp",
|
|
|
- use_texture_alpha = true,
|
|
|
- selection_box = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_sphere_lamp_standing.obj",
|
|
|
+ tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
+ groups = {cracky=3},
|
|
|
+ paramtype = "light",
|
|
|
+ description = "Sphere Lamp",
|
|
|
+ use_texture_alpha = true,
|
|
|
+ selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.1200,-0.5,-0.1200,0.1200,0.185,0.1200},
|
|
|
- },
|
|
|
+ },
|
|
|
|
|
|
- walkable = false,
|
|
|
- mesecons = {effector = {
|
|
|
+ walkable = false,
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_standing,
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_on", param2 = node.param2})
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_on", param2 = node.param2})
|
|
|
|
|
|
- --on_place = minetest.rotate_node
|
|
|
- end,
|
|
|
+ --on_place = minetest.rotate_node
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:sphere_lamp_standing_on", {
|
|
|
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_sphere_lamp_standing.obj",
|
|
|
- tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
- groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
- paramtype = "light",
|
|
|
- description = "Sphere Lamp (On)",
|
|
|
- use_texture_alpha = true,
|
|
|
- selection_box = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_sphere_lamp_standing.obj",
|
|
|
+ tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
+ groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
+ paramtype = "light",
|
|
|
+ description = "Sphere Lamp (On)",
|
|
|
+ use_texture_alpha = true,
|
|
|
+ selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.1200,-0.5,-0.1200,0.1200,0.185,0.1200},
|
|
|
- },
|
|
|
- walkable = false,
|
|
|
- light_source = 12,
|
|
|
- on_place = minetest.rotate_node,
|
|
|
+ },
|
|
|
+ walkable = false,
|
|
|
+ light_source = 12,
|
|
|
+ on_place = minetest.rotate_node,
|
|
|
drop = "meseconductors:sphere_lamp_standing_off",
|
|
|
- mesecons = {effector = {
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_standing,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_off", param2 = node.param2})
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_off", param2 = node.param2})
|
|
|
|
|
|
- --on_place = minetest.rotate_node
|
|
|
- end,
|
|
|
+ --on_place = minetest.rotate_node
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:sphere_lamp_standing_tall_off", {
|
|
|
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_sphere_lamp_standing2.obj",
|
|
|
- tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
- groups = {cracky=3},
|
|
|
- paramtype = "light",
|
|
|
- description = "Sphere Lamp",
|
|
|
- use_texture_alpha = true,
|
|
|
- selection_box = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_sphere_lamp_standing2.obj",
|
|
|
+ tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
+ groups = {cracky=3},
|
|
|
+ paramtype = "light",
|
|
|
+ description = "Sphere Lamp",
|
|
|
+ use_texture_alpha = true,
|
|
|
+ selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.1200,-0.5,-0.1200,0.1200,0.660,0.1200},
|
|
|
- },
|
|
|
- walkable = false,
|
|
|
- mesecons = {effector = {
|
|
|
+ },
|
|
|
+ walkable = false,
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_standing,
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_tall_on", param2 = node.param2})
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_tall_on", param2 = node.param2})
|
|
|
|
|
|
- --on_place = minetest.rotate_node
|
|
|
- end,
|
|
|
+ --on_place = minetest.rotate_node
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:sphere_lamp_standing_tall_on", {
|
|
|
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_sphere_lamp_standing2.obj",
|
|
|
- tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
- groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
- paramtype = "light",
|
|
|
- description = "Sphere Lamp (On)",
|
|
|
- use_texture_alpha = true,
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_sphere_lamp_standing2.obj",
|
|
|
+ tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
+ groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
+ paramtype = "light",
|
|
|
+ description = "Sphere Lamp (On)",
|
|
|
+ use_texture_alpha = true,
|
|
|
selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.1200,-0.5,-0.1200,0.1200,0.660,0.1200},
|
|
|
- },
|
|
|
- walkable = false,
|
|
|
- light_source = 12,
|
|
|
- on_place = minetest.rotate_node,
|
|
|
+ },
|
|
|
+ walkable = false,
|
|
|
+ light_source = 12,
|
|
|
+ on_place = minetest.rotate_node,
|
|
|
drop = "meseconductors:sphere_lamp_standing_tall_off",
|
|
|
- mesecons = {effector = {
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_standing,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_tall_off", param2 = node.param2})
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_standing_tall_off", param2 = node.param2})
|
|
|
|
|
|
- --on_place = minetest.rotate_node
|
|
|
- end,
|
|
|
+ --on_place = minetest.rotate_node
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:sphere_lamp_wall_off", {
|
|
|
|
|
|
description = "Sphere Lamp",
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_sphere_lamp_wall.obj",
|
|
|
- tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
- use_texture_alpha = true,
|
|
|
- groups = {cracky=3},
|
|
|
- paramtype = "light",
|
|
|
- paramtype2 = "facedir",
|
|
|
- --on_place = minetest.rotate_node,
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_sphere_lamp_wall.obj",
|
|
|
+ tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
+ use_texture_alpha = true,
|
|
|
+ groups = {cracky=3},
|
|
|
+ paramtype = "light",
|
|
|
+ paramtype2 = "facedir",
|
|
|
+ --on_place = minetest.rotate_node,
|
|
|
|
|
|
|
|
|
- selection_box = {
|
|
|
+ selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.17,-0.26,-0.08,0.17,0.4,0.5},
|
|
|
- },
|
|
|
- walkable = false,
|
|
|
- mesecons = {effector = {
|
|
|
+ },
|
|
|
+ walkable = false,
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_side,
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_wall_on", param2 = node.param2})
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_wall_on", param2 = node.param2})
|
|
|
|
|
|
|
|
|
- end,
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:sphere_lamp_wall_on", {
|
|
|
|
|
|
description = "Sphere Lamp (On)",
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_sphere_lamp_wall.obj",
|
|
|
- tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
- use_texture_alpha = true,
|
|
|
- groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
- paramtype = "light",
|
|
|
- paramtype2 = "facedir",
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_sphere_lamp_wall.obj",
|
|
|
+ tiles = {"meseconductors_sphere_lamp_standing.png"},
|
|
|
+ use_texture_alpha = true,
|
|
|
+ groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
+ paramtype = "light",
|
|
|
+ paramtype2 = "facedir",
|
|
|
|
|
|
selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.17,-0.26,-0.08,0.17,0.4,0.5},
|
|
|
- },
|
|
|
- walkable = false,
|
|
|
- light_source = 12,
|
|
|
- --on_place = minetest.rotate_node,
|
|
|
+ },
|
|
|
+ walkable = false,
|
|
|
+ light_source = 12,
|
|
|
+ --on_place = minetest.rotate_node,
|
|
|
drop = "meseconductors:sphere_lamp_wall_off",
|
|
|
- mesecons = {effector = {
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_side,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_wall_off", param2 = node.param2})
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:sphere_lamp_wall_off", param2 = node.param2})
|
|
|
|
|
|
- end,
|
|
|
+ end,
|
|
|
|
|
|
- }}
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:diamond_lamp_off", {
|
|
|
|
|
|
description = "Diamond Lamp",
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_diamond_lamp.obj",
|
|
|
- tiles = {"meseconductors_diamond_lamp.png"},
|
|
|
- groups = {cracky=3},
|
|
|
- paramtype = "light",
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_diamond_lamp.obj",
|
|
|
+ tiles = {"meseconductors_diamond_lamp.png"},
|
|
|
+ groups = {cracky=3},
|
|
|
+ paramtype = "light",
|
|
|
|
|
|
- mesecons = {effector = {
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_all,
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:diamond_lamp_on", param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:diamond_lamp_on", param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:diamond_lamp_on", {
|
|
|
|
|
|
description = "Diamond Lamp",
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_diamond_lamp.obj",
|
|
|
- tiles = {"meseconductors_diamond_lamp_on.png"},
|
|
|
- groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
- paramtype = "light",
|
|
|
- light_source = 14,
|
|
|
- drop = "meseconductors:diamond_lamp_off",
|
|
|
-
|
|
|
- mesecons = {effector = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_diamond_lamp.obj",
|
|
|
+ tiles = {"meseconductors_diamond_lamp_on.png"},
|
|
|
+ groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
+ paramtype = "light",
|
|
|
+ light_source = 14,
|
|
|
+ drop = "meseconductors:diamond_lamp_off",
|
|
|
+
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_all,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:diamond_lamp_off", param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:diamond_lamp_off", param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:garden_lamp_off", {
|
|
|
|
|
|
description = "Garden Lamp",
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_garden_lamp.obj",
|
|
|
- tiles = {"meseconductors_garden_lamp.png"},
|
|
|
- groups = {cracky=3},
|
|
|
- paramtype = "light",
|
|
|
- paramtype2 = "facedir",
|
|
|
- walkable = false,
|
|
|
- selection_box = {
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_garden_lamp.obj",
|
|
|
+ tiles = {"meseconductors_garden_lamp.png"},
|
|
|
+ groups = {cracky=3},
|
|
|
+ paramtype = "light",
|
|
|
+ paramtype2 = "facedir",
|
|
|
+ walkable = false,
|
|
|
+ selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.1500,-0.5,-0.1500,0.1500,-0.1,0.1500},
|
|
|
- },
|
|
|
+ },
|
|
|
|
|
|
- mesecons = {effector = {
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_standing,
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:garden_lamp_on", param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:garden_lamp_on", param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
|
minetest.register_node("meseconductors:garden_lamp_on", {
|
|
|
|
|
|
description = "Garden Lamp (on)",
|
|
|
- drawtype = "mesh",
|
|
|
- mesh = "meseconductors_garden_lamp.obj",
|
|
|
- tiles = {"meseconductors_garden_lamp_on.png"},
|
|
|
- groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
- paramtype = "light",
|
|
|
- paramtype2 = "facedir",
|
|
|
- walkable = false,
|
|
|
+ drawtype = "mesh",
|
|
|
+ mesh = "meseconductors_garden_lamp.obj",
|
|
|
+ tiles = {"meseconductors_garden_lamp_on.png"},
|
|
|
+ groups = {cracky=3, not_in_creative_inventory=1},
|
|
|
+ paramtype = "light",
|
|
|
+ paramtype2 = "facedir",
|
|
|
+ walkable = false,
|
|
|
selection_box = {
|
|
|
type = "fixed",
|
|
|
fixed = {-0.1500,-0.5,-0.1500,0.1500,-0.1,0.1500},
|
|
|
- },
|
|
|
- light_source = 12,
|
|
|
- drop = "meseconductors:garden_lamp_off",
|
|
|
+ },
|
|
|
+ light_source = 12,
|
|
|
+ drop = "meseconductors:garden_lamp_off",
|
|
|
|
|
|
- mesecons = {effector = {
|
|
|
+ mesecons = {effector = {
|
|
|
rules = rules_lamp_standing,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:garden_lamp_off", param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:garden_lamp_off", param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
|
|
|
})
|
|
|
|
|
@@ -372,12 +372,12 @@ minetest.register_node("meseconductors:garden_lamp_on", {
|
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:mese_light_off 2",
|
|
|
- recipe = {
|
|
|
- { "default:glass", "default:glass", "default:glass"},
|
|
|
- { "group:wood", "default:torch", "group:wood"},
|
|
|
- { "", "meseconductors:lamp_controller", ""}
|
|
|
- },
|
|
|
+ output = "meseconductors:mese_light_off 2",
|
|
|
+ recipe = {
|
|
|
+ { "default:glass", "default:glass", "default:glass"},
|
|
|
+ { "group:wood", "default:torch", "group:wood"},
|
|
|
+ { "", "meseconductors:lamp_controller", ""}
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
if minetest.get_modpath("homedecor") then
|
|
@@ -460,127 +460,130 @@ minetest.register_craft({
|
|
|
function meseconductors:register_lamp(mod, node)
|
|
|
|
|
|
if minetest.get_modpath(mod) then
|
|
|
-
|
|
|
- local node2 = node
|
|
|
- if minetest.registered_nodes[mod ..":"..node] == nil then
|
|
|
- print("[Meseconductors] - Warning: The mod " .. mod .." has no node ".. node .. " (anymore?)")
|
|
|
- return false
|
|
|
- end
|
|
|
-
|
|
|
- local offstate = "meseconductors:"..mod.."_"..node .. "_off"
|
|
|
- local onstate = "meseconductors:"..mod.."_"..node
|
|
|
- local description = minetest.registered_nodes[mod ..":"..node].description .. " (mesecons)"
|
|
|
- local description_on = minetest.registered_nodes[mod ..":"..node].description .. " (mesecons on)"
|
|
|
-
|
|
|
- local tiles = minetest.registered_nodes[mod ..":"..node].tiles
|
|
|
- local overlay_tiles = minetest.registered_nodes[mod ..":"..node].overlay_tiles
|
|
|
-
|
|
|
-
|
|
|
- local groups = table.copy(minetest.registered_nodes[mod ..":"..node].groups)
|
|
|
- if node == "lava_source" then
|
|
|
- groups = {snappy=3}
|
|
|
- description = "Fake Lava Source"
|
|
|
- description_on = "Fake Lava Source"
|
|
|
- end
|
|
|
- if node == "corium_source" then
|
|
|
- groups = {snappy=3}
|
|
|
- description = "Chernobylite Lamp"
|
|
|
- description_on = "Chernobylite Lamp"
|
|
|
- end
|
|
|
-
|
|
|
- local use_texture_alpha = minetest.registered_nodes[mod ..":"..node].use_texture_alpha
|
|
|
- local palette = minetest.registered_nodes[mod ..":"..node].palette
|
|
|
- local after_place_node = minetest.registered_nodes[mod ..":"..node].after_place_node
|
|
|
-
|
|
|
- local drawtype = minetest.registered_nodes[mod ..":"..node].drawtype
|
|
|
- local paramtype = minetest.registered_nodes[mod ..":"..node].paramtype
|
|
|
- local paramtype2 = minetest.registered_nodes[mod ..":"..node].paramtype2
|
|
|
- local sounds = minetest.registered_nodes[mod ..":"..node].sounds
|
|
|
- local sunlight_propagates = minetest.registered_nodes[mod ..":"..node].sunlight_propagates
|
|
|
- local light_source = minetest.registered_nodes[mod ..":"..node].light_source
|
|
|
- local selection_box = minetest.registered_nodes[mod ..":"..node].selection_box
|
|
|
- local collision_box = minetest.registered_nodes[mod ..":"..node].collision_box
|
|
|
- local node_box = minetest.registered_nodes[mod ..":"..node].node_box
|
|
|
- local on_place = minetest.registered_nodes[mod ..":"..node].on_place
|
|
|
- local mesh = minetest.registered_nodes[mod ..":"..node].mesh
|
|
|
- local wield_image = minetest.registered_nodes[mod ..":"..node].wield_image
|
|
|
- local inventory_image = minetest.registered_nodes[mod ..":"..node].inventory_image
|
|
|
- local walkable = minetest.registered_nodes[mod ..":"..node].walkable
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- minetest.register_node(offstate, {
|
|
|
-
|
|
|
- tiles = tiles,
|
|
|
- overlay_tiles = overlay_tiles,
|
|
|
- description = description,
|
|
|
- use_texture_alpha = use_texture_alpha,
|
|
|
- drawtype = drawtype,
|
|
|
- paramtype = paramtype,
|
|
|
- paramtype2 = paramtype2,
|
|
|
- groups = groups,
|
|
|
- sounds = sounds,
|
|
|
- sunlight_propagates = sunlight_propagates,
|
|
|
- selection_box = selection_box,
|
|
|
- collision_box = collision_box,
|
|
|
- node_box = node_box,
|
|
|
- on_place = on_place,
|
|
|
- mesh = mesh,
|
|
|
- wield_image = wield_image,
|
|
|
- inventory_image = inventory_image,
|
|
|
- walkable = walkable,
|
|
|
- palette = palette,
|
|
|
- after_place_node = after_place_node,
|
|
|
-
|
|
|
- mesecons = {effector = {
|
|
|
- rules = rules_all,
|
|
|
-
|
|
|
- action_on = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:"..mod.."_"..node2, param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
-
|
|
|
-
|
|
|
- })
|
|
|
-
|
|
|
-
|
|
|
- local groups_on = table.copy(groups)
|
|
|
- groups_on["not_in_creative_inventory"] = 1
|
|
|
-
|
|
|
-
|
|
|
- minetest.register_node(onstate, {
|
|
|
- tiles = tiles,
|
|
|
- overlay_tiles = overlay_tiles,
|
|
|
- drop = offstate,
|
|
|
- description = description_on,
|
|
|
- use_texture_alpha = use_texture_alpha,
|
|
|
- drawtype = drawtype,
|
|
|
- groups = groups_on,
|
|
|
- paramtype = paramtype,
|
|
|
- paramtype2 = paramtype2,
|
|
|
- sounds = sounds,
|
|
|
- selection_box = selection_box,
|
|
|
- collision_box = collision_box,
|
|
|
- node_box = node_box,
|
|
|
- on_place = on_place,
|
|
|
- mesh = mesh,
|
|
|
- wield_image = wield_image,
|
|
|
- inventory_image = inventory_image,
|
|
|
- sunlight_propagates = sunlight_propagates,
|
|
|
- light_source = light_source,
|
|
|
- walkable = walkable,
|
|
|
- palette = palette,
|
|
|
- after_place_node = after_place_node,
|
|
|
- mesecons = {effector = {
|
|
|
- rules = rules_all,
|
|
|
- action_off = function (pos, node)
|
|
|
- minetest.swap_node(pos, {name = "meseconductors:"..mod.."_"..node2.."_off", param2 = node.param2})
|
|
|
- end,
|
|
|
- }}
|
|
|
- })
|
|
|
- end
|
|
|
+
|
|
|
+ local node2 = node
|
|
|
+ local def = minetest.registered_nodes[mod .. ":" .. node]
|
|
|
+ if def == nil then
|
|
|
+ print("[Meseconductors] - Warning: The mod " .. mod .." has no node ".. node .. " (anymore?)")
|
|
|
+ return false
|
|
|
+ end
|
|
|
+
|
|
|
+ local offstate = "meseconductors:"..mod.."_"..node .. "_off"
|
|
|
+ local onstate = "meseconductors:"..mod.."_"..node
|
|
|
+ local description = def.description .. " (mesecons)"
|
|
|
+ local description_on = def.description .. " (mesecons on)"
|
|
|
+
|
|
|
+ local tiles = def.tiles
|
|
|
+ local overlay_tiles = def.overlay_tiles
|
|
|
+
|
|
|
+
|
|
|
+ local groups = table.copy(def.groups)
|
|
|
+ if node == "lava_source" then
|
|
|
+ groups = {snappy=3}
|
|
|
+ description = "Fake Lava Source"
|
|
|
+ description_on = "Fake Lava Source"
|
|
|
+ end
|
|
|
+ if node == "corium_source" then
|
|
|
+ groups = {snappy=3}
|
|
|
+ description = "Chernobylite Lamp"
|
|
|
+ description_on = "Chernobylite Lamp"
|
|
|
+ end
|
|
|
+
|
|
|
+ local use_texture_alpha = def.use_texture_alpha
|
|
|
+ local palette = def.palette
|
|
|
+ local after_place_node = def.after_place_node
|
|
|
+
|
|
|
+ local drawtype = def.drawtype
|
|
|
+ local paramtype = def.paramtype
|
|
|
+ local paramtype2 = def.paramtype2
|
|
|
+ local sounds = def.sounds
|
|
|
+ local sunlight_propagates = def.sunlight_propagates
|
|
|
+ local light_source = def.light_source
|
|
|
+ local selection_box = def.selection_box
|
|
|
+ local collision_box = def.collision_box
|
|
|
+ local node_box = def.node_box
|
|
|
+ local on_place = def.on_place
|
|
|
+ local mesh = def.mesh
|
|
|
+ local wield_image = def.wield_image
|
|
|
+ local inventory_image = def.inventory_image
|
|
|
+ local walkable = def.walkable
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ minetest.register_node(offstate, {
|
|
|
+
|
|
|
+ tiles = tiles,
|
|
|
+ overlay_tiles = overlay_tiles,
|
|
|
+ description = description,
|
|
|
+ use_texture_alpha = use_texture_alpha,
|
|
|
+ drawtype = drawtype,
|
|
|
+ paramtype = paramtype,
|
|
|
+ paramtype2 = paramtype2,
|
|
|
+ groups = groups,
|
|
|
+ sounds = sounds,
|
|
|
+ sunlight_propagates = sunlight_propagates,
|
|
|
+ selection_box = selection_box,
|
|
|
+ collision_box = collision_box,
|
|
|
+ node_box = node_box,
|
|
|
+ on_place = on_place,
|
|
|
+ mesh = mesh,
|
|
|
+ wield_image = wield_image,
|
|
|
+ inventory_image = inventory_image,
|
|
|
+ walkable = walkable,
|
|
|
+ palette = palette,
|
|
|
+ after_place_node = after_place_node,
|
|
|
+ liquidtype = def.liquidtype,
|
|
|
+
|
|
|
+ mesecons = {effector = {
|
|
|
+ rules = rules_all,
|
|
|
+
|
|
|
+ action_on = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:"..mod.."_"..node2, param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
+
|
|
|
+
|
|
|
+ })
|
|
|
+
|
|
|
+
|
|
|
+ local groups_on = table.copy(groups)
|
|
|
+ groups_on["not_in_creative_inventory"] = 1
|
|
|
+
|
|
|
+
|
|
|
+ minetest.register_node(onstate, {
|
|
|
+ tiles = tiles,
|
|
|
+ overlay_tiles = overlay_tiles,
|
|
|
+ drop = offstate,
|
|
|
+ description = description_on,
|
|
|
+ use_texture_alpha = use_texture_alpha,
|
|
|
+ drawtype = drawtype,
|
|
|
+ groups = groups_on,
|
|
|
+ paramtype = paramtype,
|
|
|
+ paramtype2 = paramtype2,
|
|
|
+ sounds = sounds,
|
|
|
+ selection_box = selection_box,
|
|
|
+ collision_box = collision_box,
|
|
|
+ node_box = node_box,
|
|
|
+ on_place = on_place,
|
|
|
+ mesh = mesh,
|
|
|
+ wield_image = wield_image,
|
|
|
+ inventory_image = inventory_image,
|
|
|
+ sunlight_propagates = sunlight_propagates,
|
|
|
+ light_source = light_source,
|
|
|
+ walkable = walkable,
|
|
|
+ palette = palette,
|
|
|
+ after_place_node = after_place_node,
|
|
|
+ liquidtype = def.liquidtype,
|
|
|
+ mesecons = {effector = {
|
|
|
+ rules = rules_all,
|
|
|
+ action_off = function (pos, node)
|
|
|
+ minetest.swap_node(pos, {name = "meseconductors:"..mod.."_"..node2.."_off", param2 = node.param2})
|
|
|
+ end,
|
|
|
+ }}
|
|
|
+ })
|
|
|
+ end
|
|
|
end
|
|
|
|
|
|
|
|
@@ -602,71 +605,71 @@ meseconductors:register_lamp("castle", "light")
|
|
|
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:default_lava_source_off",
|
|
|
- recipe = {
|
|
|
- { "", "default:obsidian_glass", ""},
|
|
|
- { "default:obsidian_glass", "bucket:bucket_lava", "default:obsidian_glass"},
|
|
|
- { "", "default:obsidian_glass", ""},
|
|
|
- },
|
|
|
+ output = "meseconductors:default_lava_source_off",
|
|
|
+ recipe = {
|
|
|
+ { "", "default:obsidian_glass", ""},
|
|
|
+ { "default:obsidian_glass", "bucket:bucket_lava", "default:obsidian_glass"},
|
|
|
+ { "", "default:obsidian_glass", ""},
|
|
|
+ },
|
|
|
replacements = {
|
|
|
{"bucket:bucket_lava", "bucket:bucket_empty"}
|
|
|
- }
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
if minetest.get_modpath("technic") then
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:technic_corium_source_off",
|
|
|
- recipe = {
|
|
|
- { "", "technic:uranium_ingot", ""},
|
|
|
- { "technic:uranium_ingot", "bucket:bucket_lava", "technic:uranium_ingot"},
|
|
|
- { "", "technic:uranium_ingot", ""},
|
|
|
- },
|
|
|
+ output = "meseconductors:technic_corium_source_off",
|
|
|
+ recipe = {
|
|
|
+ { "", "technic:uranium_ingot", ""},
|
|
|
+ { "technic:uranium_ingot", "bucket:bucket_lava", "technic:uranium_ingot"},
|
|
|
+ { "", "technic:uranium_ingot", ""},
|
|
|
+ },
|
|
|
replacements = {
|
|
|
{"bucket:bucket_lava", "bucket:bucket_empty"}
|
|
|
- }
|
|
|
+ }
|
|
|
})
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:technic_corium_source_off",
|
|
|
- recipe = {
|
|
|
- { "", "default:glass", ""},
|
|
|
- { "default:glass", "technic:bucket_corium", "default:glass"},
|
|
|
- { "", "default:glass", ""},
|
|
|
- },
|
|
|
+ output = "meseconductors:technic_corium_source_off",
|
|
|
+ recipe = {
|
|
|
+ { "", "default:glass", ""},
|
|
|
+ { "default:glass", "technic:bucket_corium", "default:glass"},
|
|
|
+ { "", "default:glass", ""},
|
|
|
+ },
|
|
|
replacements = {
|
|
|
{"bucket_corium", "bucket:bucket_empty"}
|
|
|
- }
|
|
|
+ }
|
|
|
})
|
|
|
end
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:default_meselamp_off",
|
|
|
- recipe = {
|
|
|
- { "default:glass", "meseconductors:lamp_controller"},
|
|
|
- { "default:mese_crystal", ""}
|
|
|
+ output = "meseconductors:default_meselamp_off",
|
|
|
+ recipe = {
|
|
|
+ { "default:glass", "meseconductors:lamp_controller"},
|
|
|
+ { "default:mese_crystal", ""}
|
|
|
|
|
|
- },
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:default_mese_post_light_off",
|
|
|
- type = "shapeless",
|
|
|
- recipe = {"default:mese_post_light", "meseconductors:lamp_controller"},
|
|
|
+ output = "meseconductors:default_mese_post_light_off",
|
|
|
+ type = "shapeless",
|
|
|
+ recipe = {"default:mese_post_light", "meseconductors:lamp_controller"},
|
|
|
})
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:default_mese_post_light_off",
|
|
|
- recipe = {
|
|
|
- { "meseconductors:lamp_controller", "default:glass", ""},
|
|
|
- { "default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
|
|
|
- { "", "group:wood", ""}
|
|
|
- },
|
|
|
+ output = "meseconductors:default_mese_post_light_off",
|
|
|
+ recipe = {
|
|
|
+ { "meseconductors:lamp_controller", "default:glass", ""},
|
|
|
+ { "default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
|
|
|
+ { "", "group:wood", ""}
|
|
|
+ },
|
|
|
})
|
|
|
|
|
|
minetest.register_craft({
|
|
|
- output = "meseconductors:default_meselamp_off",
|
|
|
- type = "shapeless",
|
|
|
- recipe = {"default:meselamp", "meseconductors:lamp_controller"},
|
|
|
+ output = "meseconductors:default_meselamp_off",
|
|
|
+ type = "shapeless",
|
|
|
+ recipe = {"default:meselamp", "meseconductors:lamp_controller"},
|
|
|
})
|
|
|
|
|
|
if minetest.get_modpath("ethereal") then
|
|
@@ -707,9 +710,9 @@ if minetest.get_modpath("homedecor") then
|
|
|
minetest.register_craft({
|
|
|
output = "meseconductors:homedecor_glowlight_half_off 6",
|
|
|
recipe = {
|
|
|
- { "dye:white", "dye:white", "dye:white"},
|
|
|
+ { "dye:white", "dye:white", "dye:white"},
|
|
|
{ "default:glass", "homedecor:power_crystal", "default:glass"},
|
|
|
- { "", "meseconductors:lamp_controller", ""}
|
|
|
+ { "", "meseconductors:lamp_controller", ""}
|
|
|
},
|
|
|
})
|
|
|
|