diff --git a/README.md b/README.md index 9c40eef..e2f9591 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ and renamed (default_NAME.png -> cottages_NAME.png) Cisoun's WTFPL texture pack: cottages_stone.png (for anvil and handmill) + cottages_wool.png Zeg9 (CC BY-SA 3.0): cottages_steel_block.png (for steel hatch and stovepipie) diff --git a/adaptions.lua b/adaptions.lua new file mode 100644 index 0000000..cef33de --- /dev/null +++ b/adaptions.lua @@ -0,0 +1,83 @@ +-- some games may not have the default nodes; +-- change this so that craft receipes work! + +-- used for: anvil, hammer, barrel, steel hatch, stove pipe, wagon wheel, handmill. +cottages.craftitem_steel = "default:steel_ingot"; +-- used for: hammer, wood+steel hatch, fence gate, bed, table, bench, shelf, +-- washing place, wagon wheel, glass pane, flat wood, handmill, +-- operating the treshing floor. +cottages.craftitem_stick = "group:stick"; +-- used for: treshing floor, handmill, slate roof, vertical slate +cottages.craftitem_stone = "default:stone"; +-- used for: window shutter, half door, half door inverted, fence gate, +-- bed, bench, shelf, roof connector, vertical slate +cottages.craftitem_wood = "group:wood"; +-- used for: half door +cottages.craftitem_door = "doors:door_wood"; +-- used for: small fence +cottages.craftitem_fence = "default:fence_wood"; +-- used for: bed (head+foot), wool for tents +cottages.craftitem_wool = "wool:white"; +-- used for: washing place, loam +cottages.craftitem_clay = "default:clay"; +-- used for: wagon wheel +cottages.craftitem_iron = "default:iron_lump"; +-- used for: dirt road, brown roof (if no homedecor is installed) +cottages.craftitem_dirt = "default:dirt"; +-- used for: loam +cottages.craftitem_sand = "default:sand"; +-- used for: glass pane +cottages.craftitem_glass = "default:glass"; +-- used for: reet roof, reet block +cottages.craftitem_papyrus = "default:papyrus"; +-- used for: black roof (if no homedecor is installed) +cottages.craftitem_coal_lump = "default:coal_lump"; +-- used for: red roof (if no homedecor is installed) +cottages.craftitem_clay_brick = "default:clay_brick"; +-- used for: treshing floor +cottages.craftitem_junglewood = "default:junglewood"; +cottages.craftitem_chest_locked = "default:chest_locked"; +-- used for: hatch, table +cottages.craftitem_slab_wood = "stairs:slab_wood"; + +-- texture used for fence gate and bed posts +cottages.texture_furniture = "default_wood.png"; +-- texture for the side of roof nodes +cottages.texture_roof_sides = "default_wood.png"; +-- if the default wood node does not exist, use an alternate wood texture +-- (which is also used for furnitures and doors in this mod) +if( not( minetest.registered_nodes['default:wood'])) then + cottages.texture_roof_sides = "cottages_minimal_wood.png"; + cottages.texture_furniture = "cottages_minimal_wood.png"; +end + +-- texture for roofs where the tree bark is the main roof texture +cottages.textures_roof_wood = "default_tree.png"; +if( not( minetest.registered_nodes["default:tree"])) then + -- realtest has diffrent barks; the spruce one seems to be the most fitting + if( minetest.registered_nodes["trees:spruce_log" ]) then + cottages.textures_roof_wood = "trees_spruce_trunk.png"; + + -- this is also an indicator that we are dealing with realtest; + cottages.craftitem_steel = "metals:pig_iron_ingot"; + -- stone exists, but is hard to obtain; chiseled stone is more suitable + cottages.craftitem_stone = "default:stone_flat"; + -- there are far more diffrent wood tpyes + cottages.craftitem_wood = "group:planks"; + cottages.craftitem_door = "doors:door_birch"; + cottages.craftitem_fence = "group:fence"; + cottages.craftitem_clay = "grounds:clay_lump"; + cottages.craftitem_iron = "group:plank"; -- iron lumps would be too specific + cottages.craftitem_coal_lump = "minerals:charcoal"; + cottages.craftitem_junglewood = "trees:chestnut_planks"; + cottages.craftitem_slab_wood = "group:plank"; + else + -- does not look so well in this case as it's no bark; but what else shall we do? + cottages.textures_roof_wood = "cottages_minimal_wood.png"; + end +end + +if( not( minetest.registered_nodes["wool:white"])) then + cottages.craftitem_wool = "cottages:wool"; +end + diff --git a/depends.txt b/depends.txt index e819a5f..1afb80e 100644 --- a/depends.txt +++ b/depends.txt @@ -3,3 +3,5 @@ farming stairs? homedecor? intllib? +trees? +wool? diff --git a/init.lua b/init.lua index 7baec8a..d9c094a 100644 --- a/init.lua +++ b/init.lua @@ -22,31 +22,11 @@ cottages = {} --cottages.config_use_mesh_barrel = false; --cottages.config_use_mesh_handmill = true; +-- set alternate crafting materials and textures where needed +-- (i.e. in combination with realtest) +dofile(minetest.get_modpath("cottages").."/adaptions.lua"); + -- uncomment parts you do not want - --- texture used for fence gate and bed posts -cottages.texture_furniture = "default_wood.png"; --- texture for the side of roof nodes -cottages.texture_roof_sides = "default_wood.png"; --- if the default wood node does not exist, use an alternate wood texture --- (which is also used for furnitures and doors in this mod) -if( not( minetest.registered_nodes['default:wood'])) then - cottages.texture_roof_sides = "cottages_minimal_wood.png"; - cottages.texture_furniture = "cottages_minimal_wood.png"; -end - --- texture for roofs where the tree bark is the main roof texture -cottages.textures_roof_wood = "default_tree.png"; -if( not( minetest.registered_nodes["default:tree"])) then - -- realtest has diffrent barks; the spruce one seems to be the most fitting - if( minetest.registered_nodes["trees:spruce_log" ]) then - cottages.textures_roof_wood = "trees_spruce_trunk.png"; - else - -- does not look so well in this case as it's no bark; but what else shall we do? - cottages.textures_roof_wood = "cottages_minimal_wood.png"; - end -end - dofile(minetest.get_modpath("cottages").."/nodes_furniture.lua"); dofile(minetest.get_modpath("cottages").."/nodes_historic.lua"); dofile(minetest.get_modpath("cottages").."/nodes_straw.lua"); diff --git a/nodes_anvil.lua b/nodes_anvil.lua index e04f92f..e6c89ce 100644 --- a/nodes_anvil.lua +++ b/nodes_anvil.lua @@ -208,9 +208,9 @@ minetest.register_node("cottages:anvil", { minetest.register_craft({ output = "cottages:anvil", recipe = { - {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, - {'', 'default:steel_ingot','' }, - {'default:steel_ingot','default:steel_ingot','default:steel_ingot'} }, + {cottages.craftitem_steel,cottages.craftitem_steel,cottages.craftitem_steel}, + {'', cottages.craftitem_steel,'' }, + {cottages.craftitem_steel,cottages.craftitem_steel,cottages.craftitem_steel} }, }) @@ -237,8 +237,8 @@ end minetest.register_craft({ output = "cottages:hammer", recipe = { - {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, - {'default:steel_ingot','default:steel_ingot','default:steel_ingot'}, - {'', 'default:stick', '' } } + {cottages.craftitem_steel,cottages.craftitem_steel,cottages.craftitem_steel}, + {cottages.craftitem_steel,cottages.craftitem_steel,cottages.craftitem_steel}, + {'', cottages.craftitem_stick, '' } } }) diff --git a/nodes_barrel.lua b/nodes_barrel.lua index dbee3ed..ce37646 100644 --- a/nodes_barrel.lua +++ b/nodes_barrel.lua @@ -111,7 +111,7 @@ end drawtype = "mesh", mesh = "cottages_barrel.obj", tiles = {"cottages_barrel.png" }, - groups = { tree = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2 + groups = { tree = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory=1, }, drop = "cottages:barrel", -- on_rightclick = function(pos, node, puncher) @@ -131,7 +131,7 @@ end drawtype = "mesh", mesh = "cottages_barrel_closed_lying.obj", tiles = {"cottages_barrel.png" }, - groups = { tree = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2 + groups = { tree = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory=1, }, drop = "cottages:barrel", on_rightclick = function(pos, node, puncher) @@ -155,7 +155,7 @@ end drawtype = "mesh", mesh = "cottages_barrel_lying.obj", tiles = {"cottages_barrel.png" }, - groups = { tree = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2 + groups = { tree = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2, not_in_creative_inventory=1, }, drop = "cottages:barrel", on_rightclick = function(pos, node, puncher) @@ -188,9 +188,9 @@ end minetest.register_craft({ output = "cottages:barrel", recipe = { - {"group:wood", "", "group:wood" }, - {"default:steel_ingot", "", "default:steel_ingot"}, - {"group:wood", "group:wood", "group:wood" }, + {cottages.craftitem_wood, "", cottages.craftitem_wood }, + {cottages.craftitem_steel, "", cottages.craftitem_steel}, + {cottages.craftitem_wood, cottages.craftitem_wood, cottages.craftitem_wood }, }, }) diff --git a/nodes_doorlike.lua b/nodes_doorlike.lua index 600c1b3..cb1b1b0 100644 --- a/nodes_doorlike.lua +++ b/nodes_doorlike.lua @@ -355,7 +355,7 @@ cottages.register_hatch = function( nodename, description, texture, receipe_item output = nodename, recipe = { { '', '', receipe_item }, - { receipe_item, 'default:stick', '' }, + { receipe_item, cottages.craftitem_stick, '' }, { '', '', '' }, } }) @@ -363,8 +363,8 @@ end -- further alternate hatch materials: wood, tree, copper_block -cottages.register_hatch( 'cottages:hatch_wood', 'wooden hatch', 'cottages_minimal_wood.png', 'stairs:slab_wood' ); -cottages.register_hatch( 'cottages:hatch_steel', 'metal hatch', 'cottages_steel_block.png', 'default:steel_ingot' ); +cottages.register_hatch( 'cottages:hatch_wood', 'wooden hatch', 'cottages_minimal_wood.png', cottages.craftitem_slab_wood ); +cottages.register_hatch( 'cottages:hatch_steel', 'metal hatch', 'cottages_steel_block.png', cottages.craftitem_steel ); @@ -391,7 +391,7 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:window_shutter_open", recipe = { - {"default:wood", "", "default:wood" }, + {cottages.craftitem_wood, "", cottages.craftitem_wood }, } }) @@ -413,8 +413,8 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:half_door 2", recipe = { - {"", "default:wood", "" }, - {"", "doors:door_wood", "" }, + {"", cottages.craftitem_wood, "" }, + {"", cottages.craftitem_door, "" }, } }) @@ -437,7 +437,7 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:gate_closed", recipe = { - {"default:stick", "default:stick", "default:wood" }, + {cottages.craftitem_stick, cottages.craftitem_stick, cottages.craftitem_wood }, } }) diff --git a/nodes_fences.lua b/nodes_fences.lua index 998073f..bd7a52d 100644 --- a/nodes_fences.lua +++ b/nodes_fences.lua @@ -118,7 +118,7 @@ minetest.register_node("cottages:fence_end", { minetest.register_craft({ output = "cottages:fence_small 3", recipe = { - {"default:fence_wood","default:fence_wood" }, + {cottages.craftitem_fence, cottages.craftitem_fence}, } }) diff --git a/nodes_furniture.lua b/nodes_furniture.lua index 3494c6d..ee6ba8c 100644 --- a/nodes_furniture.lua +++ b/nodes_furniture.lua @@ -312,25 +312,25 @@ minetest.register_node("cottages:washing", { minetest.register_craft({ output = "cottages:bed_foot", recipe = { - {"wool:white", "", "", }, - {"default:wood", "", "", }, - {"default:stick", "", "", } + {cottages.craftitem_wool, "", "", }, + {cottages.craftitem_wood, "", "", }, + {cottages.craftitem_stick, "", "", } } }) minetest.register_craft({ output = "cottages:bed_head", recipe = { - {"", "", "wool:white", }, - {"", "default:stick", "default:wood", }, - {"", "", "default:stick", } + {"", "", cottages.craftitem_wool, }, + {"", cottages.craftitem_stick, cottages.craftitem_wood, }, + {"", "", cottages.craftitem_stick, } } }) minetest.register_craft({ - output = "cottages:sleeping_mat", + output = "cottages:sleeping_mat 3", recipe = { - {"wool:white", "cottages:straw_mat","cottages:straw_mat" } + {"cottages:wool_tent", "cottages:straw_mat","cottages:straw_mat" } } }) @@ -338,16 +338,16 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:table", recipe = { - {"", "stairs:slab_wood", "", }, - {"", "default:stick", "" } + {"", cottages.craftitem_slab_wood, "", }, + {"", cottages.craftitem_stick, "" } } }) minetest.register_craft({ output = "cottages:bench", recipe = { - {"", "default:wood", "", }, - {"default:stick", "", "default:stick", } + {"", cottages.craftitem_wood, "", }, + {cottages.craftitem_stick, "", cottages.craftitem_stick, } } }) @@ -355,24 +355,24 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:shelf", recipe = { - {"default:stick", "default:wood", "default:stick", }, - {"default:stick", "default:wood", "default:stick", }, - {"default:stick", "", "default:stick"} + {cottages.craftitem_stick, cottages.craftitem_wood, cottages.craftitem_stick, }, + {cottages.craftitem_stick, cottages.craftitem_wood, cottages.craftitem_stick, }, + {cottages.craftitem_stick, "", cottages.craftitem_stick} } }) minetest.register_craft({ output = "cottages:washing 2", recipe = { - {"default:stick", }, - {"default:clay", }, + {cottages.craftitem_stick, }, + {cottages.craftitem_clay, }, } }) minetest.register_craft({ output = "cottages:stovepipe 2", recipe = { - {'default:steel_ingot', '', 'default:steel_ingot'}, + {cottages.craftitem_steel, '', cottages.craftitem_steel}, } }) diff --git a/nodes_historic.lua b/nodes_historic.lua index 5fa29a9..d9daf09 100644 --- a/nodes_historic.lua +++ b/nodes_historic.lua @@ -77,12 +77,14 @@ if( stairs and stairs.register_stair_and_slab) then S("Loam Slab"), default.node_sound_dirt_defaults()) - stairs.register_stair_and_slab("clay", "default:clay", + if( minetest.registered_nodes["default:clay"]) then + stairs.register_stair_and_slab("clay", "default:clay", {crumbly=3}, {"cottages_clay.png"}, S("Clay Stairs"), S("Clay Slab"), default.node_sound_dirt_defaults()) + end end @@ -181,7 +183,7 @@ minetest.register_node("cottages:wool_tent", { description = S("wool for tents"), drawtype = "nodebox", -- top, bottom, side1, side2, inner, outer - tiles = {"wool_white.png"}, + tiles = {"cottages_wool.png"}, paramtype = "light", paramtype2 = "facedir", groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2}, @@ -201,6 +203,14 @@ minetest.register_node("cottages:wool_tent", { on_place = minetest.rotate_node, }) +-- a fallback for cases in which there is no wool +minetest.register_node("cottages:wool", { + description = "Wool", + tiles = {"cottages_wool.png"}, + is_ground_content = false, + groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3,wool=1}, +}) + --------------------------------------------------------------------------------------- -- crafting receipes @@ -208,9 +218,9 @@ minetest.register_node("cottages:wool_tent", { minetest.register_craft({ output = "cottages:wagon_wheel 3", recipe = { - {"default:iron_lump", "default:stick", "default:iron_lump" }, - {"default:stick", "default:steel_ingot", "default:stick" }, - {"default:iron_lump", "default:stick", "default:iron_lump" } + {cottages.craftitem_iron, cottages.craftitem_stick, cottages.craftitem_iron }, + {cottages.craftitem_stick, cottages.craftitem_steel, cottages.craftitem_stick }, + {cottages.craftitem_iron, cottages.craftitem_stick, cottages.craftitem_iron } } }) @@ -219,7 +229,7 @@ minetest.register_craft({ output = "cottages:feldweg 4", recipe = { {"", "cottages:wagon_wheel", "" }, - {"default:dirt","default:dirt","default:dirt" } + {cottages.craftitem_dirt,cottages.craftitem_dirt,cottages.craftitem_dirt } }, replacements = { {'cottages:wagon_wheel', 'cottages:wagon_wheel'}, } }) @@ -227,8 +237,8 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:loam 4", recipe = { - {"default:sand" }, - {"default:clay"} + {cottages.craftitem_sand}, + {cottages.craftitem_clay} } }) @@ -243,9 +253,9 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:glass_pane 4", recipe = { - {"default:stick", "default:stick", "default:stick" }, - {"default:stick", "default:glass", "default:stick" }, - {"default:stick", "default:stick", "default:stick" } + {cottages.craftitem_stick, cottages.craftitem_stick, cottages.craftitem_stick }, + {cottages.craftitem_stick, cottages.craftitem_glass, cottages.craftitem_stick }, + {cottages.craftitem_stick, cottages.craftitem_stick, cottages.craftitem_stick } } }) @@ -266,7 +276,22 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:wood_flat 16", recipe = { - {"default:stick", "farming:string","default:stick" }, - {"default:stick", "", "default:stick" }, + {cottages.craftitem_stick, "farming:string",cottages.craftitem_stick }, + {cottages.craftitem_stick, "", cottages.craftitem_stick }, + } +}) + +minetest.register_craft({ + output = "cottages:wool_tent 2", + recipe = { + {"farming:string", "farming:string"}, + {"",cottages.craftitem_stick} + } +}) + +minetest.register_craft({ + output = "cottages:wool", + recipe = { + {"cottages:wool_tent", "cottages:wool_tent"} } }) diff --git a/nodes_roof.lua b/nodes_roof.lua index 2c891cf..8c2625a 100644 --- a/nodes_roof.lua +++ b/nodes_roof.lua @@ -124,7 +124,7 @@ cottages.register_roof = function( name, tiles, basic_material, homedecor_altern output = "cottages:roof_connector_"..name, recipe = { {'cottages:roof_'..name }, - {'default:wood' }, + {cottages.craftitem_wood }, } }) @@ -160,32 +160,32 @@ cottages.register_roof( 'reet', {"cottages_reet.png","cottages_reet.png", "cottages_reet.png","cottages_reet.png", "cottages_reet.png","cottages_reet.png"}, - 'default:papyrus', nil ); + 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}, - 'default:wood', nil); + 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', 'default:coal_lump'); + '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', 'default:clay_brick'); + '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', 'default:dirt'); + '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"}, - 'default:stone', nil); + cottages.craftitem_stone, nil); --------------------------------------------------------------------------------------- @@ -203,7 +203,7 @@ minetest.register_node("cottages:slate_vertical", { minetest.register_craft({ output = "cottages:slate_vertical", - recipe = { {'default:stone', 'default:wood', '' } + recipe = { {cottages.craftitem_stone, cottages.craftitem_wood, '' } } }); @@ -221,7 +221,7 @@ minetest.register_node("cottages:reet", { minetest.register_craft({ output = "cottages:reet", - recipe = { {'default:papyrus','default:papyrus'}, - {'default:papyrus','default:papyrus'}, + recipe = { {cottages.craftitem_papyrus,cottages.craftitem_papyrus}, + {cottages.craftitem_papyrus,cottages.craftitem_papyrus}, }, }) diff --git a/nodes_straw.lua b/nodes_straw.lua index 3fec05f..3eac6b6 100644 --- a/nodes_straw.lua +++ b/nodes_straw.lua @@ -190,7 +190,7 @@ minetest.register_node("cottages:threshing_floor", { end -- only punching with a normal stick is supposed to work local wielded = puncher:get_wielded_item(); - if( not( wielded ) or not( wielded:get_name() ) or wielded:get_name() ~= 'default:stick') then + if( not( wielded ) or not( wielded:get_name() ) or wielded:get_name() ~= cottages.craftitem_stick) then return; end local name = puncher:get_player_name(); @@ -405,18 +405,18 @@ minetest.register_node("cottages:handmill", { minetest.register_craft({ output = "cottages:straw_mat 6", recipe = { - {'default:cobble','',''}, - {"farming:wheat_harvested", "farming:wheat_harvested", "farming:wheat_harvested", }, + {cottages.craftitem_stone,'',''}, + {"farming:wheat", "farming:wheat", "farming:wheat", }, }, - replacements = {{ 'default:cobble', "farming:seed_wheat 3" }}, + replacements = {{ cottages.craftitem_stone, "farming:seed_wheat 3" }}, }) -- this is a better way to get straw mats minetest.register_craft({ output = "cottages:threshing_floor", recipe = { - {"default:junglewood", "default:chest_locked", "default:junglewood", }, - {"default:junglewood", "default:stone", "default:junglewood", }, + {cottages.craftitem_junglewood, cottages.craftitem_chest_locked, cottages.craftitem_junglewood, }, + {cottages.craftitem_junglewood, cottages.craftitem_stone, cottages.craftitem_junglewood, }, }, }) @@ -424,9 +424,9 @@ minetest.register_craft({ minetest.register_craft({ output = "cottages:handmill", recipe = { - {"default:stick", "default:stone", "", }, - {"", "default:steel_ingot", "", }, - {"", "default:stone", "", }, + {cottages.craftitem_stick, cottages.craftitem_stone, "", }, + {"", cottages.craftitem_steel, "", }, + {"", cottages.craftitem_stone, "", }, }, }) diff --git a/textures/cottages_wool.png b/textures/cottages_wool.png new file mode 100644 index 0000000..2bbb9cf Binary files /dev/null and b/textures/cottages_wool.png differ