summaryrefslogtreecommitdiff
path: root/mesecons_door/init.lua
diff options
context:
space:
mode:
authorJeija <norrepli@gmail.com>2012-09-05 23:06:46 +0200
committerJeija <norrepli@gmail.com>2012-09-05 23:06:46 +0200
commit69c6f1a44002976265d1108c1b5c1ab32e6d31eb (patch)
tree54ad4695f5ea18817bc567dabcc37a9e3f96c4eb /mesecons_door/init.lua
parentf2b11e4238856be098629e6163b83633b554de36 (diff)
downloadmesecons-69c6f1a44002976265d1108c1b5c1ab32e6d31eb.tar
mesecons-69c6f1a44002976265d1108c1b5c1ab32e6d31eb.tar.gz
mesecons-69c6f1a44002976265d1108c1b5c1ab32e6d31eb.tar.bz2
mesecons-69c6f1a44002976265d1108c1b5c1ab32e6d31eb.tar.xz
mesecons-69c6f1a44002976265d1108c1b5c1ab32e6d31eb.zip
Remove door
Diffstat (limited to 'mesecons_door/init.lua')
-rw-r--r--mesecons_door/init.lua154
1 files changed, 0 insertions, 154 deletions
diff --git a/mesecons_door/init.lua b/mesecons_door/init.lua
deleted file mode 100644
index bf6a58f..0000000
--- a/mesecons_door/init.lua
+++ /dev/null
@@ -1,154 +0,0 @@
--- Mesecons Door
-
-models = {
- {
- -- bottom part
- {-0.5, -0.5, -0.5, -0.4, 0.5, 0.5},
- -- A
- {-0.5, 0.5, -0.5, -0.4, 1.5, -0.3},
- -- B
- {-0.5, 0.5, 0.3, -0.4, 1.5, 0.5},
- -- C
- {-0.5, 1.3, -0.3, -0.4, 1.5, 0.3},
- -- D
- {-0.5, 0.5, -0.3, -0.4, 0.6, 0.3},
- -- E
- {-0.5, 0.6, -0.05, -0.4, 1.3, 0.05},
- -- F
- {-0.5, 0.9, -0.3, -0.4, 1, -0.05},
- -- G
- {-0.5, 0.9, 0.05, -0.4, 1, 0.3}
- },
- {
- {0.4, -0.5, -0.5, 0.5, 0.5, 0.5},
- {0.4, 0.5, -0.5, 0.5, 1.5, -0.3},
- {0.4, 0.5, 0.3, 0.5, 1.5, 0.5},
- {0.4, 1.3, -0.3, 0.5, 1.5, 0.3},
- {0.4, 0.5, -0.3, 0.5, 0.6, 0.3},
- {0.4, 0.6, -0.05, 0.5, 1.3, 0.05},
- {0.4, 0.9, -0.3, 0.5, 1, -0.05},
- {0.4, 0.9, 0.05, 0.5, 1, 0.3}
- },
- {
- {-0.5, -0.5, -0.5, 0.5, 0.5, -0.4},
- {-0.5, 0.5, -0.5, -0.3, 1.5, -0.4},
- {0.3, 0.5, -0.5, 0.5, 1.5, -0.4},
- {-0.3, 1.3, -0.5, 0.3, 1.5, -0.4},
- {-0.3, 0.5, -0.5, 0.3, 0.6, -0.4},
- {-0.05, 0.6, -0.5, 0.05, 1.3, -0.4},
- {-0.3, 0.9, -0.5, -0.05, 1, -0.4},
- {0.05, 0.9, -0.5, 0.3, 1, -0.4}
- },
- {
- {-0.5, -0.5, 0.4, 0.5, 0.5, 0.5},
- {-0.5, 0.5, 0.4, -0.3, 1.5, 0.5},
- {0.3, 0.5, 0.4, 0.5, 1.5, 0.5},
- {-0.3, 1.3, 0.4, 0.3, 1.5, 0.5},
- {-0.3, 0.5, 0.4, 0.3, 0.6, 0.5},
- {-0.05, 0.6, 0.4, 0.05, 1.3, 0.5},
- {-0.3, 0.9, 0.4, -0.05, 1, 0.5},
- {0.05, 0.9, 0.4, 0.3, 1, 0.5}
- }
-}
-
-selections = {
- {-0.5, -0.5, -0.5, -0.4, 1.5, 0.5},
- {0.5, -0.5, -0.5, 0.4, 1.5, 0.5},
- {-0.5, -0.5, -0.5, 0.5, 1.5, -0.4},
- {-0.5, -0.5, 0.4, 0.5, 1.5, 0.5}
-}
-
-transforms = {
- door_1_1 = "door_4_2",
- door_4_2 = "door_1_1",
- door_2_1 = "door_3_2",
- door_3_2 = "door_2_1",
- door_3_1 = "door_1_2",
- door_1_2 = "door_3_1",
- door_4_1 = "door_2_2",
- door_2_2 = "door_4_1"
-}
-
-mesecons_door_transform = function (pos, node)
- local x, y = node.name:find(":")
- local n = node.name:sub(x + 1)
- if transforms[n] ~= nil then
- minetest.env:add_node(pos, {name = "mesecons_door:"..transforms[n]})
- else
- print("not implemented")
- end
-end
-
-for i = 1, 4 do
- for j = 1, 2 do
- minetest.register_node("mesecons_door:door_"..i.."_"..j, {
- drawtype = "nodebox",
- tiles = {"default_wood.png"},
- paramtype = "light",
- is_ground_content = true,
- groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2, mesecon = 2},
- drop = "mesecons_door:door",
- node_box = {
- type = "fixed",
- fixed = models[i]
- },
- selection_box = {
- type = "fixed",
- fixed = {
- selections[i]
- }
- },
- on_punch = mesecons_door_transform
- })
- mesecon:register_effector("mesecons_door:door_"..i.."_"..j, "mesecons_door:door_"..i.."_"..j)
- end
-end
-
-minetest.register_node("mesecons_door:door", {
- description = "Wooden door",
- node_placement_prediction = "",
- inventory_image = 'door_wood.png',
- wield_image = 'door_wood.png',
- after_place_node = function(node_pos, placer)
- local best_distance = 1e50
- local best_number = 1
- local pos = placer:getpos()
- for i = 1, 4 do
- local box = minetest.registered_nodes["mesecons_door:door_"..i.."_1"].selection_box.fixed[1]
- box = {box[1] + node_pos.x, box[2] + node_pos.y, box[3] + node_pos.z, box[4] + node_pos.x, box[5] + node_pos.y, box[6] + node_pos.z}
- local center = {x = (box[1] + box[4]) / 2, y = (box[2] + box[5]) / 2, z = (box[3] + box[6]) / 2}
- local dist = math.pow(math.pow(center.x - pos.x, 2) + math.pow(center.y - pos.y, 2) + math.pow(center.z - pos.z, 2), 0.5)
- if dist < best_distance then
- best_distance = dist
- best_number = i
- end
- end
- minetest.env:add_node(node_pos, {name = "mesecons_door:door_"..best_number.."_1"})
- end
-})
-mesecon:register_effector("mesecons_door:door")
-
-minetest.register_on_placenode(function(pos, newnode, placer)
- local b_pos = {x = pos.x, y = pos.y - 1, z = pos.z}
- local node = minetest.env:get_node(b_pos)
- if node.name:find("mesecons_door:door") ~= nil then
- minetest.env:remove_node(pos)
- minetest.env:add_item(pos, newnode.name)
- end
-end)
-
-minetest.register_craft({
- output = 'mesecons_door:door',
- recipe = {
- { 'default:wood', 'default:wood', '' },
- { 'default:wood', 'default:wood', '' },
- { 'default:wood', 'default:wood', '' },
- },
-})
-
---MESECONS
-mesecon:register_on_signal_change(function(pos, node)
- if string.find(node.name, "mesecons_door:door_") then
- mesecons_door_transform(pos, node)
- end
-end)