2024-01-05 19:42:33 +08:00

273 lines
6.6 KiB
Lua

-- trainblocks/init.lua
-- Adds signs fitting the advtrains theme
--[[
Copyright (C) 2018 maxx, LuLa, gpcf
Copyright (C) 2024 1F616EMO
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
]]
minetest.register_node("trainblocks:subwayblock", {
description = "Subwayblock",
light_source = 8,
tiles = {
"down_subwayblock.png",
"down_subwayblock.png",
"front_subwayblock.png",
"front_subwayblock.png",
"front_subwayblock.png",
"front_subwayblock.png"
},
is_ground_content = true,
groups = { cracky = 3 },
drop = "trainblocks:subwayblock"
})
minetest.register_node("trainblocks:sbahnblock", {
description = "Sbahnblock",
light_source = 8,
tiles = {
"down_sbahnblock.png",
"down_sbahnblock.png",
"front_sbahnblock.png",
"front_sbahnblock.png",
"front_sbahnblock.png",
"front_sbahnblock.png"
},
is_ground_content = true,
groups = { cracky = 3 },
drop = "trainblocks:sbahnblock"
})
for count = 1, 10, 1 do
minetest.register_node("trainblocks:line" .. count, {
description = "Line " .. count,
tiles = { "front_line" .. count .. ".png" },
drawtype = "nodebox",
paramtype2 = "wallmounted",
legacy_wallmounted = true,
paramtype = "light",
light_source = 12,
sunlight_propagates = true,
is_ground_content = false,
walkable = false,
groups = { choppy = 2, attached_node = 1, flammable = 2, oddly_breakable_by_hand = 3 },
node_box = {
type = "wallmounted",
wall_top = { -0.5, -0.25, -0.25, -0.4375, 0.25, 0.25 },
wall_bottom = { -0.5, -0.25, -0.25, -0.4375, 0.25, 0.25 },
wall_side = { -0.5, -0.25, -0.25, -0.4375, 0.25, 0.25 },
}
})
minetest.register_node("trainblocks:platformsign" .. count, {
description = "Platform Sign " .. count,
drawtype = "nodebox",
tiles = { "front_platform" .. count .. ".png" },
inventory_image = "inventory_platform" .. count .. ".png",
light_source = 5,
groups = { cracky = 3 },
paramtype2 = "facedir",
paramtype = 'light',
node_box = {
type = "fixed",
fixed = {
{ -4 / 16, -4 / 16, 6 / 16, 4 / 16, 4 / 16, 8 / 16 },
},
},
})
end
minetest.register_node("trainblocks:subwaysignL", {
description = "Subway Sign Left",
tiles = {
"subway_sign3.png",
"subway_sign3.png",
"subway_sign3.png",
"subway_sign3.png",
"subway_sign2.png",
"subway_sign2.png^[transformFX",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -8 / 16, -5 / 16, 6 / 16, 8 / 16, 5 / 16, 8 / 16 },
},
},
paramtype2 = "facedir",
paramtype = 'light',
light_source = 6,
is_ground_content = false,
groups = { cracky = 3 },
})
minetest.register_node("trainblocks:subwaysignR", {
description = "Subway Sign Right",
tiles = {
"subway_sign3.png",
"subway_sign3.png",
"subway_sign3.png",
"subway_sign3.png",
"subway_sign2.png",
"subway_sign2.png",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -8 / 16, -5 / 16, 6 / 16, 8 / 16, 5 / 16, 8 / 16 },
},
},
paramtype2 = "facedir",
paramtype = 'light',
light_source = 6,
is_ground_content = false,
groups = { cracky = 3 },
})
minetest.register_node("trainblocks:sbahnsignL", {
description = "SBahn Sign Left",
tiles = {
"sbahn_sign3.png",
"sbahn_sign3.png",
"sbahn_sign3.png",
"sbahn_sign3.png",
"sbahn_sign2l.png",
"sbahn_sign2l.png^[transformFX",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -8 / 16, -5 / 16, 6 / 16, 8 / 16, 5 / 16, 8 / 16 },
},
},
paramtype2 = "facedir",
paramtype = 'light',
light_source = 6,
is_ground_content = false,
groups = { cracky = 3 },
})
minetest.register_node("trainblocks:sbahnsignR", {
description = "SBahn Sign Right",
tiles = {
"sbahn_sign3.png",
"sbahn_sign3.png",
"sbahn_sign3.png",
"sbahn_sign3.png",
"sbahn_sign2.png",
"sbahn_sign2.png",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -8 / 16, -5 / 16, 6 / 16, 8 / 16, 5 / 16, 8 / 16 },
},
},
paramtype2 = "facedir",
paramtype = 'light',
light_source = 6,
is_ground_content = false,
groups = { cracky = 3 },
})
minetest.register_node("trainblocks:stationsignR", {
description = "Station Sign Right",
tiles = {
"station_sign3.png",
"station_sign3.png",
"station_sign3.png",
"station_sign3.png",
"station_sign2.png",
"station_sign2.png",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -8 / 16, -5 / 16, 6 / 16, 8 / 16, 5 / 16, 8 / 16 },
},
},
paramtype2 = "facedir",
paramtype = 'light',
light_source = 6,
is_ground_content = false,
groups = { cracky = 3 },
})
minetest.register_node("trainblocks:stationsignL", {
description = "Station Sign Left",
tiles = {
"station_sign3.png",
"station_sign3.png",
"station_sign3.png",
"station_sign3.png",
"station_sign2.png",
"station_sign2.png^[transformFX",
},
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{ -8 / 16, -5 / 16, 6 / 16, 8 / 16, 5 / 16, 8 / 16 },
},
},
paramtype2 = "facedir",
paramtype = 'light',
light_source = 6,
is_ground_content = false,
groups = { cracky = 3 },
})
minetest.register_node("trainblocks:station_block", {
description = "Station Block",
light_source = 8,
tiles = {
"down_station_sign.png",
"down_station_sign.png",
"front_station_sign.png",
"front_station_sign.png",
"front_station_sign.png",
"front_station_sign.png"
},
is_ground_content = true,
groups = { cracky = 3 },
drop = "trainblocks:station_block"
})
minetest.register_node("trainblocks:mr", {
description = "Mountain Railway Block",
light_source = 8,
tiles = {
"down_mr.png",
"down_mr.png",
"front_mr.png",
"front_mr.png",
"front_mr.png",
"front_mr.png"
},
is_ground_content = true,
groups = { cracky = 3 },
drop = "trainblocks:sbahnblock"
})
dofile(minetest.get_modpath("trainblocks") .. "/craft.lua")
dofile(minetest.get_modpath("trainblocks") .. "/alias.lua")