forked from LizzyFleckenstein03/Memeclone
New translation system, part 8: Items, part 4
This commit is contained in:
parent
a29626881f
commit
47c817d75a
|
@ -1,10 +1,12 @@
|
||||||
|
local S = minetest.get_translator("mcl_flowers")
|
||||||
|
|
||||||
-- Minetest 0.4 mod: default
|
-- Minetest 0.4 mod: default
|
||||||
-- See README.txt for licensing and other information.
|
-- See README.txt for licensing and other information.
|
||||||
local init = os.clock()
|
local init = os.clock()
|
||||||
|
|
||||||
-- Simple flower template
|
-- Simple flower template
|
||||||
local smallflowerlongdesc = "This is a small flower. Small flowers are mainly used for dye production and can also be potted."
|
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 = "It can only be placed on a block on which it would also survive."
|
local plant_usage_help = S("It can only be placed on a block on which it would also survive.")
|
||||||
|
|
||||||
-- on_place function for flowers
|
-- on_place function for flowers
|
||||||
local on_place_flower = mcl_util.generate_on_place_plant_function(function(pos, node, itemstack)
|
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
|
end
|
||||||
|
|
||||||
add_simple_flower("poppy", "Poppy", "mcl_flowers_poppy", { -5/16, -0.5, -5/16, 5/16, 5/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", "Dandelion", "flowers_dandelion_yellow", { -4/16, -0.5, -4/16, 4/16, 3/16, 4/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", "Oxeye Daisy", "mcl_flowers_oxeye_daisy", { -4/16, -0.5, -4/16, 4/16, 4/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", "Orange Tulip", "flowers_tulip", { -3/16, -0.5, -3/16, 3/16, 5/16, 3/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", "Pink Tulip", "mcl_flowers_tulip_pink", { -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", "Red Tulip", "mcl_flowers_tulip_red", { -3/16, -0.5, -3/16, 3/16, 6/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", "White Tulip", "mcl_flowers_tulip_white", { -3/16, -0.5, -3/16, 3/16, 4/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", "Allium", "mcl_flowers_allium", { -3/16, -0.5, -3/16, 3/16, 6/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", "Azure Bluet", "mcl_flowers_azure_bluet", { -5/16, -0.5, -5/16, 5/16, 3/16, 5/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", "Blue Orchid", "mcl_flowers_blue_orchid", { -5/16, -0.5, -5/16, 5/16, 7/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 = {
|
local wheat_seed_drop = {
|
||||||
|
@ -88,9 +90,9 @@ local wheat_seed_drop = {
|
||||||
|
|
||||||
--- Tall Grass ---
|
--- Tall Grass ---
|
||||||
local def_tallgrass = {
|
local def_tallgrass = {
|
||||||
description = "Tall Grass",
|
description = S("Tall Grass"),
|
||||||
drawtype = "plantlike",
|
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_usagehelp = plant_usage_help,
|
||||||
_doc_items_hidden = false,
|
_doc_items_hidden = false,
|
||||||
waving = 1,
|
waving = 1,
|
||||||
|
@ -122,8 +124,8 @@ minetest.register_node("mcl_flowers:tallgrass", def_tallgrass)
|
||||||
--- Fern ---
|
--- Fern ---
|
||||||
-- The fern is very similar to tall grass, so we can copy a lot from it.
|
-- The fern is very similar to tall grass, so we can copy a lot from it.
|
||||||
local def_fern = table.copy(def_tallgrass)
|
local def_fern = table.copy(def_tallgrass)
|
||||||
def_fern.description = "Fern"
|
def_fern.description = S("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._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.tiles = { "mcl_flowers_fern.png" }
|
||||||
def_fern.inventory_image = "mcl_flowers_fern_inv.png"
|
def_fern.inventory_image = "mcl_flowers_fern_inv.png"
|
||||||
def_fern.wield_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
|
-- Top
|
||||||
minetest.register_node("mcl_flowers:"..name.."_top", {
|
minetest.register_node("mcl_flowers:"..name.."_top", {
|
||||||
description = desc.." (Top Part)",
|
description = desc.." " .. S("(Top Part)"),
|
||||||
_doc_items_create_entry = false,
|
_doc_items_create_entry = false,
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
tiles = { top_img },
|
tiles = { top_img },
|
||||||
|
@ -310,18 +312,18 @@ local function add_large_plant(name, desc, longdesc, bottom_img, top_img, inv_im
|
||||||
|
|
||||||
end
|
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("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", "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("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", "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("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.
|
-- 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_grass = S("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_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_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", "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_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({
|
minetest.register_abm({
|
||||||
label = "Pop out flowers",
|
label = "Pop out flowers",
|
||||||
|
@ -348,8 +350,8 @@ minetest.register_abm({
|
||||||
|
|
||||||
-- Lily Pad
|
-- Lily Pad
|
||||||
minetest.register_node("mcl_flowers:waterlily", {
|
minetest.register_node("mcl_flowers:waterlily", {
|
||||||
description = "Lily Pad",
|
description = S("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.",
|
_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",
|
drawtype = "nodebox",
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
|
|
||||||
|
local S = minetest.get_translator("mcl_furnaces")
|
||||||
|
|
||||||
--
|
--
|
||||||
-- Formspecs
|
-- Formspecs
|
||||||
--
|
--
|
||||||
|
@ -292,9 +294,9 @@ if minetest.get_modpath("screwdriver") then
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_furnaces:furnace", {
|
minetest.register_node("mcl_furnaces:furnace", {
|
||||||
description = "Furnace",
|
description = S("Furnace"),
|
||||||
_doc_items_longdesc = "Furnaces cook or smelt several items, using a furnace fuel, into something else.",
|
_doc_items_longdesc = S("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.",
|
_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,
|
_doc_items_hidden = false,
|
||||||
tiles = {
|
tiles = {
|
||||||
"default_furnace_top.png", "default_furnace_bottom.png",
|
"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", {
|
minetest.register_node("mcl_furnaces:furnace_active", {
|
||||||
description = "Burning Furnace",
|
description = S("Burning Furnace"),
|
||||||
_doc_items_create_entry = false,
|
_doc_items_create_entry = false,
|
||||||
tiles = {
|
tiles = {
|
||||||
"default_furnace_top.png", "default_furnace_bottom.png",
|
"default_furnace_top.png", "default_furnace_bottom.png",
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_heads")
|
||||||
|
|
||||||
-- Heads system
|
-- Heads system
|
||||||
|
|
||||||
local function addhead(name, texture, desc, longdesc)
|
local function addhead(name, texture, desc, longdesc)
|
||||||
|
@ -48,9 +50,9 @@ local function addhead(name, texture, desc, longdesc)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Add heads
|
-- 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("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", "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("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”
|
-- 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("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", "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("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", "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("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."))
|
||||||
|
|
|
@ -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 ]]
|
--[[ BEGIN OF NODE DEFINITIONS ]]
|
||||||
|
|
||||||
|
@ -121,16 +122,16 @@ local def_hopper = {
|
||||||
|
|
||||||
-- Enabled downwards hopper
|
-- Enabled downwards hopper
|
||||||
local def_hopper_enabled = table.copy(def_hopper)
|
local def_hopper_enabled = table.copy(def_hopper)
|
||||||
def_hopper_enabled.description = "Hopper"
|
def_hopper_enabled.description = S("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._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
|
• 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
|
• 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.]]
|
S("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."
|
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)
|
def_hopper_enabled.on_place = function(itemstack, placer, pointed_thing)
|
||||||
local upos = pointed_thing.under
|
local upos = pointed_thing.under
|
||||||
local apos = pointed_thing.above
|
local apos = pointed_thing.above
|
||||||
|
@ -179,7 +180,7 @@ minetest.register_node("mcl_hoppers:hopper", def_hopper_enabled)
|
||||||
|
|
||||||
-- Disabled downwards hopper
|
-- Disabled downwards hopper
|
||||||
local def_hopper_disabled = table.copy(def_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._doc_items_create_entry = false
|
||||||
def_hopper_disabled.groups.not_in_creative_inventory = 1
|
def_hopper_disabled.groups.not_in_creative_inventory = 1
|
||||||
def_hopper_disabled.drop = "mcl_hoppers:hopper"
|
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)
|
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 = {
|
def_hopper_side_enabled.mesecons = {
|
||||||
effector = {
|
effector = {
|
||||||
action_on = function(pos, node)
|
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)
|
minetest.register_node("mcl_hoppers:hopper_side", def_hopper_side_enabled)
|
||||||
|
|
||||||
local def_hopper_side_disabled = table.copy(def_hopper_side)
|
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 = {
|
def_hopper_side_disabled.mesecons = {
|
||||||
effector = {
|
effector = {
|
||||||
action_off = function(pos, node)
|
action_off = function(pos, node)
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_itemframes")
|
||||||
|
|
||||||
minetest.register_entity("mcl_itemframes:item",{
|
minetest.register_entity("mcl_itemframes:item",{
|
||||||
hp_max = 1,
|
hp_max = 1,
|
||||||
visual = "wielditem",
|
visual = "wielditem",
|
||||||
|
@ -100,9 +102,9 @@ if minetest.get_modpath("screwdriver") then
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_itemframes:item_frame",{
|
minetest.register_node("mcl_itemframes:item_frame",{
|
||||||
description = "Item Frame",
|
description = S("Item Frame"),
|
||||||
_doc_items_longdesc = "Item frames are decorative blocks in which items can be placed.",
|
_doc_items_longdesc = S("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.",
|
_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",
|
drawtype = "mesh",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
mesh = "mcl_itemframes_itemframe1facedir.obj",
|
mesh = "mcl_itemframes_itemframe1facedir.obj",
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_jukebox")
|
||||||
|
|
||||||
-- Player name-indexed table containing the currently heard track
|
-- Player name-indexed table containing the currently heard track
|
||||||
local active_tracks = {}
|
local active_tracks = {}
|
||||||
|
|
||||||
|
@ -27,14 +29,14 @@ for r=1, records do
|
||||||
local entryname, longdesc, usagehelp
|
local entryname, longdesc, usagehelp
|
||||||
if r == 1 then
|
if r == 1 then
|
||||||
doc = true
|
doc = true
|
||||||
entryname = "Music Disc"
|
entryname = S("Music Disc")
|
||||||
longdesc = "A music disc holds a single music track which can be used in a jukebox to play music."
|
longdesc = S("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."
|
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
|
end
|
||||||
minetest.register_craftitem("mcl_jukebox:record_"..r, {
|
minetest.register_craftitem("mcl_jukebox:record_"..r, {
|
||||||
description =
|
description =
|
||||||
core.colorize("#55FFFF", "Music Disc") .. "\n" ..
|
core.colorize("#55FFFF", S("Music Disc")) .. "\n" ..
|
||||||
core.colorize("#989898", recorddata[r][2] .. "—" .. recorddata[r][1]),
|
core.colorize("#989898", S("@1—@2", recorddata[r][2], recorddata[r][1])),
|
||||||
_doc_items_create_entry = doc,
|
_doc_items_create_entry = doc,
|
||||||
_doc_items_entry_name = entryname,
|
_doc_items_entry_name = entryname,
|
||||||
_doc_items_longdesc = longdesc,
|
_doc_items_longdesc = longdesc,
|
||||||
|
@ -123,9 +125,9 @@ end
|
||||||
|
|
||||||
-- Jukebox
|
-- Jukebox
|
||||||
minetest.register_node("mcl_jukebox:jukebox", {
|
minetest.register_node("mcl_jukebox:jukebox", {
|
||||||
description = "Jukebox",
|
description = S("Jukebox"),
|
||||||
_doc_items_longdesc = "Jukeboxes play music when they're supplied with a music disc.",
|
_doc_items_longdesc = S("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.",
|
_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"},
|
tiles = {"mcl_jukebox_top.png", "mcl_jukebox_side.png", "mcl_jukebox_side.png"},
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
sounds = mcl_sounds.node_sound_wood_defaults(),
|
||||||
groups = {handy=1,axey=1, container=7, deco_block=1, material_wood=1},
|
groups = {handy=1,axey=1, container=7, deco_block=1, material_wood=1},
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_maps")
|
||||||
|
|
||||||
-- Turn empty map into filled map by rightclick
|
-- Turn empty map into filled map by rightclick
|
||||||
local make_filled_map = function(itemstack, placer, pointed_thing)
|
local make_filled_map = function(itemstack, placer, pointed_thing)
|
||||||
local new_map = ItemStack("mcl_maps:filled_map")
|
local new_map = ItemStack("mcl_maps:filled_map")
|
||||||
|
@ -16,9 +18,9 @@ local make_filled_map = function(itemstack, placer, pointed_thing)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_maps:empty_map", {
|
minetest.register_craftitem("mcl_maps:empty_map", {
|
||||||
description = "Empty Map",
|
description = S("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_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 = "Rightclick to start using the map (which can't be stacked anymore).",
|
_doc_items_usagehelp = S("Rightclick to start using the map (which can't be stacked anymore)."),
|
||||||
inventory_image = "mcl_maps_map_empty.png",
|
inventory_image = "mcl_maps_map_empty.png",
|
||||||
groups = { not_in_creative_inventory = 1 },
|
groups = { not_in_creative_inventory = 1 },
|
||||||
on_place = make_filled_map,
|
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
|
-- 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
|
-- has a very greatly zoomed-out version and even a radar mode
|
||||||
minetest.register_craftitem("mcl_maps:filled_map", {
|
minetest.register_craftitem("mcl_maps:filled_map", {
|
||||||
description = "Map",
|
description = S("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_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 = "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.",
|
_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 },
|
groups = { tool = 1 },
|
||||||
inventory_image = "mcl_maps_map_filled.png^(mcl_maps_map_filled_markings.png^[colorize:#000000)",
|
inventory_image = "mcl_maps_map_filled.png^(mcl_maps_map_filled_markings.png^[colorize:#000000)",
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
-- TODO: Add special status effects for raw flesh
|
-- TODO: Add special status effects for raw flesh
|
||||||
|
|
||||||
|
local S = minetest.get_translator("mcl_mobitems")
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:rotten_flesh", {
|
minetest.register_craftitem("mcl_mobitems:rotten_flesh", {
|
||||||
description = "Rotten Flesh",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_rotten_flesh.png",
|
||||||
wield_image = "mcl_mobitems_rotten_flesh.png",
|
wield_image = "mcl_mobitems_rotten_flesh.png",
|
||||||
on_place = minetest.item_eat(4),
|
on_place = minetest.item_eat(4),
|
||||||
|
@ -13,8 +15,8 @@ minetest.register_craftitem("mcl_mobitems:rotten_flesh", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:mutton", {
|
minetest.register_craftitem("mcl_mobitems:mutton", {
|
||||||
description = "Raw Mutton",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_mutton_raw.png",
|
||||||
wield_image = "mcl_mobitems_mutton_raw.png",
|
wield_image = "mcl_mobitems_mutton_raw.png",
|
||||||
on_place = minetest.item_eat(2),
|
on_place = minetest.item_eat(2),
|
||||||
|
@ -25,8 +27,8 @@ minetest.register_craftitem("mcl_mobitems:mutton", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:cooked_mutton", {
|
minetest.register_craftitem("mcl_mobitems:cooked_mutton", {
|
||||||
description = "Cooked Mutton",
|
description = S("Cooked Mutton"),
|
||||||
_doc_items_longdesc = "Cooked mutton is the cooked flesh from a sheep and is used as food.",
|
_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",
|
inventory_image = "mcl_mobitems_mutton_cooked.png",
|
||||||
wield_image = "mcl_mobitems_mutton_cooked.png",
|
wield_image = "mcl_mobitems_mutton_cooked.png",
|
||||||
on_place = minetest.item_eat(6),
|
on_place = minetest.item_eat(6),
|
||||||
|
@ -37,8 +39,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_mutton", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:beef", {
|
minetest.register_craftitem("mcl_mobitems:beef", {
|
||||||
description = "Raw Beef",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_beef_raw.png",
|
||||||
wield_image = "mcl_mobitems_beef_raw.png",
|
wield_image = "mcl_mobitems_beef_raw.png",
|
||||||
on_place = minetest.item_eat(3),
|
on_place = minetest.item_eat(3),
|
||||||
|
@ -49,8 +51,8 @@ minetest.register_craftitem("mcl_mobitems:beef", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:cooked_beef", {
|
minetest.register_craftitem("mcl_mobitems:cooked_beef", {
|
||||||
description = "Steak",
|
description = S("Steak"),
|
||||||
_doc_items_longdesc = "Steak is cooked beef from cows and can be eaten.",
|
_doc_items_longdesc = S("Steak is cooked beef from cows and can be eaten."),
|
||||||
inventory_image = "mcl_mobitems_beef_cooked.png",
|
inventory_image = "mcl_mobitems_beef_cooked.png",
|
||||||
wield_image = "mcl_mobitems_beef_cooked.png",
|
wield_image = "mcl_mobitems_beef_cooked.png",
|
||||||
on_place = minetest.item_eat(8),
|
on_place = minetest.item_eat(8),
|
||||||
|
@ -61,8 +63,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_beef", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:chicken", {
|
minetest.register_craftitem("mcl_mobitems:chicken", {
|
||||||
description = "Raw Chicken",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_chicken_raw.png",
|
||||||
wield_image = "mcl_mobitems_chicken_raw.png",
|
wield_image = "mcl_mobitems_chicken_raw.png",
|
||||||
on_place = minetest.item_eat(2),
|
on_place = minetest.item_eat(2),
|
||||||
|
@ -73,8 +75,8 @@ minetest.register_craftitem("mcl_mobitems:chicken", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:cooked_chicken", {
|
minetest.register_craftitem("mcl_mobitems:cooked_chicken", {
|
||||||
description = "Cooked Chicken",
|
description = S("Cooked Chicken"),
|
||||||
_doc_items_longdesc = "A cooked chicken is a healthy food item which can be eaten.",
|
_doc_items_longdesc = S("A cooked chicken is a healthy food item which can be eaten."),
|
||||||
inventory_image = "mcl_mobitems_chicken_cooked.png",
|
inventory_image = "mcl_mobitems_chicken_cooked.png",
|
||||||
wield_image = "mcl_mobitems_chicken_cooked.png",
|
wield_image = "mcl_mobitems_chicken_cooked.png",
|
||||||
on_place = minetest.item_eat(6),
|
on_place = minetest.item_eat(6),
|
||||||
|
@ -85,8 +87,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_chicken", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:porkchop", {
|
minetest.register_craftitem("mcl_mobitems:porkchop", {
|
||||||
description = "Raw Porkchop",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_porkchop_raw.png",
|
||||||
wield_image = "mcl_mobitems_porkchop_raw.png",
|
wield_image = "mcl_mobitems_porkchop_raw.png",
|
||||||
on_place = minetest.item_eat(3),
|
on_place = minetest.item_eat(3),
|
||||||
|
@ -97,8 +99,8 @@ minetest.register_craftitem("mcl_mobitems:porkchop", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:cooked_porkchop", {
|
minetest.register_craftitem("mcl_mobitems:cooked_porkchop", {
|
||||||
description = "Cooked Porkchop",
|
description = S("Cooked Porkchop"),
|
||||||
_doc_items_longdesc = "Cooked porkchop is the cooked flesh of a pig and is used as food.",
|
_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",
|
inventory_image = "mcl_mobitems_porkchop_cooked.png",
|
||||||
wield_image = "mcl_mobitems_porkchop_cooked.png",
|
wield_image = "mcl_mobitems_porkchop_cooked.png",
|
||||||
on_place = minetest.item_eat(8),
|
on_place = minetest.item_eat(8),
|
||||||
|
@ -109,8 +111,8 @@ minetest.register_craftitem("mcl_mobitems:cooked_porkchop", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:rabbit", {
|
minetest.register_craftitem("mcl_mobitems:rabbit", {
|
||||||
description = "Raw Rabbit",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_rabbit_raw.png",
|
||||||
wield_image = "mcl_mobitems_rabbit_raw.png",
|
wield_image = "mcl_mobitems_rabbit_raw.png",
|
||||||
on_place = minetest.item_eat(3),
|
on_place = minetest.item_eat(3),
|
||||||
|
@ -121,8 +123,8 @@ minetest.register_craftitem("mcl_mobitems:rabbit", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:cooked_rabbit", {
|
minetest.register_craftitem("mcl_mobitems:cooked_rabbit", {
|
||||||
description = "Cooked Rabbit",
|
description = S("Cooked Rabbit"),
|
||||||
_doc_items_longdesc = "This is a food item which can be eaten.",
|
_doc_items_longdesc = S("This is a food item which can be eaten."),
|
||||||
inventory_image = "mcl_mobitems_rabbit_cooked.png",
|
inventory_image = "mcl_mobitems_rabbit_cooked.png",
|
||||||
wield_image = "mcl_mobitems_rabbit_cooked.png",
|
wield_image = "mcl_mobitems_rabbit_cooked.png",
|
||||||
on_place = minetest.item_eat(5),
|
on_place = minetest.item_eat(5),
|
||||||
|
@ -143,8 +145,8 @@ end
|
||||||
|
|
||||||
-- TODO: Clear *all* status effects
|
-- TODO: Clear *all* status effects
|
||||||
minetest.register_craftitem("mcl_mobitems:milk_bucket", {
|
minetest.register_craftitem("mcl_mobitems:milk_bucket", {
|
||||||
description = "Milk",
|
description = S("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.",
|
_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.",
|
_doc_items_usagehelp = "Rightclick to drink the milk.",
|
||||||
inventory_image = "mcl_mobitems_bucket_milk.png",
|
inventory_image = "mcl_mobitems_bucket_milk.png",
|
||||||
wield_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", {
|
minetest.register_craftitem("mcl_mobitems:spider_eye", {
|
||||||
description = "Spider Eye",
|
description = S("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.",
|
_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",
|
inventory_image = "mcl_mobitems_spider_eye.png",
|
||||||
wield_image = "mcl_mobitems_spider_eye.png",
|
wield_image = "mcl_mobitems_spider_eye.png",
|
||||||
on_place = minetest.item_eat(2),
|
on_place = minetest.item_eat(2),
|
||||||
|
@ -168,8 +170,8 @@ minetest.register_craftitem("mcl_mobitems:spider_eye", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:bone", {
|
minetest.register_craftitem("mcl_mobitems:bone", {
|
||||||
description = "Bone",
|
description = S("Bone"),
|
||||||
_doc_items_longdesc = "Bones can be used to tame wolves so they will protect you. They are also useful as a crafting ingredient.",
|
_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.",
|
_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",
|
inventory_image = "mcl_mobitems_bone.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -177,16 +179,16 @@ minetest.register_craftitem("mcl_mobitems:bone", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:string",{
|
minetest.register_craftitem("mcl_mobitems:string",{
|
||||||
description = "String",
|
description = S("String"),
|
||||||
_doc_items_longdesc = "Strings are used in crafting.",
|
_doc_items_longdesc = S("Strings are used in crafting."),
|
||||||
inventory_image = "mcl_mobitems_string.png",
|
inventory_image = "mcl_mobitems_string.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:blaze_rod", {
|
minetest.register_craftitem("mcl_mobitems:blaze_rod", {
|
||||||
description = "Blaze Rod",
|
description = S("Blaze Rod"),
|
||||||
_doc_items_longdesc = "This is a crafting component dropped from dead blazes.",
|
_doc_items_longdesc = S("This is a crafting component dropped from dead blazes."),
|
||||||
wield_image = "mcl_mobitems_blaze_rod.png",
|
wield_image = "mcl_mobitems_blaze_rod.png",
|
||||||
inventory_image = "mcl_mobitems_blaze_rod.png",
|
inventory_image = "mcl_mobitems_blaze_rod.png",
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
|
@ -194,8 +196,8 @@ minetest.register_craftitem("mcl_mobitems:blaze_rod", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:blaze_powder", {
|
minetest.register_craftitem("mcl_mobitems:blaze_powder", {
|
||||||
description = "Blaze Powder",
|
description = S("Blaze Powder"),
|
||||||
_doc_items_longdesc = "This item is mainly used for crafting.",
|
_doc_items_longdesc = S("This item is mainly used for crafting."),
|
||||||
wield_image = "mcl_mobitems_blaze_powder.png",
|
wield_image = "mcl_mobitems_blaze_powder.png",
|
||||||
inventory_image = "mcl_mobitems_blaze_powder.png",
|
inventory_image = "mcl_mobitems_blaze_powder.png",
|
||||||
groups = { craftitem = 1, brewitem = 1 },
|
groups = { craftitem = 1, brewitem = 1 },
|
||||||
|
@ -203,8 +205,8 @@ minetest.register_craftitem("mcl_mobitems:blaze_powder", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:magma_cream", {
|
minetest.register_craftitem("mcl_mobitems:magma_cream", {
|
||||||
description = "Magma Cream",
|
description = S("Magma Cream"),
|
||||||
_doc_items_longdesc = "Magma cream is a crafting component.",
|
_doc_items_longdesc = S("Magma cream is a crafting component."),
|
||||||
wield_image = "mcl_mobitems_magma_cream.png",
|
wield_image = "mcl_mobitems_magma_cream.png",
|
||||||
inventory_image = "mcl_mobitems_magma_cream.png",
|
inventory_image = "mcl_mobitems_magma_cream.png",
|
||||||
groups = { craftitem = 1, brewitem = 1 },
|
groups = { craftitem = 1, brewitem = 1 },
|
||||||
|
@ -212,8 +214,8 @@ minetest.register_craftitem("mcl_mobitems:magma_cream", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:ghast_tear", {
|
minetest.register_craftitem("mcl_mobitems:ghast_tear", {
|
||||||
description = "Ghast Tear",
|
description = S("Ghast Tear"),
|
||||||
_doc_items_longdesc = "Place this item in an item frame as decoration.",
|
_doc_items_longdesc = S("Place this item in an item frame as decoration."),
|
||||||
wield_image = "mcl_mobitems_ghast_tear.png",
|
wield_image = "mcl_mobitems_ghast_tear.png",
|
||||||
inventory_image = "mcl_mobitems_ghast_tear.png",
|
inventory_image = "mcl_mobitems_ghast_tear.png",
|
||||||
-- TODO: Reveal item when it's useful
|
-- 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", {
|
minetest.register_craftitem("mcl_mobitems:nether_star", {
|
||||||
description = "Nether Star",
|
description = S("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.",
|
_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",
|
wield_image = "mcl_mobitems_nether_star.png",
|
||||||
inventory_image = "mcl_mobitems_nether_star.png",
|
inventory_image = "mcl_mobitems_nether_star.png",
|
||||||
-- TODO: Reveal item when it's useful
|
-- TODO: Reveal item when it's useful
|
||||||
|
@ -232,8 +234,8 @@ minetest.register_craftitem("mcl_mobitems:nether_star", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:leather", {
|
minetest.register_craftitem("mcl_mobitems:leather", {
|
||||||
description = "Leather",
|
description = S("Leather"),
|
||||||
_doc_items_longdesc = "Leather is a versatile crafting component.",
|
_doc_items_longdesc = S("Leather is a versatile crafting component."),
|
||||||
wield_image = "mcl_mobitems_leather.png",
|
wield_image = "mcl_mobitems_leather.png",
|
||||||
inventory_image = "mcl_mobitems_leather.png",
|
inventory_image = "mcl_mobitems_leather.png",
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
|
@ -241,8 +243,8 @@ minetest.register_craftitem("mcl_mobitems:leather", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:feather", {
|
minetest.register_craftitem("mcl_mobitems:feather", {
|
||||||
description = "Feather",
|
description = S("Feather"),
|
||||||
_doc_items_longdesc = "Feathers are used in crafting and are dropped from chickens.",
|
_doc_items_longdesc = S("Feathers are used in crafting and are dropped from chickens."),
|
||||||
wield_image = "mcl_mobitems_feather.png",
|
wield_image = "mcl_mobitems_feather.png",
|
||||||
inventory_image = "mcl_mobitems_feather.png",
|
inventory_image = "mcl_mobitems_feather.png",
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
|
@ -250,8 +252,8 @@ minetest.register_craftitem("mcl_mobitems:feather", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:rabbit_hide", {
|
minetest.register_craftitem("mcl_mobitems:rabbit_hide", {
|
||||||
description = "Rabbit Hide",
|
description = S("Rabbit Hide"),
|
||||||
_doc_items_longdesc = "Rabbit hide is used to create leather.",
|
_doc_items_longdesc = S("Rabbit hide is used to create leather."),
|
||||||
wield_image = "mcl_mobitems_rabbit_hide.png",
|
wield_image = "mcl_mobitems_rabbit_hide.png",
|
||||||
inventory_image = "mcl_mobitems_rabbit_hide.png",
|
inventory_image = "mcl_mobitems_rabbit_hide.png",
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
|
@ -259,8 +261,8 @@ minetest.register_craftitem("mcl_mobitems:rabbit_hide", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:rabbit_foot", {
|
minetest.register_craftitem("mcl_mobitems:rabbit_foot", {
|
||||||
description = "Rabbit's Foot",
|
description = S("Rabbit's Foot"),
|
||||||
_doc_items_longdesc = "Must be your lucky day! Place this item in an item frame for decoration.",
|
_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",
|
wield_image = "mcl_mobitems_rabbit_foot.png",
|
||||||
inventory_image = "mcl_mobitems_rabbit_foot.png",
|
inventory_image = "mcl_mobitems_rabbit_foot.png",
|
||||||
-- TODO: Reveal item when it's useful
|
-- TODO: Reveal item when it's useful
|
||||||
|
@ -269,8 +271,8 @@ minetest.register_craftitem("mcl_mobitems:rabbit_foot", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:saddle", {
|
minetest.register_craftitem("mcl_mobitems:saddle", {
|
||||||
description = "Saddle",
|
description = S("Saddle"),
|
||||||
_doc_items_longdesc = "Saddles can be put on some animals in order to mount them.",
|
_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.",
|
_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",
|
wield_image = "mcl_mobitems_saddle.png",
|
||||||
inventory_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", {
|
minetest.register_craftitem("mcl_mobitems:rabbit_stew", {
|
||||||
description = "Rabbit Stew",
|
description = S("Rabbit Stew"),
|
||||||
_doc_items_longdesc = "Rabbit stew is a very nutricious food item.",
|
_doc_items_longdesc = S("Rabbit stew is a very nutricious food item."),
|
||||||
wield_image = "mcl_mobitems_rabbit_stew.png",
|
wield_image = "mcl_mobitems_rabbit_stew.png",
|
||||||
inventory_image = "mcl_mobitems_rabbit_stew.png",
|
inventory_image = "mcl_mobitems_rabbit_stew.png",
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
|
@ -291,21 +293,21 @@ minetest.register_craftitem("mcl_mobitems:rabbit_stew", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:shulker_shell", {
|
minetest.register_craftitem("mcl_mobitems:shulker_shell", {
|
||||||
description = "Shulker Shell",
|
description = S("Shulker Shell"),
|
||||||
_doc_items_longdesc = "Shulker shells are used in crafting. They are dropped from dead shulkers.",
|
_doc_items_longdesc = S("Shulker shells are used in crafting. They are dropped from dead shulkers."),
|
||||||
inventory_image = "mcl_mobitems_shulker_shell.png",
|
inventory_image = "mcl_mobitems_shulker_shell.png",
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:slimeball", {
|
minetest.register_craftitem("mcl_mobitems:slimeball", {
|
||||||
description = "Slimeball",
|
description = S("Slimeball"),
|
||||||
_doc_items_longdesc = "Slimeballs are used in crafting. They are dropped from slimes.",
|
_doc_items_longdesc = S("Slimeballs are used in crafting. They are dropped from slimes."),
|
||||||
inventory_image = "mcl_mobitems_slimeball.png",
|
inventory_image = "mcl_mobitems_slimeball.png",
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mobitems:gunpowder", {
|
minetest.register_craftitem("mcl_mobitems:gunpowder", {
|
||||||
description = "Gunpowder",
|
description = S("Gunpowder"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.craftitem,
|
_doc_items_longdesc = doc.sub.items.temp.craftitem,
|
||||||
inventory_image = "default_gunpowder.png",
|
inventory_image = "default_gunpowder.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -313,8 +315,8 @@ minetest.register_craftitem("mcl_mobitems:gunpowder", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_tool("mcl_mobitems:carrot_on_a_stick", {
|
minetest.register_tool("mcl_mobitems:carrot_on_a_stick", {
|
||||||
description = "Carrot on a Stick",
|
description = S("Carrot on a Stick"),
|
||||||
_doc_items_longdesc = "A carrot on a stick can be used on saddled pigs to ride them.",
|
_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.",
|
_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",
|
wield_image = "mcl_mobitems_carrot_on_a_stick.png",
|
||||||
inventory_image = "mcl_mobitems_carrot_on_a_stick.png",
|
inventory_image = "mcl_mobitems_carrot_on_a_stick.png",
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
local S = mobs.intllib
|
local S = minetest.get_translator("mcl_mobspawners")
|
||||||
|
|
||||||
mcl_mobspawners = {}
|
mcl_mobspawners = {}
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,2 @@
|
||||||
mcl_sounds
|
mcl_sounds
|
||||||
mobs_mc
|
mobs_mc
|
||||||
intllib?
|
|
||||||
|
|
|
@ -1,9 +1,7 @@
|
||||||
-- Monster eggs!
|
-- Monster eggs!
|
||||||
-- Blocks which spawn silverfish when destroyed.
|
-- Blocks which spawn silverfish when destroyed.
|
||||||
|
|
||||||
-- Intllib
|
local S = minetest.get_translator("mcl_mobspawners")
|
||||||
local MP = minetest.get_modpath(minetest.get_current_modname())
|
|
||||||
local S, NS = dofile(MP .. "/intllib.lua")
|
|
||||||
|
|
||||||
local spawn_silverfish = function(pos, oldnode, oldmetadata, digger)
|
local spawn_silverfish = function(pos, oldnode, oldmetadata, digger)
|
||||||
if not minetest.settings:get_bool("creative_mode") then
|
if not minetest.settings:get_bool("creative_mode") then
|
||||||
|
|
|
@ -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
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_mushrooms")
|
||||||
|
|
||||||
local template = {
|
local template = {
|
||||||
groups = {handy=1,axey=1, building_block = 1, material_wood = 1 },
|
groups = {handy=1,axey=1, building_block = 1, material_wood = 1 },
|
||||||
sounds = mcl_sounds.node_sound_wood_defaults(),
|
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
|
-- Stem texture on all sides
|
||||||
local stem_full = table.copy(template)
|
local stem_full = table.copy(template)
|
||||||
stem_full.description = d_stem_all
|
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.tiles = { "mcl_mushrooms_mushroom_block_skin_stem.png" }
|
||||||
stem_full.groups.huge_mushroom = species_id
|
stem_full.groups.huge_mushroom = species_id
|
||||||
stem_full.groups.huge_mushroom_stem = 2
|
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
|
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 = 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 = "The stem part of a huge red mushroom."
|
local longdesc_red_stem = S("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)
|
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 = 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 = "The stem part of a huge brown mushroom."
|
local longdesc_brown_stem = S("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)
|
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({
|
minetest.register_craft({
|
||||||
type = "fuel",
|
type = "fuel",
|
||||||
|
|
|
@ -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 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})
|
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
|
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))
|
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)
|
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_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 = [[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_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.
|
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"..
|
||||||
Mushrooms will eventually uproot at a light level of 12 or higher. On mycelium or podzol, they survive and spread at any light level.]]
|
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", {
|
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_longdesc = longdesc_intro_brown .. "\n\n" .. longdesc_append,
|
||||||
_doc_items_usagehelp = usagehelp,
|
_doc_items_usagehelp = usagehelp,
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
|
@ -47,7 +49,7 @@ minetest.register_node("mcl_mushrooms:mushroom_brown", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_mushrooms:mushroom_red", {
|
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_longdesc = longdesc_intro_red .. "\n\n" .. longdesc_append,
|
||||||
_doc_items_usagehelp = usagehelp,
|
_doc_items_usagehelp = usagehelp,
|
||||||
drawtype = "plantlike",
|
drawtype = "plantlike",
|
||||||
|
@ -69,8 +71,8 @@ minetest.register_node("mcl_mushrooms:mushroom_red", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_mushrooms:mushroom_stew", {
|
minetest.register_craftitem("mcl_mushrooms:mushroom_stew", {
|
||||||
description = "Mushroom Stew",
|
description = S("Mushroom Stew"),
|
||||||
_doc_items_longdesc = "Mushroom stew is a healthy soup which can be consumed to restore some hunger points.",
|
_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",
|
inventory_image = "farming_mushroom_stew.png",
|
||||||
on_place = minetest.item_eat(6, "mcl_core:bowl"),
|
on_place = minetest.item_eat(6, "mcl_core:bowl"),
|
||||||
on_secondary_use = minetest.item_eat(6, "mcl_core:bowl"),
|
on_secondary_use = minetest.item_eat(6, "mcl_core:bowl"),
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
local S = minetest.get_translator("mcl_nether")
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:glowstone", {
|
minetest.register_node("mcl_nether:glowstone", {
|
||||||
description = "Glowstone",
|
description = S("Glowstone"),
|
||||||
_doc_items_longdesc = "Glowstone is a naturally-glowing block which is home to the Nether.",
|
_doc_items_longdesc = S("Glowstone is a naturally-glowing block which is home to the Nether."),
|
||||||
tiles = {"mcl_nether_glowstone.png"},
|
tiles = {"mcl_nether_glowstone.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -22,8 +24,8 @@ minetest.register_node("mcl_nether:glowstone", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:quartz_ore", {
|
minetest.register_node("mcl_nether:quartz_ore", {
|
||||||
description = "Nether Quartz Ore",
|
description = S("Nether Quartz Ore"),
|
||||||
_doc_items_longdesc = "Nether quartz ore is an ore containing nether quartz. It is commonly found around netherrack in the Nether.",
|
_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,
|
stack_max = 64,
|
||||||
tiles = {"mcl_nether_quartz_ore.png"},
|
tiles = {"mcl_nether_quartz_ore.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
|
@ -60,8 +62,8 @@ local eternal_on_ignite = function(player, pointed_thing)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:netherrack", {
|
minetest.register_node("mcl_nether:netherrack", {
|
||||||
description = "Netherrack",
|
description = S("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.",
|
_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,
|
stack_max = 64,
|
||||||
tiles = {"mcl_nether_netherrack.png"},
|
tiles = {"mcl_nether_netherrack.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
|
@ -76,8 +78,8 @@ minetest.register_node("mcl_nether:netherrack", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:magma", {
|
minetest.register_node("mcl_nether:magma", {
|
||||||
description = "Magma Block",
|
description = S("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.",
|
_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,
|
stack_max = 64,
|
||||||
tiles = {{name="mcl_nether_magma.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.5}}},
|
tiles = {{name="mcl_nether_magma.png", animation={type="vertical_frames", aspect_w=32, aspect_h=32, length=1.5}}},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
|
@ -102,8 +104,8 @@ minetest.register_node("mcl_nether:magma", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:soul_sand", {
|
minetest.register_node("mcl_nether:soul_sand", {
|
||||||
description = "Soul Sand",
|
description = S("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.",
|
_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,
|
stack_max = 64,
|
||||||
tiles = {"mcl_nether_soul_sand.png"},
|
tiles = {"mcl_nether_soul_sand.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
|
@ -120,7 +122,7 @@ minetest.register_node("mcl_nether:soul_sand", {
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:nether_brick", {
|
minetest.register_node("mcl_nether:nether_brick", {
|
||||||
-- Original name: Nether Brick
|
-- Original name: Nether Brick
|
||||||
description = "Nether Brick Block",
|
description = S("Nether Brick Block"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.build,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
tiles = {"mcl_nether_nether_brick.png"},
|
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", {
|
minetest.register_node("mcl_nether:red_nether_brick", {
|
||||||
-- Original name: 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,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
tiles = {"mcl_nether_red_nether_brick.png"},
|
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", {
|
minetest.register_node("mcl_nether:nether_wart_block", {
|
||||||
description = "Nether Wart Block",
|
description = S("Nether Wart Block"),
|
||||||
_doc_items_longdesc = "A nether wart block is a purely decorational block made from nether wart.",
|
_doc_items_longdesc = S("A nether wart block is a purely decorational block made from nether wart."),
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
tiles = {"mcl_nether_nether_wart_block.png"},
|
tiles = {"mcl_nether_nether_wart_block.png"},
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -163,7 +165,7 @@ minetest.register_node("mcl_nether:nether_wart_block", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:quartz_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,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -175,7 +177,7 @@ minetest.register_node("mcl_nether:quartz_block", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:quartz_chiseled", {
|
minetest.register_node("mcl_nether:quartz_chiseled", {
|
||||||
description = "Chiseled Quartz Block",
|
description = S("Chiseled Quartz Block"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.build,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -187,7 +189,7 @@ minetest.register_node("mcl_nether:quartz_chiseled", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_nether:quartz_pillar", {
|
minetest.register_node("mcl_nether:quartz_pillar", {
|
||||||
description = "Pillar Quartz Block",
|
description = S("Pillar Quartz Block"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.build,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
|
@ -200,7 +202,7 @@ minetest.register_node("mcl_nether:quartz_pillar", {
|
||||||
_mcl_hardness = 0.8,
|
_mcl_hardness = 0.8,
|
||||||
})
|
})
|
||||||
minetest.register_node("mcl_nether:quartz_smooth", {
|
minetest.register_node("mcl_nether:quartz_smooth", {
|
||||||
description = "Smooth Quartz",
|
description = S("Smooth Quartz"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.build,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -212,24 +214,24 @@ minetest.register_node("mcl_nether:quartz_smooth", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_nether:glowstone_dust", {
|
minetest.register_craftitem("mcl_nether:glowstone_dust", {
|
||||||
description = "Glowstone Dust",
|
description = S("Glowstone Dust"),
|
||||||
_doc_items_longdesc = "Glowstone dust is the dust which comes out of broken glowstones. It is mainly used in crafting.",
|
_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",
|
inventory_image = "mcl_nether_glowstone_dust.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
groups = { craftitem=1 },
|
groups = { craftitem=1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_nether:quartz", {
|
minetest.register_craftitem("mcl_nether:quartz", {
|
||||||
description = "Nether Quartz",
|
description = S("Nether Quartz"),
|
||||||
_doc_items_longdesc = "Nether quartz is a versatile crafting ingredient.",
|
_doc_items_longdesc = S("Nether quartz is a versatile crafting ingredient."),
|
||||||
inventory_image = "mcl_nether_quartz.png",
|
inventory_image = "mcl_nether_quartz.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_nether:netherbrick", {
|
minetest.register_craftitem("mcl_nether:netherbrick", {
|
||||||
description = "Nether Brick",
|
description = S("Nether Brick"),
|
||||||
_doc_items_longdesc = "Nether bricks are the main crafting ingredient for crafting nether brick blocks and nether fences.",
|
_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",
|
inventory_image = "mcl_nether_netherbrick.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
groups = { craftitem = 1 },
|
groups = { craftitem = 1 },
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
-- Lava in the Nether
|
-- Lava in the Nether
|
||||||
|
|
||||||
|
local S = minetest.get_translator("mcl_nether")
|
||||||
|
|
||||||
-- TODO: Increase flow speed. This could be done by reducing viscosity,
|
-- TODO: Increase flow speed. This could be done by reducing viscosity,
|
||||||
-- but this would also allow players to swim faster in lava.
|
-- but this would also allow players to swim faster in lava.
|
||||||
|
|
||||||
local lava_src_def = table.copy(minetest.registered_nodes["mcl_core:lava_source"])
|
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_create_entry = false
|
||||||
lava_src_def._doc_items_entry_name = nil
|
lava_src_def._doc_items_entry_name = nil
|
||||||
lava_src_def._doc_items_longdesc = 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)
|
minetest.register_node("mcl_nether:nether_lava_source", lava_src_def)
|
||||||
|
|
||||||
local lava_flow_def = table.copy(minetest.registered_nodes["mcl_core:lava_flowing"])
|
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._doc_items_create_entry = false
|
||||||
lava_flow_def.liquid_range = 7
|
lava_flow_def.liquid_range = 7
|
||||||
lava_flow_def.liquid_alternative_flowing = "mcl_nether:nether_lava_flowing"
|
lava_flow_def.liquid_alternative_flowing = "mcl_nether:nether_lava_flowing"
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
-- Nodes
|
-- Nodes
|
||||||
|
|
||||||
|
local S = minetest.get_translator("mcl_ocean")
|
||||||
|
|
||||||
minetest.register_node("mcl_ocean:sea_lantern", {
|
minetest.register_node("mcl_ocean:sea_lantern", {
|
||||||
description = "Sea Lantern",
|
description = S("Sea Lantern"),
|
||||||
_doc_items_longdesc = "Sea lanterns are decorative light sources which look great underwater but can be placed anywhere.",
|
_doc_items_longdesc = S("Sea lanterns are decorative light sources which look great underwater but can be placed anywhere."),
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -23,8 +25,8 @@ minetest.register_node("mcl_ocean:sea_lantern", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_ocean:prismarine", {
|
minetest.register_node("mcl_ocean:prismarine", {
|
||||||
description = "Prismarine",
|
description = S("Prismarine"),
|
||||||
_doc_items_longdesc = "Prismarine is used as a building block. It slowly changes its color.",
|
_doc_items_longdesc = S("Prismarine is used as a building block. It slowly changes its color."),
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
-- Texture should have 22 frames for smooth transitions.
|
-- 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", {
|
minetest.register_node("mcl_ocean:prismarine_brick", {
|
||||||
description = "Prismarine Bricks",
|
description = S("Prismarine Bricks"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.build,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -48,7 +50,7 @@ minetest.register_node("mcl_ocean:prismarine_brick", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_ocean:prismarine_dark", {
|
minetest.register_node("mcl_ocean:prismarine_dark", {
|
||||||
description = "Dark Prismarine",
|
description = S("Dark Prismarine"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.build,
|
_doc_items_longdesc = doc.sub.items.temp.build,
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
@ -62,7 +64,7 @@ minetest.register_node("mcl_ocean:prismarine_dark", {
|
||||||
-- Craftitems
|
-- Craftitems
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_ocean:prismarine_crystals", {
|
minetest.register_craftitem("mcl_ocean:prismarine_crystals", {
|
||||||
description = "Prismarine Crystals",
|
description = S("Prismarine Crystals"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.craftitem,
|
_doc_items_longdesc = doc.sub.items.temp.craftitem,
|
||||||
inventory_image = "mcl_ocean_prismarine_crystals.png",
|
inventory_image = "mcl_ocean_prismarine_crystals.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
@ -70,7 +72,7 @@ minetest.register_craftitem("mcl_ocean:prismarine_crystals", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_ocean:prismarine_shard", {
|
minetest.register_craftitem("mcl_ocean:prismarine_shard", {
|
||||||
description = "Prismarine Shard",
|
description = S("Prismarine Shard"),
|
||||||
_doc_items_longdesc = doc.sub.items.temp.craftitem,
|
_doc_items_longdesc = doc.sub.items.temp.craftitem,
|
||||||
inventory_image = "mcl_ocean_prismarine_shard.png",
|
inventory_image = "mcl_ocean_prismarine_shard.png",
|
||||||
stack_max = 64,
|
stack_max = 64,
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_portals")
|
||||||
|
|
||||||
-- Parameters
|
-- Parameters
|
||||||
local SPAWN_MIN = mcl_vars.mg_end_min+70
|
local SPAWN_MIN = mcl_vars.mg_end_min+70
|
||||||
local SPAWN_MAX = mcl_vars.mg_end_min+98
|
local SPAWN_MAX = mcl_vars.mg_end_min+98
|
||||||
|
@ -6,9 +8,9 @@ local mg_name = minetest.get_mapgen_setting("mg_name")
|
||||||
|
|
||||||
-- End portal
|
-- End portal
|
||||||
minetest.register_node("mcl_portals:portal_end", {
|
minetest.register_node("mcl_portals:portal_end", {
|
||||||
description = "End Portal",
|
description = S("End Portal"),
|
||||||
_doc_items_longdesc = "An End portal teleports creatures and objects to the mysterious End dimension (and back!).",
|
_doc_items_longdesc = S("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.",
|
_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 = {
|
tiles = {
|
||||||
{
|
{
|
||||||
name = "mcl_portals_end_portal.png",
|
name = "mcl_portals_end_portal.png",
|
||||||
|
@ -295,9 +297,9 @@ if minetest.get_modpath("screwdriver") then
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_portals:end_portal_frame", {
|
minetest.register_node("mcl_portals:end_portal_frame", {
|
||||||
description = "End Portal Frame",
|
description = S("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_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 = "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.",
|
_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 },
|
groups = { creative_breakable = 1, deco_block = 1 },
|
||||||
tiles = { "mcl_portals_endframe_top.png", "mcl_portals_endframe_bottom.png", "mcl_portals_endframe_side.png" },
|
tiles = { "mcl_portals_endframe_top.png", "mcl_portals_endframe_bottom.png", "mcl_portals_endframe_side.png" },
|
||||||
paramtype2 = "facedir",
|
paramtype2 = "facedir",
|
||||||
|
@ -319,7 +321,7 @@ minetest.register_node("mcl_portals:end_portal_frame", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_portals:end_portal_frame_eye", {
|
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,
|
_doc_items_create_entry = false,
|
||||||
groups = { creative_breakable = 1, deco_block = 1, comparator_signal = 15 },
|
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" },
|
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" },
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_portals")
|
||||||
|
|
||||||
-- Parameters
|
-- Parameters
|
||||||
|
|
||||||
local TCAVE = 0.6
|
local TCAVE = 0.6
|
||||||
|
@ -77,9 +79,9 @@ local destroy_portal = function(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_portals:portal", {
|
minetest.register_node("mcl_portals:portal", {
|
||||||
description = "Nether Portal",
|
description = S("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_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 = "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.",
|
_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 = {
|
tiles = {
|
||||||
"blank.png",
|
"blank.png",
|
||||||
|
@ -481,8 +483,8 @@ minetest.register_abm({
|
||||||
--[[ ITEM OVERRIDES ]]
|
--[[ ITEM OVERRIDES ]]
|
||||||
|
|
||||||
local longdesc = minetest.registered_nodes["mcl_core:obsidian"]._doc_items_longdesc
|
local longdesc = minetest.registered_nodes["mcl_core:obsidian"]._doc_items_longdesc
|
||||||
longdesc = longdesc .. "\n" .. "Obsidian is also used as the frame of Nether portals."
|
longdesc = longdesc .. "\n" .. S("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."
|
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", {
|
minetest.override_item("mcl_core:obsidian", {
|
||||||
_doc_items_longdesc = longdesc,
|
_doc_items_longdesc = longdesc,
|
||||||
|
|
|
@ -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", {
|
minetest.register_craftitem("mcl_potions:fermented_spider_eye", {
|
||||||
description = "Fermented Spider Eye",
|
description = S("Fermented Spider Eye"),
|
||||||
_doc_items_longdesc = brewhelp,
|
_doc_items_longdesc = brewhelp,
|
||||||
wield_image = "mcl_potions_spider_eye_fermented.png",
|
wield_image = "mcl_potions_spider_eye_fermented.png",
|
||||||
inventory_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", {
|
minetest.register_craftitem("mcl_potions:glass_bottle", {
|
||||||
description = "Glass Bottle",
|
description = S("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_longdesc = S("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).",
|
_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",
|
inventory_image = "mcl_potions_potion_bottle_empty.png",
|
||||||
wield_image = "mcl_potions_potion_bottle_empty.png",
|
wield_image = "mcl_potions_potion_bottle_empty.png",
|
||||||
groups = {brewitem=1},
|
groups = {brewitem=1},
|
||||||
|
@ -156,9 +158,9 @@ end
|
||||||
-- Itemstring of potions is “mcl_potions:potion_<NBT Potion Tag>”
|
-- Itemstring of potions is “mcl_potions:potion_<NBT Potion Tag>”
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_potions:potion_water", {
|
minetest.register_craftitem("mcl_potions:potion_water", {
|
||||||
description = "Water Bottle",
|
description = S("Water Bottle"),
|
||||||
_doc_items_longdesc = "Water bottles can be used to fill cauldrons. Drinking water has no effect.",
|
_doc_items_longdesc = S("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.",
|
_doc_items_usagehelp = S("Rightclick to drink. Rightclick a cauldron to pour the water into the cauldron."),
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
inventory_image = potion_image("#0000FF"),
|
inventory_image = potion_image("#0000FF"),
|
||||||
wield_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", {
|
minetest.register_craftitem("mcl_potions:potion_river_water", {
|
||||||
description = "River Water Bottle",
|
description = S("River Water Bottle"),
|
||||||
_doc_items_longdesc = "River water bottles can be used to fill cauldrons. Drinking it has no effect.",
|
_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.",
|
_doc_items_usagehelp = "Rightclick to drink. Rightclick a cauldron to pour the river water into the cauldron.",
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
inventory_image = potion_image("#0044FF"),
|
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."
|
local how_to_drink = "To drink it, wield it, then rightclick."
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_potions:potion_awkward", {
|
minetest.register_craftitem("mcl_potions:potion_awkward", {
|
||||||
description = "Awkward Potion",
|
description = S("Awkward Potion"),
|
||||||
_doc_items_longdesc = "This potion has an awkward taste and is used for brewing more potions. Drinking it has no effect.",
|
_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,
|
_doc_items_usagehelp = how_to_drink,
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
inventory_image = potion_image("#0000FF"),
|
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"),
|
on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"),
|
||||||
})
|
})
|
||||||
minetest.register_craftitem("mcl_potions:potion_mundane", {
|
minetest.register_craftitem("mcl_potions:potion_mundane", {
|
||||||
description = "Mundane Potion",
|
description = S("Mundane Potion"),
|
||||||
_doc_items_longdesc = "This potion has a clean taste and is used for brewing more potions. Drinking it has no effect.",
|
_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,
|
_doc_items_usagehelp = how_to_drink,
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
inventory_image = potion_image("#0000FF"),
|
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"),
|
on_secondary_use = minetest.item_eat(0, "mcl_potions:glass_bottle"),
|
||||||
})
|
})
|
||||||
minetest.register_craftitem("mcl_potions:potion_thick", {
|
minetest.register_craftitem("mcl_potions:potion_thick", {
|
||||||
description = "Thick Potion",
|
description = S("Thick Potion"),
|
||||||
_doc_items_longdesc = "This potion has a bitter taste and is used for brewing more potions. Drinking it has no effect.",
|
_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,
|
_doc_items_usagehelp = how_to_drink,
|
||||||
stack_max = 1,
|
stack_max = 1,
|
||||||
inventory_image = potion_image("#0000FF"),
|
inventory_image = potion_image("#0000FF"),
|
||||||
|
@ -285,8 +287,8 @@ minetest.register_craftitem("mcl_potions:potion_thick", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_craftitem("mcl_potions:speckled_melon", {
|
minetest.register_craftitem("mcl_potions:speckled_melon", {
|
||||||
description = "Glistering Melon",
|
description = S("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.",
|
_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,
|
stack_max = 64,
|
||||||
-- TODO: Reveal item when it's actually useful
|
-- TODO: Reveal item when it's actually useful
|
||||||
groups = { brewitem = 1, not_in_creative_inventory = 1, not_in_craft_guide = 1 },
|
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", {
|
minetest.register_craftitem("mcl_potions:dragon_breath", {
|
||||||
description = "Dragon's Breath",
|
description = S("Dragon's Breath"),
|
||||||
_doc_items_longdesc = brewhelp,
|
_doc_items_longdesc = brewhelp,
|
||||||
wield_image = "mcl_potions_dragon_breath.png",
|
wield_image = "mcl_potions_dragon_breath.png",
|
||||||
inventory_image = "mcl_potions_dragon_breath.png",
|
inventory_image = "mcl_potions_dragon_breath.png",
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_signs")
|
||||||
|
|
||||||
-- Font: 04.jp.org
|
-- Font: 04.jp.org
|
||||||
|
|
||||||
-- load characters map
|
-- load characters map
|
||||||
|
@ -249,9 +251,9 @@ if minetest.get_modpath("mcl_sounds") then
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_signs:wall_sign", {
|
minetest.register_node("mcl_signs:wall_sign", {
|
||||||
description = "Sign",
|
description = S("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_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 = "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.",
|
_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",
|
inventory_image = "default_sign.png",
|
||||||
walkable = false,
|
walkable = false,
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
local S = minetest.get_translator("mcl_sponges")
|
||||||
|
|
||||||
local absorb = function(pos)
|
local absorb = function(pos)
|
||||||
local change = false
|
local change = false
|
||||||
-- Count number of absorbed river water vs other nodes
|
-- Count number of absorbed river water vs other nodes
|
||||||
|
@ -34,8 +36,8 @@ local absorb = function(pos)
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_node("mcl_sponges:sponge", {
|
minetest.register_node("mcl_sponges:sponge", {
|
||||||
description = "Sponge",
|
description = S("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.",
|
_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",
|
drawtype = "normal",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
tiles = {"mcl_sponges_sponge.png"},
|
tiles = {"mcl_sponges_sponge.png"},
|
||||||
|
@ -92,8 +94,8 @@ minetest.register_node("mcl_sponges:sponge", {
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("mcl_sponges:sponge_wet", {
|
minetest.register_node("mcl_sponges:sponge_wet", {
|
||||||
description = "Waterlogged Sponge",
|
description = S("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.",
|
_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",
|
drawtype = "normal",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
tiles = {"mcl_sponges_sponge_wet.png"},
|
tiles = {"mcl_sponges_sponge_wet.png"},
|
||||||
|
@ -110,8 +112,8 @@ minetest.register_node("mcl_sponges:sponge_wet", {
|
||||||
|
|
||||||
if minetest.get_modpath("mclx_core") then
|
if minetest.get_modpath("mclx_core") then
|
||||||
minetest.register_node("mcl_sponges:sponge_wet_river_water", {
|
minetest.register_node("mcl_sponges:sponge_wet_river_water", {
|
||||||
description = "Riverwaterlogged Sponge",
|
description = S("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.",
|
_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",
|
drawtype = "normal",
|
||||||
is_ground_content = false,
|
is_ground_content = false,
|
||||||
tiles = {"mcl_sponges_sponge_wet_river_water.png"},
|
tiles = {"mcl_sponges_sponge_wet_river_water.png"},
|
||||||
|
|
Loading…
Reference in New Issue