1
0
mirror of https://github.com/mt-mods/homedecor_modpack.git synced 2024-12-28 18:50:21 +01:00
homedecor_modpack/building_blocks/node_stairs.lua
wsor4035 0d5cab9455
replace hardcoded game agnostic texture support and homedecor.textures to xcompat (#66)
* switch existing to xcompat textures

* replace the rest of the hard coded texture conversions to use homedecor.textures
2024-03-03 15:52:58 -05:00

255 lines
7.4 KiB
Lua

local S = minetest.get_translator("building_blocks")
local function building_blocks_stairs(nodename, def)
if def.groups and (def.groups.crumbly or def.groups.oddly_breakable_by_hand) then
def.groups["handy"]=1
def._mcl_hardness=0.6
elseif def.groups and (def.groups.snappy or def.groups.choppy) then
def.groups["axey"]=5
def._mcl_hardness=1.6
elseif def.groups and (def.groups.cracky or def.groups.crumbly) then
def.groups["pickaxey"]=5
def._mcl_hardness=1.6
end
def.is_ground_content = def.is_ground_content == true
minetest.register_node(nodename, def)
if minetest.get_modpath("moreblocks") then
local mod, name = nodename:match("(.*):(.*)")
stairsplus:register_all(mod, name, nodename, def)
minetest.register_alias("stairs:slab_" .. name, mod .. ":slab_" .. name)
minetest.register_alias("stairs:stair_" .. name, mod .. ":stair_" .. name)
minetest.register_alias("stairs:stair_inner_" .. name, mod .. ":stair_" .. name .. "_inner")
minetest.register_alias("stairs:stair_outer_" .. name, mod .. ":stair_" .. name .. "_outer")
end
end
building_blocks_stairs("building_blocks:grate", {
drawtype = "glasslike",
description = S("Grate"),
tiles = {"building_blocks_grate.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {cracky=1, dig_generic=3},
_sound_def = {
key = "node_sound_metal_defaults",
},
})
building_blocks_stairs("building_blocks:smoothglass", {
drawtype = "glasslike",
description = S("Streak Free Glass"),
tiles = {"building_blocks_sglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
_sound_def = {
key = "node_sound_glass_defaults",
},
})
building_blocks_stairs("building_blocks:woodglass", {
drawtype = "glasslike",
description = S("Wood Framed Glass"),
tiles = {"building_blocks_wglass.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
use_texture_alpha = "clip",
groups = {snappy=3,cracky=3,oddly_breakable_by_hand=3},
_sound_def = {
key = "node_sound_glass_defaults",
},
})
building_blocks_stairs("building_blocks:Adobe", {
tiles = {"building_blocks_Adobe.png"},
description = S("Adobe"),
is_ground_content = false,
groups = {crumbly=3, dig_stone=2},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
local grasstex = {
homedecor.textures.grass.top,
homedecor.textures.grass.dirt,
homedecor.textures.grass.side
}
building_blocks_stairs("building_blocks:fakegrass", {
tiles = grasstex,
description = S("Fake Grass"),
is_ground_content = false,
groups = {crumbly=3, dig_sand=3},
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
building_blocks_stairs("building_blocks:hardwood", {
tiles = {"building_blocks_hardwood.png"},
is_ground_content = false,
description = S("Hardwood"),
groups = {choppy=1,flammable=1, dig_tree=1},
_sound_def = {
key = "node_sound_wood_defaults",
},
})
building_blocks_stairs("building_blocks:Roofing", {
tiles = {"building_blocks_Roofing.png"},
is_ground_content = false,
description = S("Roof block"),
groups = {snappy=3, dig_generic=4},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
building_blocks_stairs("building_blocks:Tar", {
description = S("Tar"),
tiles = {"building_blocks_tar.png"},
is_ground_content = false,
groups = {crumbly=1, tar_block = 1, dig_generic=4},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
building_blocks_stairs("building_blocks:Marble", {
description = S("Marble"),
tiles = {"building_blocks_marble.png"},
is_ground_content = false,
groups = {cracky=3, marble = 1, dig_stone=2},
_sound_def = {
key = "node_sound_stone_defaults",
},
})
minetest.register_node("building_blocks:brobble_spread", {
drawtype = "raillike",
-- Translators: "Brobble" is a portmanteau of "Brick" and "Cobble".
-- Translate however you see fit.
description = S("Brobble Spread"),
tiles = {"building_blocks_brobble.png"},
inventory_image = "building_blocks_brobble_spread_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
if not minetest.get_modpath("moreblocks") or not minetest.get_modpath("gloopblocks") then
local graveltex = homedecor.textures.gravel
minetest.register_node("building_blocks:gravel_spread", {
drawtype = "raillike",
description = S("Gravel Spread"),
tiles = {graveltex},
inventory_image = "building_blocks_gravel_spread_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = false,
groups = {crumbly=2, dig_generic=4, handy=1},
_mcl_hardness=0.6,
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
end
minetest.register_node("building_blocks:Tarmac_spread", {
drawtype = "raillike",
description = S("Tarmac Spread"),
tiles = {"building_blocks_tar.png"},
inventory_image = "building_blocks_tar_spread_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky=3, dig_generic=4, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_dirt_defaults",
},
})
minetest.register_node("building_blocks:terrycloth_towel", {
drawtype = "raillike",
description = S("Terrycloth towel"),
tiles = {"building_blocks_towel.png"},
inventory_image = "building_blocks_towel_inv.png",
paramtype = "light",
walkable = false,
selection_box = {
type = "fixed",
-- but how to specify the dimensions for curved and sideways rails?
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
minetest.register_node("building_blocks:BWtile", {
drawtype = "nodebox",
description = S("Chess board tiling"),
tiles = {
"building_blocks_BWtile.png",
"building_blocks_BWtile.png^[transformR90",
"building_blocks_BWtile.png^[transformR90",
"building_blocks_BWtile.png^[transformR90",
"building_blocks_BWtile.png",
"building_blocks_BWtile.png"
},
inventory_image = "building_blocks_bwtile_inv.png",
paramtype = "light",
walkable = false,
node_box = {
type = "fixed",
fixed = {-1/2, -1/2, -1/2, 1/2, -1/2+1/16, 1/2},
},
sunlight_propagates = true,
is_ground_content = false,
groups = {crumbly=3, dig_generic=4, handy=1},
_mcl_hardness=0.6
})
minetest.register_node("building_blocks:Fireplace", {
description = S("Fireplace"),
tiles = {
"building_blocks_cast_iron.png",
"building_blocks_cast_iron.png",
"building_blocks_cast_iron.png",
"building_blocks_cast_iron_fireplace.png"
},
paramtype = "light",
paramtype2 = "facedir",
light_source = minetest.LIGHT_MAX,
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky=2, dig_generic=4, pickaxey=5},
_mcl_hardness=1.6,
_sound_def = {
key = "node_sound_stone_defaults",
},
})