New translation system, part 8: Items, part 4

This commit is contained in:
Wuzzy 2019-03-08 00:22:28 +01:00
parent a29626881f
commit 47c817d75a
22 changed files with 248 additions and 262 deletions

View file

@ -1,10 +1,12 @@
local S = minetest.get_translator("mcl_flowers")
-- Minetest 0.4 mod: default
-- See README.txt for licensing and other information.
local init = os.clock()
-- Simple flower template
local smallflowerlongdesc = "This is a small flower. Small flowers are mainly used for dye production and can also be potted."
local plant_usage_help = "It can only be placed on a block on which it would also survive."
local smallflowerlongdesc = S("This is a small flower. Small flowers are mainly used for dye production and can also be potted.")
local plant_usage_help = S("It can only be placed on a block on which it would also survive.")
-- on_place function for flowers
local on_place_flower = mcl_util.generate_on_place_plant_function(function(pos, node, itemstack)
@ -62,16 +64,16 @@ local function add_simple_flower(name, desc, image, simple_selection_box)
})
end
add_simple_flower("poppy", "Poppy", "mcl_flowers_poppy", { -5/16, -0.5, -5/16, 5/16, 5/16, 5/16 })
add_simple_flower("dandelion", "Dandelion", "flowers_dandelion_yellow", { -4/16, -0.5, -4/16, 4/16, 3/16, 4/16 })
add_simple_flower("oxeye_daisy", "Oxeye Daisy", "mcl_flowers_oxeye_daisy", { -4/16, -0.5, -4/16, 4/16, 4/16, 4/16 })
add_simple_flower("tulip_orange", "Orange Tulip", "flowers_tulip", { -3/16, -0.5, -3/16, 3/16, 5/16, 3/16 })
add_simple_flower("tulip_pink", "Pink Tulip", "mcl_flowers_tulip_pink", { -3/16, -0.5, -3/16, 3/16, 5/16, 3/16 })
add_simple_flower("tulip_red", "Red Tulip", "mcl_flowers_tulip_red", { -3/16, -0.5, -3/16, 3/16, 6/16, 3/16 })
add_simple_flower("tulip_white", "White Tulip", "mcl_flowers_tulip_white", { -3/16, -0.5, -3/16, 3/16, 4/16, 3/16 })
add_simple_flower("allium", "Allium", "mcl_flowers_allium", { -3/16, -0.5, -3/16, 3/16, 6/16, 3/16 })
add_simple_flower("azure_bluet", "Azure Bluet", "mcl_flowers_azure_bluet", { -5/16, -0.5, -5/16, 5/16, 3/16, 5/16 })
add_simple_flower("blue_orchid", "Blue Orchid", "mcl_flowers_blue_orchid", { -5/16, -0.5, -5/16, 5/16, 7/16, 5/16 })
add_simple_flower("poppy", S("Poppy"), "mcl_flowers_poppy", { -5/16, -0.5, -5/16, 5/16, 5/16, 5/16 })
add_simple_flower("dandelion", S("Dandelion"), "flowers_dandelion_yellow", { -4/16, -0.5, -4/16, 4/16, 3/16, 4/16 })
add_simple_flower("oxeye_daisy", S("Oxeye Daisy"), "mcl_flowers_oxeye_daisy", { -4/16, -0.5, -4/16, 4/16, 4/16, 4/16 })
add_simple_flower("tulip_orange", S("Orange Tulip"), "flowers_tulip", { -3/16, -0.5, -3/16, 3/16, 5/16, 3/16 })
add_simple_flower("tulip_pink", S("Pink Tulip"), "mcl_flowers_tulip_pink", { -3/16, -0.5, -3/16, 3/16, 5/16, 3/16 })
add_simple_flower("tulip_red", S("Red Tulip"), "mcl_flowers_tulip_red", { -3/16, -0.5, -3/16, 3/16, 6/16, 3/16 })
add_simple_flower("tulip_white", S("White Tulip"), "mcl_flowers_tulip_white", { -3/16, -0.5, -3/16, 3/16, 4/16, 3/16 })
add_simple_flower("allium", S("Allium"), "mcl_flowers_allium", { -3/16, -0.5, -3/16, 3/16, 6/16, 3/16 })
add_simple_flower("azure_bluet", S("Azure Bluet"), "mcl_flowers_azure_bluet", { -5/16, -0.5, -5/16, 5/16, 3/16, 5/16 })
add_simple_flower("blue_orchid", S("Blue Orchid"), "mcl_flowers_blue_orchid", { -5/16, -0.5, -5/16, 5/16, 7/16, 5/16 })
local wheat_seed_drop = {
@ -88,9 +90,9 @@ local wheat_seed_drop = {
--- Tall Grass ---
local def_tallgrass = {
description = "Tall Grass",
description = S("Tall Grass"),
drawtype = "plantlike",
_doc_items_longdesc = "Tall grass is a small plant which often occours on the surface of grasslands. It can be harvested for wheat seeds. By using bone meal, tall grass can be turned into double tallgrass which is two blocks high.",
_doc_items_longdesc = S("Tall grass is a small plant which often occours on the surface of grasslands. It can be harvested for wheat seeds. By using bone meal, tall grass can be turned into double tallgrass which is two blocks high."),
_doc_items_usagehelp = plant_usage_help,
_doc_items_hidden = false,
waving = 1,
@ -122,8 +124,8 @@ minetest.register_node("mcl_flowers:tallgrass", def_tallgrass)
--- Fern ---
-- The fern is very similar to tall grass, so we can copy a lot from it.
local def_fern = table.copy(def_tallgrass)
def_fern.description = "Fern"
def_fern._doc_items_longdesc = "Ferns are small plants which occour naturally in grasslands. They can be harvested for wheat seeds. By using bone meal, a fern can be turned into a large fern which is two blocks high."
def_fern.description = S("Fern")
def_fern._doc_items_longdesc = S("Ferns are small plants which occour naturally in grasslands. They can be harvested for wheat seeds. By using bone meal, a fern can be turned into a large fern which is two blocks high.")
def_fern.tiles = { "mcl_flowers_fern.png" }
def_fern.inventory_image = "mcl_flowers_fern_inv.png"
def_fern.wield_image = "mcl_flowers_fern_inv.png"
@ -275,7 +277,7 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im
-- Top
minetest.register_node("mcl_flowers:"..name.."_top", {
description = desc.." (Top Part)",
description = desc.." " .. S("(Top Part)"),
_doc_items_create_entry = false,
drawtype = "plantlike",
tiles = { top_img },
@ -310,18 +312,18 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im
end
add_large_plant("peony", "Peony", "A peony is a large plant which occupies two blocks. It is mainly used in dye protection.", "mcl_flowers_double_plant_paeonia_bottom.png", "mcl_flowers_double_plant_paeonia_top.png", nil, 5/16, 6/16)
add_large_plant("rose_bush", "Rose Bush", "A rose bush is a large plant which occupies two blocks. It is safe to touch it. Rose bushes are mainly used in dye protection.", "mcl_flowers_double_plant_rose_bottom.png", "mcl_flowers_double_plant_rose_top.png", nil, 5/16, 1/16)
add_large_plant("lilac", "Lilac", "A lilac is a large plant which occupies two blocks. It is mainly used in dye production.", "mcl_flowers_double_plant_syringa_bottom.png", "mcl_flowers_double_plant_syringa_top.png", nil, 5/16, 6/16)
add_large_plant("peony", S("Peony"), S("A peony is a large plant which occupies two blocks. It is mainly used in dye protection."), "mcl_flowers_double_plant_paeonia_bottom.png", "mcl_flowers_double_plant_paeonia_top.png", nil, 5/16, 6/16)
add_large_plant("rose_bush", S("Rose Bush"), S("A rose bush is a large plant which occupies two blocks. It is safe to touch it. Rose bushes are mainly used in dye protection."), "mcl_flowers_double_plant_rose_bottom.png", "mcl_flowers_double_plant_rose_top.png", nil, 5/16, 1/16)
add_large_plant("lilac", S("Lilac"), S("A lilac is a large plant which occupies two blocks. It is mainly used in dye production."), "mcl_flowers_double_plant_syringa_bottom.png", "mcl_flowers_double_plant_syringa_top.png", nil, 5/16, 6/16)
-- TODO: Make the sunflower face East. Requires a mesh for the top node.
add_large_plant("sunflower", "Sunflower", "A sunflower is a large plant which occupies two blocks. It is mainly used in dye production.", "mcl_flowers_double_plant_sunflower_bottom.png", "mcl_flowers_double_plant_sunflower_top.png^mcl_flowers_double_plant_sunflower_front.png", "mcl_flowers_double_plant_sunflower_front.png", 6/16, 6/16)
add_large_plant("sunflower", S("Sunflower"), S("A sunflower is a large plant which occupies two blocks. It is mainly used in dye production."), "mcl_flowers_double_plant_sunflower_bottom.png", "mcl_flowers_double_plant_sunflower_top.png^mcl_flowers_double_plant_sunflower_front.png", "mcl_flowers_double_plant_sunflower_front.png", 6/16, 6/16)
local longdesc_grass = "Double tallgrass a variant of tall grass and occupies two blocks. It can be harvested for wheat seeds."
local longdesc_fern = "Large fern is a variant of fern and occupies two blocks. It can be harvested for wheat seeds."
local longdesc_grass = S("Double tallgrass a variant of tall grass and occupies two blocks. It can be harvested for wheat seeds.")
local longdesc_fern = S("Large fern is a variant of fern and occupies two blocks. It can be harvested for wheat seeds.")
add_large_plant("double_grass", "Double Tallgrass", longdesc_grass, "mcl_flowers_double_plant_grass_bottom.png", "mcl_flowers_double_plant_grass_top.png", "mcl_flowers_double_plant_grass_inv.png", 6/16, 4/16, wheat_seed_drop, {"mcl_flowers:tallgrass 2"}, false, true)
add_large_plant("double_fern", "Large Fern", longdesc_fern, "mcl_flowers_double_plant_fern_bottom.png", "mcl_flowers_double_plant_fern_top.png", "mcl_flowers_double_plant_fern_inv.png", 5/16, 5/16, wheat_seed_drop, {"mcl_flowers:fern 2"}, false, true)
add_large_plant("double_grass", S("Double Tallgrass"), longdesc_grass, "mcl_flowers_double_plant_grass_bottom.png", "mcl_flowers_double_plant_grass_top.png", "mcl_flowers_double_plant_grass_inv.png", 6/16, 4/16, wheat_seed_drop, {"mcl_flowers:tallgrass 2"}, false, true)
add_large_plant("double_fern", S("Large Fern"), longdesc_fern, "mcl_flowers_double_plant_fern_bottom.png", "mcl_flowers_double_plant_fern_top.png", "mcl_flowers_double_plant_fern_inv.png", 5/16, 5/16, wheat_seed_drop, {"mcl_flowers:fern 2"}, false, true)
minetest.register_abm({
label = "Pop out flowers",
@ -348,8 +350,8 @@ minetest.register_abm({
-- Lily Pad
minetest.register_node("mcl_flowers:waterlily", {
description = "Lily Pad",
_doc_items_longdesc = "A lily pad is a flat plant block which can be walked on. They can be placed on water sources, ice and frosted ice.",
description = S("Lily Pad"),
_doc_items_longdesc = S("A lily pad is a flat plant block which can be walked on. They can be placed on water sources, ice and frosted ice."),
drawtype = "nodebox",
paramtype = "light",
paramtype2 = "facedir",

View file

@ -1,4 +1,6 @@
local S = minetest.get_translator("mcl_furnaces")
--
-- Formspecs
--
@ -292,9 +294,9 @@ if minetest.get_modpath("screwdriver") then
end
minetest.register_node("mcl_furnaces:furnace", {
description = "Furnace",
_doc_items_longdesc = "Furnaces cook or smelt several items, using a furnace fuel, into something else.",
_doc_items_usagehelp = "Right-click the furnace to view it. Place a furnace fuel in the lower slot and the source material in the upper slot. The furnace will slowly use its fuel to smelt the item. The result will be placed into the output slot at the right side.",
description = S("Furnace"),
_doc_items_longdesc = S("Furnaces cook or smelt several items, using a furnace fuel, into something else."),
_doc_items_usagehelp = S("Right-click the furnace to view it. Place a furnace fuel in the lower slot and the source material in the upper slot. The furnace will slowly use its fuel to smelt the item. The result will be placed into the output slot at the right side."),
_doc_items_hidden = false,
tiles = {
"default_furnace_top.png", "default_furnace_bottom.png",
@ -350,7 +352,7 @@ minetest.register_node("mcl_furnaces:furnace", {
})
minetest.register_node("mcl_furnaces:furnace_active", {
description = "Burning Furnace",
description = S("Burning Furnace"),
_doc_items_create_entry = false,
tiles = {
"default_furnace_top.png", "default_furnace_bottom.png",

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_heads")
-- Heads system
local function addhead(name, texture, desc, longdesc)
@ -48,9 +50,9 @@ local function addhead(name, texture, desc, longdesc)
end
-- Add heads
addhead("zombie", "mcl_heads_zombie_node.png", "Zombie Head", "A zombie head is a small decorative block which resembles the head of a zombie. It can also be worn as a helmet for fun, but does not offer any protection.")
addhead("creeper", "mcl_heads_creeper_node.png", "Creeper Head", "A creeper head is a small decorative block which resembles the head of a creeper. It can also be worn as a helmet for fun, but does not offer any protection.")
addhead("zombie", "mcl_heads_zombie_node.png", S("Zombie Head"), S("A zombie head is a small decorative block which resembles the head of a zombie. It can also be worn as a helmet for fun, but does not offer any protection."))
addhead("creeper", "mcl_heads_creeper_node.png", S("Creeper Head"), S("A creeper head is a small decorative block which resembles the head of a creeper. It can also be worn as a helmet for fun, but does not offer any protection."))
-- Original Minecraft name: “Head”
addhead("steve", "mcl_heads_steve_node.png", "Human Head", "A human head is a small decorative block which resembles the head of a human (i.e. a player character). It can also be worn as a helmet for fun, but does not offer any protection.")
addhead("skeleton", "mcl_heads_skeleton_node.png", "Skeleton Skull", "A skeleton skull is a small decorative block which resembles the head of a skeleton. It can also be worn as a helmet for fun, but does not offer any protection.")
addhead("wither_skeleton", "mcl_heads_wither_skeleton_node.png", "Wither Skeleton Skull", "A wither skeleton skull is a small decorative block which resembles the head of a wither skeleton. It can also be worn as a helmet for fun, but does not offer any protection.")
addhead("steve", "mcl_heads_steve_node.png", S("Human Head"), S("A human head is a small decorative block which resembles the head of a human (i.e. a player character). It can also be worn as a helmet for fun, but does not offer any protection."))
addhead("skeleton", "mcl_heads_skeleton_node.png", S("Skeleton Skull"), S("A skeleton skull is a small decorative block which resembles the head of a skeleton. It can also be worn as a helmet for fun, but does not offer any protection."))
addhead("wither_skeleton", "mcl_heads_wither_skeleton_node.png", S("Wither Skeleton Skull"), S("A wither skeleton skull is a small decorative block which resembles the head of a wither skeleton. It can also be worn as a helmet for fun, but does not offer any protection."))

View file

@ -1,5 +1,6 @@
local chest = minetest.get_content_id("mcl_chests:chest")
local S = minetest.get_translator("mcl_hoppers")
local chest = minetest.get_content_id("mcl_chests:chest")
--[[ BEGIN OF NODE DEFINITIONS ]]
@ -121,16 +122,16 @@ local def_hopper = {
-- Enabled downwards hopper
local def_hopper_enabled = table.copy(def_hopper)
def_hopper_enabled.description = "Hopper"
def_hopper_enabled._doc_items_longdesc = [[Hoppers are containers with 5 inventory slots. They collect dropped items from above, take items from a container above and attempts to put its items it into an adjacent container. Hoppers can go either downwards or sideways. Hoppers interact with chests, droppers, dispensers, shulker boxes, furnaces and hoppers.
def_hopper_enabled.description = S("Hopper")
def_hopper_enabled._doc_items_longdesc = S("Hoppers are containers with 5 inventory slots. They collect dropped items from above, take items from a container above and attempts to put its items it into an adjacent container. Hoppers can go either downwards or sideways. Hoppers interact with chests, droppers, dispensers, shulker boxes, furnaces and hoppers.").."\n\n"..
Hoppers interact with containers the following way:
S([[Hoppers interact with containers the following way:
Furnaces: Hoppers from above will put items into the source slot. Hoppers from below take items from the output slot. They also take items from the fuel slot when they can't be used as a fuel. Sideway hoppers put items into the fuel slot
Ender chests: Hoppers don't interact with ender chests
Other containers: Hoppers interact with them normally
Other containers: Hoppers interact with them normally]]).."\n\n"..
Hoppers can be disabled by supplying them with redstone power. Disabled hoppers don't move items.]]
def_hopper_enabled._doc_items_usagehelp = "To place a hopper vertically, place it on the floor or a ceiling. To place it sideways, place it at the side of a block. Remember you can place at usable blocks (such as chests) with sneak + right-click. The hopper will keep its orientation when the blocks around it are changed. To access the hopper's inventory, rightclick it."
S("Hoppers can be disabled by supplying them with redstone power. Disabled hoppers don't move items.")
def_hopper_enabled._doc_items_usagehelp = S("To place a hopper vertically, place it on the floor or a ceiling. To place it sideways, place it at the side of a block. Remember you can place at usable blocks (such as chests) with sneak + right-click. The hopper will keep its orientation when the blocks around it are changed. To access the hopper's inventory, rightclick it.")
def_hopper_enabled.on_place = function(itemstack, placer, pointed_thing)
local upos = pointed_thing.under
local apos = pointed_thing.above
@ -179,7 +180,7 @@ minetest.register_node("mcl_hoppers:hopper", def_hopper_enabled)
-- Disabled downwards hopper
local def_hopper_disabled = table.copy(def_hopper)
def_hopper_disabled.description = "Disabled Hopper"
def_hopper_disabled.description = S("Disabled Hopper")
def_hopper_disabled._doc_items_create_entry = false
def_hopper_disabled.groups.not_in_creative_inventory = 1
def_hopper_disabled.drop = "mcl_hoppers:hopper"
@ -304,7 +305,7 @@ local def_hopper_side = {
}
local def_hopper_side_enabled = table.copy(def_hopper_side)
def_hopper_side_enabled.description = "Side Hopper"
def_hopper_side_enabled.description = S("Side Hopper")
def_hopper_side_enabled.mesecons = {
effector = {
action_on = function(pos, node)
@ -315,7 +316,7 @@ def_hopper_side_enabled.mesecons = {
minetest.register_node("mcl_hoppers:hopper_side", def_hopper_side_enabled)
local def_hopper_side_disabled = table.copy(def_hopper_side)
def_hopper_side_disabled.description = "Disabled Side Hopper"
def_hopper_side_disabled.description = S("Disabled Side Hopper")
def_hopper_side_disabled.mesecons = {
effector = {
action_off = function(pos, node)

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_itemframes")
minetest.register_entity("mcl_itemframes:item",{
hp_max = 1,
visual = "wielditem",
@ -100,9 +102,9 @@ if minetest.get_modpath("screwdriver") then
end
minetest.register_node("mcl_itemframes:item_frame",{
description = "Item Frame",
_doc_items_longdesc = "Item frames are decorative blocks in which items can be placed.",
_doc_items_usagehelp = "Hold any item in your hand and right-click the item frame to place the item into the frame. Rightclick the item frame again to retrieve the item.",
description = S("Item Frame"),
_doc_items_longdesc = S("Item frames are decorative blocks in which items can be placed."),
_doc_items_usagehelp = S("Hold any item in your hand and right-click the item frame to place the item into the frame. Rightclick the item frame again to retrieve the item."),
drawtype = "mesh",
is_ground_content = false,
mesh = "mcl_itemframes_itemframe1facedir.obj",

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_jukebox")
-- Player name-indexed table containing the currently heard track
local active_tracks = {}
@ -27,14 +29,14 @@ for r=1, records do
local entryname, longdesc, usagehelp
if r == 1 then
doc = true
entryname = "Music Disc"
longdesc = "A music disc holds a single music track which can be used in a jukebox to play music."
usagehelp = "Rightclick an empty jukebox with the music disc in your hand to play the music. Rightclick the jukebox again to retrieve the music disc. The music can only be heard by you, not by other players."
entryname = S("Music Disc")
longdesc = S("A music disc holds a single music track which can be used in a jukebox to play music.")
usagehelp = S("Rightclick an empty jukebox with the music disc in your hand to play the music. Rightclick the jukebox again to retrieve the music disc. The music can only be heard by you, not by other players.")
end
minetest.register_craftitem("mcl_jukebox:record_"..r, {
description =
core.colorize("#55FFFF", "Music Disc") .. "\n" ..
core.colorize("#989898", recorddata[r][2] .. "" .. recorddata[r][1]),
core.colorize("#55FFFF", S("Music Disc")) .. "\n" ..
core.colorize("#989898", S("@1—@2", recorddata[r][2], recorddata[r][1])),
_doc_items_create_entry = doc,
_doc_items_entry_name = entryname,
_doc_items_longdesc = longdesc,
@ -123,9 +125,9 @@ end
-- Jukebox
minetest.register_node("mcl_jukebox:jukebox", {
description = "Jukebox",
_doc_items_longdesc = "Jukeboxes play music when they're supplied with a music disc.",
_doc_items_usagehelp = "Place a music disc into an empty jukebox to insert the music disc and play music. If the jukebox already has a music disc, you will retrieve this music disc first. The music can only be heard by you, not by other players.",
description = S("Jukebox"),
_doc_items_longdesc = S("Jukeboxes play music when they're supplied with a music disc."),
_doc_items_usagehelp = S("Place a music disc into an empty jukebox to insert the music disc and play music. If the jukebox already has a music disc, you will retrieve this music disc first. The music can only be heard by you, not by other players."),
tiles = {"mcl_jukebox_top.png", "mcl_jukebox_side.png", "mcl_jukebox_side.png"},
sounds = mcl_sounds.node_sound_wood_defaults(),
groups = {handy=1,axey=1, container=7, deco_block=1, material_wood=1},

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_maps")
-- Turn empty map into filled map by rightclick
local make_filled_map = function(itemstack, placer, pointed_thing)
local new_map = ItemStack("mcl_maps:filled_map")
@ -16,9 +18,9 @@ local make_filled_map = function(itemstack, placer, pointed_thing)
end
minetest.register_craftitem("mcl_maps:empty_map", {
description = "Empty Map",
_doc_items_longdesc = "Empty maps are not useful as maps, but they can be stacked and turned to maps which can be used.",
_doc_items_usagehelp = "Rightclick to start using the map (which can't be stacked anymore).",
description = S("Empty Map"),
_doc_items_longdesc = S("Empty maps are not useful as maps, but they can be stacked and turned to maps which can be used."),
_doc_items_usagehelp = S("Rightclick to start using the map (which can't be stacked anymore)."),
inventory_image = "mcl_maps_map_empty.png",
groups = { not_in_creative_inventory = 1 },
on_place = make_filled_map,
@ -31,9 +33,9 @@ minetest.register_craftitem("mcl_maps:empty_map", {
-- Note: This is not at all like Minecraft right now. Minetest's minimap is pretty overpowered, it
-- has a very greatly zoomed-out version and even a radar mode
minetest.register_craftitem("mcl_maps:filled_map", {
description = "Map",
_doc_items_longdesc = "Maps show your surroundings as you explore the world. They can even show you the world like a radar. MAGIC!\nNote: Maps are subject to change in future versions of MineClone 2.",
_doc_items_usagehelp = "Hold the map in any of the hotbar slots. This allows you to access the minimap by pressing the minimap key ([F9] by default).\nIn Creative Mode, you don't need this item; the minimap is always available.",
description = S("Map"),
_doc_items_longdesc = S("Maps show your surroundings as you explore the world. They can even show you the world like a radar. MAGIC!\nNote: Maps are subject to change in future versions of MineClone 2."),
_doc_items_usagehelp = S("Hold the map in any of the hotbar slots. This allows you to access the minimap by pressing the minimap key ([F9] by default).\nIn Creative Mode, you don't need this item; the minimap is always available."),
groups = { tool = 1 },
inventory_image = "mcl_maps_map_filled.png^(mcl_maps_map_filled_markings.png^[colorize:#000000)",
stack_max = 1,

View file

@ -1,8 +1,10 @@
-- TODO: Add special status effects for raw flesh
local S = minetest.get_translator("mcl_mobitems")
minetest.register_craftitem("mcl_mobitems:rotten_flesh", {
description = "Rotten Flesh",
_doc_items_longdesc = "Yuck! This piece of flesh clearly has seen better days. If you're really desperate, you can eat it to restore a few hunger points, but there's a 80% chance it causes food poisoning, which increases your hunger for a while.",
description = S("Rotten Flesh"),
_doc_items_longdesc = S("Yuck! This piece of flesh clearly has seen better days. If you're really desperate, you can eat it to restore a few hunger points, but there's a 80% chance it causes food poisoning, which increases your hunger for a while."),
inventory_image = "mcl_mobitems_rotten_flesh.png",
wield_image = "mcl_mobitems_rotten_flesh.png",
on_place = minetest.item_eat(4),
@ -13,8 +15,8 @@ minetest.register_craftitem("mcl_mobitems:rotten_flesh", {
})
minetest.register_craftitem("mcl_mobitems:mutton", {
description = "Raw Mutton",
_doc_items_longdesc = "Raw mutton is the flesh from a sheep and can be eaten safely. Cooking it will greatly increase its nutritional value.",
description = S("Raw Mutton"),
_doc_items_longdesc = S("Raw mutton is the flesh from a sheep and can be eaten safely. Cooking it will greatly increase its nutritional value."),
inventory_image = "mcl_mobitems_mutton_raw.png",
wield_image = "mcl_mobitems_mutton_raw.png",
on_place = minetest.item_eat(2),
@ -25,8 +27,8 @@ minetest.register_craftitem("mcl_mobitems:mutton", {
})
minetest.register_craftitem("mcl_mobitems:cooked_mutton", {
description = "Cooked Mutton",
_doc_items_longdesc = "Cooked mutton is the cooked flesh from a sheep and is used as food.",
description = S("Cooked Mutton"),
_doc_items_longdesc = S("Cooked mutton is the cooked flesh from a sheep and is used as food."),
inventory_image = "mcl_mobitems_mutton_cooked.png",
wield_image = "mcl_mobitems_mutton_cooked.png",
on_place = minetest.item_eat(6),
@ -37,8 +39,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_mutton", {
})
minetest.register_craftitem("mcl_mobitems:beef", {
description = "Raw Beef",
_doc_items_longdesc = "Raw beef is the flesh from cows and can be eaten safely. Cooking it will greatly increase its nutritional value.",
description = S("Raw Beef"),
_doc_items_longdesc = S("Raw beef is the flesh from cows and can be eaten safely. Cooking it will greatly increase its nutritional value."),
inventory_image = "mcl_mobitems_beef_raw.png",
wield_image = "mcl_mobitems_beef_raw.png",
on_place = minetest.item_eat(3),
@ -49,8 +51,8 @@ minetest.register_craftitem("mcl_mobitems:beef", {
})
minetest.register_craftitem("mcl_mobitems:cooked_beef", {
description = "Steak",
_doc_items_longdesc = "Steak is cooked beef from cows and can be eaten.",
description = S("Steak"),
_doc_items_longdesc = S("Steak is cooked beef from cows and can be eaten."),
inventory_image = "mcl_mobitems_beef_cooked.png",
wield_image = "mcl_mobitems_beef_cooked.png",
on_place = minetest.item_eat(8),
@ -61,8 +63,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_beef", {
})
minetest.register_craftitem("mcl_mobitems:chicken", {
description = "Raw Chicken",
_doc_items_longdesc = "Raw chicken is a food item which is not safe to consume. You can eat it to restore a few hunger points, but there's a 30% chance to suffer from food poisoning, which increases your hunger rate for a while. Cooking raw chicken will make it safe to eat and increases its nutritional value.",
description = S("Raw Chicken"),
_doc_items_longdesc = S("Raw chicken is a food item which is not safe to consume. You can eat it to restore a few hunger points, but there's a 30% chance to suffer from food poisoning, which increases your hunger rate for a while. Cooking raw chicken will make it safe to eat and increases its nutritional value."),
inventory_image = "mcl_mobitems_chicken_raw.png",
wield_image = "mcl_mobitems_chicken_raw.png",
on_place = minetest.item_eat(2),
@ -73,8 +75,8 @@ minetest.register_craftitem("mcl_mobitems:chicken", {
})
minetest.register_craftitem("mcl_mobitems:cooked_chicken", {
description = "Cooked Chicken",
_doc_items_longdesc = "A cooked chicken is a healthy food item which can be eaten.",
description = S("Cooked Chicken"),
_doc_items_longdesc = S("A cooked chicken is a healthy food item which can be eaten."),
inventory_image = "mcl_mobitems_chicken_cooked.png",
wield_image = "mcl_mobitems_chicken_cooked.png",
on_place = minetest.item_eat(6),
@ -85,8 +87,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_chicken", {
})
minetest.register_craftitem("mcl_mobitems:porkchop", {
description = "Raw Porkchop",
_doc_items_longdesc = "A raw porkchop is the flesh from a pig and can be eaten safely. Cooking it will greatly increase its nutritional value.",
description = S("Raw Porkchop"),
_doc_items_longdesc = S("A raw porkchop is the flesh from a pig and can be eaten safely. Cooking it will greatly increase its nutritional value."),
inventory_image = "mcl_mobitems_porkchop_raw.png",
wield_image = "mcl_mobitems_porkchop_raw.png",
on_place = minetest.item_eat(3),
@ -97,8 +99,8 @@ minetest.register_craftitem("mcl_mobitems:porkchop", {
})
minetest.register_craftitem("mcl_mobitems:cooked_porkchop", {
description = "Cooked Porkchop",
_doc_items_longdesc = "Cooked porkchop is the cooked flesh of a pig and is used as food.",
description = S("Cooked Porkchop"),
_doc_items_longdesc = S("Cooked porkchop is the cooked flesh of a pig and is used as food."),
inventory_image = "mcl_mobitems_porkchop_cooked.png",
wield_image = "mcl_mobitems_porkchop_cooked.png",
on_place = minetest.item_eat(8),
@ -109,8 +111,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_porkchop", {
})
minetest.register_craftitem("mcl_mobitems:rabbit", {
description = "Raw Rabbit",
_doc_items_longdesc = "Raw rabbit is a food item from a dead rabbit. It can be eaten safely. Cooking it will increase its nutritional value.",
description = S("Raw Rabbit"),
_doc_items_longdesc = S("Raw rabbit is a food item from a dead rabbit. It can be eaten safely. Cooking it will increase its nutritional value."),
inventory_image = "mcl_mobitems_rabbit_raw.png",
wield_image = "mcl_mobitems_rabbit_raw.png",
on_place = minetest.item_eat(3),
@ -121,8 +123,8 @@ minetest.register_craftitem("mcl_mobitems:rabbit", {
})
minetest.register_craftitem("mcl_mobitems:cooked_rabbit", {
description = "Cooked Rabbit",
_doc_items_longdesc = "This is a food item which can be eaten.",
description = S("Cooked Rabbit"),
_doc_items_longdesc = S("This is a food item which can be eaten."),
inventory_image = "mcl_mobitems_rabbit_cooked.png",
wield_image = "mcl_mobitems_rabbit_cooked.png",
on_place = minetest.item_eat(5),
@ -143,8 +145,8 @@ end
-- TODO: Clear *all* status effects
minetest.register_craftitem("mcl_mobitems:milk_bucket", {
description = "Milk",
_doc_items_longdesc = "Milk is very refreshing and can be obtained by using a bucket on a cow. Drinking it will cure all forms of poisoning (in later versions: all status effects), but restores no hunger points.",
description = S("Milk"),
_doc_items_longdesc = S("Milk is very refreshing and can be obtained by using a bucket on a cow. Drinking it will cure all forms of poisoning (in later versions: all status effects), but restores no hunger points."),
_doc_items_usagehelp = "Rightclick to drink the milk.",
inventory_image = "mcl_mobitems_bucket_milk.png",
wield_image = "mcl_mobitems_bucket_milk.png",
@ -156,8 +158,8 @@ minetest.register_craftitem("mcl_mobitems:milk_bucket", {
})
minetest.register_craftitem("mcl_mobitems:spider_eye", {
description = "Spider Eye",
_doc_items_longdesc = "Spider eyes are used mainly in crafting. If you're really desperate, you can eat a spider eye, but it will poison you briefly.",
description = S("Spider Eye"),
_doc_items_longdesc = S("Spider eyes are used mainly in crafting. If you're really desperate, you can eat a spider eye, but it will poison you briefly."),
inventory_image = "mcl_mobitems_spider_eye.png",
wield_image = "mcl_mobitems_spider_eye.png",
on_place = minetest.item_eat(2),
@ -168,8 +170,8 @@ minetest.register_craftitem("mcl_mobitems:spider_eye", {
})
minetest.register_craftitem("mcl_mobitems:bone", {
description = "Bone",
_doc_items_longdesc = "Bones can be used to tame wolves so they will protect you. They are also useful as a crafting ingredient.",
description = S("Bone"),
_doc_items_longdesc = S("Bones can be used to tame wolves so they will protect you. They are also useful as a crafting ingredient."),
_doc_items_usagehelp = "Hold the bone in your hand near wolves to attract them. Rightclick the wolf to give it a bone and tame it. You can then give commands to the tamed wolf by rightclicking it.",
inventory_image = "mcl_mobitems_bone.png",
stack_max = 64,
@ -177,16 +179,16 @@ minetest.register_craftitem("mcl_mobitems:bone", {
})
minetest.register_craftitem("mcl_mobitems:string",{
description = "String",
_doc_items_longdesc = "Strings are used in crafting.",
description = S("String"),
_doc_items_longdesc = S("Strings are used in crafting."),
inventory_image = "mcl_mobitems_string.png",
stack_max = 64,
groups = { craftitem = 1 },
})
minetest.register_craftitem("mcl_mobitems:blaze_rod", {
description = "Blaze Rod",
_doc_items_longdesc = "This is a crafting component dropped from dead blazes.",
description = S("Blaze Rod"),
_doc_items_longdesc = S("This is a crafting component dropped from dead blazes."),
wield_image = "mcl_mobitems_blaze_rod.png",
inventory_image = "mcl_mobitems_blaze_rod.png",
groups = { craftitem = 1 },
@ -194,8 +196,8 @@ minetest.register_craftitem("mcl_mobitems:blaze_rod", {
})
minetest.register_craftitem("mcl_mobitems:blaze_powder", {
description = "Blaze Powder",
_doc_items_longdesc = "This item is mainly used for crafting.",
description = S("Blaze Powder"),
_doc_items_longdesc = S("This item is mainly used for crafting."),
wield_image = "mcl_mobitems_blaze_powder.png",
inventory_image = "mcl_mobitems_blaze_powder.png",
groups = { craftitem = 1, brewitem = 1 },
@ -203,8 +205,8 @@ minetest.register_craftitem("mcl_mobitems:blaze_powder", {
})
minetest.register_craftitem("mcl_mobitems:magma_cream", {
description = "Magma Cream",
_doc_items_longdesc = "Magma cream is a crafting component.",
description = S("Magma Cream"),
_doc_items_longdesc = S("Magma cream is a crafting component."),
wield_image = "mcl_mobitems_magma_cream.png",
inventory_image = "mcl_mobitems_magma_cream.png",
groups = { craftitem = 1, brewitem = 1 },
@ -212,8 +214,8 @@ minetest.register_craftitem("mcl_mobitems:magma_cream", {
})
minetest.register_craftitem("mcl_mobitems:ghast_tear", {
description = "Ghast Tear",
_doc_items_longdesc = "Place this item in an item frame as decoration.",
description = S("Ghast Tear"),
_doc_items_longdesc = S("Place this item in an item frame as decoration."),
wield_image = "mcl_mobitems_ghast_tear.png",
inventory_image = "mcl_mobitems_ghast_tear.png",
-- TODO: Reveal item when it's useful
@ -222,8 +224,8 @@ minetest.register_craftitem("mcl_mobitems:ghast_tear", {
})
minetest.register_craftitem("mcl_mobitems:nether_star", {
description = "Nether Star",
_doc_items_longdesc = "A nether star is dropped when the Wither dies. Place it in an item frame to show the world how hardcore you are! Or just as decoration.",
description = S("Nether Star"),
_doc_items_longdesc = S("A nether star is dropped when the Wither dies. Place it in an item frame to show the world how hardcore you are! Or just as decoration."),
wield_image = "mcl_mobitems_nether_star.png",
inventory_image = "mcl_mobitems_nether_star.png",
-- TODO: Reveal item when it's useful
@ -232,8 +234,8 @@ minetest.register_craftitem("mcl_mobitems:nether_star", {
})
minetest.register_craftitem("mcl_mobitems:leather", {
description = "Leather",
_doc_items_longdesc = "Leather is a versatile crafting component.",
description = S("Leather"),
_doc_items_longdesc = S("Leather is a versatile crafting component."),
wield_image = "mcl_mobitems_leather.png",
inventory_image = "mcl_mobitems_leather.png",
groups = { craftitem = 1 },
@ -241,8 +243,8 @@ minetest.register_craftitem("mcl_mobitems:leather", {
})
minetest.register_craftitem("mcl_mobitems:feather", {
description = "Feather",
_doc_items_longdesc = "Feathers are used in crafting and are dropped from chickens.",
description = S("Feather"),
_doc_items_longdesc = S("Feathers are used in crafting and are dropped from chickens."),
wield_image = "mcl_mobitems_feather.png",
inventory_image = "mcl_mobitems_feather.png",
groups = { craftitem = 1 },
@ -250,8 +252,8 @@ minetest.register_craftitem("mcl_mobitems:feather", {
})
minetest.register_craftitem("mcl_mobitems:rabbit_hide", {
description = "Rabbit Hide",
_doc_items_longdesc = "Rabbit hide is used to create leather.",
description = S("Rabbit Hide"),
_doc_items_longdesc = S("Rabbit hide is used to create leather."),
wield_image = "mcl_mobitems_rabbit_hide.png",
inventory_image = "mcl_mobitems_rabbit_hide.png",
groups = { craftitem = 1 },
@ -259,8 +261,8 @@ minetest.register_craftitem("mcl_mobitems:rabbit_hide", {
})
minetest.register_craftitem("mcl_mobitems:rabbit_foot", {
description = "Rabbit's Foot",
_doc_items_longdesc = "Must be your lucky day! Place this item in an item frame for decoration.",
description = S("Rabbit's Foot"),
_doc_items_longdesc = S("Must be your lucky day! Place this item in an item frame for decoration."),
wield_image = "mcl_mobitems_rabbit_foot.png",
inventory_image = "mcl_mobitems_rabbit_foot.png",
-- TODO: Reveal item when it's useful
@ -269,8 +271,8 @@ minetest.register_craftitem("mcl_mobitems:rabbit_foot", {
})
minetest.register_craftitem("mcl_mobitems:saddle", {
description = "Saddle",
_doc_items_longdesc = "Saddles can be put on some animals in order to mount them.",
description = S("Saddle"),
_doc_items_longdesc = S("Saddles can be put on some animals in order to mount them."),
_doc_items_usagehelp = "Rightclick an animal (with the saddle in your hand) to try put on the saddle. Saddles fit on horses, mules, donkeys and pigs. Horses, mules and donkeys need to be tamed first, otherwise they'll reject the saddle. Saddled animals can be mounted by rightclicking them again.",
wield_image = "mcl_mobitems_saddle.png",
inventory_image = "mcl_mobitems_saddle.png",
@ -279,8 +281,8 @@ minetest.register_craftitem("mcl_mobitems:saddle", {
})
minetest.register_craftitem("mcl_mobitems:rabbit_stew", {
description = "Rabbit Stew",
_doc_items_longdesc = "Rabbit stew is a very nutricious food item.",
description = S("Rabbit Stew"),
_doc_items_longdesc = S("Rabbit stew is a very nutricious food item."),
wield_image = "mcl_mobitems_rabbit_stew.png",
inventory_image = "mcl_mobitems_rabbit_stew.png",
stack_max = 1,
@ -291,21 +293,21 @@ minetest.register_craftitem("mcl_mobitems:rabbit_stew", {
})
minetest.register_craftitem("mcl_mobitems:shulker_shell", {
description = "Shulker Shell",
_doc_items_longdesc = "Shulker shells are used in crafting. They are dropped from dead shulkers.",
description = S("Shulker Shell"),
_doc_items_longdesc = S("Shulker shells are used in crafting. They are dropped from dead shulkers."),
inventory_image = "mcl_mobitems_shulker_shell.png",
groups = { craftitem = 1 },
})
minetest.register_craftitem("mcl_mobitems:slimeball", {
description = "Slimeball",
_doc_items_longdesc = "Slimeballs are used in crafting. They are dropped from slimes.",
description = S("Slimeball"),
_doc_items_longdesc = S("Slimeballs are used in crafting. They are dropped from slimes."),
inventory_image = "mcl_mobitems_slimeball.png",
groups = { craftitem = 1 },
})
minetest.register_craftitem("mcl_mobitems:gunpowder", {
description = "Gunpowder",
description = S("Gunpowder"),
_doc_items_longdesc = doc.sub.items.temp.craftitem,
inventory_image = "default_gunpowder.png",
stack_max = 64,
@ -313,8 +315,8 @@ minetest.register_craftitem("mcl_mobitems:gunpowder", {
})
minetest.register_tool("mcl_mobitems:carrot_on_a_stick", {
description = "Carrot on a Stick",
_doc_items_longdesc = "A carrot on a stick can be used on saddled pigs to ride them.",
description = S("Carrot on a Stick"),
_doc_items_longdesc = S("A carrot on a stick can be used on saddled pigs to ride them."),
_doc_items_usagehelp = "Rightclick a saddled pig with the carrot on a stick to mount it. You can now ride it like a horse. Pigs will also walk towards you when you just wield the carrot on a stick.",
wield_image = "mcl_mobitems_carrot_on_a_stick.png",
inventory_image = "mcl_mobitems_carrot_on_a_stick.png",

View file

@ -1,4 +1,4 @@
local S = mobs.intllib
local S = minetest.get_translator("mcl_mobspawners")
mcl_mobspawners = {}

View file

@ -1,3 +1,2 @@
mcl_sounds
mobs_mc
intllib?

View file

@ -1,9 +1,7 @@
-- Monster eggs!
-- Blocks which spawn silverfish when destroyed.
-- Intllib
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP .. "/intllib.lua")
local S = minetest.get_translator("mcl_mobspawners")
local spawn_silverfish = function(pos, oldnode, oldmetadata, digger)
if not minetest.settings:get_bool("creative_mode") then

View file

@ -1,45 +0,0 @@
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_mushrooms")
local template = {
groups = {handy=1,axey=1, building_block = 1, material_wood = 1 },
sounds = mcl_sounds.node_sound_wood_defaults(),
@ -42,7 +44,7 @@ local register_mushroom = function(color, species_id, template, d_cap, d_stem, d
-- Stem texture on all sides
local stem_full = table.copy(template)
stem_full.description = d_stem_all
stem_full._doc_items_longdesc = "This decorative block is like a huge mushroom stem, but with the stem texture on all sides."
stem_full._doc_items_longdesc = S("This decorative block is like a huge mushroom stem, but with the stem texture on all sides.")
stem_full.tiles = { "mcl_mushrooms_mushroom_block_skin_stem.png" }
stem_full.groups.huge_mushroom = species_id
stem_full.groups.huge_mushroom_stem = 2
@ -155,14 +157,14 @@ local register_mushroom = function(color, species_id, template, d_cap, d_stem, d
end
local longdesc_red = "Huge red mushroom blocks are the cap parts of huge red mushrooms. It consists of a red skin and can have pores on each of its sides."
local longdesc_red_stem = "The stem part of a huge red mushroom."
register_mushroom("red", 1, red, "Huge Red Mushroom Block", "Huge Red Mushroom Stem", "Huge Red Mushroom All-Faces Stem", longdesc_red, longdesc_red_stem)
local longdesc_red = S("Huge red mushroom blocks are the cap parts of huge red mushrooms. It consists of a red skin and can have pores on each of its sides.")
local longdesc_red_stem = S("The stem part of a huge red mushroom.")
register_mushroom("red", 1, red, S("Huge Red Mushroom Block"), S("Huge Red Mushroom Stem"), S("Huge Red Mushroom All-Faces Stem"), longdesc_red, longdesc_red_stem)
local longdesc_brown = "Huge brown mushroom blocks are the cap parts of huge brown mushrooms. It consists of a brown skin and can have pores on each of its sides."
local longdesc_brown_stem = "The stem part of a huge brown mushroom."
register_mushroom("brown", 2, brown, "Huge Brown Mushroom Block", "Huge Brown Mushroom Stem", "Huge Brown Mushroom All-Faces Stem", longdesc_brown, longdesc_brown_stem)
local longdesc_brown = S("Huge brown mushroom blocks are the cap parts of huge brown mushrooms. It consists of a brown skin and can have pores on each of its sides.")
local longdesc_brown_stem = S("The stem part of a huge brown mushroom.")
register_mushroom("brown", 2, brown, S("Huge Brown Mushroom Block"), S("Huge Brown Mushroom Stem"), S("Huge Brown Mushroom All-Faces Stem"), longdesc_brown, longdesc_brown_stem)
minetest.register_craft({
type = "fuel",

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_mushrooms")
local on_place = mcl_util.generate_on_place_plant_function(function(place_pos, place_node)
local soil_node = minetest.get_node_or_nil({x=place_pos.x, y=place_pos.y-1, z=place_pos.z})
if not soil_node then return false end
@ -15,16 +17,16 @@ local on_place = mcl_util.generate_on_place_plant_function(function(place_pos, p
return ((snn == "mcl_core:podzol" or snn == "mcl_core:podzol_snow" or snn == "mcl_core:mycelium" or snn == "mcl_core:mycelium_snow") or (light_ok and minetest.get_item_group(snn, "solid") == 1 and minetest.get_item_group(snn, "opaque") == 1))
end)
local longdesc_intro_brown = [[Brown mushrooms are fungi which grow and spread in darkness, but are sensitive to light. They are inedible as such, but they can be used to craft food items.]]
local longdesc_intro_red = [[Red mushrooms are fungi which grow and spread in darkness, but are sensitive to light. They are inedible as such, but they can be used to craft food items.]]
local longdesc_intro_brown = S("Brown mushrooms are fungi which grow and spread in darkness, but are sensitive to light. They are inedible as such, but they can be used to craft food items.")
local longdesc_intro_red = S("Red mushrooms are fungi which grow and spread in darkness, but are sensitive to light. They are inedible as such, but they can be used to craft food items.")
local longdesc_append = [[A single mushroom of this species will slowly spread over time towards a random solid opaque block with a light level of 12 or lower in a 3×3×3 cube around the mushroom. It stops spreading when there are 5 or more mushrooms of the same species within an area of 9×3×9 blocks around the mushroom.
Mushrooms will eventually uproot at a light level of 12 or higher. On mycelium or podzol, they survive and spread at any light level.]]
local longdesc_append = S("A single mushroom of this species will slowly spread over time towards a random solid opaque block with a light level of 12 or lower in a 3×3×3 cube around the mushroom. It stops spreading when there are 5 or more mushrooms of the same species within an area of 9×3×9 blocks around the mushroom.").."\n"..
S("Mushrooms will eventually uproot at a light level of 12 or higher. On mycelium or podzol, they survive and spread at any light level.")
local usagehelp = "This mushroom can be placed on mycelium and podzol at any light level. They can also be placed on blocks which are both solid and opaque, as long as the light level at daytime is not higher than 12."
local usagehelp = S("This mushroom can be placed on mycelium and podzol at any light level. They can also be placed on blocks which are both solid and opaque, as long as the light level at daytime is not higher than 12.")
minetest.register_node("mcl_mushrooms:mushroom_brown", {
description = "Brown Mushroom",
description = S("Brown Mushroom"),
_doc_items_longdesc = longdesc_intro_brown .. "\n\n" .. longdesc_append,
_doc_items_usagehelp = usagehelp,
drawtype = "plantlike",
@ -47,7 +49,7 @@ minetest.register_node("mcl_mushrooms:mushroom_brown", {
})
minetest.register_node("mcl_mushrooms:mushroom_red", {
description = "Red Mushroom",
description = S("Red Mushroom"),
_doc_items_longdesc = longdesc_intro_red .. "\n\n" .. longdesc_append,
_doc_items_usagehelp = usagehelp,
drawtype = "plantlike",
@ -69,8 +71,8 @@ minetest.register_node("mcl_mushrooms:mushroom_red", {
})
minetest.register_craftitem("mcl_mushrooms:mushroom_stew", {
description = "Mushroom Stew",
_doc_items_longdesc = "Mushroom stew is a healthy soup which can be consumed to restore some hunger points.",
description = S("Mushroom Stew"),
_doc_items_longdesc = S("Mushroom stew is a healthy soup which can be consumed to restore some hunger points."),
inventory_image = "farming_mushroom_stew.png",
on_place = minetest.item_eat(6, "mcl_core:bowl"),
on_secondary_use = minetest.item_eat(6, "mcl_core:bowl"),

View file

@ -1,6 +1,8 @@
local S = minetest.get_translator("mcl_nether")
minetest.register_node("mcl_nether:glowstone", {
description = "Glowstone",
_doc_items_longdesc = "Glowstone is a naturally-glowing block which is home to the Nether.",
description = S("Glowstone"),
_doc_items_longdesc = S("Glowstone is a naturally-glowing block which is home to the Nether."),
tiles = {"mcl_nether_glowstone.png"},
is_ground_content = true,
stack_max = 64,
@ -22,8 +24,8 @@ minetest.register_node("mcl_nether:glowstone", {
})
minetest.register_node("mcl_nether:quartz_ore", {
description = "Nether Quartz Ore",
_doc_items_longdesc = "Nether quartz ore is an ore containing nether quartz. It is commonly found around netherrack in the Nether.",
description = S("Nether Quartz Ore"),
_doc_items_longdesc = S("Nether quartz ore is an ore containing nether quartz. It is commonly found around netherrack in the Nether."),
stack_max = 64,
tiles = {"mcl_nether_quartz_ore.png"},
is_ground_content = true,
@ -60,8 +62,8 @@ local eternal_on_ignite = function(player, pointed_thing)
end
minetest.register_node("mcl_nether:netherrack", {
description = "Netherrack",
_doc_items_longdesc = "Netherrack is a stone-like block home to the Nether. Starting a fire on this block will create an eternal fire.",
description = S("Netherrack"),
_doc_items_longdesc = S("Netherrack is a stone-like block home to the Nether. Starting a fire on this block will create an eternal fire."),
stack_max = 64,
tiles = {"mcl_nether_netherrack.png"},
is_ground_content = true,
@ -76,8 +78,8 @@ minetest.register_node("mcl_nether:netherrack", {
})
minetest.register_node("mcl_nether:magma", {
description = "Magma Block",
_doc_items_longdesc = "Magma blocks are hot solid blocks which hurt anyone standing on it, unless they have fire resistance. Starting a fire on this block will create an eternal fire.",
description = S("Magma Block"),
_doc_items_longdesc = S("Magma blocks are hot solid blocks which hurt anyone standing on it, unless they have fire resistance. Starting a fire on this block will create an eternal fire."),
stack_max = 64,
tiles = {{name="mcl_nether_magma.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.5}}},
is_ground_content = true,
@ -102,8 +104,8 @@ minetest.register_node("mcl_nether:magma", {
})
minetest.register_node("mcl_nether:soul_sand", {
description = "Soul Sand",
_doc_items_longdesc = "Soul sand is a block from the Nether. One can only slowly walk on soul sand. The slowing effect is amplified when the soul sand is on top of ice, packed ice or a slime block.",
description = S("Soul Sand"),
_doc_items_longdesc = S("Soul sand is a block from the Nether. One can only slowly walk on soul sand. The slowing effect is amplified when the soul sand is on top of ice, packed ice or a slime block."),
stack_max = 64,
tiles = {"mcl_nether_soul_sand.png"},
is_ground_content = true,
@ -120,7 +122,7 @@ minetest.register_node("mcl_nether:soul_sand", {
minetest.register_node("mcl_nether:nether_brick", {
-- Original name: Nether Brick
description = "Nether Brick Block",
description = S("Nether Brick Block"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
tiles = {"mcl_nether_nether_brick.png"},
@ -133,7 +135,7 @@ minetest.register_node("mcl_nether:nether_brick", {
minetest.register_node("mcl_nether:red_nether_brick", {
-- Original name: Red Nether Brick
description = "Red Nether Brick Block",
description = S("Red Nether Brick Block"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
tiles = {"mcl_nether_red_nether_brick.png"},
@ -146,8 +148,8 @@ minetest.register_node("mcl_nether:red_nether_brick", {
minetest.register_node("mcl_nether:nether_wart_block", {
description = "Nether Wart Block",
_doc_items_longdesc = "A nether wart block is a purely decorational block made from nether wart.",
description = S("Nether Wart Block"),
_doc_items_longdesc = S("A nether wart block is a purely decorational block made from nether wart."),
stack_max = 64,
tiles = {"mcl_nether_nether_wart_block.png"},
is_ground_content = false,
@ -163,7 +165,7 @@ minetest.register_node("mcl_nether:nether_wart_block", {
})
minetest.register_node("mcl_nether:quartz_block", {
description = "Block of Quartz",
description = S("Block of Quartz"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
is_ground_content = false,
@ -175,7 +177,7 @@ minetest.register_node("mcl_nether:quartz_block", {
})
minetest.register_node("mcl_nether:quartz_chiseled", {
description = "Chiseled Quartz Block",
description = S("Chiseled Quartz Block"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
is_ground_content = false,
@ -187,7 +189,7 @@ minetest.register_node("mcl_nether:quartz_chiseled", {
})
minetest.register_node("mcl_nether:quartz_pillar", {
description = "Pillar Quartz Block",
description = S("Pillar Quartz Block"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
paramtype2 = "facedir",
@ -200,7 +202,7 @@ minetest.register_node("mcl_nether:quartz_pillar", {
_mcl_hardness = 0.8,
})
minetest.register_node("mcl_nether:quartz_smooth", {
description = "Smooth Quartz",
description = S("Smooth Quartz"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
is_ground_content = false,
@ -212,24 +214,24 @@ minetest.register_node("mcl_nether:quartz_smooth", {
})
minetest.register_craftitem("mcl_nether:glowstone_dust", {
description = "Glowstone Dust",
_doc_items_longdesc = "Glowstone dust is the dust which comes out of broken glowstones. It is mainly used in crafting.",
description = S("Glowstone Dust"),
_doc_items_longdesc = S("Glowstone dust is the dust which comes out of broken glowstones. It is mainly used in crafting."),
inventory_image = "mcl_nether_glowstone_dust.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_nether:quartz", {
description = "Nether Quartz",
_doc_items_longdesc = "Nether quartz is a versatile crafting ingredient.",
description = S("Nether Quartz"),
_doc_items_longdesc = S("Nether quartz is a versatile crafting ingredient."),
inventory_image = "mcl_nether_quartz.png",
stack_max = 64,
groups = { craftitem = 1 },
})
minetest.register_craftitem("mcl_nether:netherbrick", {
description = "Nether Brick",
_doc_items_longdesc = "Nether bricks are the main crafting ingredient for crafting nether brick blocks and nether fences.",
description = S("Nether Brick"),
_doc_items_longdesc = S("Nether bricks are the main crafting ingredient for crafting nether brick blocks and nether fences."),
inventory_image = "mcl_nether_netherbrick.png",
stack_max = 64,
groups = { craftitem = 1 },

View file

@ -1,11 +1,12 @@
-- Lava in the Nether
local S = minetest.get_translator("mcl_nether")
-- TODO: Increase flow speed. This could be done by reducing viscosity,
-- but this would also allow players to swim faster in lava.
local lava_src_def = table.copy(minetest.registered_nodes["mcl_core:lava_source"])
lava_src_def.description = "Nether Lava Source"
lava_src_def.description = S("Nether Lava Source")
lava_src_def._doc_items_create_entry = false
lava_src_def._doc_items_entry_name = nil
lava_src_def._doc_items_longdesc = nil
@ -16,7 +17,7 @@ lava_src_def.liquid_alternative_flowing = "mcl_nether:nether_lava_flowing"
minetest.register_node("mcl_nether:nether_lava_source", lava_src_def)
local lava_flow_def = table.copy(minetest.registered_nodes["mcl_core:lava_flowing"])
lava_flow_def.description = "Flowing Nether Lava"
lava_flow_def.description = S("Flowing Nether Lava")
lava_flow_def._doc_items_create_entry = false
lava_flow_def.liquid_range = 7
lava_flow_def.liquid_alternative_flowing = "mcl_nether:nether_lava_flowing"

View file

@ -1,8 +1,10 @@
-- Nodes
local S = minetest.get_translator("mcl_ocean")
minetest.register_node("mcl_ocean:sea_lantern", {
description = "Sea Lantern",
_doc_items_longdesc = "Sea lanterns are decorative light sources which look great underwater but can be placed anywhere.",
description = S("Sea Lantern"),
_doc_items_longdesc = S("Sea lanterns are decorative light sources which look great underwater but can be placed anywhere."),
paramtype2 = "facedir",
is_ground_content = false,
stack_max = 64,
@ -23,8 +25,8 @@ minetest.register_node("mcl_ocean:sea_lantern", {
})
minetest.register_node("mcl_ocean:prismarine", {
description = "Prismarine",
_doc_items_longdesc = "Prismarine is used as a building block. It slowly changes its color.",
description = S("Prismarine"),
_doc_items_longdesc = S("Prismarine is used as a building block. It slowly changes its color."),
stack_max = 64,
is_ground_content = false,
-- Texture should have 22 frames for smooth transitions.
@ -36,7 +38,7 @@ minetest.register_node("mcl_ocean:prismarine", {
})
minetest.register_node("mcl_ocean:prismarine_brick", {
description = "Prismarine Bricks",
description = S("Prismarine Bricks"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
is_ground_content = false,
@ -48,7 +50,7 @@ minetest.register_node("mcl_ocean:prismarine_brick", {
})
minetest.register_node("mcl_ocean:prismarine_dark", {
description = "Dark Prismarine",
description = S("Dark Prismarine"),
_doc_items_longdesc = doc.sub.items.temp.build,
stack_max = 64,
is_ground_content = false,
@ -62,7 +64,7 @@ minetest.register_node("mcl_ocean:prismarine_dark", {
-- Craftitems
minetest.register_craftitem("mcl_ocean:prismarine_crystals", {
description = "Prismarine Crystals",
description = S("Prismarine Crystals"),
_doc_items_longdesc = doc.sub.items.temp.craftitem,
inventory_image = "mcl_ocean_prismarine_crystals.png",
stack_max = 64,
@ -70,7 +72,7 @@ minetest.register_craftitem("mcl_ocean:prismarine_crystals", {
})
minetest.register_craftitem("mcl_ocean:prismarine_shard", {
description = "Prismarine Shard",
description = S("Prismarine Shard"),
_doc_items_longdesc = doc.sub.items.temp.craftitem,
inventory_image = "mcl_ocean_prismarine_shard.png",
stack_max = 64,

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_portals")
-- Parameters
local SPAWN_MIN = mcl_vars.mg_end_min+70
local SPAWN_MAX = mcl_vars.mg_end_min+98
@ -6,9 +8,9 @@ local mg_name = minetest.get_mapgen_setting("mg_name")
-- End portal
minetest.register_node("mcl_portals:portal_end", {
description = "End Portal",
_doc_items_longdesc = "An End portal teleports creatures and objects to the mysterious End dimension (and back!).",
_doc_items_usagehelp = "Hop into the portal to teleport. Entering an End portal in the Overworld teleports you to a fixed position in the End dimension and creates a 5×5 obsidian platform at your destination. End portals in the End will lead back to your spawn point in the Overworld.",
description = S("End Portal"),
_doc_items_longdesc = S("An End portal teleports creatures and objects to the mysterious End dimension (and back!)."),
_doc_items_usagehelp = S("Hop into the portal to teleport. Entering an End portal in the Overworld teleports you to a fixed position in the End dimension and creates a 5×5 obsidian platform at your destination. End portals in the End will lead back to your spawn point in the Overworld."),
tiles = {
{
name = "mcl_portals_end_portal.png",
@ -295,9 +297,9 @@ if minetest.get_modpath("screwdriver") then
end
minetest.register_node("mcl_portals:end_portal_frame", {
description = "End Portal Frame",
_doc_items_longdesc = "End portal frames are used in the construction of End portals. Each block has a socket for an eye of ender." .. "\n" .. "NOTE: The End dimension is currently incomplete and boring.",
_doc_items_usagehelp = "To create an End portal, you need 12 end portal frames and 12 eyes of ender. The end portal frames have to be arranged around a horizontal 3×3 area with each block facing inward. Any other arrangement will fail." .. "\n" .. "Place an eye of ender into each block. The end portal appears in the middle after placing the final eye." .. "\n" .. "Once placed, an eye of ender can not be taken back.",
description = S("End Portal Frame"),
_doc_items_longdesc = S("End portal frames are used in the construction of End portals. Each block has a socket for an eye of ender." .. "\n" .. "NOTE: The End dimension is currently incomplete and boring."),
_doc_items_usagehelp = S("To create an End portal, you need 12 end portal frames and 12 eyes of ender. The end portal frames have to be arranged around a horizontal 3×3 area with each block facing inward. Any other arrangement will fail.") .. "\n" .. S("Place an eye of ender into each block. The end portal appears in the middle after placing the final eye." .. "\n" .. "Once placed, an eye of ender can not be taken back."),
groups = { creative_breakable = 1, deco_block = 1 },
tiles = { "mcl_portals_endframe_top.png", "mcl_portals_endframe_bottom.png", "mcl_portals_endframe_side.png" },
paramtype2 = "facedir",
@ -319,7 +321,7 @@ minetest.register_node("mcl_portals:end_portal_frame", {
})
minetest.register_node("mcl_portals:end_portal_frame_eye", {
description = "End Portal Frame with Eye of Ender",
description = S("End Portal Frame with Eye of Ender"),
_doc_items_create_entry = false,
groups = { creative_breakable = 1, deco_block = 1, comparator_signal = 15 },
tiles = { "mcl_portals_endframe_top.png^[lowpart:75:mcl_portals_endframe_eye.png", "mcl_portals_endframe_bottom.png", "mcl_portals_endframe_eye.png^mcl_portals_endframe_side.png" },

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_portals")
-- Parameters
local TCAVE = 0.6
@ -77,9 +79,9 @@ local destroy_portal = function(pos)
end
minetest.register_node("mcl_portals:portal", {
description = "Nether Portal",
_doc_items_longdesc = "A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk!",
_doc_items_usagehelp = "Stand in the portal for a moment to activate the teleportation. Entering a Nether portal for the first time will also create a new portal in the other dimension. If a Nether portal has been built in the Nether, it will lead to the Overworld. A Nether portal is destroyed if the any of the obsidian which surrounds it is destroyed, or if it was caught in an explosion.",
description = S("Nether Portal"),
_doc_items_longdesc = S("A Nether portal teleports creatures and objects to the hot and dangerous Nether dimension (and back!). Enter at your own risk!"),
_doc_items_usagehelp = S("Stand in the portal for a moment to activate the teleportation. Entering a Nether portal for the first time will also create a new portal in the other dimension. If a Nether portal has been built in the Nether, it will lead to the Overworld. A Nether portal is destroyed if the any of the obsidian which surrounds it is destroyed, or if it was caught in an explosion."),
tiles = {
"blank.png",
@ -481,8 +483,8 @@ minetest.register_abm({
--[[ ITEM OVERRIDES ]]
local longdesc = minetest.registered_nodes["mcl_core:obsidian"]._doc_items_longdesc
longdesc = longdesc .. "\n" .. "Obsidian is also used as the frame of Nether portals."
local usagehelp = "To open a Nether portal, place an upright frame of obsidian with a width of 4 blocks and a height of 5 blocks, leaving only air in the center. After placing this frame, light a fire in the obsidian frame. Nether portals only work in the Overworld and the Nether."
longdesc = longdesc .. "\n" .. S("Obsidian is also used as the frame of Nether portals.")
local usagehelp = S("To open a Nether portal, place an upright frame of obsidian with a width of 4 blocks and a height of 5 blocks, leaving only air in the center. After placing this frame, light a fire in the obsidian frame. Nether portals only work in the Overworld and the Nether.")
minetest.override_item("mcl_core:obsidian", {
_doc_items_longdesc = longdesc,

View file

@ -1,7 +1,9 @@
local brewhelp = "Put this item in an item frame for decoration. It's useless otherwise."
local S = minetest.get_translator("mcl_potions")
local brewhelp = S("Put this item in an item frame for decoration. It's useless otherwise.")
minetest.register_craftitem("mcl_potions:fermented_spider_eye", {
description = "Fermented Spider Eye",
description = S("Fermented Spider Eye"),
_doc_items_longdesc = brewhelp,
wield_image = "mcl_potions_spider_eye_fermented.png",
inventory_image = "mcl_potions_spider_eye_fermented.png",
@ -17,9 +19,9 @@ minetest.register_craft({
})
minetest.register_craftitem("mcl_potions:glass_bottle", {
description = "Glass Bottle",
_doc_items_longdesc = "A glass bottle is used as a container for liquids and can be used to collect water directly.",
_doc_items_usagehelp = "To collect water, it on a cauldron with water (which removes a level of water) or any water source (which removes no water).",
description = S("Glass Bottle"),
_doc_items_longdesc = S("A glass bottle is used as a container for liquids and can be used to collect water directly."),
_doc_items_usagehelp = S("To collect water, it on a cauldron with water (which removes a level of water) or any water source (which removes no water)."),
inventory_image = "mcl_potions_potion_bottle_empty.png",
wield_image = "mcl_potions_potion_bottle_empty.png",
groups = {brewitem=1},
@ -156,9 +158,9 @@ end
-- Itemstring of potions is “mcl_potions:potion_<NBT Potion Tag>”
minetest.register_craftitem("mcl_potions:potion_water", {
description = "Water Bottle",
_doc_items_longdesc = "Water bottles can be used to fill cauldrons. Drinking water has no effect.",
_doc_items_usagehelp = "Rightclick to drink. Rightclick a cauldron to pour the water into the cauldron.",
description = S("Water Bottle"),
_doc_items_longdesc = S("Water bottles can be used to fill cauldrons. Drinking water has no effect."),
_doc_items_usagehelp = S("Rightclick to drink. Rightclick a cauldron to pour the water into the cauldron."),
stack_max = 1,
inventory_image = potion_image("#0000FF"),
wield_image = potion_image("#0000FF"),
@ -200,8 +202,8 @@ minetest.register_craftitem("mcl_potions:potion_water", {
})
minetest.register_craftitem("mcl_potions:potion_river_water", {
description = "River Water Bottle",
_doc_items_longdesc = "River water bottles can be used to fill cauldrons. Drinking it has no effect.",
description = S("River Water Bottle"),
_doc_items_longdesc = S("River water bottles can be used to fill cauldrons. Drinking it has no effect."),
_doc_items_usagehelp = "Rightclick to drink. Rightclick a cauldron to pour the river water into the cauldron.",
stack_max = 1,
inventory_image = potion_image("#0044FF"),
@ -248,8 +250,8 @@ minetest.register_craftitem("mcl_potions:potion_river_water", {
local how_to_drink = "To drink it, wield it, then rightclick."
minetest.register_craftitem("mcl_potions:potion_awkward", {
description = "Awkward Potion",
_doc_items_longdesc = "This potion has an awkward taste and is used for brewing more potions. Drinking it has no effect.",
description = S("Awkward Potion"),
_doc_items_longdesc = S("This potion has an awkward taste and is used for brewing more potions. Drinking it has no effect."),
_doc_items_usagehelp = how_to_drink,
stack_max = 1,
inventory_image = potion_image("#0000FF"),
@ -260,8 +262,8 @@ minetest.register_craftitem("mcl_potions:potion_awkward", {
on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"),
})
minetest.register_craftitem("mcl_potions:potion_mundane", {
description = "Mundane Potion",
_doc_items_longdesc = "This potion has a clean taste and is used for brewing more potions. Drinking it has no effect.",
description = S("Mundane Potion"),
_doc_items_longdesc = S("This potion has a clean taste and is used for brewing more potions. Drinking it has no effect."),
_doc_items_usagehelp = how_to_drink,
stack_max = 1,
inventory_image = potion_image("#0000FF"),
@ -272,8 +274,8 @@ minetest.register_craftitem("mcl_potions:potion_mundane", {
on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"),
})
minetest.register_craftitem("mcl_potions:potion_thick", {
description = "Thick Potion",
_doc_items_longdesc = "This potion has a bitter taste and is used for brewing more potions. Drinking it has no effect.",
description = S("Thick Potion"),
_doc_items_longdesc = S("This potion has a bitter taste and is used for brewing more potions. Drinking it has no effect."),
_doc_items_usagehelp = how_to_drink,
stack_max = 1,
inventory_image = potion_image("#0000FF"),
@ -285,8 +287,8 @@ minetest.register_craftitem("mcl_potions:potion_thick", {
})
minetest.register_craftitem("mcl_potions:speckled_melon", {
description = "Glistering Melon",
_doc_items_longdesc = "This shiny melon is full of tiny gold nuggets and would be nice in an item frame. It isn't edible and not useful for anything else.",
description = S("Glistering Melon"),
_doc_items_longdesc = S("This shiny melon is full of tiny gold nuggets and would be nice in an item frame. It isn't edible and not useful for anything else."),
stack_max = 64,
-- TODO: Reveal item when it's actually useful
groups = { brewitem = 1, not_in_creative_inventory = 1, not_in_craft_guide = 1 },
@ -303,7 +305,7 @@ minetest.register_craft({
})
minetest.register_craftitem("mcl_potions:dragon_breath", {
description = "Dragon's Breath",
description = S("Dragon's Breath"),
_doc_items_longdesc = brewhelp,
wield_image = "mcl_potions_dragon_breath.png",
inventory_image = "mcl_potions_dragon_breath.png",

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_signs")
-- Font: 04.jp.org
-- load characters map
@ -249,9 +251,9 @@ if minetest.get_modpath("mcl_sounds") then
end
minetest.register_node("mcl_signs:wall_sign", {
description = "Sign",
_doc_items_longdesc = "Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them.",
_doc_items_usagehelp = "Place the sign at the side to build a wall sign, place it on top of another block to build a sign with a sign post.\nAfter placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. The text can not be changed once it has been written; you have to break and place the sign again.",
description = S("Sign"),
_doc_items_longdesc = S("Signs can be written and come in two variants: Wall sign and sign on a sign post. Signs can be placed on the top and the sides of other blocks, but not below them."),
_doc_items_usagehelp = S("Place the sign at the side to build a wall sign, place it on top of another block to build a sign with a sign post.\nAfter placing the sign, you can write something on it. You have 4 lines of text with up to 15 characters for each line; anything beyond these limits is lost. The text can not be changed once it has been written; you have to break and place the sign again."),
inventory_image = "default_sign.png",
walkable = false,
is_ground_content = false,

View file

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_sponges")
local absorb = function(pos)
local change = false
-- Count number of absorbed river water vs other nodes
@ -34,8 +36,8 @@ local absorb = function(pos)
end
minetest.register_node("mcl_sponges:sponge", {
description = "Sponge",
_doc_items_longdesc = "Sponges are blocks which remove water around them when they are placed or come in contact with water, turning it into a wet sponge.",
description = S("Sponge"),
_doc_items_longdesc = S("Sponges are blocks which remove water around them when they are placed or come in contact with water, turning it into a wet sponge."),
drawtype = "normal",
is_ground_content = false,
tiles = {"mcl_sponges_sponge.png"},
@ -92,8 +94,8 @@ minetest.register_node("mcl_sponges:sponge", {
})
minetest.register_node("mcl_sponges:sponge_wet", {
description = "Waterlogged Sponge",
_doc_items_longdesc = "A waterlogged sponge can be dried in the furnace to turn it into (dry) sponge. When there's an empty bucket in the fuel slot of a furnace, the water will pour into the bucket.",
description = S("Waterlogged Sponge"),
_doc_items_longdesc = S("A waterlogged sponge can be dried in the furnace to turn it into (dry) sponge. When there's an empty bucket in the fuel slot of a furnace, the water will pour into the bucket."),
drawtype = "normal",
is_ground_content = false,
tiles = {"mcl_sponges_sponge_wet.png"},
@ -110,8 +112,8 @@ minetest.register_node("mcl_sponges:sponge_wet", {
if minetest.get_modpath("mclx_core") then
minetest.register_node("mcl_sponges:sponge_wet_river_water", {
description = "Riverwaterlogged Sponge",
_doc_items_longdesc = "This is a sponge soaking wet with river water. It can be dried in the furnace to turn it into (dry) sponge. When there's an empty bucket in the fuel slot of the furnace, the river water will pour into the bucket." .. "\n" .. "A sponge becomes riverwaterlogged (instead of waterlogged) if it sucks up more river water than (normal) water.",
description = S("Riverwaterlogged Sponge"),
_doc_items_longdesc = S("This is a sponge soaking wet with river water. It can be dried in the furnace to turn it into (dry) sponge. When there's an empty bucket in the fuel slot of the furnace, the river water will pour into the bucket.") .. "\n" .. S("A sponge becomes riverwaterlogged (instead of waterlogged) if it sucks up more river water than (normal) water."),
drawtype = "normal",
is_ground_content = false,
tiles = {"mcl_sponges_sponge_wet_river_water.png"},