diff options
author | Jeija <norrepli@gmail.com> | 2012-09-09 13:34:21 +0200 |
---|---|---|
committer | Jeija <norrepli@gmail.com> | 2012-09-09 13:34:21 +0200 |
commit | e92387695de188159b314bb12b35035da8f896ac (patch) | |
tree | 4484d9d94494e8a5ee7a6ab46822397c8aa9ca4a /mesecons_extrawires/tjunction.lua | |
parent | 500e95c3319536b293bd4545e54edf5a0ad39d1e (diff) |
Add T-junction extrawire (no good textures yet)
Diffstat (limited to 'mesecons_extrawires/tjunction.lua')
-rw-r--r-- | mesecons_extrawires/tjunction.lua | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/mesecons_extrawires/tjunction.lua b/mesecons_extrawires/tjunction.lua new file mode 100644 index 0000000..80a7261 --- /dev/null +++ b/mesecons_extrawires/tjunction.lua @@ -0,0 +1,85 @@ +local tjunction_nodebox = { + type = "fixed", + fixed = {{ -16/32-0.001, -17/32, -3/32, 16/32+0.001, -13/32, 3/32 }, + { -3/32, -17/32, -16/32+0.001, 3/32, -13/32, -3/32},} +} + +local tjunction_selectionbox = { + type = "fixed", + fixed = { -16/32-0.001, -18/32, -16/32, 16/32+0.001, -12/32, 7/32 } +}, + +minetest.register_node("mesecons_extrawires:tjunction_on", { + drawtype = "nodebox", + 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_ends_on.png" + }, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + sunlight_propagates = true, + selection_box = tjunction_selectionbox, + node_box = tjunction_nodebox, + groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1, not_in_creative_inventory = 1}, + drop = "mesecons_insulated:insulated_off", + +}) + +minetest.register_node("mesecons_extrawires:tjunction_off", { + drawtype = "nodebox", + description = "T-junction", + 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_ends_off.png" + }, + paramtype = "light", + paramtype2 = "facedir", + walkable = false, + sunlight_propagates = true, + selection_box = tjunction_selectionbox, + node_box = tjunction_nodebox, + groups = {dig_immediate = 3, mesecon = 3, mesecon_conductor_craftable=1}, +}) + +minetest.register_craft({ + output = '"mesecons_extrawires:tjunction_off" 3', + recipe = { + {"", "", ""}, + {"mesecons_insulated:insulated_off", "mesecons_insulated:insulated_off", "mesecons_insulated:insulated_off"}, + {"", "mesecons_insulated:insulated_off", ""}, + } +}) + +mesecon:add_rules("tjunction_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("tjunction", { +{x = 1, y = 0, z = 0}, +{x =-1, y = 0, z = 0}, +{x = 0, y = 0, z = -1},}) + +function tjunction_get_rules(param2) + local rules = mesecon:get_rules("tjunction") + if param2 == 1 then + rules = mesecon:rotate_rules_left(mesecon:get_rules("tjunction")) + elseif param2 == 2 then + rules = mesecon:rotate_rules_right(mesecon:rotate_rules_right(mesecon:get_rules("tjunction"))) + elseif param2 == 3 then + rules = mesecon:rotate_rules_right(mesecon:get_rules("tjunction")) + end + return rules +end + +mesecon:register_conductor("mesecons_extrawires:tjunction_on", "mesecons_extrawires:tjunction_off", mesecon:get_rules("tjunction_all"), tjunction_get_rules) |