12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- if not minetest.global_exists("default") then default = {} end
- if not minetest.global_exists("fencelike") then fencelike = {} end
- fencelike.modpath = minetest.get_modpath("fencelike")
- --
- -- Fence registration helper
- --
- function default.register_fence(name, def)
- minetest.register_craft({
- output = name .. " 4",
- recipe = {
- { def.material, 'group:stick', def.material },
- { def.material, 'group:stick', def.material },
- }
- })
- local fence_texture = "default_fence_overlay.png^" .. def.texture ..
- "^default_fence_overlay.png^[makealpha:255,126,126"
- -- Allow almost everything to be overridden
- local default_fields = {
- paramtype = "light",
- drawtype = "nodebox",
- node_box = {
- type = "connected",
- fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}},
- -- connect_top =
- -- connect_bottom =
- connect_front = {{-1/16,3/16,-1/2,1/16,5/16,-1/8},
- {-1/16,-5/16,-1/2,1/16,-3/16,-1/8}},
- connect_left = {{-1/2,3/16,-1/16,-1/8,5/16,1/16},
- {-1/2,-5/16,-1/16,-1/8,-3/16,1/16}},
- connect_back = {{-1/16,3/16,1/8,1/16,5/16,1/2},
- {-1/16,-5/16,1/8,1/16,-3/16,1/2}},
- connect_right = {{1/8,3/16,-1/16,1/2,5/16,1/16},
- {1/8,-5/16,-1/16,1/2,-3/16,1/16}},
- },
- connects_to = {"group:fence", "group:wood", "group:tree"},
- inventory_image = fence_texture,
- wield_image = fence_texture,
- tiles = {def.texture},
- sunlight_propagates = true,
- is_ground_content = false,
- groups = {},
- }
- for k, v in pairs(default_fields) do
- if not def[k] then
- def[k] = v
- end
- end
- -- Always add to the fence group, even if no group provided
- def.groups.fence = 1
- def.texture = nil
- def.material = nil
- minetest.register_node(name, def)
- end
|