mirror of
https://github.com/Sokomine/cottages.git
synced 2025-07-13 05:10:22 +02:00
added nice meshes from VanessaE, junction, t-junction and curve to dirt road
This commit is contained in:
329
nodes_feldweg.lua
Normal file
329
nodes_feldweg.lua
Normal file
@ -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
|
Reference in New Issue
Block a user