summaryrefslogtreecommitdiff
path: root/cottages/nodes_historic.lua
diff options
context:
space:
mode:
Diffstat (limited to 'cottages/nodes_historic.lua')
-rw-r--r--cottages/nodes_historic.lua291
1 files changed, 291 insertions, 0 deletions
diff --git a/cottages/nodes_historic.lua b/cottages/nodes_historic.lua
new file mode 100644
index 0000000..0a81d23
--- /dev/null
+++ b/cottages/nodes_historic.lua
@@ -0,0 +1,291 @@
+---------------------------------------------------------------------------------------
+-- decoration and building material
+---------------------------------------------------------------------------------------
+-- * includes a wagon wheel that can be used as decoration on walls or to build (stationary) wagons
+-- * dirt road - those are more natural in small old villages than cobble roads
+-- * loam - no, old buildings are usually not built out of clay; loam was used
+-- * straw - useful material for roofs
+-- * glass pane - an improvement compared to fence posts as windows :-)
+---------------------------------------------------------------------------------------
+
+local S = cottages.S
+
+-- can be used to buid real stationary wagons or attached to walls as decoration
+minetest.register_node("cottages:wagon_wheel", {
+ description = S("wagon wheel"),
+ drawtype = "signlike",
+ tiles = {"cottages_wagonwheel.png"}, -- done by VanessaE!
+ inventory_image = "cottages_wagonwheel.png",
+ wield_image = "cottages_wagonwheel.png",
+ paramtype = "light",
+ paramtype2 = "wallmounted",
+
+ sunlight_propagates = true,
+ walkable = false,
+ selection_box = {
+ type = "wallmounted",
+ },
+ groups = {choppy=2,dig_immediate=2,attached_node=1},
+ legacy_wallmounted = true,
+ sounds = default.node_sound_defaults(),
+ is_ground_content = false,
+})
+
+
+-- a nice dirt road for small villages or paths to fields
+minetest.register_node("cottages:feldweg", {
+ description = S("dirt road"),
+ tiles = {"cottages_feldweg.png","default_dirt.png", "default_dirt.png^default_grass_side.png"},
+ paramtype2 = "facedir",
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ legacy_facedir_simple = true,
+ groups = {crumbly=3},
+ sounds = default.node_sound_dirt_defaults,
+ is_ground_content = false,
+})
+
+
+-- people didn't use clay for houses; they did build with loam
+minetest.register_node("cottages:loam", {
+ description = S("loam"),
+ tiles = {"cottages_loam.png"},
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ groups = {crumbly=3},
+ sounds = default.node_sound_dirt_defaults,
+ is_ground_content = false,
+})
+
+-- create stairs if possible
+if( minetest.get_modpath("stairs") and stairs and stairs.register_stair_and_slab) then
+ stairs.register_stair_and_slab("feldweg", "cottages:feldweg",
+ {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ {"cottages_feldweg.png","default_dirt.png", "default_grass.png","default_grass.png","cottages_feldweg.png","cottages_feldweg.png"},
+ S("Dirt Road Stairs"),
+ S("Dirt Road, half height"),
+ default.node_sound_dirt_defaults())
+
+ stairs.register_stair_and_slab("loam", "cottages:loam",
+ {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ {"cottages_loam.png"},
+ S("Loam Stairs"),
+ S("Loam Slab"),
+ default.node_sound_dirt_defaults())
+
+ 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
+
+
+-- straw is a common material for places where animals are kept indoors
+-- right now, this block mostly serves as a placeholder
+minetest.register_node("cottages:straw_ground", {
+ description = S("straw ground for animals"),
+ tiles = {"cottages_darkage_straw.png","cottages_loam.png","cottages_loam.png","cottages_loam.png","cottages_loam.png","cottages_loam.png"},
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ groups = {crumbly=3},
+ sounds = default.node_sound_dirt_defaults,
+ is_ground_content = false,
+})
+
+
+-- note: these houses look good with a single fence pile as window! the glass pane is the version for 'richer' inhabitants
+minetest.register_node("cottages:glass_pane", {
+ description = S("simple glass pane (centered)"),
+ drawtype = "nodebox",
+ -- top, bottom, side1, side2, inner, outer
+ tiles = {"cottages_glass_pane.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ node_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.05, 0.5, 0.5, 0.05},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.05, 0.5, 0.5, 0.05},
+ },
+ },
+ is_ground_content = false,
+})
+
+
+minetest.register_node("cottages:glass_pane_side", {
+ description = S("simple glass pane"),
+ drawtype = "nodebox",
+ -- top, bottom, side1, side2, inner, outer
+ tiles = {"cottages_glass_pane.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ node_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.40, 0.5, 0.5, -0.50},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.40, 0.5, 0.5, -0.50},
+ },
+ },
+ is_ground_content = false,
+})
+
+
+---------------------------------------------------------------------------------------
+-- a very small wooden slab
+---------------------------------------------------------------------------------------
+minetest.register_node("cottages:wood_flat", {
+ description = S("flat wooden planks"),
+ drawtype = "nodebox",
+ -- top, bottom, side1, side2, inner, outer
+ tiles = {"cottages_minimal_wood.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ node_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.50, 0.5, -0.5+1/16, 0.50},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.50, 0.5, -0.5+1/16, 0.50},
+ },
+ },
+ is_ground_content = false,
+ on_place = minetest.rotate_node,
+})
+
+---------------------------------------------------------------------------------------
+-- useful for building tents
+---------------------------------------------------------------------------------------
+minetest.register_node("cottages:wool_tent", {
+ description = S("wool for tents"),
+ drawtype = "nodebox",
+ -- top, bottom, side1, side2, inner, outer
+ tiles = {"cottages_wool.png"},
+ paramtype = "light",
+ paramtype2 = "facedir",
+ groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2},
+ node_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.50, 0.5, -0.5+1/16, 0.50},
+ },
+ },
+ selection_box = {
+ type = "fixed",
+ fixed = {
+ { -0.5, -0.5, -0.50, 0.5, -0.5+1/16, 0.50},
+ },
+ },
+ is_ground_content = false,
+ 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
+---------------------------------------------------------------------------------------
+minetest.register_craft({
+ output = "cottages:wagon_wheel 3",
+ recipe = {
+ {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 }
+ }
+})
+
+-- run a wagon wheel over dirt :-)
+minetest.register_craft({
+ output = "cottages:feldweg 4",
+ recipe = {
+ {"", "cottages:wagon_wheel", "" },
+ {cottages.craftitem_dirt,cottages.craftitem_dirt,cottages.craftitem_dirt }
+ },
+ replacements = { {'cottages:wagon_wheel', 'cottages:wagon_wheel'}, }
+})
+
+minetest.register_craft({
+ output = "cottages:loam 4",
+ recipe = {
+ {cottages.craftitem_sand},
+ {cottages.craftitem_clay}
+ }
+})
+
+minetest.register_craft({
+ output = "cottages:straw_ground 2",
+ recipe = {
+ {"cottages:straw_mat" },
+ {"cottages:loam"}
+ }
+})
+
+minetest.register_craft({
+ output = "cottages:glass_pane 4",
+ recipe = {
+ {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 }
+ }
+})
+
+minetest.register_craft({
+ output = "cottages:glass_pane_side",
+ recipe = {
+ {"cottages:glass_pane"},
+ }
+})
+
+minetest.register_craft({
+ output = "cottages:glass_pane",
+ recipe = {
+ {"cottages:glass_pane_side"},
+ }
+})
+
+minetest.register_craft({
+ output = "cottages:wood_flat 16",
+ recipe = {
+ {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"}
+ }
+})