summaryrefslogtreecommitdiff
path: root/mesecons_extrawires/corner.lua
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-12-31 18:32:46 +0100
committerJeija <norrepli@gmail.com>2012-12-31 18:32:46 +0100
commitec07fc27d7ef76114fd977283c36a20afe26f13f (patch)
treee8eab0fd457abdd33adaebbd46c4cf77e2fefd1c /mesecons_extrawires/corner.lua
parent5921f6d46caa18310435046a22d5aa0f529998f0 (diff)
parent52ddd4bdc931a1f806ea581002b0f39ba83158bc (diff)
downloadmesecons-ec07fc27d7ef76114fd977283c36a20afe26f13f.tar
mesecons-ec07fc27d7ef76114fd977283c36a20afe26f13f.tar.gz
mesecons-ec07fc27d7ef76114fd977283c36a20afe26f13f.tar.bz2
mesecons-ec07fc27d7ef76114fd977283c36a20afe26f13f.tar.xz
mesecons-ec07fc27d7ef76114fd977283c36a20afe26f13f.zip
Merge branch 'nextgen'
Conflicts: mesecons/wires.lua
Diffstat (limited to 'mesecons_extrawires/corner.lua')
-rw-r--r--mesecons_extrawires/corner.lua83
1 files changed, 83 insertions, 0 deletions
diff --git a/mesecons_extrawires/corner.lua b/mesecons_extrawires/corner.lua
new file mode 100644
index 0000000..df45d41
--- /dev/null
+++ b/mesecons_extrawires/corner.lua
@@ -0,0 +1,83 @@
+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", ""},
+ }
+})