New translation system, part 9: Items, part 5

This commit is contained in:
Wuzzy 2019-03-08 00:46:35 +01:00
parent 47c817d75a
commit f9b557c2ba
13 changed files with 199 additions and 174 deletions

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_stairs")
-- Core mcl_stairs API -- Core mcl_stairs API
-- Wrapper around mintest.pointed_thing_to_face_pos. -- Wrapper around mintest.pointed_thing_to_face_pos.
@ -100,7 +102,7 @@ function mcl_stairs.register_stair(subname, recipeitem, groups, images, descript
minetest.register_node(":mcl_stairs:stair_" .. subname, { minetest.register_node(":mcl_stairs:stair_" .. subname, {
description = description, description = description,
_doc_items_longdesc = "Stairs are useful to reach higher places by walking over them; jumping is not required. Placing stairs in a corner pattern will create corner stairs. Stairs placed on the bottom or at the upper half of the side of a block will be placed upside down.", _doc_items_longdesc = S("Stairs are useful to reach higher places by walking over them; jumping is not required. Placing stairs in a corner pattern will create corner stairs. Stairs placed on the bottom or at the upper half of the side of a block will be placed upside down."),
drawtype = "mesh", drawtype = "mesh",
mesh = "stairs_stair.obj", mesh = "stairs_stair.obj",
tiles = images, tiles = images,
@ -188,13 +190,13 @@ function mcl_stairs.register_slab(subname, recipeitem, groups, images, descripti
-- Automatically generate double slab description -- Automatically generate double slab description
if not double_description then if not double_description then
double_description = string.format("Double %s", description) double_description = S("Double @1", description)
minetest.log("warning", "[stairs] No explicit description for double slab '"..double_slab.."' added. Using auto-generated description.") minetest.log("warning", "[stairs] No explicit description for double slab '"..double_slab.."' added. Using auto-generated description.")
end end
groups.slab = 1 groups.slab = 1
groups.building_block = 1 groups.building_block = 1
local longdesc = "Slabs are half as high as their full block counterparts and occupy either the lower or upper part of a block, depending on how it was placed. Slabs can be easily stepped on without needing to jump. When a slab is placed on another slab of the same type, a double slab is created." local longdesc = S("Slabs are half as high as their full block counterparts and occupy either the lower or upper part of a block, depending on how it was placed. Slabs can be easily stepped on without needing to jump. When a slab is placed on another slab of the same type, a double slab is created.")
local slabdef = { local slabdef = {
description = description, description = description,
@ -258,7 +260,7 @@ function mcl_stairs.register_slab(subname, recipeitem, groups, images, descripti
topdef.groups.slab_top = 1 topdef.groups.slab_top = 1
topdef.groups.not_in_creative_inventory = 1 topdef.groups.not_in_creative_inventory = 1
topdef.groups.not_in_craft_guide = 1 topdef.groups.not_in_craft_guide = 1
topdef.description = string.format("Upper %s", description) topdef.description = S("Upper @1", description)
topdef._doc_items_create_entry = false topdef._doc_items_create_entry = false
topdef._doc_items_longdesc = nil topdef._doc_items_longdesc = nil
topdef._doc_items_usagehelp = nil topdef._doc_items_usagehelp = nil
@ -283,7 +285,7 @@ function mcl_stairs.register_slab(subname, recipeitem, groups, images, descripti
dgroups.double_slab = 1 dgroups.double_slab = 1
minetest.register_node(":"..double_slab, { minetest.register_node(":"..double_slab, {
description = double_description, description = double_description,
_doc_items_longdesc = "Double slabs are full blocks which are created by placing two slabs of the same kind on each other.", _doc_items_longdesc = S("Double slabs are full blocks which are created by placing two slabs of the same kind on each other."),
tiles = images, tiles = images,
is_ground_content = false, is_ground_content = false,
groups = dgroups, groups = dgroups,

View File

@ -3,13 +3,15 @@
-- slabs actually take slightly longer to be dug than their stair counterparts. -- slabs actually take slightly longer to be dug than their stair counterparts.
-- Note sure if it is a good idea to preserve this oddity. -- Note sure if it is a good idea to preserve this oddity.
local S = minetest.get_translator("mcl_stairs")
local woods = { local woods = {
{ "wood", "default_wood.png", "Oak Wood Stairs", "Oak Wood Slab", "Double Oak Wood Slab" }, { "wood", "default_wood.png", S("Oak Wood Stairs"), S("Oak Wood Slab"), S("Double Oak Wood Slab") },
{ "junglewood", "default_junglewood.png", "Jungle Wood Stairs", "Jungle Wood Slab", "Double Jungle Wood Slab" }, { "junglewood", "default_junglewood.png", S("Jungle Wood Stairs"), S("Jungle Wood Slab"), S("Double Jungle Wood Slab") },
{ "acaciawood", "default_acacia_wood.png", "Acacia Wood Stairs", "Acacia Wood Slab", "Double Acacia Wood Slab" }, { "acaciawood", "default_acacia_wood.png", S("Acacia Wood Stairs"), S("Acacia Wood Slab"), S("Double Acacia Wood Slab") },
{ "sprucewood", "mcl_core_planks_spruce.png", "Spruce Wood Stairs", "Spruce Wood Slab", "Double Spruce Wood Slab" }, { "sprucewood", "mcl_core_planks_spruce.png", S("Spruce Wood Stairs"), S("Spruce Wood Slab"), S("Double Spruce Wood Slab") },
{ "birchwood", "mcl_core_planks_birch.png", "Birch Wood Stairs", "Birch Wood Slab", "Double Birch Wood Slab" }, { "birchwood", "mcl_core_planks_birch.png", S("Birch Wood Stairs"), S("Birch Wood Slab"), S("Double Birch Wood Slab") },
{ "darkwood", "mcl_core_planks_big_oak.png", "Dark Oak Wood Stairs", "Dark Oak Wood Slab", "Double Dark Oak Wood Slab" }, { "darkwood", "mcl_core_planks_big_oak.png", S("Dark Oak Wood Stairs"), S("Dark Oak Wood Slab"), S("Double Dark Oak Wood Slab") },
} }
for w=1, #woods do for w=1, #woods do
@ -30,131 +32,131 @@ for w=1, #woods do
wood[5]) wood[5])
end end
mcl_stairs.register_stair_and_slab_simple("stone_rough", "mcl_core:stone", "Stone Stairs", "Stone Slab", "Double Stone Slab") mcl_stairs.register_stair_and_slab_simple("stone_rough", "mcl_core:stone", S("Stone Stairs"), S("Stone Slab"), S("Double Stone Slab"))
mcl_stairs.register_slab("stone", "mcl_core:stone_smooth", mcl_stairs.register_slab("stone", "mcl_core:stone_smooth",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_stairs_stone_slab_top.png", "mcl_stairs_stone_slab_top.png", "mcl_stairs_stone_slab_side.png"}, {"mcl_stairs_stone_slab_top.png", "mcl_stairs_stone_slab_top.png", "mcl_stairs_stone_slab_side.png"},
"Polished Stone Slab", S("Polished Stone Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Polished Stone Slab") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Polished Stone Slab"))
mcl_stairs.register_stair_and_slab_simple("andesite", "mcl_core:andesite", "Andesite Stairs", "Andesite Slab", "Double Andesite Slab") mcl_stairs.register_stair_and_slab_simple("andesite", "mcl_core:andesite", S("Andesite Stairs"), S("Andesite Slab"), S("Double Andesite Slab"))
mcl_stairs.register_stair_and_slab_simple("granite", "mcl_core:granite", "Granite Stairs", "Granite Slab", "Double Granite Slab") mcl_stairs.register_stair_and_slab_simple("granite", "mcl_core:granite", S("Granite Stairs"), S("Granite Slab"), S("Double Granite Slab"))
mcl_stairs.register_stair_and_slab_simple("diorite", "mcl_core:diorite", "Diorite Stairs", "Diorite Slab", "Double Diorite Slab") mcl_stairs.register_stair_and_slab_simple("diorite", "mcl_core:diorite", S("Diorite Stairs"), S("Diorite Slab"), S("Double Diorite Slab"))
mcl_stairs.register_stair_and_slab_simple("cobble", "mcl_core:cobble", "Cobblestone Stairs", "Cobblestone Slab", "Double Cobblestone Slab") mcl_stairs.register_stair_and_slab_simple("cobble", "mcl_core:cobble", S("Cobblestone Stairs"), S("Cobblestone Slab"), S("Double Cobblestone Slab"))
mcl_stairs.register_stair_and_slab_simple("mossycobble", "mcl_core:mossycobble", "Moss Stone Stairs", "Moss Stone Slab", "Double Moss Stone Slab") mcl_stairs.register_stair_and_slab_simple("mossycobble", "mcl_core:mossycobble", S("Moss Stone Stairs"), S("Moss Stone Slab"), S("Double Moss Stone Slab"))
mcl_stairs.register_stair_and_slab_simple("brick_block", "mcl_core:brick_block", "Brick Stairs", "Brick Slab", "Double Brick Slab") mcl_stairs.register_stair_and_slab_simple("brick_block", "mcl_core:brick_block", S("Brick Stairs"), S("Brick Slab"), S("Double Brick Slab"))
mcl_stairs.register_stair("sandstone", "group:sandstone", mcl_stairs.register_stair("sandstone", "group:sandstone",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_normal.png"}, {"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_normal.png"},
"Sandstone Stairs", S("Sandstone Stairs"),
mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_core:sandstone") mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_core:sandstone")
mcl_stairs.register_slab("sandstone", "group:sandstone", mcl_stairs.register_slab("sandstone", "group:sandstone",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_normal.png"}, {"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_normal.png"},
"Sandstone Slab", S("Sandstone Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Sandstone Slab", "mcl_core:sandstone") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Sandstone Slab"), "mcl_core:sandstone")
mcl_stairs.register_stair_and_slab_simple("sandstonesmooth2", "mcl_core:sandstonesmooth2", "Smooth Sandstone Stairs", "Smooth Sandstone Slab", "Double Smooth Sandstone Slab") mcl_stairs.register_stair_and_slab_simple("sandstonesmooth2", "mcl_core:sandstonesmooth2", S("Smooth Sandstone Stairs"), S("Smooth Sandstone Slab"), S("Double Smooth Sandstone Slab"))
mcl_stairs.register_stair("redsandstone", "group:redsandstone", mcl_stairs.register_stair("redsandstone", "group:redsandstone",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_normal.png"}, {"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_normal.png"},
"Red Sandstone Stairs", S("Red Sandstone Stairs"),
mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_core:redsandstone") mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_core:redsandstone")
mcl_stairs.register_slab("redsandstone", "group:redsandstone", mcl_stairs.register_slab("redsandstone", "group:redsandstone",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_normal.png"}, {"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_normal.png"},
"Red Sandstone Slab", S("Red Sandstone Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Red Sandstone Slab", "mcl_core:redsandstone") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Red Sandstone Slab"), "mcl_core:redsandstone")
mcl_stairs.register_stair_and_slab_simple("redsandstonesmooth2", "mcl_core:redsandstonesmooth2", "Smooth Red Sandstone Stairs", "Smooth Red Sandstone Slab", "Double Smooth Red Sandstone Slab") mcl_stairs.register_stair_and_slab_simple("redsandstonesmooth2", "mcl_core:redsandstonesmooth2", S("Smooth Red Sandstone Stairs"), S("Smooth Red Sandstone Slab"), S("Double Smooth Red Sandstone Slab"))
-- Intentionally not group:stonebrick because of mclx_stairs -- Intentionally not group:stonebrick because of mclx_stairs
mcl_stairs.register_stair("stonebrick", "mcl_core:stonebrick", mcl_stairs.register_stair("stonebrick", "mcl_core:stonebrick",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"default_stone_brick.png"}, {"default_stone_brick.png"},
"Stone Bricks Stairs", S("Stone Bricks Stairs"),
mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrick") mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrick")
mcl_stairs.register_slab("stonebrick", "mcl_core:stonebrick", mcl_stairs.register_slab("stonebrick", "mcl_core:stonebrick",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"default_stone_brick.png"}, {"default_stone_brick.png"},
"Stone Bricks Slab", S("Stone Bricks Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Stone Bricks Slab", "mcl_core:stonebrick") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Stone Bricks Slab"), "mcl_core:stonebrick")
mcl_stairs.register_stair("quartzblock", "group:quartz_block", mcl_stairs.register_stair("quartzblock", "group:quartz_block",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"}, {"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"},
"Quartz Stairs", S("Quartz Stairs"),
mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_nether:quartz_block") mcl_sounds.node_sound_stone_defaults(), 0.8, nil, "mcl_nether:quartz_block")
mcl_stairs.register_slab("quartzblock", "group:quartz_block", mcl_stairs.register_slab("quartzblock", "group:quartz_block",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"}, {"mcl_nether_quartz_block_top.png", "mcl_nether_quartz_block_bottom.png", "mcl_nether_quartz_block_side.png"},
"Quartz Slab", S("Quartz Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Quartz Slab", "mcl_nether:quartz_block") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Quartz Slab"), "mcl_nether:quartz_block")
mcl_stairs.register_stair_and_slab_simple("quartz_smooth", "mcl_nether:quartz_smooth", "Smooth Quartz Stairs", "Smooth Quartz Slab", "Double Smooth Quartz Slab") mcl_stairs.register_stair_and_slab_simple("quartz_smooth", "mcl_nether:quartz_smooth", S("Smooth Quartz Stairs"), S("Smooth Quartz Slab"), S("Double Smooth Quartz Slab"))
mcl_stairs.register_stair_and_slab("nether_brick", "mcl_nether:nether_brick", mcl_stairs.register_stair_and_slab("nether_brick", "mcl_nether:nether_brick",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_nether_nether_brick.png"}, {"mcl_nether_nether_brick.png"},
"Nether Brick Stairs", S("Nether Brick Stairs"),
"Nether Brick Slab", S("Nether Brick Slab"),
mcl_sounds.node_sound_stone_defaults(), mcl_sounds.node_sound_stone_defaults(),
2, 2,
"Double Nether Brick Slab") S("Double Nether Brick Slab"))
mcl_stairs.register_stair_and_slab("red_nether_brick", "mcl_nether:red_nether_brick", mcl_stairs.register_stair_and_slab("red_nether_brick", "mcl_nether:red_nether_brick",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_nether_red_nether_brick.png"}, {"mcl_nether_red_nether_brick.png"},
"Red Nether Brick Stairs", S("Red Nether Brick Stairs"),
"Red Nether Brick Slab", S("Red Nether Brick Slab"),
mcl_sounds.node_sound_stone_defaults(), mcl_sounds.node_sound_stone_defaults(),
2, 2,
"Double Red Nether Brick Slab") S("Double Red Nether Brick Slab"))
mcl_stairs.register_stair_and_slab_simple("end_bricks", "mcl_end:end_bricks", "End Stone Brick Stairs", "End Stone Brick Slab", "Double End Stone Brick Slab") mcl_stairs.register_stair_and_slab_simple("end_bricks", "mcl_end:end_bricks", S("End Stone Brick Stairs"), S("End Stone Brick Slab"), S("Double End Stone Brick Slab"))
mcl_stairs.register_stair("purpur_block", "group:purpur_block", mcl_stairs.register_stair("purpur_block", "group:purpur_block",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_end_purpur_block.png"}, {"mcl_end_purpur_block.png"},
"Purpur Stairs", S("Purpur Stairs"),
mcl_sounds.node_sound_stone_defaults(), mcl_sounds.node_sound_stone_defaults(),
1.5) 1.5)
mcl_stairs.register_slab("purpur_block", "group:purpur_block", mcl_stairs.register_slab("purpur_block", "group:purpur_block",
{pickaxey=1, material_stone=1}, {pickaxey=1, material_stone=1},
{"mcl_end_purpur_block.png"}, {"mcl_end_purpur_block.png"},
"Purpur Slab", S("Purpur Slab"),
mcl_sounds.node_sound_stone_defaults(), mcl_sounds.node_sound_stone_defaults(),
2, 2,
"Double Purpur Slab") S("Double Purpur Slab"))
mcl_stairs.register_stair_and_slab_simple("prismarine", "mcl_ocean:prismarine", "Prismarine Stairs", "Prismarine Slab", "Double Prismarine Slab") mcl_stairs.register_stair_and_slab_simple("prismarine", "mcl_ocean:prismarine", S("Prismarine Stairs"), S("Prismarine Slab"), S("Double Prismarine Slab"))
mcl_stairs.register_stair_and_slab_simple("prismarine_brick", "mcl_ocean:prismarine_brick", "Prismarine Brick Stairs", "Prismarine Brick Slab", "Double Prismarine Brick Slab") mcl_stairs.register_stair_and_slab_simple("prismarine_brick", "mcl_ocean:prismarine_brick", S("Prismarine Brick Stairs"), S("Prismarine Brick Slab"), S("Double Prismarine Brick Slab"))
mcl_stairs.register_stair_and_slab_simple("prismarine_dark", "mcl_ocean:prismarine_dark", "Dark Prismarine Stairs", "Dark Prismarine Slab", "Double Dark Prismarine Slab") mcl_stairs.register_stair_and_slab_simple("prismarine_dark", "mcl_ocean:prismarine_dark", S("Dark Prismarine Stairs"), S("Dark Prismarine Slab"), S("Double Dark Prismarine Slab"))
mcl_stairs.register_slab("andesite_smooth", "mcl_core:andesite_smooth", {pickaxey=1}, {"mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_stairs_andesite_smooth_slab.png"}, "Polished Andesite Slab", nil, nil, "Double Polished Andesite Slab") mcl_stairs.register_slab("andesite_smooth", "mcl_core:andesite_smooth", {pickaxey=1}, {"mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_stairs_andesite_smooth_slab.png"}, S("Polished Andesite Slab"), nil, nil, S("Double Polished Andesite Slab"))
mcl_stairs.register_stair("andesite_smooth", "mcl_core:andesite_smooth", {pickaxey=1}, {"mcl_stairs_andesite_smooth_slab.png", "mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_stairs_andesite_smooth_slab.png"}, "Polished Andesite Stairs", nil, nil, "woodlike") mcl_stairs.register_stair("andesite_smooth", "mcl_core:andesite_smooth", {pickaxey=1}, {"mcl_stairs_andesite_smooth_slab.png", "mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_core_andesite_smooth.png", "mcl_stairs_andesite_smooth_slab.png"}, S("Polished Andesite Stairs"), nil, nil, "woodlike")
mcl_stairs.register_slab("granite_smooth", "mcl_core:granite_smooth", {pickaxey=1}, {"mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_stairs_granite_smooth_slab.png"}, "Polished Granite Slab", nil, nil, "Double Polished Granite Slab") mcl_stairs.register_slab("granite_smooth", "mcl_core:granite_smooth", {pickaxey=1}, {"mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_stairs_granite_smooth_slab.png"}, S("Polished Granite Slab"), nil, nil, S("Double Polished Granite Slab"))
mcl_stairs.register_stair("granite_smooth", "mcl_core:granite_smooth", {pickaxey=1}, {"mcl_stairs_granite_smooth_slab.png", "mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_stairs_granite_smooth_slab.png"}, "Polished Granite Stairs", nil, nil, "woodlike") mcl_stairs.register_stair("granite_smooth", "mcl_core:granite_smooth", {pickaxey=1}, {"mcl_stairs_granite_smooth_slab.png", "mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_core_granite_smooth.png", "mcl_stairs_granite_smooth_slab.png"}, S("Polished Granite Stairs"), nil, nil, "woodlike")
mcl_stairs.register_slab("diorite_smooth", "mcl_core:diorite_smooth", {pickaxey=1}, {"mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_stairs_diorite_smooth_slab.png"}, "Polished Diorite Slab", nil, nil, "Double Polished Diorite Slab") mcl_stairs.register_slab("diorite_smooth", "mcl_core:diorite_smooth", {pickaxey=1}, {"mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_stairs_diorite_smooth_slab.png"}, S("Polished Diorite Slab"), nil, nil, S("Double Polished Diorite Slab"))
mcl_stairs.register_stair("diorite_smooth", "mcl_core:diorite_smooth", {pickaxey=1}, {"mcl_stairs_diorite_smooth_slab.png", "mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_stairs_diorite_smooth_slab.png"}, "Polished Diorite Stairs", nil, nil, "woodlike") mcl_stairs.register_stair("diorite_smooth", "mcl_core:diorite_smooth", {pickaxey=1}, {"mcl_stairs_diorite_smooth_slab.png", "mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_core_diorite_smooth.png", "mcl_stairs_diorite_smooth_slab.png"}, S("Polished Diorite Stairs"), nil, nil, "woodlike")
mcl_stairs.register_stair("stonebrickmossy", "mcl_core:stonebrickmossy", mcl_stairs.register_stair("stonebrickmossy", "mcl_core:stonebrickmossy",
{pickaxey=1}, {pickaxey=1},
{"mcl_core_stonebrick_mossy.png"}, {"mcl_core_stonebrick_mossy.png"},
"Mossy Stone Brick Stairs", S("Mossy Stone Brick Stairs"),
mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrickmossy") mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrickmossy")
mcl_stairs.register_slab("stonebrickmossy", "mcl_core:stonebrickmossy", mcl_stairs.register_slab("stonebrickmossy", "mcl_core:stonebrickmossy",
{pickaxey=1}, {pickaxey=1},
{"mcl_core_stonebrick_mossy.png"}, {"mcl_core_stonebrick_mossy.png"},
"Mossy Stone Brick Slab", S("Mossy Stone Brick Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Mossy Stone Brick Slab", "mcl_core:stonebrickmossy") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Mossy Stone Brick Slab"), "mcl_core:stonebrickmossy")

View File

@ -1,5 +1,7 @@
mcl_throwing = {} mcl_throwing = {}
local S = minetest.get_translator("mcl_throwing")
-- --
-- Snowballs and other throwable items -- Snowballs and other throwable items
-- --
@ -289,12 +291,12 @@ minetest.register_entity("mcl_throwing:snowball_entity", snowball_ENTITY)
minetest.register_entity("mcl_throwing:egg_entity", egg_ENTITY) minetest.register_entity("mcl_throwing:egg_entity", egg_ENTITY)
minetest.register_entity("mcl_throwing:ender_pearl_entity", pearl_ENTITY) minetest.register_entity("mcl_throwing:ender_pearl_entity", pearl_ENTITY)
local how_to_throw = "Hold it in your and and leftclick to throw." local how_to_throw = S("Hold it in your and and leftclick to throw.")
-- Snowball -- Snowball
minetest.register_craftitem("mcl_throwing:snowball", { minetest.register_craftitem("mcl_throwing:snowball", {
description = "Snowball", description = S("Snowball"),
_doc_items_longdesc = "Snowballs can be thrown or launched from a dispenser for fun. Hitting something with a snowball does nothing.", _doc_items_longdesc = S("Snowballs can be thrown or launched from a dispenser for fun. Hitting something with a snowball does nothing."),
_doc_items_usagehelp = how_to_throw, _doc_items_usagehelp = how_to_throw,
inventory_image = "mcl_throwing_snowball.png", inventory_image = "mcl_throwing_snowball.png",
stack_max = 16, stack_max = 16,
@ -305,8 +307,8 @@ minetest.register_craftitem("mcl_throwing:snowball", {
-- Egg -- Egg
minetest.register_craftitem("mcl_throwing:egg", { minetest.register_craftitem("mcl_throwing:egg", {
description = "Egg", description = S("Egg"),
_doc_items_longdesc = "Eggs can be thrown or launched from a dispenser and breaks on impact. There is a small chance that 1 or even 4 chickens will pop out of the egg when it hits the ground.", _doc_items_longdesc = S("Eggs can be thrown or launched from a dispenser and breaks on impact. There is a small chance that 1 or even 4 chickens will pop out of the egg when it hits the ground."),
_doc_items_usagehelp = how_to_throw, _doc_items_usagehelp = how_to_throw,
inventory_image = "mcl_throwing_egg.png", inventory_image = "mcl_throwing_egg.png",
stack_max = 16, stack_max = 16,
@ -317,8 +319,8 @@ minetest.register_craftitem("mcl_throwing:egg", {
-- Ender Pearl -- Ender Pearl
minetest.register_craftitem("mcl_throwing:ender_pearl", { minetest.register_craftitem("mcl_throwing:ender_pearl", {
description = "Ender Pearl", description = S("Ender Pearl"),
_doc_items_longdesc = "An ender pearl is an item which can be used for teleportation at the cost of health. It can be thrown and teleport the thrower to its impact location when it hits a solid block, a plant or vines. Each teleportation hurts the user by 5 hit points.", _doc_items_longdesc = S("An ender pearl is an item which can be used for teleportation at the cost of health. It can be thrown and teleport the thrower to its impact location when it hits a solid block, a plant or vines. Each teleportation hurts the user by 5 hit points."),
_doc_items_usagehelp = how_to_throw, _doc_items_usagehelp = how_to_throw,
wield_image = "mcl_throwing_ender_pearl.png", wield_image = "mcl_throwing_ender_pearl.png",
inventory_image = "mcl_throwing_ender_pearl.png", inventory_image = "mcl_throwing_ender_pearl.png",

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_tnt")
local mod_death_messages = minetest.get_modpath("mcl_death_messages") local mod_death_messages = minetest.get_modpath("mcl_death_messages")
local function spawn_tnt(pos, entname) local function spawn_tnt(pos, entname)
@ -58,11 +60,11 @@ minetest.register_node("mcl_tnt:tnt", {
"default_tnt_side.png", "default_tnt_side.png"}, "default_tnt_side.png", "default_tnt_side.png"},
is_ground_content = false, is_ground_content = false,
stack_max = 64, stack_max = 64,
description = "TNT", description = S("TNT"),
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
_doc_items_longdesc = string.format("An explosive device. When it explodes, it will hurt living beings, destroy blocks around it, throw blocks affected by gravity all over the place and light fires. A single TNT has an explosion radius of %d. With a small chance, blocks may drop as an item (as if being mined) rather than being destroyed. TNT can be ignited by tools, explosions, fire, lava and redstone signals.", TNT_RANGE), _doc_items_longdesc = S("An explosive device. When it explodes, it will hurt living beings, destroy blocks around it, throw blocks affected by gravity all over the place and light fires. A single TNT has an explosion radius of @1. With a small chance, blocks may drop as an item (as if being mined) rather than being destroyed. TNT can be ignited by tools, explosions, fire, lava and redstone signals.", TNT_RANGE),
_doc_items_usagehelp = "Place the TNT on the ground and ignite it with one of the methods above. Quickly get in safe distance quickly. The TNT will start to be affected by gravity and explodes in 4 seconds.", _doc_items_usagehelp = S("Place the TNT on the ground and ignite it with one of the methods above. Quickly get in safe distance quickly. The TNT will start to be affected by gravity and explodes in 4 seconds."),
groups = { dig_immediate = 3, tnt = 1, enderman_takable=1 }, groups = { dig_immediate = 3, tnt = 1, enderman_takable=1 },
mesecons = {effector = { mesecons = {effector = {
action_on = tnt.ignite, action_on = tnt.ignite,

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_tools")
-- mods/default/tools.lua -- mods/default/tools.lua
-- --
@ -35,7 +37,7 @@ else
end end
minetest.register_item(":", { minetest.register_item(":", {
type = "none", type = "none",
_doc_items_longdesc = "You use your bare hand whenever you are not wielding any item. With your hand you can mine the weakest blocks and deal minor damage by punching. Using the hand is often a last resort, as proper mining tools and weapons are better than the hand. When you are wielding an item which is not a mining tool or a weapon, it will behave as if it were the hand when you start mining or punching. In Creative Mode, the hand is able to break all blocks instantly.", _doc_items_longdesc = S("You use your bare hand whenever you are not wielding any item. With your hand you can mine the weakest blocks and deal minor damage by punching. Using the hand is often a last resort, as proper mining tools and weapons are better than the hand. When you are wielding an item which is not a mining tool or a weapon, it will behave as if it were the hand when you start mining or punching. In Creative Mode, the hand is able to break all blocks instantly."),
wield_image = "wieldhand.png", wield_image = "wieldhand.png",
wield_scale = {x=1.0,y=1.0,z=2.0}, wield_scale = {x=1.0,y=1.0,z=2.0},
-- According to Minecraft Wiki, the exact range is 3.975. -- According to Minecraft Wiki, the exact range is 3.975.
@ -50,17 +52,17 @@ minetest.register_item(":", {
}) })
-- Help texts -- Help texts
local pickaxe_longdesc = "Pickaxes are mining tools to mine hard blocks, such as stone. A pickaxe can also be used as weapon, but it is rather inefficient." local pickaxe_longdesc = S("Pickaxes are mining tools to mine hard blocks, such as stone. A pickaxe can also be used as weapon, but it is rather inefficient.")
local axe_longdesc = "An axe is your tool of choice to cut down trees, wood-based blocks and other blocks. Axes deal a lot of damage as well, but they are rather slow." local axe_longdesc = S("An axe is your tool of choice to cut down trees, wood-based blocks and other blocks. Axes deal a lot of damage as well, but they are rather slow.")
local sword_longdesc = "Swords are great in melee combat, as they are fast, deal high damage and can endure countless battles. Swords can also be used to cut down a few particular blocks, such as cobwebs." local sword_longdesc = S("Swords are great in melee combat, as they are fast, deal high damage and can endure countless battles. Swords can also be used to cut down a few particular blocks, such as cobwebs.")
local shovel_longdesc = "Shovels are tools for digging coarse blocks, such as dirt, sand and gravel. They can also be used to turn grass blocks to grass paths. Shovels can be used as weapons, but they are very weak." local shovel_longdesc = S("Shovels are tools for digging coarse blocks, such as dirt, sand and gravel. They can also be used to turn grass blocks to grass paths. Shovels can be used as weapons, but they are very weak.")
local shovel_use = "To turn a grass block into a grass path, hold the shovel in your hand, then use (rightclick) the top or side of a grass block. This only works when there's air above the grass block." local shovel_use = S("To turn a grass block into a grass path, hold the shovel in your hand, then use (rightclick) the top or side of a grass block. This only works when there's air above the grass block.")
local shears_longdesc = "Shears are tools to shear sheep, carve pumpkins and to mine a few block types. Shears are a special mining tool and can be used to obtain the original item from a grass, leaves and similar blocks." local shears_longdesc = S("Shears are tools to shear sheep, carve pumpkins and to mine a few block types. Shears are a special mining tool and can be used to obtain the original item from a grass, leaves and similar blocks.")
local shears_use = "To shear a sheep and obtain its wool, rightclick it. To carve a face into a pumpkin and obtain 4 pumpkin seeds, rightclick it on one of its sides. Mining works are usual, but the drops are different for a few blocks." local shears_use = "To shear a sheep and obtain its wool, rightclick it. To carve a face into a pumpkin and obtain 4 pumpkin seeds, rightclick it on one of its sides. Mining works are usual, but the drops are different for a few blocks."
-- Picks -- Picks
minetest.register_tool("mcl_tools:pick_wood", { minetest.register_tool("mcl_tools:pick_wood", {
description = "Wooden Pickaxe", description = S("Wooden Pickaxe"),
_doc_items_longdesc = pickaxe_longdesc, _doc_items_longdesc = pickaxe_longdesc,
_doc_items_hidden = false, _doc_items_hidden = false,
inventory_image = "default_tool_woodpick.png", inventory_image = "default_tool_woodpick.png",
@ -78,7 +80,7 @@ minetest.register_tool("mcl_tools:pick_wood", {
_repair_material = "group:wood", _repair_material = "group:wood",
}) })
minetest.register_tool("mcl_tools:pick_stone", { minetest.register_tool("mcl_tools:pick_stone", {
description = "Stone Pickaxe", description = S("Stone Pickaxe"),
_doc_items_longdesc = pickaxe_longdesc, _doc_items_longdesc = pickaxe_longdesc,
inventory_image = "default_tool_stonepick.png", inventory_image = "default_tool_stonepick.png",
groups = { tool=1, pickaxe=1 }, groups = { tool=1, pickaxe=1 },
@ -95,7 +97,7 @@ minetest.register_tool("mcl_tools:pick_stone", {
_repair_material = "mcl_core:cobble", _repair_material = "mcl_core:cobble",
}) })
minetest.register_tool("mcl_tools:pick_iron", { minetest.register_tool("mcl_tools:pick_iron", {
description = "Iron Pickaxe", description = S("Iron Pickaxe"),
_doc_items_longdesc = pickaxe_longdesc, _doc_items_longdesc = pickaxe_longdesc,
inventory_image = "default_tool_steelpick.png", inventory_image = "default_tool_steelpick.png",
groups = { tool=1, pickaxe=1 }, groups = { tool=1, pickaxe=1 },
@ -112,7 +114,7 @@ minetest.register_tool("mcl_tools:pick_iron", {
_repair_material = "mcl_core:iron_ingot", _repair_material = "mcl_core:iron_ingot",
}) })
minetest.register_tool("mcl_tools:pick_gold", { minetest.register_tool("mcl_tools:pick_gold", {
description = "Golden Pickaxe", description = S("Golden Pickaxe"),
_doc_items_longdesc = pickaxe_longdesc, _doc_items_longdesc = pickaxe_longdesc,
inventory_image = "default_tool_goldpick.png", inventory_image = "default_tool_goldpick.png",
groups = { tool=1, pickaxe=1 }, groups = { tool=1, pickaxe=1 },
@ -129,7 +131,7 @@ minetest.register_tool("mcl_tools:pick_gold", {
_repair_material = "mcl_core:gold_ingot", _repair_material = "mcl_core:gold_ingot",
}) })
minetest.register_tool("mcl_tools:pick_diamond", { minetest.register_tool("mcl_tools:pick_diamond", {
description = "Diamond Pickaxe", description = S("Diamond Pickaxe"),
_doc_items_longdesc = pickaxe_longdesc, _doc_items_longdesc = pickaxe_longdesc,
inventory_image = "default_tool_diamondpick.png", inventory_image = "default_tool_diamondpick.png",
groups = { tool=1, pickaxe=1 }, groups = { tool=1, pickaxe=1 },
@ -238,7 +240,7 @@ end
-- Shovels -- Shovels
minetest.register_tool("mcl_tools:shovel_wood", { minetest.register_tool("mcl_tools:shovel_wood", {
description = "Wooden Shovel", description = S("Wooden Shovel"),
_doc_items_longdesc = shovel_longdesc, _doc_items_longdesc = shovel_longdesc,
_doc_items_usagehelp = shovel_use, _doc_items_usagehelp = shovel_use,
_doc_items_hidden = false, _doc_items_hidden = false,
@ -258,7 +260,7 @@ minetest.register_tool("mcl_tools:shovel_wood", {
_repair_material = "group:wood", _repair_material = "group:wood",
}) })
minetest.register_tool("mcl_tools:shovel_stone", { minetest.register_tool("mcl_tools:shovel_stone", {
description = "Stone Shovel", description = S("Stone Shovel"),
_doc_items_longdesc = shovel_longdesc, _doc_items_longdesc = shovel_longdesc,
_doc_items_usagehelp = shovel_use, _doc_items_usagehelp = shovel_use,
inventory_image = "default_tool_stoneshovel.png", inventory_image = "default_tool_stoneshovel.png",
@ -277,7 +279,7 @@ minetest.register_tool("mcl_tools:shovel_stone", {
_repair_material = "mcl_core:cobble", _repair_material = "mcl_core:cobble",
}) })
minetest.register_tool("mcl_tools:shovel_iron", { minetest.register_tool("mcl_tools:shovel_iron", {
description = "Iron Shovel", description = S("Iron Shovel"),
_doc_items_longdesc = shovel_longdesc, _doc_items_longdesc = shovel_longdesc,
_doc_items_usagehelp = shovel_use, _doc_items_usagehelp = shovel_use,
inventory_image = "default_tool_steelshovel.png", inventory_image = "default_tool_steelshovel.png",
@ -296,7 +298,7 @@ minetest.register_tool("mcl_tools:shovel_iron", {
_repair_material = "mcl_core:iron_ingot", _repair_material = "mcl_core:iron_ingot",
}) })
minetest.register_tool("mcl_tools:shovel_gold", { minetest.register_tool("mcl_tools:shovel_gold", {
description = "Golden Shovel", description = S("Golden Shovel"),
_doc_items_longdesc = shovel_longdesc, _doc_items_longdesc = shovel_longdesc,
_doc_items_usagehelp = shovel_use, _doc_items_usagehelp = shovel_use,
inventory_image = "default_tool_goldshovel.png", inventory_image = "default_tool_goldshovel.png",
@ -315,7 +317,7 @@ minetest.register_tool("mcl_tools:shovel_gold", {
_repair_material = "mcl_core:gold_ingot", _repair_material = "mcl_core:gold_ingot",
}) })
minetest.register_tool("mcl_tools:shovel_diamond", { minetest.register_tool("mcl_tools:shovel_diamond", {
description = "Diamond Shovel", description = S("Diamond Shovel"),
_doc_items_longdesc = shovel_longdesc, _doc_items_longdesc = shovel_longdesc,
_doc_items_usagehelp = shovel_use, _doc_items_usagehelp = shovel_use,
inventory_image = "default_tool_diamondshovel.png", inventory_image = "default_tool_diamondshovel.png",
@ -336,7 +338,7 @@ minetest.register_tool("mcl_tools:shovel_diamond", {
-- Axes -- Axes
minetest.register_tool("mcl_tools:axe_wood", { minetest.register_tool("mcl_tools:axe_wood", {
description = "Wooden Axe", description = S("Wooden Axe"),
_doc_items_longdesc = axe_longdesc, _doc_items_longdesc = axe_longdesc,
_doc_items_hidden = false, _doc_items_hidden = false,
inventory_image = "default_tool_woodaxe.png", inventory_image = "default_tool_woodaxe.png",
@ -353,7 +355,7 @@ minetest.register_tool("mcl_tools:axe_wood", {
_repair_material = "group:wood", _repair_material = "group:wood",
}) })
minetest.register_tool("mcl_tools:axe_stone", { minetest.register_tool("mcl_tools:axe_stone", {
description = "Stone Axe", description = S("Stone Axe"),
_doc_items_longdesc = axe_longdesc, _doc_items_longdesc = axe_longdesc,
inventory_image = "default_tool_stoneaxe.png", inventory_image = "default_tool_stoneaxe.png",
groups = { tool=1, axe=1 }, groups = { tool=1, axe=1 },
@ -369,7 +371,7 @@ minetest.register_tool("mcl_tools:axe_stone", {
_repair_material = "mcl_core:cobble", _repair_material = "mcl_core:cobble",
}) })
minetest.register_tool("mcl_tools:axe_iron", { minetest.register_tool("mcl_tools:axe_iron", {
description = "Iron Axe", description = S("Iron Axe"),
_doc_items_longdesc = axe_longdesc, _doc_items_longdesc = axe_longdesc,
inventory_image = "default_tool_steelaxe.png", inventory_image = "default_tool_steelaxe.png",
groups = { tool=1, axe=1 }, groups = { tool=1, axe=1 },
@ -386,7 +388,7 @@ minetest.register_tool("mcl_tools:axe_iron", {
_repair_material = "mcl_core:iron_ingot", _repair_material = "mcl_core:iron_ingot",
}) })
minetest.register_tool("mcl_tools:axe_gold", { minetest.register_tool("mcl_tools:axe_gold", {
description = "Golden Axe", description = S("Golden Axe"),
_doc_items_longdesc = axe_longdesc, _doc_items_longdesc = axe_longdesc,
inventory_image = "default_tool_goldaxe.png", inventory_image = "default_tool_goldaxe.png",
groups = { tool=1, axe=1 }, groups = { tool=1, axe=1 },
@ -402,7 +404,7 @@ minetest.register_tool("mcl_tools:axe_gold", {
_repair_material = "mcl_core:gold_ingot", _repair_material = "mcl_core:gold_ingot",
}) })
minetest.register_tool("mcl_tools:axe_diamond", { minetest.register_tool("mcl_tools:axe_diamond", {
description = "Diamond Axe", description = S("Diamond Axe"),
_doc_items_longdesc = axe_longdesc, _doc_items_longdesc = axe_longdesc,
inventory_image = "default_tool_diamondaxe.png", inventory_image = "default_tool_diamondaxe.png",
groups = { tool=1, axe=1 }, groups = { tool=1, axe=1 },
@ -420,7 +422,7 @@ minetest.register_tool("mcl_tools:axe_diamond", {
-- Swords -- Swords
minetest.register_tool("mcl_tools:sword_wood", { minetest.register_tool("mcl_tools:sword_wood", {
description = "Wooden Sword", description = S("Wooden Sword"),
_doc_items_longdesc = sword_longdesc, _doc_items_longdesc = sword_longdesc,
_doc_items_hidden = false, _doc_items_hidden = false,
inventory_image = "default_tool_woodsword.png", inventory_image = "default_tool_woodsword.png",
@ -438,7 +440,7 @@ minetest.register_tool("mcl_tools:sword_wood", {
_repair_material = "group:wood", _repair_material = "group:wood",
}) })
minetest.register_tool("mcl_tools:sword_stone", { minetest.register_tool("mcl_tools:sword_stone", {
description = "Stone Sword", description = S("Stone Sword"),
_doc_items_longdesc = sword_longdesc, _doc_items_longdesc = sword_longdesc,
inventory_image = "default_tool_stonesword.png", inventory_image = "default_tool_stonesword.png",
groups = { weapon=1 }, groups = { weapon=1 },
@ -455,7 +457,7 @@ minetest.register_tool("mcl_tools:sword_stone", {
_repair_material = "mcl_core:cobble", _repair_material = "mcl_core:cobble",
}) })
minetest.register_tool("mcl_tools:sword_iron", { minetest.register_tool("mcl_tools:sword_iron", {
description = "Iron Sword", description = S("Iron Sword"),
_doc_items_longdesc = sword_longdesc, _doc_items_longdesc = sword_longdesc,
inventory_image = "default_tool_steelsword.png", inventory_image = "default_tool_steelsword.png",
groups = { weapon=1 }, groups = { weapon=1 },
@ -472,7 +474,7 @@ minetest.register_tool("mcl_tools:sword_iron", {
_repair_material = "mcl_core:iron_ingot", _repair_material = "mcl_core:iron_ingot",
}) })
minetest.register_tool("mcl_tools:sword_gold", { minetest.register_tool("mcl_tools:sword_gold", {
description = "Golden Sword", description = S("Golden Sword"),
_doc_items_longdesc = sword_longdesc, _doc_items_longdesc = sword_longdesc,
inventory_image = "default_tool_goldsword.png", inventory_image = "default_tool_goldsword.png",
groups = { weapon=1 }, groups = { weapon=1 },
@ -489,7 +491,7 @@ minetest.register_tool("mcl_tools:sword_gold", {
_repair_material = "mcl_core:gold_ingot", _repair_material = "mcl_core:gold_ingot",
}) })
minetest.register_tool("mcl_tools:sword_diamond", { minetest.register_tool("mcl_tools:sword_diamond", {
description = "Diamond Sword", description = S("Diamond Sword"),
_doc_items_longdesc = sword_longdesc, _doc_items_longdesc = sword_longdesc,
inventory_image = "default_tool_diamondsword.png", inventory_image = "default_tool_diamondsword.png",
groups = { weapon=1 }, groups = { weapon=1 },
@ -508,7 +510,7 @@ minetest.register_tool("mcl_tools:sword_diamond", {
--Shears --Shears
minetest.register_tool("mcl_tools:shears", { minetest.register_tool("mcl_tools:shears", {
description = "Shears", description = S("Shears"),
_doc_items_longdesc = shears_longdesc, _doc_items_longdesc = shears_longdesc,
_doc_items_usagehelp = shears_use, _doc_items_usagehelp = shears_use,
inventory_image = "default_tool_shears.png", inventory_image = "default_tool_shears.png",

View File

@ -1,3 +1,4 @@
local S = minetest.get_translator("mcl_torches")
-- --
-- 3d torch part -- 3d torch part
@ -169,13 +170,13 @@ mcl_torches.register_torch = function(substring, description, doc_items_longdesc
end end
mcl_torches.register_torch("torch", mcl_torches.register_torch("torch",
"Torch", S("Torch"),
"Torches are light sources which can be placed at the side or on the top of most blocks.", S("Torches are light sources which can be placed at the side or on the top of most blocks."),
[[Torches can generally be placed on full solid opaque blocks. The following exceptions apply: S([[Torches can generally be placed on full solid opaque blocks. The following exceptions apply:
Glass, fence, wall, hopper: Can only be placed on top Glass, fence, wall, hopper: Can only be placed on top
Upside-down slab/stair: Can only be placed on top Upside-down slab/stair: Can only be placed on top
Soul sand, mob spawner: Placement possible Soul sand, mob spawner: Placement possible
Glowstone and pistons: No placement possible]], Glowstone and pistons: No placement possible]]),
"default_torch_on_floor.png", "default_torch_on_floor.png",
"mcl_torches_torch_floor.obj", "mcl_torches_torch_wall.obj", "mcl_torches_torch_floor.obj", "mcl_torches_torch_wall.obj",
{{ {{

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_walls")
mcl_walls = {} mcl_walls = {}
local function rshift(x, by) local function rshift(x, by)
@ -225,7 +227,7 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
-- Inventory item -- Inventory item
minetest.register_node(nodename, { minetest.register_node(nodename, {
description = description, description = description,
_doc_items_longdesc = "A piece of wall. It cannot be jumped over with a simple jump. When multiple of these are placed to next to each other, they will automatically build a nice wall structure.", _doc_items_longdesc = S("A piece of wall. It cannot be jumped over with a simple jump. When multiple of these are placed to next to each other, they will automatically build a nice wall structure."),
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,

View File

@ -1,14 +1,16 @@
mcl_walls.register_wall("mcl_walls:cobble", "Cobblestone Wall", "mcl_core:cobble") local S = minetest.get_translator("mcl_walls")
mcl_walls.register_wall("mcl_walls:mossycobble", "Mossy Cobblestone Wall", "mcl_core:mossycobble")
mcl_walls.register_wall("mcl_walls:andesite", "Andesite Wall", "mcl_core:andesite") mcl_walls.register_wall("mcl_walls:cobble", S("Cobblestone Wall"), "mcl_core:cobble")
mcl_walls.register_wall("mcl_walls:granite", "Granite Wall", "mcl_core:granite") mcl_walls.register_wall("mcl_walls:mossycobble", S("Mossy Cobblestone Wall"), "mcl_core:mossycobble")
mcl_walls.register_wall("mcl_walls:diorite", "Diorite Wall", "mcl_core:diorite") mcl_walls.register_wall("mcl_walls:andesite", S("Andesite Wall"), "mcl_core:andesite")
mcl_walls.register_wall("mcl_walls:brick", "Brick Wall", "mcl_core:brick_block") mcl_walls.register_wall("mcl_walls:granite", S("Granite Wall"), "mcl_core:granite")
mcl_walls.register_wall("mcl_walls:sandstone", "Sandstone Wall", "mcl_core:sandstone") mcl_walls.register_wall("mcl_walls:diorite", S("Diorite Wall"), "mcl_core:diorite")
mcl_walls.register_wall("mcl_walls:redsandstone", "Red Sandstone Wall", "mcl_core:redsandstone") mcl_walls.register_wall("mcl_walls:brick", S("Brick Wall"), "mcl_core:brick_block")
mcl_walls.register_wall("mcl_walls:stonebrick", "Stone Brick Wall", "mcl_core:stonebrick") mcl_walls.register_wall("mcl_walls:sandstone", S("Sandstone Wall"), "mcl_core:sandstone")
mcl_walls.register_wall("mcl_walls:stonebrickmossy", "Mossy Stone Brick Wall", "mcl_core:stonebrickmossy") mcl_walls.register_wall("mcl_walls:redsandstone", S("Red Sandstone Wall"), "mcl_core:redsandstone")
mcl_walls.register_wall("mcl_walls:prismarine", "Prismarine Wall", "mcl_ocean:prismarine") mcl_walls.register_wall("mcl_walls:stonebrick", S("Stone Brick Wall"), "mcl_core:stonebrick")
mcl_walls.register_wall("mcl_walls:endbricks", "End Stone Brick Wall", "mcl_end:end_bricks") mcl_walls.register_wall("mcl_walls:stonebrickmossy", S("Mossy Stone Brick Wall"), "mcl_core:stonebrickmossy")
mcl_walls.register_wall("mcl_walls:netherbrick", "Nether Brick Wall", "mcl_nether:nether_brick") mcl_walls.register_wall("mcl_walls:prismarine", S("Prismarine Wall"), "mcl_ocean:prismarine")
mcl_walls.register_wall("mcl_walls:rednetherbrick", "Red Nether Brick Wall", "mcl_nether:red_nether_brick") mcl_walls.register_wall("mcl_walls:endbricks", S("End Stone Brick Wall"), "mcl_end:end_bricks")
mcl_walls.register_wall("mcl_walls:netherbrick", S("Nether Brick Wall"), "mcl_nether:nether_brick")
mcl_walls.register_wall("mcl_walls:rednetherbrick", S("Red Nether Brick Wall"), "mcl_nether:red_nether_brick")

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_wool")
-- minetest/wool/init.lua -- minetest/wool/init.lua
-- Backwards compatibility with jordach's 16-color wool mod -- Backwards compatibility with jordach's 16-color wool mod
@ -10,22 +12,22 @@ local wool = {}
-- colors available. When crafting, the last recipes will be checked first. -- colors available. When crafting, the last recipes will be checked first.
wool.dyes = { wool.dyes = {
-- name, texture, wool desc., carpet desc., dye, color_group -- name, texture, wool desc., carpet desc., dye, color_group
{"white", "wool_white", "White Wool", "White Carpet", nil, "basecolor_white"}, {"white", "wool_white", S("White Wool"), S("White Carpet"), nil, "basecolor_white"},
{"grey", "wool_dark_grey", "Grey Wool", "Grey Carpet", "dark_grey", "unicolor_darkgrey"}, {"grey", "wool_dark_grey", S("Grey Wool"), S("Grey Carpet"), "dark_grey", "unicolor_darkgrey"},
{"silver", "wool_grey", "Light Grey Wool", "Light Grey Carpet", "grey", "basecolor_grey"}, {"silver", "wool_grey", S("Light Grey Wool"), S("Light Grey Carpet"), "grey", "basecolor_grey"},
{"black", "wool_black", "Black Wool", "Black Carpet", "black", "basecolor_black"}, {"black", "wool_black", S("Black Wool"), S("Black Carpet"), "black", "basecolor_black"},
{"red", "wool_red", "Red Wool", "Red Carpet", "red", "basecolor_red"}, {"red", "wool_red", S("Red Wool"), S("Red Carpet"), "red", "basecolor_red"},
{"yellow", "wool_yellow", "Yellow Wool", "Yellow Carpet", "yellow", "basecolor_yellow"}, {"yellow", "wool_yellow", S("Yellow Wool"), S("Yellow Carpet"), "yellow", "basecolor_yellow"},
{"green", "wool_dark_green", "Green Wool", "Green Carpet", "dark_green", "unicolor_dark_green"}, {"green", "wool_dark_green", S("Green Wool"), S("Green Carpet"), "dark_green", "unicolor_dark_green"},
{"cyan", "wool_cyan", "Cyan Wool", "Cyan Carpet", "cyan", "basecolor_cyan"}, {"cyan", "wool_cyan", S("Cyan Wool"), S("Cyan Carpet"), "cyan", "basecolor_cyan"},
{"blue", "wool_blue", "Blue Wool", "Blue Carpet", "blue", "basecolor_blue"}, {"blue", "wool_blue", S("Blue Wool"), S("Blue Carpet"), "blue", "basecolor_blue"},
{"magenta", "wool_magenta", "Magenta Wool", "Magenta Carpet", "magenta", "basecolor_magenta"}, {"magenta", "wool_magenta", S("Magenta Wool"), S("Magenta Carpet"), "magenta", "basecolor_magenta"},
{"orange", "wool_orange", "Orange Wool", "Orange Carpet", "orange", "excolor_orange"}, {"orange", "wool_orange", S("Orange Wool"), S("Orange Carpet"), "orange", "excolor_orange"},
{"purple", "wool_violet", "Purple Wool", "Purple Carpet", "violet", "excolor_violet"}, {"purple", "wool_violet", S("Purple Wool"), S("Purple Carpet"), "violet", "excolor_violet"},
{"brown", "wool_brown", "Brown Wool", "Brown Carpet", "brown", "unicolor_dark_orange"}, {"brown", "wool_brown", S("Brown Wool"), S("Brown Carpet"), "brown", "unicolor_dark_orange"},
{"pink", "wool_pink", "Pink Wool", "Pink Carpet", "pink", "unicolor_light_red"}, {"pink", "wool_pink", S("Pink Wool"), S("Pink Carpet"), "pink", "unicolor_light_red"},
{"lime", "mcl_wool_lime", "Lime Wool", "Lime Carpet", "green", "basecolor_green"}, {"lime", "mcl_wool_lime", S("Lime Wool"), S("Lime Carpet"), "green", "basecolor_green"},
{"light_blue", "mcl_wool_light_blue", "Light Blue Wool", "Light Blue Carpet", "lightblue", "unicolor_light_blue"}, {"light_blue", "mcl_wool_light_blue", S("Light Blue Wool"), S("Light Blue Carpet"), "lightblue", "unicolor_light_blue"},
} }
for _, row in ipairs(wool.dyes) do for _, row in ipairs(wool.dyes) do
@ -38,7 +40,7 @@ for _, row in ipairs(wool.dyes) do
-- Node Definition -- Node Definition
minetest.register_node("mcl_wool:"..name, { minetest.register_node("mcl_wool:"..name, {
description = desc_wool, description = desc_wool,
_doc_items_longdesc = "Wool is a decorational block which comes in many different colors.", _doc_items_longdesc = S("Wool is a decorational block which comes in many different colors."),
stack_max = 64, stack_max = 64,
is_ground_content = false, is_ground_content = false,
tiles = {texture..".png"}, tiles = {texture..".png"},
@ -49,7 +51,7 @@ for _, row in ipairs(wool.dyes) do
}) })
minetest.register_node("mcl_wool:"..name.."_carpet", { minetest.register_node("mcl_wool:"..name.."_carpet", {
description = desc_carpet, description = desc_carpet,
_doc_items_longdesc = "Carpets are thin floor covers which come in many different colors.", _doc_items_longdesc = S("Carpets are thin floor covers which come in many different colors."),
walkable = false, -- See <https://minecraft.gamepedia.com/Materials> walkable = false, -- See <https://minecraft.gamepedia.com/Materials>
is_ground_content = false, is_ground_content = false,
tiles = {texture..".png"}, tiles = {texture..".png"},

View File

@ -1,13 +1,15 @@
local S = minetest.get_translator("mclx_core")
-- Liquids: River Water -- Liquids: River Water
local source = table.copy(minetest.registered_nodes["mcl_core:water_source"]) local source = table.copy(minetest.registered_nodes["mcl_core:water_source"])
source.description = "River Water Source" source.description = S("River Water Source")
source.liquid_range = 2 source.liquid_range = 2
source.liquid_alternative_flowing = "mclx_core:river_water_flowing" source.liquid_alternative_flowing = "mclx_core:river_water_flowing"
source.liquid_alternative_source = "mclx_core:river_water_source" source.liquid_alternative_source = "mclx_core:river_water_source"
source.liquid_renewable = false source.liquid_renewable = false
source._doc_items_longdesc = "River water has the same properties as water, but has a reduced flowing distance and is not renewable." source._doc_items_longdesc = S("River water has the same properties as water, but has a reduced flowing distance and is not renewable.")
source._doc_items_entry_name = "River Water" source._doc_items_entry_name = S("River Water")
-- Auto-expose entry only in valleys mapgen -- Auto-expose entry only in valleys mapgen
source._doc_items_hidden = minetest.get_mapgen_setting("mg_name") ~= "valleys" source._doc_items_hidden = minetest.get_mapgen_setting("mg_name") ~= "valleys"
source.post_effect_color = {a=192, r=0x2c, g=0x88, b=0x8c} source.post_effect_color = {a=192, r=0x2c, g=0x88, b=0x8c}
@ -24,7 +26,7 @@ source.special_tiles = {
} }
local flowing = table.copy(minetest.registered_nodes["mcl_core:water_flowing"]) local flowing = table.copy(minetest.registered_nodes["mcl_core:water_flowing"])
flowing.description = "Flowing River Water" flowing.description = S("Flowing River Water")
flowing.liquid_range = 2 flowing.liquid_range = 2
flowing.liquid_alternative_flowing = "mclx_core:river_water_flowing" flowing.liquid_alternative_flowing = "mclx_core:river_water_flowing"
flowing.liquid_alternative_source = "mclx_core:river_water_source" flowing.liquid_alternative_source = "mclx_core:river_water_source"

View File

@ -1,8 +1,10 @@
local S = minetest.get_translator("mclx_fences")
-- Red Nether Brick Fence -- Red Nether Brick Fence
mcl_fences.register_fence_and_fence_gate( mcl_fences.register_fence_and_fence_gate(
"red_nether_brick_fence", "red_nether_brick_fence",
"Red Nether Brick Fence", "Red Nether Brick Fence Gate", S("Red Nether Brick Fence"), S("Red Nether Brick Fence Gate"),
"mcl_fences_fence_red_nether_brick.png", "mcl_fences_fence_red_nether_brick.png",
{pickaxey=1, deco_block=1, fence_nether_brick=1}, {pickaxey=1, deco_block=1, fence_nether_brick=1},
minetest.registered_nodes["mcl_nether:red_nether_brick"]._mcl_hardness, minetest.registered_nodes["mcl_nether:red_nether_brick"]._mcl_hardness,
@ -13,7 +15,7 @@ mcl_fences.register_fence_and_fence_gate(
mcl_fences.register_fence_gate( mcl_fences.register_fence_gate(
"nether_brick_fence", "nether_brick_fence",
"Nether Brick Fence Gate", S("Nether Brick Fence Gate"),
"mcl_fences_fence_gate_nether_brick.png", "mcl_fences_fence_gate_nether_brick.png",
{pickaxey=1, deco_block=1, fence_nether_brick=1}, {pickaxey=1, deco_block=1, fence_nether_brick=1},
minetest.registered_nodes["mcl_nether:nether_brick"]._mcl_hardness, minetest.registered_nodes["mcl_nether:nether_brick"]._mcl_hardness,

View File

@ -1,31 +1,34 @@
mcl_stairs.register_stair_and_slab_simple("tree_bark", "mcl_core:tree_bark", "Oak Bark Stairs", "Oak Bark Slab", "Double Oak Bark Slab", "woodlike") local S = minetest.get_translator("mclx_stairs")
mcl_stairs.register_stair_and_slab_simple("acaciatree_bark", "mcl_core:acaciatree_bark", "Acacia Bark Stairs", "Acacia Bark Slab", "Double Acacia Bark Slab", "woodlike")
mcl_stairs.register_stair_and_slab_simple("sprucetree_bark", "mcl_core:sprucetree_bark", "Spruce Bark Stairs", "Spruce Bark Slab", "Double Spruce Bark Slab", "woodlike")
mcl_stairs.register_stair_and_slab_simple("birchtree_bark", "mcl_core:birchtree_bark", "Birch Bark Stairs", "Birch Bark Slab", "Double Birch Bark Slab", "woodlike")
mcl_stairs.register_stair_and_slab_simple("jungletree_bark", "mcl_core:jungletree_bark", "Jungle Bark Stairs", "Jungle Bark Slab", "Double Jungle Bark Slab", "woodlike")
mcl_stairs.register_stair_and_slab_simple("darktree_bark", "mcl_core:darktree_bark", "Dark Oak Bark Stairs", "Dark Oak Bark Slab", "Double Dark Oak Bark Slab", "woodlike")
mcl_stairs.register_slab("lapisblock", "mcl_core:lapisblock", {pickaxey=3}, {"mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_stairs_lapis_block_slab.png"}, "Lapis Lazuli Slab", nil, nil, "Double Lapis Lazuli Slab") mcl_stairs.register_stair_and_slab_simple("tree_bark", "mcl_core:tree_bark", S("Oak Bark Stairs"), S("Oak Bark Slab"), S("Double Oak Bark Slab"), "woodlike")
mcl_stairs.register_stair("lapisblock", "mcl_core:lapisblock", {pickaxey=3}, {"mcl_stairs_lapis_block_slab.png", "mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_stairs_lapis_block_slab.png"}, "Lapis Lazuli Stairs", nil, nil, "woodlike") mcl_stairs.register_stair_and_slab_simple("acaciatree_bark", "mcl_core:acaciatree_bark", S("Acacia Bark Stairs"), S("Acacia Bark Slab"), S("Double Acacia Bark Slab"), "woodlike")
mcl_stairs.register_stair_and_slab_simple("sprucetree_bark", "mcl_core:sprucetree_bark", S("Spruce Bark Stairs"), S("Spruce Bark Slab"), S("Double Spruce Bark Slab"), "woodlike")
mcl_stairs.register_stair_and_slab_simple("birchtree_bark", "mcl_core:birchtree_bark", S("Birch Bark Stairs"), S("Birch Bark Slab"), S("Double Birch Bark Slab"), "woodlike")
mcl_stairs.register_stair_and_slab_simple("jungletree_bark", "mcl_core:jungletree_bark", S("Jungle Bark Stairs"), S("Jungle Bark Slab"), S("Double Jungle Bark Slab"), "woodlike")
mcl_stairs.register_stair_and_slab_simple("darktree_bark", "mcl_core:darktree_bark", S("Dark Oak Bark Stairs"), S("Dark Oak Bark Slab"), S("Double Dark Oak Bark Slab"), "woodlike")
mcl_stairs.register_slab("goldblock", "mcl_core:goldblock", {pickaxey=4}, {"default_gold_block.png", "default_gold_block.png", "mcl_stairs_gold_block_slab.png"}, "Slab of Gold", nil, nil, "Double Slab of Gold") mcl_stairs.register_slab("lapisblock", "mcl_core:lapisblock", {pickaxey=3}, {"mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_stairs_lapis_block_slab.png"}, S("Lapis Lazuli Slab"), nil, nil, S("Double Lapis Lazuli Slab"))
mcl_stairs.register_stair("goldblock", "mcl_core:goldblock", {pickaxey=4}, {"mcl_stairs_gold_block_slab.png", "default_gold_block.png", "default_gold_block.png", "default_gold_block.png", "default_gold_block.png", "mcl_stairs_gold_block_slab.png"}, "Stairs of Gold", nil, nil, "woodlike") mcl_stairs.register_stair("lapisblock", "mcl_core:lapisblock", {pickaxey=3}, {"mcl_stairs_lapis_block_slab.png", "mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_core_lapis_block.png", "mcl_stairs_lapis_block_slab.png"}, S("Lapis Lazuli Stairs"), nil, nil, "woodlike")
mcl_stairs.register_slab("ironblock", "mcl_core:ironblock", {pickaxey=2}, {"default_steel_block.png", "default_steel_block.png", "mcl_stairs_iron_block_slab.png"}, "Slab of Iron", nil, nil, "Double Slab of Iron") mcl_stairs.register_slab("goldblock", "mcl_core:goldblock", {pickaxey=4}, {"default_gold_block.png", "default_gold_block.png", "mcl_stairs_gold_block_slab.png"}, S("Slab of Gold"), nil, nil, S("Double Slab of Gold"))
mcl_stairs.register_stair("ironblock", "mcl_core:ironblock", {pickaxey=2}, {"mcl_stairs_iron_block_slab.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "mcl_stairs_iron_block_slab.png"}, "Stairs of Iron", nil, nil, "woodlike") mcl_stairs.register_stair("goldblock", "mcl_core:goldblock", {pickaxey=4}, {"mcl_stairs_gold_block_slab.png", "default_gold_block.png", "default_gold_block.png", "default_gold_block.png", "default_gold_block.png", "mcl_stairs_gold_block_slab.png"}, S("Stairs of Gold"), nil, nil, "woodlike")
mcl_stairs.register_slab("ironblock", "mcl_core:ironblock", {pickaxey=2}, {"default_steel_block.png", "default_steel_block.png", "mcl_stairs_iron_block_slab.png"}, S("Slab of Iron"), nil, nil, S("Double Slab of Iron"))
mcl_stairs.register_stair("ironblock", "mcl_core:ironblock", {pickaxey=2}, {"mcl_stairs_iron_block_slab.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "default_steel_block.png", "mcl_stairs_iron_block_slab.png"}, S("Stairs of Iron"), nil, nil, "woodlike")
mcl_stairs.register_stair("stonebrickcracked", "mcl_core:stonebrickcracked", mcl_stairs.register_stair("stonebrickcracked", "mcl_core:stonebrickcracked",
{pickaxey=1}, {pickaxey=1},
{"mcl_core_stonebrick_cracked.png"}, {"mcl_core_stonebrick_cracked.png"},
"Cracked Stone Brick Stairs", S("Cracked Stone Brick Stairs"),
mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrickcracked") mcl_sounds.node_sound_stone_defaults(), 1.5, nil, "mcl_core:stonebrickcracked")
mcl_stairs.register_slab("stonebrickcracked", "mcl_core:stonebrickcracked", mcl_stairs.register_slab("stonebrickcracked", "mcl_core:stonebrickcracked",
{pickaxey=1}, {pickaxey=1},
{"mcl_core_stonebrick_cracked.png"}, {"mcl_core_stonebrick_cracked.png"},
"Cracked Stone Brick Slab", S("Cracked Stone Brick Slab"),
mcl_sounds.node_sound_stone_defaults(), 2, "Double Cracked Stone Brick Slab", "mcl_core:stonebrickcracked") mcl_sounds.node_sound_stone_defaults(), 2, S("Double Cracked Stone Brick Slab"), "mcl_core:stonebrickcracked")
-- TODO: Localize
local block = {} local block = {}
block.dyes = { block.dyes = {
{"white", "White", "white"}, {"white", "White", "white"},

View File

@ -1,3 +1,4 @@
local S = minetest.get_translator("xpanes")
local function is_pane(pos) local function is_pane(pos)
return minetest.get_item_group(minetest.get_node(pos).name, "pane") > 0 return minetest.get_item_group(minetest.get_node(pos).name, "pane") > 0
@ -178,7 +179,7 @@ local pane = function(description, node, append)
end end
xpanes.register_pane("pane"..append, { xpanes.register_pane("pane"..append, {
description = description, description = description,
_doc_items_longdesc = "Glass panes are thin layers of glass which neatly connect to their neighbors as you build them.", _doc_items_longdesc = S("Glass panes are thin layers of glass which neatly connect to their neighbors as you build them."),
textures = {texture1, texture1, "xpanes_top_glass"..append..".png"}, textures = {texture1, texture1, "xpanes_top_glass"..append..".png"},
use_texture_alpha = true, use_texture_alpha = true,
inventory_image = texture1, inventory_image = texture1,
@ -197,8 +198,8 @@ end
-- Iron Bars -- Iron Bars
xpanes.register_pane("bar", { xpanes.register_pane("bar", {
description = "Iron Bars", description = S("Iron Bars"),
_doc_items_longdesc = "Iron bars neatly connect to their neighbors as you build them.", _doc_items_longdesc = S("Iron bars neatly connect to their neighbors as you build them."),
textures = {"xpanes_pane_iron.png","xpanes_pane_iron.png","xpanes_top_iron.png"}, textures = {"xpanes_pane_iron.png","xpanes_pane_iron.png","xpanes_top_iron.png"},
inventory_image = "xpanes_pane_iron.png", inventory_image = "xpanes_pane_iron.png",
wield_image = "xpanes_pane_iron.png", wield_image = "xpanes_pane_iron.png",
@ -213,22 +214,22 @@ xpanes.register_pane("bar", {
}) })
-- Glass Pane -- Glass Pane
pane("Glass Pane", "mcl_core:glass", "_natural") -- triggers special case pane(S("Glass Pane"), "mcl_core:glass", "_natural") -- triggers special case
-- Stained Glass Pane -- Stained Glass Pane
pane("Red Stained Glass Pane", "mcl_core:glass_red", "_red") pane(S("Red Stained Glass Pane"), "mcl_core:glass_red", "_red")
pane("Green Stained Glass Pane", "mcl_core:glass_green", "_green") pane(S("Green Stained Glass Pane"), "mcl_core:glass_green", "_green")
pane("Blue Stained Glass Pane", "mcl_core:glass_blue", "_blue") pane(S("Blue Stained Glass Pane"), "mcl_core:glass_blue", "_blue")
pane("Light Blue Stained Glass Pane", "mcl_core:glass_light_blue", "_light_blue") pane(S("Light Blue Stained Glass Pane"), "mcl_core:glass_light_blue", "_light_blue")
pane("Black Stained Glass Pane", "mcl_core:glass_black", "_black") pane(S("Black Stained Glass Pane"), "mcl_core:glass_black", "_black")
pane("White Stained Glass Pane", "mcl_core:glass_white", "_white") pane(S("White Stained Glass Pane"), "mcl_core:glass_white", "_white")
pane("Yellow Stained Glass Pane", "mcl_core:glass_yellow", "_yellow") pane(S("Yellow Stained Glass Pane"), "mcl_core:glass_yellow", "_yellow")
pane("Brown Stained Glass Pane", "mcl_core:glass_brown", "_brown") pane(S("Brown Stained Glass Pane"), "mcl_core:glass_brown", "_brown")
pane("Orange Stained Glass Pane", "mcl_core:glass_orange", "_orange") pane(S("Orange Stained Glass Pane"), "mcl_core:glass_orange", "_orange")
pane("Pink Stained Glass Pane", "mcl_core:glass_pink", "_pink") pane(S("Pink Stained Glass Pane"), "mcl_core:glass_pink", "_pink")
pane("Grey Stained Glass Pane", "mcl_core:glass_gray", "_gray") pane(S("Grey Stained Glass Pane"), "mcl_core:glass_gray", "_gray")
pane("Lime Stained Glass Pane", "mcl_core:glass_lime", "_lime") pane(S("Lime Stained Glass Pane"), "mcl_core:glass_lime", "_lime")
pane("Light Grey Stained Glass Pane", "mcl_core:glass_silver", "_silver") pane(S("Light Grey Stained Glass Pane"), "mcl_core:glass_silver", "_silver")
pane("Magenta Stained Glass Pane", "mcl_core:glass_magenta", "_magenta") pane(S("Magenta Stained Glass Pane"), "mcl_core:glass_magenta", "_magenta")
pane("Purple Stained Glass Pane", "mcl_core:glass_purple", "_purple") pane(S("Purple Stained Glass Pane"), "mcl_core:glass_purple", "_purple")
pane("Cyan Stained Glass Pane", "mcl_core:glass_cyan", "_cyan") pane(S("Cyan Stained Glass Pane"), "mcl_core:glass_cyan", "_cyan")