mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Fix covered node rendering, update doc. Fix default inventory image for covered/sunken nodes.
This commit is contained in:
parent
a91e532b29
commit
d14f2f4bdd
4 changed files with 20 additions and 87 deletions
|
@ -150,14 +150,6 @@ local function preprocess_node(nodedef)
|
|||
if nodedef.liquidtype == "flowing" then
|
||||
nodedef.paramtype2 = "flowingliquid"
|
||||
end
|
||||
|
||||
if itemdef.type == "node" and (itemdef.drawtype == "sunken" or itemdef.drawtype == "covered") then
|
||||
if not core.registered_nodes[itemdef.inner_node] then
|
||||
error("Unable to register item " .. name .. ": Inner node not registered: " .. itemdef.inner_node)
|
||||
end
|
||||
else
|
||||
itemdef.inner_node = nil
|
||||
end
|
||||
end
|
||||
|
||||
local function preprocess_craft(itemdef)
|
||||
|
|
|
@ -1611,7 +1611,7 @@ There are a bunch of different looking node types.
|
|||
* `covered`
|
||||
* Can be used to draw covered nodes like historical vases, sculptures, etc covered by sand.
|
||||
* It first renders the node defined in metadata fields `inner_node` and `inner_param2`
|
||||
and after it normal/leveled node around it.
|
||||
and after it leveled nodebox node around it.
|
||||
* By changing the level of the node, the covered node can be fully or partially covered/uncovered.
|
||||
|
||||
`*_optional` drawtypes need less rendering time if deactivated
|
||||
|
|
|
@ -1,31 +1,8 @@
|
|||
local S = minetest.get_translator("testnodes")
|
||||
|
||||
-- Sunken node example.
|
||||
minetest.register_node("testnodes:sunken_torchlike", {
|
||||
description = "Sunken Torchlike Test Node in Liquid Source Range 5",
|
||||
drawtype = "sunken",
|
||||
tiles = {"testnodes_liquidsource_r5.png"},
|
||||
special_tiles = {
|
||||
{name = "testnodes_liquidsource_r5.png", backface_culling = false},
|
||||
{name = "testnodes_liquidsource_r5.png", backface_culling = true},
|
||||
},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "testnodes:rliquid_flowing_5",
|
||||
liquid_alternative_source = "testnodes:rliquid_5",
|
||||
--liquid_alternative_flowing = "testnodes:sunken_torchlike",
|
||||
--liquid_alternative_source = "testnodes:sunken_torchlike",
|
||||
liquid_range = 5,
|
||||
|
||||
inner_node = "testnodes:torchlike",
|
||||
})
|
||||
|
||||
minetest.register_node("testnodes:sunken_nodebox", {
|
||||
description = "Sunken Nodebox Test Node in Liquid Source Range 5",
|
||||
minetest.register_node("testnodes:sunken_ls_r5", {
|
||||
description = "Sunken Test Node in Liquid Source Range 5",
|
||||
drawtype = "sunken",
|
||||
tiles = {"testnodes_liquidsource_r5.png"},
|
||||
special_tiles = {
|
||||
|
@ -44,68 +21,32 @@ minetest.register_node("testnodes:sunken_nodebox", {
|
|||
--liquid_alternative_source = "testnodes:sunken_nodebox",
|
||||
liquid_range = 5,
|
||||
|
||||
inner_node = "testnodes:nodebox_fixed",
|
||||
})
|
||||
|
||||
minetest.register_node("testnodes:sunken_mesh", {
|
||||
description = "Sunken Mesh Test Node in Liquid Source Range 5",
|
||||
drawtype = "sunken",
|
||||
tiles = {"testnodes_liquidsource_r5.png"},
|
||||
special_tiles = {
|
||||
{name = "testnodes_liquidsource_r5.png", backface_culling = false},
|
||||
{name = "testnodes_liquidsource_r5.png", backface_culling = true},
|
||||
},
|
||||
use_texture_alpha = "blend",
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
buildable_to = true,
|
||||
is_ground_content = false,
|
||||
liquidtype = "source",
|
||||
liquid_alternative_flowing = "testnodes:rliquid_flowing_5",
|
||||
liquid_alternative_source = "testnodes:rliquid_5",
|
||||
--liquid_alternative_flowing = "testnodes:sunken_nodebox",
|
||||
--liquid_alternative_source = "testnodes:sunken_nodebox",
|
||||
liquid_range = 5,
|
||||
|
||||
inner_node = "testnodes:mesh",
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("inner_node", "testnodes:mesh")
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- Covered node example.
|
||||
-- An simple example nodebox with one centered box
|
||||
minetest.register_node("testnodes:covered_torchlike_node", {
|
||||
description = S("Covered Tochlike Test Node").."\n"..
|
||||
S("Torchlike node inside"),
|
||||
tiles = { "testnodes_glasslike.png" },
|
||||
drawtype = "covered",
|
||||
paramtype = "light",
|
||||
|
||||
inner_node = "testnodes:torchlike",
|
||||
|
||||
groups = {dig_immediate=3},
|
||||
})
|
||||
|
||||
minetest.register_node("testnodes:covered_nodebox_node", {
|
||||
description = S("Covered Fixed Nodebox Test Node").."\n"..
|
||||
S("Torchlike node inside"),
|
||||
tiles = { "testnodes_glasslike.png" },
|
||||
drawtype = "covered",
|
||||
paramtype = "light",
|
||||
|
||||
inner_node = "testnodes:nodebox_fixed",
|
||||
|
||||
groups = {dig_immediate=3},
|
||||
})
|
||||
|
||||
minetest.register_node("testnodes:covered_mesh_node", {
|
||||
description = S("Covered Fixed Mesh Test Node").."\n"..
|
||||
minetest.register_node("testnodes:covered_nodebox", {
|
||||
description = S("Covered Test Node in Nodebox Test Node").."\n"..
|
||||
S("Torchlike node inside"),
|
||||
tiles = { "testnodes_nodebox.png" },
|
||||
drawtype = "covered",
|
||||
paramtype2 = "leveled",
|
||||
paramtype = "light",
|
||||
|
||||
inner_node = "testnodes:mesh",
|
||||
node_box = {
|
||||
type = "leveled",
|
||||
fixed = {-0.5, 0.0, -0.5, 0.5, -0.499, 0.5},
|
||||
},
|
||||
|
||||
groups = {dig_immediate=3},
|
||||
|
||||
on_construct = function(pos)
|
||||
local meta = minetest.get_meta(pos)
|
||||
meta:set_string("inner_node", "testnodes:mesh")
|
||||
end,
|
||||
})
|
||||
|
||||
|
|
|
@ -1820,7 +1820,7 @@ void MapblockMeshGenerator::drawCoveredNode()
|
|||
cur_node.f = store_f;
|
||||
}
|
||||
|
||||
drawSolidNode();
|
||||
drawNodeboxNode();
|
||||
}
|
||||
|
||||
// also called when the drawtype is known but should have been pre-converted
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue