123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526 |
- -- all nodes that do not fit in any other category
- -- Author: Och_Noe, Montandalar/Blockhead, W3RQ01
- -- Licence: LGPL 2.1
- local own_name = "advtrains_platform"
- local register_platform = advtrains.register_platform
- -- bricks / blocks
- list_default = {
- "default:desert_sandstone_brick",
- "default:desert_stonebrick",
- "default:silver_sandstone",
- "default:silver_sandstone_brick",
- "default:silver_sandstone_block",
- "default:brick",
- "default:stone",
- "default:sandstone",
- "default:obsidian_glass",
- "default:dirt",
- "default:dirt_with_grass",
- "default:desert_stone",
- "default:desert_sandstone",
- -- added 2018-10-16
- "default:desert_sandstone_brick",
- -- added 2018-10-26
- "default:cobble",
- -- added 2021-03-07
- "default:diamondblock",
- "default:obsidianblock",
- "default:mossycobble",
- -- added 2021-03-08
- "default:steelblock",
- "default:obsidianbrick",
- -- added 2022-02-12
- "default:copperblock",
-
- }
- list_moreblocks = {
- "moreblocks:cactus_brick",
- "moreblocks:coal_stone_bricks",
- "moreblocks:grey_bricks",
- "moreblocks:iron_stone_bricks",
- "moreblocks:stone_tile",
- -- added 2019-01-19
- "moreblocks:split_stone_tile",
- "moreblocks:split_stone_tile_alt",
- -- added 2021-04-06
- "moreblocks:coal_stone",
- "moreblocks:iron_stone",
- "moreblocks:iron_checker",
- "moreblocks:cactus_checker",
- "moreblocks:coal_checker",
- "moreblocks:tar",
- -- added 2022-02-12
- "moreblocks:copperpatina",
- "moreblocks:cobble_compressed",
- "moreblocks:cobble_condensed",
-
- }
- list_ethereal = {
- "ethereal:icebrick",
- "ethereal:bamboo_dirt",
- -- added 2021-05-26
- "ethereal:blue_marble_tile",
- "ethereal:blue_marble_bricks"}
- -- added 2018-10-16
- list_errata= {
- "minetest_errata:desert_sandstone_cobble",
- "minetest_errata:mossy_stone_tile",
- "minetest_errata:mossystone",
- "minetest_errata:sandstone_cobble",
- "minetest_errata:silver_sandstone_cobble", }
- -- wood
- list_wood= {
- "default:acacia_wood",
- "default:aspen_wood",
- "default:junglewood",
- "default:pine_wood",
- "default:wood" }
- list_wood_ethereal = {
- "ethereal:banana_wood",
- "ethereal:birch_wood",
- "ethereal:frost_wood",
- "ethereal:palm_wood",
- "ethereal:redwood_wood",
- "ethereal:willow_wood",
- "ethereal:yellow_wood",
- "ethereal:bamboo_floor",
- -- added 2020-01-12
- "ethereal:olive_wood",
- "ethereal:sakura_wood",
- }
- list_wood_maple = {
- "maple:maple_wood" }
- -- metal blocks
- list_moreores = {
- "moreores:mithril_block",
- "moreores:silver_block", }
- -- wool
- -- ?
- -- technic - added 2019-03-11
- list_technic = {
- "technic:marble",
- -- added 2021-04-06
- "technic:marble_bricks",
- -- added 2021-04-09
- "technic:granite",
- -- added 2023-02-10
- "technic:concrete",}
- -- bakedclay - added 2021-04-06
- list_bakedclay = {
- "bakedclay:black",
- "bakedclay:dark_clay",
- "bakedclay:red",
- "bakedclay:blue",
- -- added 2021-04-09
- "bakedclay:white",
- -- added 2022-07-22
- "bakedclay:terracotta_black",
- -- added 2022-07-26
- "bakedclay:terracotta_blue",
- "bakedclay:terracotta_red",
- "bakedclay:terracotta_violet",}
- -- australia - added 2022-07-20
- list_australia = {
- "australia:lemon_eucalyptus_wood",
- "australia:river_red_gum_wood",
- "australia:scribbly_gum_wood",
- "australia:huon_pine_wood",
- "australia:grey_mangrove_wood",
- "australia:mangrove_apple_wood",
- "australia:stilted_mangrove_wood",
- "australia:blue_gum_wood",
- "australia:conclurry_box_wood",
- "australia:coolabah_wood",
- "australia:mulga_wood",
- "australia:bluestone",
- "australia:bluestone_cobble",
- "australia:darwin_woollybutt_wood",
- -- added 2023-02-10
- "australia:bluestone_brick",
- "australia:fan_palm_wood",}
- if minetest.get_modpath("default") then
- for _,name in pairs(list_default) do
- register_platform(own_name,name)
- end
- end
- if minetest.get_modpath("moreblocks") then
- for _,name in pairs(list_moreblocks) do
- register_platform(own_name,name)
- end
- end
- -- added 2018-10-16
- if minetest.get_modpath("minetest_errata") then
- for _,name in pairs(list_errata) do
- register_platform(own_name,name)
- end
- end
- for _,name in pairs(list_wood) do
- register_platform(own_name,name)
- end
- if minetest.get_modpath("ethereal") then
- for _,name in pairs(list_ethereal) do
- register_platform(own_name,name)
- end
- for _,name in pairs(list_wood_ethereal) do
- register_platform(own_name,name)
- end
- end
- if minetest.get_modpath("maple") then
- for _,name in pairs(list_wood_maple) do
- register_platform(own_name,name)
- end
- end
- if minetest.get_modpath("moreores") then
- for _,name in pairs(list_moreores) do
- register_platform(own_name,name)
- end
- end
- if minetest.get_modpath("technic") then
- for _,name in pairs(list_technic) do
- register_platform(own_name,name)
- end
- end
- -- added 2021-04-06
- if minetest.get_modpath("bakedclay") then
- for _,name in pairs(list_bakedclay) do
- register_platform(own_name,name)
- end
- end
- -- added 2022-07-20
- if minetest.get_modpath("australia") then
- for _,name in pairs(list_australia) do
- register_platform(own_name,name)
- end
- end
- --[[added 2022-07-26 disabled due to overriding with bakedclay mod
- if minetest.get_modpath("morebricks") then
- for _,name in pairs(list_morebricks) do
- register_platform(own_name,name)
- end
- end]]
- local woodpath_lengths = {
- { 5,10 },
- { 5,20 },
- { 5,25 },
- { 10,10 },
- { 10,20 },
- { 10,25 },
- { 20,20 },
- { 20,25 },
- { 25,25 },
- }
- -- 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 = "" } )
- -- stone (WIP)
- 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 = "desert stonebrick",
- tile = "default_desert_stone_brick.png",
- sound = default.node_sound_stone_defaults(),
- full = "default:desert_stonebrick",
- half = "stairs:slab_desert_stonebrick" } )
- 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 = "desert cobble",
- tile = "default_desert_cobble.png",
- sound = default.node_sound_stone_defaults(),
- full = "default:desert_cobble",
- half = "stairs:slab_desert_cobble" } )
- table.insert(nodelist, { name = "stone",
- tile = "default_stone.png",
- sound = default.node_sound_stone_defaults(),
- full = "default:stone",
- half = "stairs:slab_stone" } )
- table.insert(nodelist, { name = "desert stone",
- tile = "default_desert_stone.png",
- sound = default.node_sound_stone_defaults(),
- full = "default:desert_stone",
- half = "stairs:slab_desert_stone" } )
- -- snow
- table.insert(nodelist, { name = "snow", tile = "default_snow.png",
- sound = node_sound_snow_default,
- full = "default:snowblock",
- half = "stairs:slab_snowblock" } )
- -- wood
- 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 = "jungle wood",
- tile = "default_junglewood.png",
- sound = default.node_sound_wood_defaults(),
- full = "default:junglewood",
- half = "stairs:slab_junglewood" } )
- table.insert(nodelist, { name = "aspen wood",
- tile = "default_aspen_wood.png",
- sound = default.node_sound_wood_defaults(),
- full = "default:aspen_wood",
- half = "stairs:slab_aspen_wood" } )
-
- table.insert(nodelist, { name = "acacia wood",
- tile = "default_acacia_wood.png",
- sound = default.node_sound_wood_defaults(),
- full = "default:acacia_wood",
- half = "stairs:slab_acacia_wood" } )
- table.insert(nodelist, { name = "pine wood",
- tile = "default_pine_wood.png",
- sound = default.node_sound_wood_defaults(),
- full = "default:pine_wood",
- half = "stairs:slab_pine_wood" } )
- local adv_track = "advtrains:dtrack_placer"
- -- moreblocks
- if minetest.get_modpath("moreblocks") then
- 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
- -- australia
- 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(":"..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 = { entry.tile, },
- description = d,
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "facedir",
- node_box =
- {
- type = "fixed",
- fixed = {
- {-0.5, -0.5, b/-10, 0.5, -0.4, f/10},
- }
- },
- 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 = { entry.tile, },
- description = d2,
- drawtype = "nodebox",
- paramtype = "light",
- paramtype2 = "facedir",
- node_box =
- {
- type = "fixed",
- fixed = {
- {-0.4, -0.5, b/-10, 0.4, -0.4, f/10},
-
- }
- },
- groups = {choppy = 2, not_blocking_trains = 1,
- oddly_breakable_by_hand = 2,
- },
- sounds = entry.sound,
- on_place = minetest.rotate_node,
-
- })
- local craft = { { "","","" } , { "","","" } , { "","","" } }
-
- craft[3][2] = adv_track
-
- for y = 2,1,-1
- do
- if (b>=5) and (f>=5) then
- b = b-5
- f = f-5
- craft[y][2] = entry.full
- end
- end
- for y = 2,1,-1
- do
- if (b>=10) then
- b = b-10
- craft[y][1] = entry.full
- elseif (b>=5) then
- b = b-5
- craft[y][1] = entry.half
- end
- if (f>=10) then
- f = f-10
- craft[y][3] = entry.full
- elseif (f>=5) then
- f = f-5
- craft[y][3] = entry.half
- end
- end
- -- if (b>0) or (f>0) then
- -- print(h.." b: "..b.." f: "..f)
- -- else
- -- t_aus = ""
- -- for y=1,3 do
- -- for x=1,3 do
- -- t_aus = t_aus .. craft[y][x] .. ", "
- -- end
- -- end
- -- print(h..t_aus)
- -- end
- minetest.register_craft({
- output = own_name..h,
- recipe = craft,
- replacements = { {adv_track,adv_track}, }
- })
- minetest.register_craft({
- output = own_name..h2,
- recipe = { { own_name..h } },
- })
- end
- -- 3 nodes long slope
-
- end
- minetest.register_node(own_name..":version_node", {
- description = own_name.." version node",
- tiles = {own_name.."_version_node.png"},
- groups = {cracky = 3,not_in_creative_inventory=1},
- })
- minetest.register_craft({
- output = own_name..":version_node",
- recipe = {
- { "advtrains_platform:platform_high_cobble" },
- { "advtrains_platform:platform_high_stone" },
- { adv_track },
- },
- })
|