From ee9541f8eace4c72604acaec2291d0ca07d32fa0 Mon Sep 17 00:00:00 2001 From: Vanessa Ezekowitz Date: Fri, 19 Aug 2016 02:27:19 -0400 Subject: updated cottages mod --- cottages/nodes_feldweg.lua | 329 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 329 insertions(+) create mode 100644 cottages/nodes_feldweg.lua (limited to 'cottages/nodes_feldweg.lua') diff --git a/cottages/nodes_feldweg.lua b/cottages/nodes_feldweg.lua new file mode 100644 index 0000000..64c0c02 --- /dev/null +++ b/cottages/nodes_feldweg.lua @@ -0,0 +1,329 @@ +--------------------------------------------------------------------------------------- +-- 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 + +-- supported modes: +-- * simple: only a straight dirt road; no curves, junctions etc. +-- * flat: each node is a full node; junction, t-junction and corner are included +-- * nodebox: like flat - except that each node has a nodebox that fits to that road node +-- * mesh: like nodebox - except that it uses a nice roundish model +if( not( cottages_feldweg_mode )) then + cottages_feldweg_mode = "mesh"; +end + +--- a nice dirt road for small villages or paths to fields +if( cottages_feldweg_mode == "simple" or cottages_feldweg_mode == "flat" ) then + 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, + }) +end + +-- add crossing, t-junction and corner + +-- +-- flat - just textures, full blocks +-- +if( cottages_feldweg_mode == "flat" ) then + + minetest.register_node("cottages:feldweg_crossing", { + description = S("dirt road crossing"), + tiles = {"cottages_feldweg_kreuzung.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, + }) + + minetest.register_node("cottages:feldweg_t_junction", { + description = S("dirt road t junction"), + tiles = {"cottages_feldweg_t-kreuzung.png^[transform2","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, + }) + + minetest.register_node("cottages:feldweg_curve", { + description = S("dirt road curve"), + tiles = {"cottages_feldweg_ecke.png^[transform2","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, + }) + +-- +-- cube-style nodebox version +-- +elseif( cottages_feldweg_mode == "nodebox" ) then + minetest.register_node("cottages:feldweg", { + description = S("dirt road"), + tiles = {"cottages_feldweg_orig.png","default_dirt.png", "default_dirt.png^default_grass_side.png"}, + paramtype2 = "facedir", + roups = {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, + drawtype = "nodebox", + -- top, bottom, side1, side2, inner, outer + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5-2/16, 0.5}, + -- Rasenkanten + { -0.5, 0.5-2/16, -0.5, -0.5+3/16, 0.5, 0.5}, + { 0.5-3/16, 0.5-2/16, -0.5, 0.5, 0.5, 0.5}, + -- uebergang zwischen Wagenspur und Rasenkante + { -0.5+3/16, 0.5-2/16, -0.5, -0.5+4/16, 0.5-1/16, 0.5}, + { 0.5-4/16, 0.5-2/16, -0.5, 0.5-3/16, 0.5-1/16, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + }) + + minetest.register_node("cottages:feldweg_crossing", { + description = S("dirt road crossing"), + tiles = {"cottages_feldweg_kreuzung.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, + + drawtype = "nodebox", + -- top, bottom, side1, side2, inner, outer + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5-2/16, 0.5}, + -- Rasenkanten + { -0.5, 0.5-2/16, -0.5, -0.5+3/16, 0.5, -0.5+3/16}, + { 0.5-3/16, 0.5-2/16, -0.5, 0.5, 0.5, -0.5+3/16}, + + { -0.5, 0.5-2/16, 0.5-3/16, -0.5+3/16, 0.5, 0.5}, + { 0.5-3/16, 0.5-2/16, 0.5-3/16, 0.5, 0.5, 0.5}, + -- uebergang zwischen Wagenspur und Rasenkante + { -0.5+3/16, 0.5-2/16, -0.5, -0.5+4/16, 0.5-1/16, -0.5+4/16}, + { 0.5-4/16, 0.5-2/16, -0.5, 0.5-3/16, 0.5-1/16, -0.5+4/16}, + + { -0.5+3/16, 0.5-2/16, 0.5-4/16, -0.5+4/16, 0.5-1/16, 0.5}, + { 0.5-4/16, 0.5-2/16, 0.5-4/16, 0.5-3/16, 0.5-1/16, 0.5}, + + + { -0.5, 0.5-2/16, -0.5+3/16, -0.5+3/16, 0.5-1/16, -0.5+4/16}, + { 0.5-3/16, 0.5-2/16, -0.5+3/16, 0.5, 0.5-1/16, -0.5+4/16}, + + { -0.5, 0.5-2/16, 0.5-4/16, -0.5+3/16, 0.5-1/16, 0.5-3/16}, + { 0.5-3/16, 0.5-2/16, 0.5-4/16, 0.5, 0.5-1/16, 0.5-3/16}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + }) + + minetest.register_node("cottages:feldweg_t_junction", { + description = S("dirt road t junction"), + tiles = {"cottages_feldweg_t-kreuzung.png^[transform2","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, + + drawtype = "nodebox", + -- top, bottom, side1, side2, inner, outer + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5-2/16, 0.5}, + -- Rasenkanten + { -0.5, 0.5-2/16, -0.5, -0.5+3/16, 0.5, -0.5+3/16}, + + { -0.5, 0.5-2/16, 0.5-3/16, -0.5+3/16, 0.5, 0.5}, + -- Rasenkante seitlich durchgehend + { 0.5-3/16, 0.5-2/16, -0.5, 0.5, 0.5, 0.5}, + -- uebergang zwischen Wagenspur und Rasenkante + { -0.5+3/16, 0.5-2/16, -0.5, -0.5+4/16, 0.5-1/16, -0.5+4/16}, + + { -0.5+3/16, 0.5-2/16, 0.5-4/16, -0.5+4/16, 0.5-1/16, 0.5}, + + + { -0.5, 0.5-2/16, -0.5+3/16, -0.5+3/16, 0.5-1/16, -0.5+4/16}, + + { -0.5, 0.5-2/16, 0.5-4/16, -0.5+3/16, 0.5-1/16, 0.5-3/16}, + -- Ueberganng seitlich durchgehend + { 0.5-4/16, 0.5-2/16, -0.5, 0.5-3/16, 0.5-1/16, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + }) + + minetest.register_node("cottages:feldweg_curve", { + description = S("dirt road curve"), + tiles = {"cottages_feldweg_ecke.png^[transform2","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, + + drawtype = "nodebox", + -- top, bottom, side1, side2, inner, outer + paramtype = "light", + node_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5-2/16, 0.5}, + -- Rasenkante vorne durchgehend + { -0.5, 0.5-2/16, -0.5, 0.5-3/16, 0.5, -0.5+3/16}, + + -- Rasenkanten + { -0.5, 0.5-2/16, 0.5-3/16, -0.5+3/16, 0.5, 0.5}, + -- Rasenkante seitlich durchgehend + { 0.5-3/16, 0.5-2/16, -0.5, 0.5, 0.5, 0.5}, + -- uebergang zwischen Wagenspur und Rasenkante + { -0.5+3/16, 0.5-2/16, 0.5-4/16, -0.5+4/16, 0.5-1/16, 0.5}, + + + -- Uebergang vorne durchgehend + { -0.5, 0.5-2/16, -0.5+3/16, 0.5-3/16, 0.5-1/16, -0.5+4/16}, + + { -0.5, 0.5-2/16, 0.5-4/16, -0.5+3/16, 0.5-1/16, 0.5-3/16}, + -- Ueberganng seitlich durchgehend + { 0.5-4/16, 0.5-2/16, -0.5, 0.5-3/16, 0.5-1/16, 0.5}, + }, + }, + selection_box = { + type = "fixed", + fixed = { + { -0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, + }, + }, + }) + + +-- +-- the mesh version (rounded); provided and created by VanessaE +-- +elseif( cottages_feldweg_mode == "mesh" ) then + + -- a nice dirt road for small villages or paths to fields + minetest.register_node("cottages:feldweg", { + description = S("dirt road"), + 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, + tiles = {"cottages_feldweg_end.png","default_dirt.png^default_grass_side.png", + "default_dirt.png", "default_grass.png", + "cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg.obj", + }) + + + minetest.register_node("cottages:feldweg_crossing", { + description = S("dirt road crossing"), + 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, + tiles = {"cottages_feldweg_end.png","default_dirt.png", + "default_grass.png","cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg-crossing.obj", + }) + + minetest.register_node("cottages:feldweg_t_junction", { + description = S("dirt road t junction"), + 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, + tiles = {"cottages_feldweg_end.png","default_dirt.png^default_grass_side.png", "default_dirt.png", + "default_grass.png","cottages_feldweg_surface.png", + "cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg-T-junction.obj", + }) + + minetest.register_node("cottages:feldweg_curve", { + description = S("dirt road curve"), + 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, + tiles = {"default_dirt.png^default_grass_side.png","default_grass.png", + "default_dirt.png^default_grass_side.png","cottages_feldweg_surface.png", + "default_dirt.png","cottages_feldweg_surface.png^cottages_feldweg_edges.png"}, + paramtype = "light", + drawtype = "mesh", + mesh = "feldweg-curve.obj", + }) +end + + +-- 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()) +end -- cgit v1.2.3