summaryrefslogtreecommitdiff
path: root/mesecons_insulated
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-08-17 11:59:06 +0200
committerJeija <norrepli@gmail.com>2012-08-17 11:59:06 +0200
commit863ef26b633470fc25c0dc365387fefc620e876c (patch)
treee1edf038b92abb81f96ff2b5e5f9ed7d79f588ff /mesecons_insulated
parentd0c4fc012fb6aa8f98b177c9fe974fa5729beaf1 (diff)
downloadmesecons-863ef26b633470fc25c0dc365387fefc620e876c.tar
mesecons-863ef26b633470fc25c0dc365387fefc620e876c.tar.gz
mesecons-863ef26b633470fc25c0dc365387fefc620e876c.tar.bz2
mesecons-863ef26b633470fc25c0dc365387fefc620e876c.tar.xz
mesecons-863ef26b633470fc25c0dc365387fefc620e876c.zip
Make isolated wires depend on facedir, rename them to 'insulated'
Diffstat (limited to 'mesecons_insulated')
-rw-r--r--mesecons_insulated/depends.txt1
-rw-r--r--mesecons_insulated/init.lua72
2 files changed, 73 insertions, 0 deletions
diff --git a/mesecons_insulated/depends.txt b/mesecons_insulated/depends.txt
new file mode 100644
index 0000000..acaa924
--- /dev/null
+++ b/mesecons_insulated/depends.txt
@@ -0,0 +1 @@
+mesecons
diff --git a/mesecons_insulated/init.lua b/mesecons_insulated/init.lua
new file mode 100644
index 0000000..bfe16f4
--- /dev/null
+++ b/mesecons_insulated/init.lua
@@ -0,0 +1,72 @@
+minetest.register_node("mesecons_insulated:insulated_on", {
+ drawtype = "nodebox",
+ description = "insulated mesecons",
+ tiles = {
+ "jeija_insulated_wire_sides.png",
+ "jeija_insulated_wire_sides.png",
+ "jeija_insulated_wire_ends_on.png",
+ "jeija_insulated_wire_ends_on.png",
+ "jeija_insulated_wire_sides.png",
+ "jeija_insulated_wire_sides.png"
+ },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ walkable = false,
+ stack_max = 99,
+ selection_box = {
+ type = "fixed",
+ fixed = { -16/32-0.001, -18/32, -7/32, 16/32+0.001, -12/32, 7/32 }
+ },
+ node_box = {
+ type = "fixed",
+ fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }
+ },
+ groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1, not_in_creative_inventory = 1},
+ drop = "mesecons_insulated:insulated_off",
+
+})
+
+minetest.register_node("mesecons_insulated:insulated_off", {
+ drawtype = "nodebox",
+ description = "insulated mesecons",
+ tiles = {
+ "jeija_insulated_wire_sides.png",
+ "jeija_insulated_wire_sides.png",
+ "jeija_insulated_wire_ends_off.png",
+ "jeija_insulated_wire_ends_off.png",
+ "jeija_insulated_wire_sides.png",
+ "jeija_insulated_wire_sides.png"
+ },
+ paramtype = "light",
+ paramtype2 = "facedir",
+ walkable = false,
+ stack_max = 99,
+ selection_box = {
+ type = "fixed",
+ fixed = { -16/32-0.001, -18/32, -7/32, 16/32+0.001, -12/32, 7/32 }
+ },
+ node_box = {
+ type = "fixed",
+ fixed = { -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }
+ },
+ groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1},
+})
+
+mesecon:add_rules("insulated_all", { --all possible rules
+{x = 1, y = 0, z = 0},
+{x =-1, y = 0, z = 0},
+{x = 0, y = 0, z = 1},
+{x = 0, y = 0, z =-1},})
+
+mesecon:add_rules("insulated", {
+{x = 1, y = 0, z = 0},
+{x =-1, y = 0, z = 0},})
+
+function insulated_wire_get_rules(param2)
+ if param2 == 1 or param2 == 3 then
+ return mesecon:rotate_rules_right(mesecon:get_rules("insulated"))
+ end
+ return mesecon:get_rules("insulated")
+end
+
+mesecon:register_conductor("mesecons_insulated:insulated_on", "mesecons_insulated:insulated_off", mesecon:get_rules("insulated_all"), insulated_wire_get_rules)