### Fence gate definition
description = "Wooden Fence Gate",
- texture = "default_wood.png",
+ texture = "default_wood.png", -- `backface_culling` will automatically be
+ -- set to `true` if not specified.
material = "default:wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults(), -- optional
local def_closed = table.copy(def)
def_opened.mesh = "chest_open.obj"
+ for i = 1, #def_opened.tiles do
+ if type(def_opened.tiles[i]) == "string" then
+ def_opened.tiles[i] = {name = def_opened.tiles[i], backface_culling = true}
+ elseif def_opened.tiles[i].backface_culling == nil then
+ def_opened.tiles[i].backface_culling = true
+ end
+ end
def_opened.drop = "default:" .. name
def_opened.groups.not_in_creative_inventory = 1
def_opened.selection_box = {
type = "fixed",
fixed = { -1/2, -1/2, -1/2, 1/2, 3/16, 1/2 },
- }
+ }
def_opened.can_dig = function()
return false
end
local fence = {
description = def.description,
drawtype = "mesh",
- tiles = {def.texture},
+ tiles = {},
paramtype = "light",
paramtype2 = "facedir",
sunlight_propagates = true,
},
}
+
+ if type(def.texture) == "string" then
+ fence.tiles[1] = {name = def.texture, backface_culling = true}
+ elseif def.texture.backface_culling == nil then
+ fence.tiles[1] = table.copy(def.texture)
+ fence.tiles[1].backface_culling = true
+ else
+ fence.tiles[1] = def.texture
+ end
+
if not fence.sounds then
fence.sounds = default.node_sound_wood_defaults()
end