Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- This file supplies plain, non-windowed doors.
- -- Left-opening
- minetest.register_node("homedecor:door_wood_plain_top_left", {
- description = "wood/glass door top half",
- drawtype = "nodebox",
- tiles = {
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_right_top.png",
- "homedecor_door_wood_plain_left_top.png",
- },
- paramtype = "light",
- paramtype2 = "facedir",
- is_ground_content = true,
- groups = {snappy=3, not_in_creative_inventory=1},
- sounds = default.node_sound_wood_defaults(),
- walkable = true,
- selection_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- node_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- drop = "homedecor:door_wood_plain_bottom_left",
- after_dig_node = function(pos, oldnode, oldmetadata, digger)
- if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_wood_plain_bottom_left" then
- minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z})
- end
- end,
- on_punch = function(pos, node, puncher)
- nfdir=node.param2-1
- if nfdir < 0 then nfdir = 3 end
- minetest.env:add_node(pos, { name = "homedecor:door_wood_plain_top_right", param2=nfdir})
- minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name = "homedecor:door_wood_plain_bottom_right", param2=nfdir})
- end
- })
- minetest.register_node("homedecor:door_wood_plain_bottom_left", {
- description = "Wood and Glass Grid-Style Door",
- drawtype = "nodebox",
- tiles = {
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_right_bottom.png",
- "homedecor_door_wood_plain_left_bottom.png",
- },
- wield_image = "homedecor_door_wood_plain_left_inv.png",
- inventory_image = "homedecor_door_wood_plain_left_inv.png",
- wield_scale = {x=1,y=1,z=0.25},
- paramtype = "light",
- paramtype2 = "facedir",
- is_ground_content = true,
- groups = {snappy=3},
- sounds = default.node_sound_wood_defaults(),
- walkable = true,
- selection_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- node_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- on_place = function(itemstack, placer, pointed_thing)
- fdir = minetest.dir_to_facedir(placer:get_look_dir())
- local pos = pointed_thing.above
- if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
- minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
- return
- end
- minetest.env:place_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_left", param2=fdir})
- return minetest.item_place(itemstack, placer, pointed_thing)
- end,
- after_dig_node = function(pos, oldnode, oldmetadata, digger)
- if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_wood_plain_top_left" then
- minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z})
- end
- end,
- on_punch = function(pos, node, puncher)
- nfdir=node.param2-1
- if nfdir < 0 then nfdir = 3 end
- minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_right", param2=nfdir})
- minetest.env:add_node(pos, { name = "homedecor:door_wood_plain_bottom_right", param2=nfdir})
- end
- })
- -- Right-opening
- minetest.register_node("homedecor:door_wood_plain_top_right", {
- description = "wood/glass door top half",
- drawtype = "nodebox",
- tiles = {
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_left_top.png",
- "homedecor_door_wood_plain_right_top.png",
- },
- paramtype = "light",
- paramtype2 = "facedir",
- is_ground_content = true,
- groups = {snappy=3, not_in_creative_inventory=1},
- sounds = default.node_sound_wood_defaults(),
- walkable = true,
- selection_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- node_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- drop = "homedecor:door_wood_plain_bottom_left",
- after_dig_node = function(pos, oldnode, oldmetadata, digger)
- if minetest.env:get_node({x=pos.x, y=pos.y-1, z=pos.z}).name == "homedecor:door_wood_plain_bottom_right" then
- minetest.env:remove_node({x=pos.x, y=pos.y-1, z=pos.z})
- end
- end,
- on_punch = function(pos, node, puncher)
- nfdir=node.param2+1
- if nfdir > 3 then nfdir = 0 end
- minetest.env:add_node(pos, { name = "homedecor:door_wood_plain_top_left", param2=nfdir})
- minetest.env:add_node({x=pos.x, y=pos.y-1, z=pos.z}, { name = "homedecor:door_wood_plain_bottom_left", param2=nfdir})
- end
- })
- minetest.register_node("homedecor:door_wood_plain_bottom_right", {
- description = "Wood and Glass Grid-Style Door (Right-opening)",
- drawtype = "nodebox",
- tiles = {
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_tb.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_lr.png",
- "homedecor_door_wood_plain_left_bottom.png",
- "homedecor_door_wood_plain_right_bottom.png",
- },
- wield_image = "homedecor_door_wood_plain_right_inv.png",
- inventory_image = "homedecor_door_wood_plain_right_inv.png",
- wield_scale = {x=1,y=1,z=0.25},
- paramtype = "light",
- paramtype2 = "facedir",
- is_ground_content = true,
- groups = {snappy=3},
- sounds = default.node_sound_wood_defaults(),
- walkable = true,
- selection_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- node_box = {
- type = "fixed",
- fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 }
- },
- drop = "homedecor:door_wood_plain_bottom_left",
- on_place = function(itemstack, placer, pointed_thing)
- fdir = minetest.dir_to_facedir(placer:get_look_dir())
- local pos = pointed_thing.above
- if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then
- minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' )
- return
- end
- minetest.env:place_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_right", param2=fdir})
- return minetest.item_place(itemstack, placer, pointed_thing)
- end,
- after_dig_node = function(pos, oldnode, oldmetadata, digger)
- if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name == "homedecor:door_wood_plain_top_right" then
- minetest.env:remove_node({x=pos.x, y=pos.y+1, z=pos.z})
- end
- end,
- on_punch = function(pos, node, puncher)
- nfdir=node.param2+1
- if nfdir > 3 then nfdir = 0 end
- minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name = "homedecor:door_wood_plain_top_left", param2=nfdir})
- minetest.env:add_node(pos, { name = "homedecor:door_wood_plain_bottom_left", param2=nfdir})
- end
- })
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement