summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOch Noe <och_noe@forksworld.de>2019-06-19 04:54:26 +0200
committerOch Noe <och_noe@forksworld.de>2019-06-19 04:54:26 +0200
commitbf08d13fd6ddec2d819b338d61268dac0e4521ea (patch)
treeb49b49b61c536107be3c684df69dc5266f35fad9
parent616412caa21e04adb34227334045d64a9b45e865 (diff)
downloadadvtrains_platform-bf08d13fd6ddec2d819b338d61268dac0e4521ea.tar.gz
advtrains_platform-bf08d13fd6ddec2d819b338d61268dac0e4521ea.tar.bz2
advtrains_platform-bf08d13fd6ddec2d819b338d61268dac0e4521ea.zip
tracks paths reworked, snow added to them
-rw-r--r--init.lua105
1 files changed, 69 insertions, 36 deletions
diff --git a/init.lua b/init.lua
index 74b5690..258384b 100644
--- a/init.lua
+++ b/init.lua
@@ -166,44 +166,75 @@ local woodpath_lengths = {
{ 25,25 },
}
-local path_names = { "wood", "cobble", "stonebrick" }
-local tile_name = { "default_wood.png" , "default_cobble.png", "default_stone_brick.png"}
-local sound_name = { default.node_sound_wood_defaults() ,
- default.node_sound_stone_defaults(),
- default.node_sound_stone_defaults(), }
-local full_wood = { "default:wood", "default:cobble", "default:stonebrick" }
-local half_wood = { "stairs:slab_wood" , "stairs:slab_cobble",
- "stairs:slab_stonebrick" }
+
+-- path crossing track
+
+local snowdef = minetest.registered_nodes['default:snowblock']
+local node_sound_snow_default = nil
+if snowdef then
+ node_sound_snow_default = snowdef.sounds
+end
+
+-- nodelist
+
+nodelist = {}
+
+-- nodelist:insert( { name = "", tile = ".png",
+-- sound = ,
+-- full = "", half = "" } )
+
+table.insert(nodelist, { name = "wood",
+ tile = "default_wood.png",
+ sound = default.node_sound_wood_defaults(),
+ full = "default:wood",
+ half = "stairs:slab_wood" } )
+table.insert(nodelist, { name = "cobble",
+ tile = "default_cobble.png",
+ sound = default.node_sound_stone_defaults(),
+ full = "default:cobble",
+ half = "stairs:slab_cobble" } )
+table.insert(nodelist, { name = "stonebrick",
+ tile = "default_stone_brick.png",
+ sound = default.node_sound_stone_defaults(),
+ full = "default:stonebrick",
+ half = "stairs:slab_stonebrick" } )
+table.insert(nodelist, { name = "snow", tile = "default_snow.png",
+ sound = node_sound_snow_default,
+ full = "default:snowblock",
+ half = "stairs:slab_snowblock" } )
+
+
local adv_track = "advtrains:dtrack_placer"
if minetest.get_modpath("moreblocks") then
- table.insert(path_names, "tar" )
- table.insert(path_names, "stone tile" )
- table.insert(tile_name, "moreblocks_tar.png" )
- table.insert(tile_name, "moreblocks_stone_tile.png" )
- table.insert(sound_name, default.node_sound_stone_defaults() )
- table.insert(sound_name, default.node_sound_stone_defaults() )
- table.insert(full_wood, "moreblocks:tar" )
- table.insert(full_wood, "moreblocks:stone_tile" )
- table.insert(half_wood, "moreblocks:slab_tar" )
- table.insert(half_wood, "moreblocks:slab_stone_tile" )
+ table.insert(nodelist, { name = "tar",
+ tile = "moreblocks_tar.png",
+ sound = default.node_sound_stone_defaults(),
+ full = "moreblocks:tar",
+ half = "moreblocks:slab_tar" } )
+ table.insert(nodelist, { name = "stone tile",
+ tile = "moreblocks_stone_tile.png",
+ sound = default.node_sound_stone_defaults(),
+ full = "moreblocks:stone_tile",
+ half = "moreblocks:slab_stone_tile" } )
end
-for nr = 1,#path_names do
+
+for _,entry in pairs(nodelist) do
for _,lengths in pairs(woodpath_lengths) do
local b = lengths[1] -- "back" in 1/10 nodes
local f = lengths[2] -- "front" in 1/10 nodes
- local h = string.format(":"..path_names[nr]:gsub(" ","_") .."path_track_%02d%02d",b,f)
- local d = string.format(path_names[nr] .." level crossing %02d-%02d",b,f)
- local h2 = string.format(":"..path_names[nr]:gsub(" ","_") .."path_track_narrow_%02d%02d",b,f)
- local d2 = string.format(path_names[nr] .." level crossing (narrow) %02d-%02d",b,f)
+ local h = string.format(":"..entry.name:gsub(" ","_") .."path_track_%02d%02d",b,f)
+ local d = string.format(entry.name .." level crossing %02d-%02d",b,f)
+ local h2 = string.format(":"..entry.name:gsub(" ","_") .."path_track_narrow_%02d%02d",b,f)
+ local d2 = string.format(entry.name .." level crossing (narrow) %02d-%02d",b,f)
minetest.register_node(own_name..h,
{
- tiles = { tile_name[nr], },
+ tiles = { entry.tile, },
description = d,
drawtype = "nodebox",
paramtype = "light",
@@ -215,16 +246,17 @@ for nr = 1,#path_names do
{-0.5, -0.5, b/-10, 0.5, -0.4, f/10},
}
},
- groups = {choppy = 2, oddly_breakable_by_hand = 2,
- not_blocking_trains = 1},
- sounds = sound_name[nr],
+ groups = {choppy = 2, not_blocking_trains = 1,
+ oddly_breakable_by_hand = 2,
+ },
+ sounds = entry.sound,
on_place = minetest.rotate_node,
})
minetest.register_node(own_name..h2,
{
- tiles = { tile_name[nr], },
+ tiles = { entry.tile, },
description = d2,
drawtype = "nodebox",
paramtype = "light",
@@ -237,9 +269,10 @@ for nr = 1,#path_names do
}
},
- groups = {choppy = 2, oddly_breakable_by_hand = 2,
- not_blocking_trains = 1},
- sounds = sound_name[nr],
+ groups = {choppy = 2, not_blocking_trains = 1,
+ oddly_breakable_by_hand = 2,
+ },
+ sounds = entry.sound,
on_place = minetest.rotate_node,
})
@@ -254,7 +287,7 @@ for nr = 1,#path_names do
if (b>=5) and (f>=5) then
b = b-5
f = f-5
- craft[y][2] = full_wood[nr]
+ craft[y][2] = entry.full
end
end
@@ -262,17 +295,17 @@ for nr = 1,#path_names do
do
if (b>=10) then
b = b-10
- craft[y][1] = full_wood[nr]
+ craft[y][1] = entry.full
elseif (b>=5) then
b = b-5
- craft[y][1] = half_wood[nr]
+ craft[y][1] = entry.half
end
if (f>=10) then
f = f-10
- craft[y][3] = full_wood[nr]
+ craft[y][3] = entry.full
elseif (f>=5) then
f = f-5
- craft[y][3] = half_wood[nr]
+ craft[y][3] = entry.half
end
end