Compare commits

...

2 Commits

Author SHA1 Message Date
codiac 52876a949c Convert stairs to nodebox 2024-08-10 19:02:27 +07:00
cora d58fe78e46 Fix some cornerstairs missing textures 2024-08-10 18:57:55 +07:00
2 changed files with 18 additions and 25 deletions

View File

@ -93,17 +93,29 @@ function mcl_stairs.register_stair(subname, recipeitem, groups, images, descript
groups.stair = 1
groups.building_block = 1
local image_table = {}
for i, image in ipairs(images) do
image_table[i] = type(image) == "string" and { name = image } or table.copy(image)
image_table[i].align_style = "world"
end
minetest.register_node(":mcl_stairs:stair_" .. subname, {
description = description,
_doc_items_longdesc = S("Stairs are useful to reach higher places by walking over them; jumping is not required. Placing stairs in a corner pattern will create corner stairs. Stairs placed on the ceiling or at the upper half of the side of a block will be placed upside down."),
drawtype = "mesh",
mesh = "stairs_stair.obj",
tiles = images,
drawtype = "nodebox",
tiles = image_table,
paramtype = "light",
paramtype2 = "facedir",
is_ground_content = false,
groups = groups,
sounds = sounds,
node_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0, 0.5},
{-0.5, 0, 0, 0.5, 0.5, 0.5},
},
},
selection_box = {
type = "fixed",
fixed = {

View File

@ -207,31 +207,12 @@ function mcl_stairs.cornerstair.add(name, stairtiles)
local node_def = minetest.registered_nodes[name]
local outer_tiles
local inner_tiles
if stairtiles == "woodlike" then
outer_tiles = table.copy(node_def.tiles)
inner_tiles = table.copy(node_def.tiles)
for i=2,6 do
if outer_tiles[i] == nil then
outer_tiles[i] = outer_tiles[i-1]
end
if inner_tiles[i] == nil then
inner_tiles[i] = inner_tiles[i-1]
end
end
local t = node_def.tiles[1]
outer_tiles[1] = t.."^("..t.."^[transformR90^mcl_stairs_turntexture.png^[makealpha:255,0,255)"
outer_tiles[2] = t.."^("..t.."^mcl_stairs_turntexture.png^[transformR270^[makealpha:255,0,255)"
outer_tiles[3] = t
inner_tiles[1] = t.."^("..t.."^[transformR90^(mcl_stairs_turntexture.png^[transformR180)^[makealpha:255,0,255)"
inner_tiles[2] = t.."^("..t.."^[transformR270^(mcl_stairs_turntexture.png^[transformR90)^[makealpha:255,0,255)"
inner_tiles[3] = t
elseif stairtiles == nil or stairtiles == "default" then
outer_tiles = node_def.tiles
inner_tiles = node_def.tiles
else
if stairtiles ~= nil and stairtiles ~= "default" and stairtiles ~= "woodlike" then
outer_tiles = stairtiles[1]
inner_tiles = stairtiles[2]
end
if inner_tiles == nil then inner_tiles = node_def.tiles end
if outer_tiles == nil then outer_tiles = node_def.tiles end
local outer_groups = table.copy(node_def.groups)
outer_groups.not_in_creative_inventory = 1
local inner_groups = table.copy(outer_groups)