From da66780a569712c23ae4f2996cfb4608a9f9d69d Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 1 Apr 2016 20:02:19 -0400 Subject: copy all standard Dreambuilder mods in from the old subgame (exactly as last supplied there, updates to these mods will follow later) --- cottages/nodes_roof.lua | 222 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 222 insertions(+) create mode 100644 cottages/nodes_roof.lua (limited to 'cottages/nodes_roof.lua') diff --git a/cottages/nodes_roof.lua b/cottages/nodes_roof.lua new file mode 100644 index 0000000..11174d8 --- /dev/null +++ b/cottages/nodes_roof.lua @@ -0,0 +1,222 @@ +-- Boilerplate to support localized strings if intllib mod is installed. +local S = cottages.S + +--------------------------------------------------------------------------------------- +-- roof parts +--------------------------------------------------------------------------------------- +-- a better roof than the normal stairs; can be replaced by stairs:stair_wood + + +-- create the three basic roof parts plus receipes for them; +cottages.register_roof = function( name, tiles, basic_material, homedecor_alternative ) + + minetest.register_node("cottages:roof_"..name, { + description = S("Roof "..name), + drawtype = "nodebox", + --tiles = {cottages.textures_roof_wood,cottages.texture_roof_sides,cottages.texture_roof_sides,cottages.texture_roof_sides,cottages.texture_roof_sides,cottages.textures_roof_wood}, + tiles = tiles, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + is_ground_content = false, + }) + + -- a better roof than the normal stairs; this one is for usage directly on top of walls (it has the form of a stair) + minetest.register_node("cottages:roof_connector_"..name, { + description = S("Roof connector "..name), + drawtype = "nodebox", + -- top, bottom, side1, side2, inner, outer + tiles = tiles, + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.5, 0.5}, + }, + }, + is_ground_content = false, + }) + + -- this one is the slab version of the above roof + minetest.register_node("cottages:roof_flat_"..name, { + description = S("Roof (flat) "..name), + drawtype = "nodebox", + -- top, bottom, side1, side2, inner, outer + -- this one is from all sides - except from the underside - of the given material + tiles = { tiles[1], tiles[2], tiles[1], tiles[1], tiles[1], tiles[1] }; + paramtype = "light", + paramtype2 = "facedir", + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, + node_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, + }, + }, + is_ground_content = false, + }) + + + if( not( homedecor_alternative ) + or ( minetest.get_modpath("homedecor") ~= nil )) then + + minetest.register_craft({ + output = "cottages:roof_"..name.." 6", + recipe = { + {'', '', basic_material }, + {'', basic_material, '' }, + {basic_material, '', '' } + } + }) + end + + -- make those roof parts that use homedecor craftable without that mod + if( homedecor_alternative ) then + basic_material = 'cottages:roof_wood'; + + minetest.register_craft({ + output = "cottages:roof_"..name.." 3", + recipe = { + {homedecor_alternative, '', basic_material }, + {'', basic_material, '' }, + {basic_material, '', '' } + } + }) + end + + + minetest.register_craft({ + output = "cottages:roof_connector_"..name, + recipe = { + {'cottages:roof_'..name }, + {cottages.craftitem_wood }, + } + }) + + minetest.register_craft({ + output = "cottages:roof_flat_"..name..' 2', + recipe = { + {'cottages:roof_'..name, 'cottages:roof_'..name }, + } + }) + + -- convert flat roofs back to normal roofs + minetest.register_craft({ + output = "cottages:roof_"..name, + recipe = { + {"cottages:roof_flat_"..name, "cottages:roof_flat_"..name } + } + }) + +end -- of cottages.register_roof( name, tiles, basic_material ) + + + + +--------------------------------------------------------------------------------------- +-- add the diffrent roof types +--------------------------------------------------------------------------------------- +cottages.register_roof( 'straw', + {"cottages_darkage_straw.png","cottages_darkage_straw.png", + "cottages_darkage_straw.png","cottages_darkage_straw.png", + "cottages_darkage_straw.png","cottages_darkage_straw.png"}, + 'cottages:straw_mat', nil ); +cottages.register_roof( 'reet', + {"cottages_reet.png","cottages_reet.png", + "cottages_reet.png","cottages_reet.png", + "cottages_reet.png","cottages_reet.png"}, + cottages.craftitem_papyrus, nil ); +cottages.register_roof( 'wood', + {cottages.textures_roof_wood, cottages.texture_roof_sides, + cottages.texture_roof_sides, cottages.texture_roof_sides, + cottages.texture_roof_sides, cottages.textures_roof_wood}, + cottages.craftitem_wood, nil); +cottages.register_roof( 'black', + {"cottages_homedecor_shingles_asphalt.png", cottages.texture_roof_sides, + cottages.texture_roof_sides, cottages.texture_roof_sides, + cottages.texture_roof_sides, "cottages_homedecor_shingles_asphalt.png"}, + 'homedecor:shingles_asphalt', cottages.craftitem_coal_lump); +cottages.register_roof( 'red', + {"cottages_homedecor_shingles_terracotta.png", cottages.texture_roof_sides, + cottages.texture_roof_sides, cottages.texture_roof_sides, + cottages.texture_roof_sides, "cottages_homedecor_shingles_terracotta.png"}, + 'homedecor:shingles_terracotta', cottages.craftitem_clay_brick); +cottages.register_roof( 'brown', + {"cottages_homedecor_shingles_wood.png", cottages.texture_roof_sides, + cottages.texture_roof_sides, cottages.texture_roof_sides, + cottages.texture_roof_sides, "cottages_homedecor_shingles_wood.png"}, + 'homedecor:shingles_wood', cottages.craftitem_dirt); +cottages.register_roof( 'slate', + {"cottages_slate.png", cottages.texture_roof_sides, + "cottages_slate.png", "cottages_slate.png", + cottages.texture_roof_sides,"cottages_slate.png"}, + cottages.craftitem_stone, nil); + + +--------------------------------------------------------------------------------------- +-- slate roofs are sometimes on vertical fronts of houses +--------------------------------------------------------------------------------------- +minetest.register_node("cottages:slate_vertical", { + description = S("Vertical Slate"), + tiles = {"cottages_slate.png",cottages.texture_roof_sides,"cottages_slate.png","cottages_slate.png",cottages.texture_roof_sides,"cottages_slate.png"}, + paramtype2 = "facedir", + groups = {cracky=2, stone=1}, + sounds = default.node_sound_stone_defaults(), + is_ground_content = false, +}) + + +minetest.register_craft({ + output = "cottages:slate_vertical", + recipe = { {cottages.craftitem_stone, cottages.craftitem_wood, '' } + } +}); + +--------------------------------------------------------------------------------------- +-- Reed might also be needed as a full block +--------------------------------------------------------------------------------------- +minetest.register_node("cottages:reet", { + description = S("Reet for thatching"), + tiles = {"cottages_reet.png"}, + groups = {snappy=3,choppy=3,oddly_breakable_by_hand=3,flammable=3}, + sounds = default.node_sound_wood_defaults(), + is_ground_content = false, +}) + + +minetest.register_craft({ + output = "cottages:reet", + recipe = { {cottages.craftitem_papyrus,cottages.craftitem_papyrus}, + {cottages.craftitem_papyrus,cottages.craftitem_papyrus}, + }, +}) -- cgit v1.2.3