summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Pérez-Cerezo <gabriel@gpcf.eu>2020-10-10 23:32:28 +0200
committerGabriel Pérez-Cerezo <gabriel@gpcf.eu>2020-10-10 23:32:28 +0200
commitd8ababbada84e1625a264a7a534a8360f040e0dd (patch)
tree3a9442bb04e6c3dab4d3af50d7d8b4cb429760ab
downloadforks-modpack-d8ababbada84e1625a264a7a534a8360f040e0dd.tar.gz
forks-modpack-d8ababbada84e1625a264a7a534a8360f040e0dd.tar.bz2
forks-modpack-d8ababbada84e1625a264a7a534a8360f040e0dd.zip
Squashed 'advtrains_platform/' content from commit fce72d6
git-subtree-dir: advtrains_platform git-subtree-split: fce72d6a60aa9053c97e8c5f447e64717eaedf4e
-rw-r--r--depends.txt9
-rw-r--r--init.lua428
-rwxr-xr-xscreenshot.pngbin0 -> 432480 bytes
-rw-r--r--textures/advtrains_platform_version_node.pngbin0 -> 733 bytes
-rwxr-xr-xversion_info36
5 files changed, 473 insertions, 0 deletions
diff --git a/depends.txt b/depends.txt
new file mode 100644
index 0000000..e4772a3
--- /dev/null
+++ b/depends.txt
@@ -0,0 +1,9 @@
+advtrains
+default
+stairs
+moreblocks?
+ethereal?
+maple?
+moreores?
+minetest_errata?
+technic?
diff --git a/init.lua b/init.lua
new file mode 100644
index 0000000..c728022
--- /dev/null
+++ b/init.lua
@@ -0,0 +1,428 @@
+-- all nodes that do not fit in any other category
+-- Author: Och_Noe
+-- Licence: LGPL 2.1
+--
+
+
+local own_name = "advtrains_platform"
+
+
+local function register_platform(on,preset)
+ local ndef=minetest.registered_nodes[preset]
+ if not ndef then
+ minetest.log("warning", " register_platform couldn't find preset node "..preset)
+ return
+ end
+ local btex=ndef.tiles
+ if type(btex)=="table" then
+ btex=btex[1]
+ end
+ local desc=ndef.description or ""
+ local nodename=string.match(preset, ":(.+)$")
+ minetest.register_node(on..":platform_low_"..nodename, {
+ description = attrans("@1 Platform (low)", desc),
+ tiles = {btex.."^advtrains_platform.png", btex, btex, btex, btex, btex},
+ groups = {cracky = 1, not_blocking_trains = 1, platform=1},
+ sounds = default.node_sound_stone_defaults(),
+ drawtype = "nodebox",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.5, -0.1, -0.1, 0.5, 0 , 0.5},
+ {-0.5, -0.5, 0 , 0.5, -0.1, 0.5}
+ },
+ },
+ paramtype2="facedir",
+ paramtype = "light",
+ sunlight_propagates = true,
+ })
+ minetest.register_node(on..":platform_high_"..nodename, {
+ description = attrans("@1 Platform (high)", desc),
+ tiles = {btex.."^advtrains_platform.png", btex, btex, btex, btex, btex},
+ groups = {cracky = 1, not_blocking_trains = 1, platform=2},
+ sounds = default.node_sound_stone_defaults(),
+ drawtype = "nodebox",
+ node_box = {
+ type = "fixed",
+ fixed = {
+ {-0.5, 0.3, -0.1, 0.5, 0.5, 0.5},
+ {-0.5, -0.5, 0 , 0.5, 0.3, 0.5}
+ },
+ },
+ paramtype2="facedir",
+ paramtype = "light",
+ sunlight_propagates = true,
+ })
+ minetest.register_craft({
+ type="shapeless",
+ output = on..":platform_high_"..nodename.." 4",
+ recipe = {
+ "dye:yellow", preset, preset
+ },
+ })
+ minetest.register_craft({
+ type="shapeless",
+ output = on..":platform_low_"..nodename.." 4",
+ recipe = {
+ "dye:yellow", preset
+ },
+ })
+end
+
+
+
+-- 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",
+}
+
+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",
+}
+
+list_ethereal = {
+ "ethereal:icebrick",
+ "ethereal:bamboo_dirt" }
+
+
+-- 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" }
+
+
+list_wood_maple = {
+ "maple:maple_wood" }
+
+
+
+-- metal blocks
+
+list_moreores = {
+ "moreores:mithril_block" }
+
+
+-- wool
+
+-- ?
+
+
+-- technic - added 2019-03-11
+
+list_technic = {
+ "technic:marble" }
+
+
+
+for _,name in pairs(list_default) do
+ register_platform(own_name,name)
+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
+
+
+
+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 = "" } )
+
+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(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 _,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 },
+ },
+ })
+
diff --git a/screenshot.png b/screenshot.png
new file mode 100755
index 0000000..6576bbb
--- /dev/null
+++ b/screenshot.png
Binary files differ
diff --git a/textures/advtrains_platform_version_node.png b/textures/advtrains_platform_version_node.png
new file mode 100644
index 0000000..fe617d2
--- /dev/null
+++ b/textures/advtrains_platform_version_node.png
Binary files differ
diff --git a/version_info b/version_info
new file mode 100755
index 0000000..30a7fd0
--- /dev/null
+++ b/version_info
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+find *.lua *.txt textures -type f | fgrep -v textures/advtrains_platform_version_node.png | head -12 >.filelist
+
+echo -n "" >.datelist
+
+cat .filelist | while read line ; do
+ echo "$(date --iso=m -r ${line}) ${line}" >>.datelist
+done
+
+
+
+(echo "$(date --iso=m) [$(basename "$(realpath . )")]" ; cat .datelist | sed 's/ textures/ t/' | sort -r ) | anytopnm >.image
+
+WIDTH=$(head -2 .image | tail -1 | awk '{ print $1 }')
+HEIGHT=$(head -2 .image | tail -1 | awk '{ print $2 }')
+
+echo $WIDTH
+echo $HEIGHT
+
+if [ $WIDTH -gt $HEIGHT ] ; then
+ ppmmake white 1 $((WIDTH-HEIGHT)) >.image_temp
+ pnmcat -tb .image .image_temp >.image2
+fi
+
+if [ $WIDTH -lt $HEIGHT ] ; then
+ ppmmake white $((HEIGHT-WIDTH)) 1 >.image_temp
+ pnmcat -lr .image .image_temp >.image2
+fi
+
+
+pnmtopng .image2 >textures/advtrains_platform_version_node.png
+
+
+
+