Skip to content

Commit 60a7cdc

Browse files
committed
Fix crafting for fences etc. starting with colon
1 parent 5116192 commit 60a7cdc

File tree

1 file changed

+44
-26
lines changed

1 file changed

+44
-26
lines changed

mods/default/functions.lua

+44-26
Original file line numberDiff line numberDiff line change
@@ -309,14 +309,6 @@ end
309309
local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0
310310

311311
function default.register_fence(name, def)
312-
minetest.register_craft({
313-
output = name .. " 4",
314-
recipe = {
315-
{ def.material, 'group:stick', def.material },
316-
{ def.material, 'group:stick', def.material },
317-
}
318-
})
319-
320312
local fence_texture = "default_fence_overlay.png^" .. def.texture ..
321313
"^default_fence_overlay.png^[makealpha:255,126,126"
322314
-- Allow almost everything to be overridden
@@ -364,10 +356,24 @@ function default.register_fence(name, def)
364356
-- Always add to the fence group, even if no group provided
365357
def.groups.fence = 1
366358

359+
local material = def.material
367360
def.texture = nil
368361
def.material = nil
369362

370363
minetest.register_node(name, def)
364+
365+
-- Register crafting recipe, trim away starting colon if any
366+
if not material then return end
367+
if string.sub(name, 1,1) == ":" then
368+
name = string.sub(name, 2)
369+
end
370+
minetest.register_craft({
371+
output = name .. " 4",
372+
recipe = {
373+
{ material, 'group:stick', material },
374+
{ material, 'group:stick', material },
375+
}
376+
})
371377
end
372378

373379

@@ -376,15 +382,6 @@ end
376382
--
377383

378384
function default.register_fence_rail(name, def)
379-
minetest.register_craft({
380-
output = name .. " 16",
381-
recipe = {
382-
{ def.material, def.material },
383-
{ "", ""},
384-
{ def.material, def.material },
385-
}
386-
})
387-
388385
local fence_rail_texture = "default_fence_rail_overlay.png^" .. def.texture ..
389386
"^default_fence_rail_overlay.png^[makealpha:255,126,126"
390387
-- Allow almost everything to be overridden
@@ -433,26 +430,32 @@ function default.register_fence_rail(name, def)
433430
-- Always add to the fence group, even if no group provided
434431
def.groups.fence = 1
435432

433+
local material = def.material
436434
def.texture = nil
437435
def.material = nil
438436

439437
minetest.register_node(name, def)
438+
439+
-- Register crafting recipe, trim away starting colon if any
440+
if not material then return end
441+
if string.sub(name, 1,1) == ":" then
442+
name = string.sub(name, 2)
443+
end
444+
minetest.register_craft({
445+
output = name .. " 16",
446+
recipe = {
447+
{ material, material },
448+
{ "", ""},
449+
{ material, material },
450+
}
451+
})
440452
end
441453

442454
--
443455
-- Mese post registration helper
444456
--
445457

446458
function default.register_mesepost(name, def)
447-
minetest.register_craft({
448-
output = name .. " 4",
449-
recipe = {
450-
{'', 'default:glass', ''},
451-
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
452-
{'', def.material, ''},
453-
}
454-
})
455-
456459
local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0"
457460
local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0"
458461
-- Allow almost everything to be overridden
@@ -480,10 +483,25 @@ function default.register_mesepost(name, def)
480483
end
481484
end
482485

486+
local material = def.material
483487
def.texture = nil
484488
def.material = nil
485489

486490
minetest.register_node(name, def)
491+
492+
-- Register crafting recipe, trim away starting colon if any
493+
if not material then return end
494+
if string.sub(name, 1,1) == ":" then
495+
name = string.sub(name, 2)
496+
end
497+
minetest.register_craft({
498+
output = name .. " 4",
499+
recipe = {
500+
{'', 'default:glass', ''},
501+
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
502+
{'', def.material, ''},
503+
}
504+
})
487505
end
488506

489507
--

0 commit comments

Comments
 (0)