diff --git a/mods/default/crafting.lua b/mods/default/crafting.lua index 520ea6de..ecbe9d12 100644 --- a/mods/default/crafting.lua +++ b/mods/default/crafting.lua @@ -300,51 +300,6 @@ minetest.register_craft({ } }) -minetest.register_craft({ - output = "default:mese_post_light 3", - recipe = { - {"", "default:glass", ""}, - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "default:wood", ""}, - } -}) - -minetest.register_craft({ - output = "default:mese_post_light_acaciawood 3", - recipe = { - {"", "default:glass", ""}, - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "default:acacia_wood", ""}, - } -}) - -minetest.register_craft({ - output = "default:mese_post_light_junglewood 3", - recipe = { - {"", "default:glass", ""}, - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "default:junglewood", ""}, - } -}) - -minetest.register_craft({ - output = "default:mese_post_light_pine_wood 3", - recipe = { - {"", "default:glass", ""}, - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "default:pine_wood", ""}, - } -}) - -minetest.register_craft({ - output = "default:mese_post_light_aspen_wood 3", - recipe = { - {"", "default:glass", ""}, - {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"}, - {"", "default:aspen_wood", ""}, - } -}) - minetest.register_craft({ output = "default:obsidian", recipe = { diff --git a/mods/default/functions.lua b/mods/default/functions.lua index f67eadff..b8f2aa85 100644 --- a/mods/default/functions.lua +++ b/mods/default/functions.lua @@ -406,6 +406,51 @@ function default.register_fence_rail(name, def) minetest.register_node(name, def) end +-- +-- Mese post registration helper +-- + +function default.register_mesepost(name, def) + minetest.register_craft({ + output = name .. " 4", + recipe = { + {'', 'default:glass', ''}, + {'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, + {' ', def.material, ''}, + } + }) + + local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:255,126,126" + local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:255,126,126" + -- Allow almost everything to be overridden + local default_fields = { + wield_image = post_texture, + drawtype = "nodebox", + node_box = { + type = "fixed", + fixed = { + {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, + }, + }, + paramtype = "light", + tiles = {def.texture, def.texture, post_texture_dark, post_texture_dark, post_texture, post_texture}, + light_source = default.LIGHT_MAX, + sunlight_propagates = true, + is_ground_content = false, + groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, + sounds = default.node_sound_wood_defaults(), + } + for k, v in pairs(default_fields) do + if def[k] == nil then + def[k] = v + end + end + + def.texture = nil + def.material = nil + + minetest.register_node(name, def) +end -- -- Leafdecay diff --git a/mods/default/nodes.lua b/mods/default/nodes.lua index f78bea50..c6a6cae3 100644 --- a/mods/default/nodes.lua +++ b/mods/default/nodes.lua @@ -2839,124 +2839,34 @@ minetest.register_node("default:meselamp", { light_source = default.LIGHT_MAX, }) -minetest.register_node("default:mese_post_light", { +default.register_mesepost("default:mese_post_light", { description = S("Apple Wood Mese Post Light"), - tiles = {"default_wood.png", "default_wood.png", - "default_wood.png^default_mese_post_light_side_dark.png", - "default_wood.png^default_mese_post_light_side_dark.png", - "default_wood.png^default_mese_post_light_side.png", - "default_wood.png^default_mese_post_light_side.png" - }, - wield_image = "default_mese_post_light_side.png", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX, - sunlight_propagates = true, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), + texture = "default_fence_wood.png", + material = "default:wood", }) -minetest.register_node("default:mese_post_light_acaciawood", { +default.register_mesepost("default:mese_post_light_acacia", { description = S("Acacia Wood Mese Post Light"), - tiles = {"default_acacia_wood.png", "default_acacia_wood.png", - "default_acacia_wood.png^default_mese_post_light_side_dark.png", - "default_acacia_wood.png^default_mese_post_light_side_dark.png", - "default_acacia_wood.png^default_mese_post_light_side.png", - "default_acacia_wood.png^default_mese_post_light_side.png" - }, - wield_image = "default_mese_post_light_side.png", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX, - sunlight_propagates = true, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), + texture = "default_fence_acacia_wood.png", + material = "default:acacia_wood", }) -minetest.register_node("default:mese_post_light_junglewood", { +default.register_mesepost("default:mese_post_light_junglewood", { description = S("Jungle Wood Mese Post Light"), - tiles = {"default_junglewood.png", "default_junglewood.png", - "default_junglewood.png^default_mese_post_light_side_dark.png", - "default_junglewood.png^default_mese_post_light_side_dark.png", - "default_junglewood.png^default_mese_post_light_side.png", - "default_junglewood.png^default_mese_post_light_side.png" - }, - wield_image = "default_mese_post_light_side.png", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX, - sunlight_propagates = true, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), + texture = "default_fence_junglewood.png", + material = "default:junglewood", }) -minetest.register_node("default:mese_post_light_pine_wood", { +default.register_mesepost("default:mese_post_light_pine_wood", { description = S("Pine Wood Mese Post Light"), - tiles = {"default_pine_wood.png", "default_pine_wood.png", - "default_pine_wood.png^default_mese_post_light_side_dark.png", - "default_pine_wood.png^default_mese_post_light_side_dark.png", - "default_pine_wood.png^default_mese_post_light_side.png", - "default_pine_wood.png^default_mese_post_light_side.png" - }, - wield_image = "default_mese_post_light_side.png", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX, - sunlight_propagates = true, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), + texture = "default_fence_pine_wood.png", + material = "default:pine_wood", }) -minetest.register_node("default:mese_post_light_aspen_wood", { +default.register_mesepost("default:mese_post_light_aspen_wood", { description = S("Aspen Wood Mese Post Light"), - tiles = {"default_aspen_wood.png", "default_aspen_wood.png", - "default_aspen_wood.png^default_mese_post_light_side_dark.png", - "default_aspen_wood.png^default_mese_post_light_side_dark.png", - "default_aspen_wood.png^default_mese_post_light_side.png", - "default_aspen_wood.png^default_mese_post_light_side.png" - }, - wield_image = "default_mese_post_light_side.png", - drawtype = "nodebox", - node_box = { - type = "fixed", - fixed = { - {-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16}, - }, - }, - paramtype = "light", - light_source = default.LIGHT_MAX, - sunlight_propagates = true, - is_ground_content = false, - groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, - sounds = default.node_sound_wood_defaults(), + texture = "default_fence_aspen_wood.png", + material = "default:aspen_wood", }) -- diff --git a/mods/default/textures/default_mese_post_light_side.png b/mods/default/textures/default_mese_post_light_side.png index 0e169fec..c05af007 100644 Binary files a/mods/default/textures/default_mese_post_light_side.png and b/mods/default/textures/default_mese_post_light_side.png differ diff --git a/mods/default/textures/default_mese_post_light_side_dark.png b/mods/default/textures/default_mese_post_light_side_dark.png index 68ebb687..0128c0b9 100644 Binary files a/mods/default/textures/default_mese_post_light_side_dark.png and b/mods/default/textures/default_mese_post_light_side_dark.png differ