Compare commits

...

1 Commits

Author SHA1 Message Date
Mikita Wiśniewski 997fe6ecc4 Add new `supported_node_facedir` group and apply it to item frames
This group acts similarly to `supported_node`: it checks whether the
node behind is airlike (in which case the node is dropped as an item).
This change should fix item frames not placing on chests and similar
blocks, as reported by Bear123 on Discord.
2024-05-14 12:06:27 +07:00
2 changed files with 12 additions and 1 deletions

View File

@ -94,5 +94,16 @@ function minetest.check_single_for_falling(pos)
end
end
if get_item_group(node.name, "supported_node_facedir") ~= 0 then
local dir = facedir_to_dir(node.param2)
if dir then
local def = registered_nodes[get_node(vector.add(pos, dir)).name]
if def and def.drawtype == "airlike" then
drop_attached_node(pos)
return true
end
end
end
return false
end

View File

@ -638,7 +638,7 @@ function mcl_itemframes.create_base_definitions()
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
groups = { dig_immediate = 3, deco_block = 1, dig_by_piston = 1, container = 1, attached_node_facedir = 1 },
groups = { dig_immediate = 3, deco_block = 1, dig_by_piston = 1, container = 1, supported_node_facedir = 1 },
sounds = mcl_sounds.node_sound_defaults(),
node_placement_prediction = "",