New translation system, part 6: Items, part 2

This commit is contained in:
Wuzzy 2019-03-07 23:40:43 +01:00
parent 1df3d0e42b
commit e4fbbeddb2
15 changed files with 306 additions and 280 deletions

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_buckets")
-- Minetest 0.4 mod: bucket
-- See README.txt for licensing and other information.
@ -182,9 +184,9 @@ function mcl_buckets.register_liquid(source_place, source_take, itemname, invent
end
minetest.register_craftitem("mcl_buckets:bucket_empty", {
description = "Empty Bucket",
_doc_items_longdesc = "A bucket can be used to collect and release liquids.",
_doc_items_usagehelp = "Punch a liquid source to collect the liquid. With the filled bucket, you can right-click somewhere to empty the bucket which will create a liquid source at the position you've clicked at.",
description = S("Empty Bucket"),
_doc_items_longdesc = S("A bucket can be used to collect and release liquids."),
_doc_items_usagehelp = S("Punch a liquid source to collect the liquid. With the filled bucket, you can right-click somewhere to empty the bucket which will create a liquid source at the position you've clicked at."),
inventory_image = "bucket.png",
stack_max = 16,
@ -302,9 +304,9 @@ if mod_mcl_core then
{"mcl_core:lava_source", "mcl_nether:nether_lava_source"},
"mcl_buckets:bucket_lava",
"bucket_lava.png",
"Lava Bucket",
"A bucket can be used to collect and release liquids. This one is filled with hot lava, safely contained inside. Use with caution.",
"Choose a place where you want to empty the bucket, then get in a safe spot somewhere above it. Be prepared to run away when something goes wrong as the lava will soon start to flow after placing. To empty the bucket (which places a lava source), right-click on your chosen place."
S("Lava Bucket"),
S("A bucket can be used to collect and release liquids. This one is filled with hot lava, safely contained inside. Use with caution."),
S("Choose a place where you want to empty the bucket, then get in a safe spot somewhere above it. Be prepared to run away when something goes wrong as the lava will soon start to flow after placing. To empty the bucket (which places a lava source), right-click on your chosen place.")
)
-- Water bucket
@ -313,9 +315,9 @@ if mod_mcl_core then
{"mcl_core:water_source"},
"mcl_buckets:bucket_water",
"bucket_water.png",
"Water Bucket",
"A bucket can be used to collect and release liquids. This one is filled with water.",
"Right-click on any block to empty the bucket and put a water source on this spot.",
S("Water Bucket"),
S("A bucket can be used to collect and release liquids. This one is filled with water."),
S("Right-click on any block to empty the bucket and put a water source on this spot."),
function(pos, placer)
-- Check protection
local placer_name = ""
@ -355,9 +357,9 @@ if mod_mclx_core then
{"mclx_core:river_water_source"},
"mcl_buckets:bucket_river_water",
"bucket_river_water.png",
"River Water Bucket",
"A bucket can be used to collect and release liquids. This one is filled with river water.",
"Right-click on any block to empty the bucket and put a river water source on this spot.",
S("River Water Bucket"),
S("A bucket can be used to collect and release liquids. This one is filled with river water."),
S("Right-click on any block to empty the bucket and put a river water source on this spot."),
function(pos, placer)
-- Check protection
local placer_name = ""

View File

@ -3,6 +3,8 @@
#!#!#!#Released under CC Attribution-ShareAlike 3.0 Unported #!#!#
]]--
local S = minetest.get_translator("mcl_cake")
local cake_texture = {"cake_top.png","cake_bottom.png","cake_inner.png","cake_side.png","cake_side.png","cake_side.png"}
local slice_1 = { -7/16, -8/16, -7/16, -5/16, 0/16, 7/16}
local slice_2 = { -7/16, -8/16, -7/16, -3/16, 0/16, 7/16}
@ -28,9 +30,9 @@ minetest.register_craft({
})
minetest.register_node("mcl_cake:cake", {
description = "Cake",
_doc_items_longdesc = "Cakes can be placed and eaten to restore hunger points. A cake has 7 slices. Each slice restores 2 hunger points and 0.4 saturation points. Cakes will be destroyed when dug or when the block below them is broken.",
_doc_items_usagehelp = "Place the cake anywhere, then rightclick it to eat a single slice. You can't eat from the cake when your hunger bar is full.",
description = S("Cake"),
_doc_items_longdesc = S("Cakes can be placed and eaten to restore hunger points. A cake has 7 slices. Each slice restores 2 hunger points and 0.4 saturation points. Cakes will be destroyed when dug or when the block below them is broken."),
_doc_items_usagehelp = S("Place the cake anywhere, then rightclick it to eat a single slice. You can't eat from the cake when your hunger bar is full."),
tiles = {"cake_top.png","cake_bottom.png","cake_side.png","cake_side.png","cake_side.png","cake_side.png"},
inventory_image = "cake.png",
wield_image = "cake.png",
@ -134,9 +136,9 @@ local register_slice = function(level, nodebox, desc)
end
end
register_slice(6, slice_6, "Cake (6 Slices Left)")
register_slice(5, slice_5, "Cake (5 Slices Left)")
register_slice(4, slice_4, "Cake (4 Slices Left)")
register_slice(3, slice_3, "Cake (3 Slices Left)")
register_slice(2, slice_2, "Cake (2 Slices Left)")
register_slice(1, slice_1, "Cake (1 Slice Left)")
register_slice(6, slice_6, S("Cake (6 Slices Left)"))
register_slice(5, slice_5, S("Cake (5 Slices Left)"))
register_slice(4, slice_4, S("Cake (4 Slices Left)"))
register_slice(3, slice_3, S("Cake (3 Slices Left)"))
register_slice(2, slice_2, S("Cake (2 Slices Left)"))
register_slice(1, slice_1, S("Cake (1 Slice Left)"))

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_cauldron")
-- Cauldron mod, adds cauldrons.
-- TODO: Extinguish fire of burning entities
@ -42,9 +44,9 @@ end
-- Empty cauldron
minetest.register_node("mcl_cauldrons:cauldron", {
description = "Cauldron",
_doc_items_longdesc = "Cauldrons are used to store water and slowly fill up under rain. They can also be used to wash off banners.",
_doc_items_usagehelp = "Place a water pucket into the cauldron to fill it with water. Place an empty bucket on a full cauldron to retrieve the water. Place a water bottle into the cauldron to fill the cauldron to one third with water. Place a glass bottle in a cauldron with water to retrieve one third of the water. Use an emblazoned banner on a cauldron with water to wash off its top layer.",
description = S("Cauldron"),
_doc_items_longdesc = S("Cauldrons are used to store water and slowly fill up under rain. They can also be used to wash off banners."),
_doc_items_usagehelp = S("Place a water pucket into the cauldron to fill it with water. Place an empty bucket on a full cauldron to retrieve the water. Place a water bottle into the cauldron to fill the cauldron to one third with water. Place a glass bottle in a cauldron with water to retrieve one third of the water. Use an emblazoned banner on a cauldron with water to wash off its top layer."),
wield_image = "mcl_cauldrons_cauldron.png",
inventory_image = "mcl_cauldrons_cauldron.png",
drawtype = "nodebox",
@ -101,14 +103,14 @@ local register_filled_cauldron = function(water_level, description, river_water)
end
-- Filled cauldrons (3 levels)
register_filled_cauldron(1, "Cauldron (1/3 Water)")
register_filled_cauldron(2, "Cauldron (2/3 Water)")
register_filled_cauldron(3, "Cauldron (3/3 Water)")
register_filled_cauldron(1, S("Cauldron (1/3 Water)"))
register_filled_cauldron(2, S("Cauldron (2/3 Water)"))
register_filled_cauldron(3, S("Cauldron (3/3 Water)"))
if minetest.get_modpath("mclx_core") then
register_filled_cauldron(1, "Cauldron (1/3 River Water)", true)
register_filled_cauldron(2, "Cauldron (2/3 River Water)", true)
register_filled_cauldron(3, "Cauldron (3/3 River Water)", true)
register_filled_cauldron(1, S("Cauldron (1/3 River Water)"), true)
register_filled_cauldron(2, S("Cauldron (2/3 River Water)"), true)
register_filled_cauldron(3, S("Cauldron (3/3 River Water)"), true)
end
minetest.register_craft({

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_chests")
local no_rotate, simple_rotate
if minetest.get_modpath("screwdriver") then
no_rotate = screwdriver.disallow
@ -446,9 +448,9 @@ end
end
register_chest("chest",
"Chest",
"Chests are containers which provide 27 inventory slots. Chests can be turned into large chests with double the capacity by placing two chests next to each other.",
"To access the chest's inventory, rightclick the chest. When broken, the items of the chest will drop out.",
S("Chest"),
S("Chests are containers which provide 27 inventory slots. Chests can be turned into large chests with double the capacity by placing two chests next to each other."),
S("To access the chest's inventory, rightclick the chest. When broken, the items of the chest will drop out."),
{
small = {"default_chest_top.png", "mcl_chests_chest_bottom.png",
"mcl_chests_chest_right.png", "mcl_chests_chest_left.png",
@ -476,9 +478,9 @@ local traptiles = {
}
register_chest("trapped_chest",
"Trapped Chest",
"A trapped chest is a container which provides 27 inventory slots. When it is opened, it sends a redstone signal to its adjacent blocks as long it stays open. Trapped chests can be turned into large trapped chests with double the capacity by placing two trapped chests next to each other.",
"To access the inventory of a trapped chest, rightclick it. When broken, the items will drop out.",
S("Trapped Chest"),
S("A trapped chest is a container which provides 27 inventory slots. When it is opened, it sends a redstone signal to its adjacent blocks as long it stays open. Trapped chests can be turned into large trapped chests with double the capacity by placing two trapped chests next to each other."),
S("To access the inventory of a trapped chest, rightclick it. When broken, the items will drop out."),
traptiles,
nil,
{receptor = {
@ -599,9 +601,9 @@ minetest.register_craft({
})
minetest.register_node("mcl_chests:ender_chest", {
description = "Ender Chest",
_doc_items_longdesc = "Ender chests grant you access to a single personal interdimensional inventory with 27 slots. This inventory is the same no matter from which ender chest you access it from. If you put one item into one ender chest, you will find it in all other ender chests. Each player will only see their own items, but not the items of other players.",
_doc_items_usagehelp = "Rightclick the ender chest to access your personal interdimensional inventory.",
description = S("Ender Chest"),
_doc_items_longdesc = S("Ender chests grant you access to a single personal interdimensional inventory with 27 slots. This inventory is the same no matter from which ender chest you access it from. If you put one item into one ender chest, you will find it in all other ender chests. Each player will only see their own items, but not the items of other players."),
_doc_items_usagehelp = S("Rightclick the ender chest to access your personal interdimensional inventory."),
tiles = {"mcl_chests_ender_chest_top.png", "mcl_chests_ender_chest_bottom.png",
"mcl_chests_ender_chest_right.png", "mcl_chests_ender_chest_left.png",
"mcl_chests_ender_chest_back.png", "mcl_chests_ender_chest_front.png"},
@ -648,22 +650,22 @@ minetest.register_craft({
-- Shulker boxes
local boxtypes = {
white = "White Shulker Box",
grey = "Light Grey Shulker Box",
orange = "Orange Shulker Box",
cyan = "Cyan Shulker Box",
magenta = "Magenta Shulker Box",
violet = "Purple Shulker Box",
lightblue = "Light Blue Shulker Box",
blue = "Blue Shulker Box",
yellow = "Yellow Shulker Box",
brown = "Brown Shulker Box",
green = "Lime Shulker Box",
dark_green = "Green Shulker Box",
pink = "Pink Shulker Box",
red = "Red Shulker Box",
dark_grey = "Grey Shulker Box",
black = "Black Shulker Box",
white = S("White Shulker Box"),
grey = S("Light Grey Shulker Box"),
orange = S("Orange Shulker Box"),
cyan = S("Cyan Shulker Box"),
magenta = S("Magenta Shulker Box"),
violet = S("Purple Shulker Box"),
lightblue = S("Light Blue Shulker Box"),
blue = S("Blue Shulker Box"),
yellow = S("Yellow Shulker Box"),
brown = S("Brown Shulker Box"),
green = S("Lime Shulker Box"),
dark_green = S("Green Shulker Box"),
pink = S("Pink Shulker Box"),
red = S("Red Shulker Box"),
dark_grey = S("Grey Shulker Box"),
black = S("Black Shulker Box"),
}
local shulker_mob_textures = {
@ -689,8 +691,8 @@ for color, desc in pairs(boxtypes) do
local mob_texture = shulker_mob_textures[color]
minetest.register_node("mcl_chests:"..color.."_shulker_box", {
description = desc,
_doc_items_longdesc = "A shulker box is a portable container which provides 27 inventory slots for any item except shulker boxes. Shulker boxes keep their inventory when broken, so shulker boxes as well as their contents can be taken as a single item. Shulker boxes come in many different colors.",
_doc_items_usagehelp = "To access the inventory of a shulker box, place and right-click it. To take a shulker box and its contents with you, just break and collect it, the items will not fall out. Place the shulker box again to be able to retrieve its contents.",
_doc_items_longdesc = S("A shulker box is a portable container which provides 27 inventory slots for any item except shulker boxes. Shulker boxes keep their inventory when broken, so shulker boxes as well as their contents can be taken as a single item. Shulker boxes come in many different colors."),
_doc_items_usagehelp = S("To access the inventory of a shulker box, place and right-click it. To take a shulker box and its contents with you, just break and collect it, the items will not fall out. Place the shulker box again to be able to retrieve its contents."),
tiles = {
"mcl_chests_"..color.."_shulker_box_top.png", -- top
"[combine:16x16:-32,-28="..mob_texture, -- bottom

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_clock")
--[[
mcl_clock, renew of the renew of the watch mod
@ -54,11 +56,11 @@ function watch.register_item(name, image, creative, frame)
end
local longdesc, usagehelp
if use_doc then
longdesc = "Clocks are tools which shows the current time of day in the Overworld."
usagehelp = "The clock contains a rotating disc with a sun symbol (yellow disc) and moon symbol and a little “pointer” which shows the current time of day by estimating the real position of the sun and the moon in the sky. Noon is represented by the sun symbol and midnight is represented by the moon symbol."
longdesc = S("Clocks are tools which shows the current time of day in the Overworld.")
usagehelp = S("The clock contains a rotating disc with a sun symbol (yellow disc) and moon symbol and a little “pointer” which shows the current time of day by estimating the real position of the sun and the moon in the sky. Noon is represented by the sun symbol and midnight is represented by the moon symbol.")
end
minetest.register_craftitem(name, {
description = "Clock",
description = S("Clock"),
_doc_items_create_entry = use_doc,
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usagehelp,

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_cocoas")
mcl_cocoas = {}
-- Place cocoa
@ -70,9 +72,9 @@ end
--[[ TODO: Use a mesh for cocoas for perfect texture compability. ]]
local crop_def = {
description = "Premature Cocoa",
description = S("Premature Cocoa"),
_doc_items_create_entry = true,
_doc_items_longdesc = "Cocoas are plants which grow on the side of jungle trees in 3 stages.",
_doc_items_longdesc = S("Cocoas are plants which grow on the side of jungle trees in 3 stages."),
drawtype = "nodebox",
tiles = {
"[combine:16x16:6,1=mcl_cocoas_cocoa_stage_0.png", "[combine:16x16:6,11=mcl_cocoas_cocoa_stage_0.png",
@ -115,7 +117,7 @@ local crop_def = {
-- 2nd stage
minetest.register_node("mcl_cocoas:cocoa_1", table.copy(crop_def))
crop_def.description = "Medium Cocoa"
crop_def.description = S("Medium Cocoa")
crop_def._doc_items_create_entry = false
crop_def.groups.cocoa = 2
crop_def.tiles = {
@ -146,8 +148,8 @@ crop_def.selection_box = {
minetest.register_node("mcl_cocoas:cocoa_2", table.copy(crop_def))
-- Final stage
crop_def.description = "Mature Cocoa"
crop_def._doc_items_longdesc = "A mature cocoa is a plant which grew on a jungle tree to its full size and it is ready to be harvested for cocoa beans. It won't grow any further."
crop_def.description = S("Mature Cocoa")
crop_def._doc_items_longdesc = S("A mature cocoa is a plant which grew on a jungle tree to its full size and it is ready to be harvested for cocoa beans. It won't grow any further.")
crop_def._doc_items_create_entry = true
crop_def.groups.cocoa = 3
crop_def.tiles = {

View File

@ -1,3 +1,5 @@
local S = minetest.get_translator("mcl_compass")
mcl_compass = {}
local compass_frames = 32
@ -79,11 +81,11 @@ for i,img in ipairs(images) do
local use_doc, longdesc, usagehelp
use_doc = i == stereotype_frame
if use_doc then
longdesc = "Compasses are tools which point to the world origin (X=0, Z=0) or the spawn point in the Overworld."
longdesc = S("Compasses are tools which point to the world origin (X=0, Z=0) or the spawn point in the Overworld.")
end
local itemstring = "mcl_compass:"..(i-1)
minetest.register_craftitem(itemstring, {
description = "Compass",
description = S("Compass"),
_doc_items_create_entry = use_doc,
_doc_items_longdesc = longdesc,
_doc_items_usagehelp = usagehelp,

View File

@ -1,12 +1,14 @@
-- mods/default/craftitems.lua
local S = minetest.get_translator("mcl_core")
--
-- Crafting items
--
minetest.register_craftitem("mcl_core:stick", {
description = "Stick",
_doc_items_longdesc = "Sticks are a very versatile crafting material; used in countless crafting recipes.",
description = S("Stick"),
_doc_items_longdesc = S("Sticks are a very versatile crafting material; used in countless crafting recipes."),
_doc_items_hidden = false,
inventory_image = "default_stick.png",
stack_max = 64,
@ -14,16 +16,16 @@ minetest.register_craftitem("mcl_core:stick", {
})
minetest.register_craftitem("mcl_core:paper", {
description = "Paper",
_doc_items_longdesc = "Paper is used to craft books and maps.",
description = S("Paper"),
_doc_items_longdesc = S("Paper is used to craft books and maps."),
inventory_image = "default_paper.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:coal_lump", {
description = "Coal",
_doc_items_longdesc = "“Coal” refers to coal lumps obtained by digging coal ore which can be found underground. Coal is your standard furnace fuel, but it can also be used to make torches, coal blocks and a few other things.",
description = S("Coal"),
_doc_items_longdesc = S("“Coal” refers to coal lumps obtained by digging coal ore which can be found underground. Coal is your standard furnace fuel, but it can also be used to make torches, coal blocks and a few other things."),
_doc_items_hidden = false,
groups = { coal=1 },
inventory_image = "default_coal_lump.png",
@ -32,8 +34,8 @@ minetest.register_craftitem("mcl_core:coal_lump", {
})
minetest.register_craftitem("mcl_core:charcoal_lump", {
description = "Charcoal",
_doc_items_longdesc = "Charcoal is an alternative furnace fuel created by cooking wood in a furnace. It has the same burning time as coal and also shares many of its crafting recipes, but it can not be used to create coal blocks.",
description = S("Charcoal"),
_doc_items_longdesc = S("Charcoal is an alternative furnace fuel created by cooking wood in a furnace. It has the same burning time as coal and also shares many of its crafting recipes, but it can not be used to create coal blocks."),
_doc_items_hidden = false,
groups = { coal=1 },
inventory_image = "mcl_core_charcoal.png",
@ -42,32 +44,32 @@ minetest.register_craftitem("mcl_core:charcoal_lump", {
})
minetest.register_craftitem("mcl_core:iron_nugget", {
description = "Iron Nugget",
_doc_items_longdesc = "Iron nuggets are very small pieces of molten iron; the main purpose is to create iron ingots.",
description = S("Iron Nugget"),
_doc_items_longdesc = S("Iron nuggets are very small pieces of molten iron; the main purpose is to create iron ingots."),
inventory_image = "mcl_core_iron_nugget.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:gold_nugget", {
description = "Gold Nugget",
_doc_items_longdesc = "Gold nuggets are very small pieces of molten gold; the main purpose is to create gold ingots.",
description = S("Gold Nugget"),
_doc_items_longdesc = S("Gold nuggets are very small pieces of molten gold; the main purpose is to create gold ingots."),
inventory_image = "mcl_core_gold_nugget.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:diamond", {
description = "Diamond",
_doc_items_longdesc = "Diamonds are precious minerals and useful to create the highest tier of armor and tools.",
description = S("Diamond"),
_doc_items_longdesc = S("Diamonds are precious minerals and useful to create the highest tier of armor and tools."),
inventory_image = "default_diamond.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:clay_lump", {
description = "Clay Ball",
_doc_items_longdesc = "Clay balls are a raw material, mainly used to create bricks in the furnace.",
description = S("Clay Ball"),
_doc_items_longdesc = S("Clay balls are a raw material, mainly used to create bricks in the furnace."),
_doc_items_hidden = false,
inventory_image = "default_clay_lump.png",
stack_max = 64,
@ -75,64 +77,64 @@ minetest.register_craftitem("mcl_core:clay_lump", {
})
minetest.register_craftitem("mcl_core:iron_ingot", {
description = "Iron Ingot",
_doc_items_longdesc = "Molten iron. It is used to craft armor, tools, and whatnot.",
description = S("Iron Ingot"),
_doc_items_longdesc = S("Molten iron. It is used to craft armor, tools, and whatnot."),
inventory_image = "default_steel_ingot.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:gold_ingot", {
description = "Gold Ingot",
_doc_items_longdesc = "Molten gold. It is used to craft armor, tools, and whatnot.",
description = S("Gold Ingot"),
_doc_items_longdesc = S("Molten gold. It is used to craft armor, tools, and whatnot."),
inventory_image = "default_gold_ingot.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:emerald", {
description = "Emerald",
_doc_items_longdesc = "Emeralds are not very useful on their own, but they can exchanged for gold ingots by crafting.",
description = S("Emerald"),
_doc_items_longdesc = S("Emeralds are not very useful on their own, but they can exchanged for gold ingots by crafting."),
inventory_image = "mcl_core_emerald.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:brick", {
description = "Brick",
_doc_items_longdesc = "Bricks are used to craft brick blocks.",
description = S("Brick"),
_doc_items_longdesc = S("Bricks are used to craft brick blocks."),
inventory_image = "default_clay_brick.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:flint", {
description = "Flint",
_doc_items_longdesc = "Flint is a raw material.",
description = S("Flint"),
_doc_items_longdesc = S("Flint is a raw material."),
inventory_image = "default_flint.png",
stack_max = 64,
groups = { craftitem=1 },
})
minetest.register_craftitem("mcl_core:sugar", {
description = "Sugar",
_doc_items_longdesc = "Sugar comes from sugar canes and is used to make sweet foods.",
description = S("Sugar"),
_doc_items_longdesc = S("Sugar comes from sugar canes and is used to make sweet foods."),
inventory_image = "mcl_core_sugar.png",
stack_max = 64,
groups = { craftitem = 1 },
})
minetest.register_craftitem("mcl_core:bowl",{
description = "Bowl",
_doc_items_longdesc = "Bowls are mainly used to hold tasty soups.",
description = S("Bowl"),
_doc_items_longdesc = S("Bowls are mainly used to hold tasty soups."),
inventory_image = "mcl_core_bowl.png",
stack_max = 64,
groups = { craftitem = 1 },
})
minetest.register_craftitem("mcl_core:apple", {
description = "Apple",
_doc_items_longdesc = "Apples are food items which can be eaten.",
description = S("Apple"),
_doc_items_longdesc = S("Apples are food items which can be eaten."),
wield_image = "default_apple.png",
inventory_image = "default_apple.png",
stack_max = 64,
@ -144,8 +146,8 @@ minetest.register_craftitem("mcl_core:apple", {
-- TODO: Status effects
minetest.register_craftitem("mcl_core:apple_gold", {
description = core.colorize("#55FFFF", "Golden Apple"),
_doc_items_longdesc = "Golden apples are precious food items which can be eaten.",
description = core.colorize("#55FFFF", S("Golden Apple")),
_doc_items_longdesc = S("Golden apples are precious food items which can be eaten."),
wield_image = "mcl_core_apple_golden.png",
inventory_image = "mcl_core_apple_golden.png",
stack_max = 64,

View File

@ -1,8 +1,10 @@
local S = minetest.get_translator("mcl_core")
-- Simple solid cubic nodes, most of them are the ground materials and simple building blocks
minetest.register_node("mcl_core:stone", {
description = "Stone",
_doc_items_longdesc = "One of the most common blocks in the world, almost the entire underground consists of stone. It sometimes contains ores. Stone may be created when water meets lava.",
description = S("Stone"),
_doc_items_longdesc = S("One of the most common blocks in the world, almost the entire underground consists of stone. It sometimes contains ores. Stone may be created when water meets lava."),
_doc_items_hidden = false,
tiles = {"default_stone.png"},
is_ground_content = true,
@ -15,8 +17,8 @@ minetest.register_node("mcl_core:stone", {
})
minetest.register_node("mcl_core:stone_with_coal", {
description = "Coal Ore",
_doc_items_longdesc = "Some coal contained in stone, it is very common and can be found inside stone in medium to large clusters at nearly every height.",
description = S("Coal Ore"),
_doc_items_longdesc = S("Some coal contained in stone, it is very common and can be found inside stone in medium to large clusters at nearly every height."),
_doc_items_hidden = false,
tiles = {"mcl_core_coal_ore.png"},
is_ground_content = true,
@ -29,8 +31,8 @@ minetest.register_node("mcl_core:stone_with_coal", {
})
minetest.register_node("mcl_core:stone_with_iron", {
description = "Iron Ore",
_doc_items_longdesc = "Some iron contained in stone, it is prety common and can be found below sea level.",
description = S("Iron Ore"),
_doc_items_longdesc = S("Some iron contained in stone, it is prety common and can be found below sea level."),
tiles = {"mcl_core_iron_ore.png"},
is_ground_content = true,
stack_max = 64,
@ -43,8 +45,8 @@ minetest.register_node("mcl_core:stone_with_iron", {
minetest.register_node("mcl_core:stone_with_gold", {
description = "Gold Ore",
_doc_items_longdesc = "This stone contains pure gold, a rare metal.",
description = S("Gold Ore"),
_doc_items_longdesc = S("This stone contains pure gold, a rare metal."),
tiles = {"mcl_core_gold_ore.png"},
is_ground_content = true,
stack_max = 64,
@ -62,8 +64,8 @@ local redstone_ore_activate = function(pos)
t:start(redstone_timer)
end
minetest.register_node("mcl_core:stone_with_redstone", {
description = "Redstone Ore",
_doc_items_longdesc = "Redstone ore is commonly found near the bottom of the world. It glows when it is punched or walked upon.",
description = S("Redstone Ore"),
_doc_items_longdesc = S("Redstone ore is commonly found near the bottom of the world. It glows when it is punched or walked upon."),
tiles = {"mcl_core_redstone_ore.png"},
is_ground_content = true,
stack_max = 64,
@ -93,7 +95,7 @@ local redstone_ore_reactivate = function(pos)
end
-- Light the redstone ore up when it has been touched
minetest.register_node("mcl_core:stone_with_redstone_lit", {
description = "Lit Redstone Ore",
description = S("Lit Redstone Ore"),
_doc_items_create_entry = false,
tiles = {"mcl_core_redstone_ore.png"},
paramtype = "light",
@ -126,8 +128,8 @@ minetest.register_node("mcl_core:stone_with_redstone_lit", {
})
minetest.register_node("mcl_core:stone_with_lapis", {
description = "Lapis Lazuli Ore",
_doc_items_longdesc = "Lapis lazuli ore is the ore of lapis lazuli. It can be rarely found in clusters near the bottom of the world.",
description = S("Lapis Lazuli Ore"),
_doc_items_longdesc = S("Lapis lazuli ore is the ore of lapis lazuli. It can be rarely found in clusters near the bottom of the world."),
tiles = {"mcl_core_lapis_ore.png"},
is_ground_content = true,
stack_max = 64,
@ -148,8 +150,8 @@ minetest.register_node("mcl_core:stone_with_lapis", {
})
minetest.register_node("mcl_core:stone_with_emerald", {
description = "Emerald Ore",
_doc_items_longdesc = "Emerald ore is the ore of emeralds. It is very rare and can be found alone, not in clusters.",
description = S("Emerald Ore"),
_doc_items_longdesc = S("Emerald ore is the ore of emeralds. It is very rare and can be found alone, not in clusters."),
tiles = {"mcl_core_emerald_ore.png"},
is_ground_content = true,
stack_max = 64,
@ -161,8 +163,8 @@ minetest.register_node("mcl_core:stone_with_emerald", {
})
minetest.register_node("mcl_core:stone_with_diamond", {
description = "Diamond Ore",
_doc_items_longdesc = "Diamond ore is rare and can be found in clusters near the bottom of the world.",
description = S("Diamond Ore"),
_doc_items_longdesc = S("Diamond ore is rare and can be found in clusters near the bottom of the world."),
tiles = {"mcl_core_diamond_ore.png"},
is_ground_content = true,
stack_max = 64,
@ -174,7 +176,7 @@ minetest.register_node("mcl_core:stone_with_diamond", {
})
minetest.register_node("mcl_core:stonebrick", {
description = "Stone Bricks",
description = S("Stone Bricks"),
_doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"default_stone_brick.png"},
stack_max = 64,
@ -186,7 +188,7 @@ minetest.register_node("mcl_core:stonebrick", {
})
minetest.register_node("mcl_core:stonebrickcarved", {
description = "Chiseled Stone Bricks",
description = S("Chiseled Stone Bricks"),
_doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"mcl_core_stonebrick_carved.png"},
stack_max = 64,
@ -198,7 +200,7 @@ minetest.register_node("mcl_core:stonebrickcarved", {
})
minetest.register_node("mcl_core:stonebrickcracked", {
description = "Cracked Stone Bricks",
description = S("Cracked Stone Bricks"),
_doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"mcl_core_stonebrick_cracked.png"},
stack_max = 64,
@ -210,7 +212,7 @@ minetest.register_node("mcl_core:stonebrickcracked", {
})
minetest.register_node("mcl_core:stonebrickmossy", {
description = "Mossy Stone Bricks",
description = S("Mossy Stone Bricks"),
_doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"mcl_core_stonebrick_mossy.png"},
stack_max = 64,
@ -222,7 +224,7 @@ minetest.register_node("mcl_core:stonebrickmossy", {
})
minetest.register_node("mcl_core:stone_smooth", {
description = "Polished Stone",
description = S("Polished Stone"),
_doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"mcl_stairs_stone_slab_top.png"},
stack_max = 64,
@ -234,7 +236,7 @@ minetest.register_node("mcl_core:stone_smooth", {
})
minetest.register_node("mcl_core:granite", {
description = "Granite",
description = S("Granite"),
_doc_items_longdesc = "Granite is an igneous rock.",
tiles = {"mcl_core_granite.png"},
is_ground_content = true,
@ -246,8 +248,8 @@ minetest.register_node("mcl_core:granite", {
})
minetest.register_node("mcl_core:granite_smooth", {
description = "Polished Granite",
_doc_items_longdesc = "Polished granite is a decorational building block made from granite.",
description = S("Polished Granite"),
_doc_items_longdesc = S("Polished granite is a decorational building block made from granite."),
tiles = {"mcl_core_granite_smooth.png"},
stack_max = 64,
is_ground_content = false,
@ -258,8 +260,8 @@ minetest.register_node("mcl_core:granite_smooth", {
})
minetest.register_node("mcl_core:andesite", {
description = "Andesite",
_doc_items_longdesc = "Andesite is an igneous rock.",
description = S("Andesite"),
_doc_items_longdesc = S("Andesite is an igneous rock."),
tiles = {"mcl_core_andesite.png"},
is_ground_content = true,
stack_max = 64,
@ -270,8 +272,8 @@ minetest.register_node("mcl_core:andesite", {
})
minetest.register_node("mcl_core:andesite_smooth", {
description = "Polished Andesite",
_doc_items_longdesc = "Polished andesite is a decorational building block made from andesite.",
description = S("Polished Andesite"),
_doc_items_longdesc = S("Polished andesite is a decorational building block made from andesite."),
tiles = {"mcl_core_andesite_smooth.png"},
is_ground_content = false,
stack_max = 64,
@ -282,8 +284,8 @@ minetest.register_node("mcl_core:andesite_smooth", {
})
minetest.register_node("mcl_core:diorite", {
description = "Diorite",
_doc_items_longdesc = "Diorite is an igneous rock.",
description = S("Diorite"),
_doc_items_longdesc = S("Diorite is an igneous rock."),
tiles = {"mcl_core_diorite.png"},
is_ground_content = true,
stack_max = 64,
@ -294,8 +296,8 @@ minetest.register_node("mcl_core:diorite", {
})
minetest.register_node("mcl_core:diorite_smooth", {
description = "Polished Diorite",
_doc_items_longdesc = "Polished diorite is a decorational building block made from diorite.",
description = S("Polished Diorite"),
_doc_items_longdesc = S("Polished diorite is a decorational building block made from diorite."),
tiles = {"mcl_core_diorite_smooth.png"},
is_ground_content = false,
stack_max = 64,
@ -307,8 +309,8 @@ minetest.register_node("mcl_core:diorite_smooth", {
-- Grass Block
minetest.register_node("mcl_core:dirt_with_grass", {
description = "Grass Block",
_doc_items_longdesc = "A grass block is dirt with a grass cover. Grass blocks are resourceful blocks which allow the growth of all sorts of plants. They can be turned into farmland with a hoe and turned into grass paths with a shovel. In light, the grass slowly spreads onto dirt nearby. Under an opaque block or a liquid, a grass block may turn back to dirt.",
description = S("Grass Block"),
_doc_items_longdesc = S("A grass block is dirt with a grass cover. Grass blocks are resourceful blocks which allow the growth of all sorts of plants. They can be turned into farmland with a hoe and turned into grass paths with a shovel. In light, the grass slowly spreads onto dirt nearby. Under an opaque block or a liquid, a grass block may turn back to dirt."),
_doc_items_hidden = false,
tiles = {"default_grass.png", "default_dirt.png", {name="default_dirt.png^default_grass_side.png", tileable_vertical=false}},
is_ground_content = true,
@ -367,8 +369,8 @@ end
minetest.register_node("mcl_core:grass_path", {
tiles = {"mcl_core_grass_path_top.png", "default_dirt.png", "mcl_core_grass_path_side.png"},
description = "Grass Path",
_doc_items_longdesc = "Grass paths are a decorational variant of grass blocks. Their top has a different color and they are a bit lower than grass blocks, making them useful to build footpaths. Grass paths can be created with a shovel. A grass path turns into dirt when it is below a solid block.",
description = S("Grass Path"),
_doc_items_longdesc = S("Grass paths are a decorational variant of grass blocks. Their top has a different color and they are a bit lower than grass blocks, making them useful to build footpaths. Grass paths can be created with a shovel. A grass path turns into dirt when it is below a solid block."),
drop = "mcl_core:dirt",
is_ground_content = true,
drawtype = "nodebox",
@ -390,8 +392,8 @@ minetest.register_node("mcl_core:grass_path", {
-- TODO: Add particles
minetest.register_node("mcl_core:mycelium", {
description = "Mycelium",
_doc_items_longdesc = "Mycelium is a type of dirt and the ideal soil for mushrooms. Unlike other dirt-type blocks, it can not be turned into farmland with a hoe. In light, mycelium slowly spreads over nearby dirt. Under an opaque block or a liquid, it eventually turns back into dirt.",
description = S("Mycelium"),
_doc_items_longdesc = S("Mycelium is a type of dirt and the ideal soil for mushrooms. Unlike other dirt-type blocks, it can not be turned into farmland with a hoe. In light, mycelium slowly spreads over nearby dirt. Under an opaque block or a liquid, it eventually turns back into dirt."),
tiles = {"mcl_core_mycelium_top.png", "default_dirt.png", {name="mcl_core_mycelium_side.png", tileable_vertical=false}},
is_ground_content = true,
stack_max = 64,
@ -409,8 +411,8 @@ minetest.register_node("mcl_core:mycelium", {
mcl_core.register_snowed_node("mcl_core:mycelium_snow", "mcl_core:mycelium")
minetest.register_node("mcl_core:podzol", {
description = "Podzol",
_doc_items_longdesc = "Podzol is a type of dirt found in taiga forests. Only a few plants are able to survive on it.",
description = S("Podzol"),
_doc_items_longdesc = S("Podzol is a type of dirt found in taiga forests. Only a few plants are able to survive on it."),
tiles = {"mcl_core_dirt_podzol_top.png", "default_dirt.png", {name="mcl_core_dirt_podzol_side.png", tileable_vertical=false}},
is_ground_content = true,
stack_max = 64,
@ -425,8 +427,8 @@ minetest.register_node("mcl_core:podzol", {
mcl_core.register_snowed_node("mcl_core:podzol_snow", "mcl_core:podzol")
minetest.register_node("mcl_core:dirt", {
description = "Dirt",
_doc_items_longdesc = "Dirt acts as a soil for a few plants. When in light, this block may grow a grass or mycelium cover if such blocks are nearby.",
description = S("Dirt"),
_doc_items_longdesc = S("Dirt acts as a soil for a few plants. When in light, this block may grow a grass or mycelium cover if such blocks are nearby."),
_doc_items_hidden = false,
tiles = {"default_dirt.png"},
is_ground_content = true,
@ -438,8 +440,8 @@ minetest.register_node("mcl_core:dirt", {
})
minetest.register_node("mcl_core:coarse_dirt", {
description = "Coarse Dirt",
_doc_items_longdesc = "Coarse dirt acts as a soil for some plants and is similar to dirt, but it will never grow a cover.",
description = S("Coarse Dirt"),
_doc_items_longdesc = S("Coarse dirt acts as a soil for some plants and is similar to dirt, but it will never grow a cover."),
tiles = {"mcl_core_coarse_dirt.png"},
is_ground_content = true,
stack_max = 64,
@ -450,8 +452,8 @@ minetest.register_node("mcl_core:coarse_dirt", {
})
minetest.register_node("mcl_core:gravel", {
description = "Gravel",
_doc_items_longdesc = "This block consists of a couple of loose stones and can't support itself.",
description = S("Gravel"),
_doc_items_longdesc = S("This block consists of a couple of loose stones and can't support itself."),
tiles = {"default_gravel.png"},
is_ground_content = true,
stack_max = 64,
@ -472,8 +474,8 @@ minetest.register_node("mcl_core:gravel", {
-- sandstone --
minetest.register_node("mcl_core:sand", {
description = "Sand",
_doc_items_longdesc = "Sand is found in large quantities at beaches and deserts.",
description = S("Sand"),
_doc_items_longdesc = S("Sand is found in large quantities at beaches and deserts."),
_doc_items_hidden = false,
tiles = {"default_sand.png"},
is_ground_content = true,
@ -485,9 +487,9 @@ minetest.register_node("mcl_core:sand", {
})
minetest.register_node("mcl_core:sandstone", {
description = "Sandstone",
description = S("Sandstone"),
_doc_items_hidden = false,
_doc_items_longdesc = "Sandstone is compressed sand and is a rather soft kind of stone.",
_doc_items_longdesc = S("Sandstone is compressed sand and is a rather soft kind of stone."),
tiles = {"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_normal.png"},
is_ground_content = true,
stack_max = 64,
@ -498,8 +500,8 @@ minetest.register_node("mcl_core:sandstone", {
})
minetest.register_node("mcl_core:sandstonesmooth", {
description = "Cut Sandstone",
_doc_items_longdesc = "Cut sandstone is a decorational building block.",
description = S("Cut Sandstone"),
_doc_items_longdesc = S("Cut sandstone is a decorational building block."),
tiles = {"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_smooth.png"},
is_ground_content = false,
stack_max = 64,
@ -510,8 +512,8 @@ minetest.register_node("mcl_core:sandstonesmooth", {
})
minetest.register_node("mcl_core:sandstonecarved", {
description = "Chiseled Sandstone",
_doc_items_longdesc = "Chiseled sandstone is a decorational building block.",
description = S("Chiseled Sandstone"),
_doc_items_longdesc = S("Chiseled sandstone is a decorational building block."),
tiles = {"mcl_core_sandstone_top.png", "mcl_core_sandstone_bottom.png", "mcl_core_sandstone_carved.png"},
is_ground_content = false,
stack_max = 64,
@ -522,9 +524,9 @@ minetest.register_node("mcl_core:sandstonecarved", {
})
minetest.register_node("mcl_core:sandstonesmooth2", {
description = "Smooth Sandstone",
description = S("Smooth Sandstone"),
_doc_items_hidden = false,
_doc_items_longdesc = "Smooth sandstone is compressed sand and is a rather soft kind of stone.",
_doc_items_longdesc = S("Smooth sandstone is compressed sand and is a rather soft kind of stone."),
tiles = {"mcl_core_sandstone_top.png"},
is_ground_content = false,
stack_max = 64,
@ -537,8 +539,8 @@ minetest.register_node("mcl_core:sandstonesmooth2", {
-- red sandstone --
minetest.register_node("mcl_core:redsand", {
description = "Red Sand",
_doc_items_longdesc = "Red sand is found in large quantities in mesa biomes.",
description = S("Red Sand"),
_doc_items_longdesc = S("Red sand is found in large quantities in mesa biomes."),
tiles = {"mcl_core_red_sand.png"},
is_ground_content = true,
stack_max = 64,
@ -549,8 +551,8 @@ minetest.register_node("mcl_core:redsand", {
})
minetest.register_node("mcl_core:redsandstone", {
description = "Red Sandstone",
_doc_items_longdesc = "Red sandstone is compressed red sand and is a rather soft kind of stone.",
description = S("Red Sandstone"),
_doc_items_longdesc = S("Red sandstone is compressed red sand and is a rather soft kind of stone."),
tiles = {"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_normal.png"},
is_ground_content = true,
stack_max = 64,
@ -561,8 +563,8 @@ minetest.register_node("mcl_core:redsandstone", {
})
minetest.register_node("mcl_core:redsandstonesmooth", {
description = "Cut Red Sandstone",
_doc_items_longdesc = "Cut red sandstone is a decorational building block.",
description = S("Cut Red Sandstone"),
_doc_items_longdesc = S("Cut red sandstone is a decorational building block."),
tiles = {"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_smooth.png"},
is_ground_content = false,
stack_max = 64,
@ -573,8 +575,8 @@ minetest.register_node("mcl_core:redsandstonesmooth", {
})
minetest.register_node("mcl_core:redsandstonecarved", {
description = "Chiseled Red Sandstone",
_doc_items_longdesc = "Chiseled red sandstone is a decorational building block.",
description = S("Chiseled Red Sandstone"),
_doc_items_longdesc = S("Chiseled red sandstone is a decorational building block."),
tiles = {"mcl_core_red_sandstone_top.png", "mcl_core_red_sandstone_bottom.png", "mcl_core_red_sandstone_carved.png"},
is_ground_content = false,
stack_max = 64,
@ -585,8 +587,8 @@ minetest.register_node("mcl_core:redsandstonecarved", {
})
minetest.register_node("mcl_core:redsandstonesmooth2", {
description = "Smooth Red Sandstone",
_doc_items_longdesc = "Smooth red sandstone is a decorational building block.",
description = S("Smooth Red Sandstone"),
_doc_items_longdesc = S("Smooth red sandstone is a decorational building block."),
tiles = {"mcl_core_red_sandstone_top.png"},
is_ground_content = false,
stack_max = 64,
@ -599,8 +601,8 @@ minetest.register_node("mcl_core:redsandstonesmooth2", {
---
minetest.register_node("mcl_core:clay", {
description = "Clay",
_doc_items_longdesc = "Clay is a versatile kind of earth commonly found at beaches underwater.",
description = S("Clay"),
_doc_items_longdesc = S("Clay is a versatile kind of earth commonly found at beaches underwater."),
_doc_items_hidden = false,
tiles = {"default_clay.png"},
is_ground_content = true,
@ -614,8 +616,8 @@ minetest.register_node("mcl_core:clay", {
minetest.register_node("mcl_core:brick_block", {
-- Original name: “Bricks”
description = "Brick Block",
_doc_items_longdesc = "Brick blocks are a good building material for building solid houses and can take quite a punch.",
description = S("Brick Block"),
_doc_items_longdesc = S("Brick blocks are a good building material for building solid houses and can take quite a punch."),
tiles = {"default_brick.png"},
is_ground_content = false,
stack_max = 64,
@ -627,9 +629,9 @@ minetest.register_node("mcl_core:brick_block", {
minetest.register_node("mcl_core:bedrock", {
description = "Bedrock",
_doc_items_longdesc = "Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.".."\n"..
"In the End dimension, starting a fire on this block will create an eternal fire.",
description = S("Bedrock"),
_doc_items_longdesc = S("Bedrock is a very hard type of rock. It can not be broken, destroyed, collected or moved by normal means, unless in Creative Mode.").."\n"..
S("In the End dimension, starting a fire on this block will create an eternal fire."),
tiles = {"mcl_core_bedrock.png"},
stack_max = 64,
groups = {creative_breakable=1, building_block=1, material_stone=1},
@ -666,7 +668,7 @@ minetest.register_node("mcl_core:bedrock", {
})
minetest.register_node("mcl_core:cobble", {
description = "Cobblestone",
description = S("Cobblestone"),
_doc_items_longdesc = doc.sub.items.temp.build,
_doc_items_hidden = false,
tiles = {"default_cobble.png"},
@ -679,7 +681,7 @@ minetest.register_node("mcl_core:cobble", {
})
minetest.register_node("mcl_core:mossycobble", {
description = "Moss Stone",
description = S("Moss Stone"),
_doc_items_longdesc = doc.sub.items.temp.build,
tiles = {"default_mossycobble.png"},
is_ground_content = false,
@ -691,8 +693,8 @@ minetest.register_node("mcl_core:mossycobble", {
})
minetest.register_node("mcl_core:coalblock", {
description = "Block of Coal",
_doc_items_longdesc = "Blocks of coal are useful as a compact storage of coal and very useful as a furnace fuel. A block of coal is as efficient as 10 coal.",
description = S("Block of Coal"),
_doc_items_longdesc = S("Blocks of coal are useful as a compact storage of coal and very useful as a furnace fuel. A block of coal is as efficient as 10 coal."),
tiles = {"default_coal_block.png"},
is_ground_content = false,
stack_max = 64,
@ -703,8 +705,8 @@ minetest.register_node("mcl_core:coalblock", {
})
minetest.register_node("mcl_core:ironblock", {
description = "Block of Iron",
_doc_items_longdesc = "A block of iron is mostly a decorational block but also useful as a compact storage of iron ingots.",
description = S("Block of Iron"),
_doc_items_longdesc = S("A block of iron is mostly a decorational block but also useful as a compact storage of iron ingots."),
tiles = {"default_steel_block.png"},
is_ground_content = false,
stack_max = 64,
@ -715,8 +717,8 @@ minetest.register_node("mcl_core:ironblock", {
})
minetest.register_node("mcl_core:goldblock", {
description = "Block of Gold",
_doc_items_longdesc = "A block of gold is mostly a shiny decorational block but also useful as a compact storage of gold ingots.",
description = S("Block of Gold"),
_doc_items_longdesc = S("A block of gold is mostly a shiny decorational block but also useful as a compact storage of gold ingots."),
tiles = {"default_gold_block.png"},
is_ground_content = false,
stack_max = 64,
@ -727,8 +729,8 @@ minetest.register_node("mcl_core:goldblock", {
})
minetest.register_node("mcl_core:diamondblock", {
description = "Block of Diamond",
_doc_items_longdesc = "A block of diamond mostly a shiny decorational block but also useful as a compact storage of diamonds.",
description = S("Block of Diamond"),
_doc_items_longdesc = S("A block of diamond mostly a shiny decorational block but also useful as a compact storage of diamonds."),
tiles = {"default_diamond_block.png"},
is_ground_content = false,
stack_max = 64,
@ -739,8 +741,8 @@ minetest.register_node("mcl_core:diamondblock", {
})
minetest.register_node("mcl_core:lapisblock", {
description = "Lapis Lazuli Block",
_doc_items_longdesc = "A lapis lazuli block is mostly a decorational block but also useful as a compact storage of lapis lazuli.",
description = S("Lapis Lazuli Block"),
_doc_items_longdesc = S("A lapis lazuli block is mostly a decorational block but also useful as a compact storage of lapis lazuli."),
tiles = {"mcl_core_lapis_block.png"},
is_ground_content = false,
stack_max = 64,
@ -751,8 +753,8 @@ minetest.register_node("mcl_core:lapisblock", {
})
minetest.register_node("mcl_core:emeraldblock", {
description = "Block of Emerald",
_doc_items_longdesc = "A block of emerald is mostly a shiny decorational block but also useful as a compact storage of emeralds.",
description = S("Block of Emerald"),
_doc_items_longdesc = S("A block of emerald is mostly a shiny decorational block but also useful as a compact storage of emeralds."),
tiles = {"mcl_core_emerald_block.png"},
is_ground_content = false,
stack_max = 64,
@ -763,8 +765,8 @@ minetest.register_node("mcl_core:emeraldblock", {
})
minetest.register_node("mcl_core:obsidian", {
description = "Obsidian",
_doc_items_longdesc = "Obsidian is an extremely hard mineral with an enourmous blast-resistance. Obsidian is formed when water meets lava.",
description = S("Obsidian"),
_doc_items_longdesc = S("Obsidian is an extremely hard mineral with an enourmous blast-resistance. Obsidian is formed when water meets lava."),
tiles = {"default_obsidian.png"},
is_ground_content = true,
sounds = mcl_sounds.node_sound_stone_defaults(),
@ -775,8 +777,8 @@ minetest.register_node("mcl_core:obsidian", {
})
minetest.register_node("mcl_core:ice", {
description = "Ice",
_doc_items_longdesc = "Ice is a translucent solid block usually found in cold areas. It melts near block light sources at a light level of 12 or higher. When it melts or is broken while resting on top of another block, it will turn into a water source.",
description = S("Ice"),
_doc_items_longdesc = S("Ice is a translucent solid block usually found in cold areas. It melts near block light sources at a light level of 12 or higher. When it melts or is broken while resting on top of another block, it will turn into a water source."),
drawtype = "glasslike",
tiles = {"default_ice.png"},
is_ground_content = true,
@ -800,8 +802,8 @@ minetest.register_node("mcl_core:ice", {
})
minetest.register_node("mcl_core:packed_ice", {
description = "Packed Ice",
_doc_items_longdesc = "Packed ice is a compressed form of ice. It is opaque and solid.",
description = S("Packed Ice"),
_doc_items_longdesc = S("Packed ice is a compressed form of ice. It is opaque and solid."),
tiles = {"mcl_core_ice_packed.png"},
is_ground_content = true,
stack_max = 64,
@ -840,10 +842,10 @@ for i=0,3 do
local use_doc = i == 0
local longdesc
if use_doc then
longdesc = "Frosted ice is a short-lived solid translucent block. It melts into a water source within a few seconds."
longdesc = S("Frosted ice is a short-lived solid translucent block. It melts into a water source within a few seconds.")
end
minetest.register_node("mcl_core:frosted_ice_"..i, {
description = "Frosted Ice",
description = S("Frosted Ice"),
_doc_items_create_entry = use_doc,
_doc_items_longdesc = longdesc,
drawtype = "glasslike",
@ -886,8 +888,8 @@ for i=1,8 do
local id, desc, longdesc, usagehelp, help, walkable, drawtype, node_box
if i == 1 then
id = "mcl_core:snow"
desc = "Top Snow"
longdesc = "Top snow is a layer of snow. It melts near light sources other than the sun with a light level of 12 or higher.".."\n".."Top snow can be stacked and has one of 8 different height levels. At levels 2-8, top snow is collidable. Top snow drops 2-9 snowballs, depending on its height."
desc = S("Top Snow")
longdesc = S("Top snow is a layer of snow. It melts near light sources other than the sun with a light level of 12 or higher.".."\n".."Top snow can be stacked and has one of 8 different height levels. At levels 2-8, top snow is collidable. Top snow drops 2-9 snowballs, depending on its height.")
usagehelp = "This block can only be placed on full solid blocks and on another top snow (which increases its height)."
walkable = false
else
@ -995,8 +997,8 @@ for i=1,8 do
end
minetest.register_node("mcl_core:snowblock", {
description = "Snow",
_doc_items_longdesc = "This is a full block of snow. Snow of this thickness is usually found in areas of extreme cold.",
description = S("Snow"),
_doc_items_longdesc = S("This is a full block of snow. Snow of this thickness is usually found in areas of extreme cold."),
_doc_items_hidden = false,
tiles = {"default_snow.png"},
is_ground_content = true,

View File

@ -1,9 +1,11 @@
-- Cactus and Sugar Cane
local S = minetest.get_translator("mcl_core")
minetest.register_node("mcl_core:cactus", {
description = "Cactus",
_doc_items_longdesc = "This is a piece of cactus commonly found in dry areas, especially deserts. Over time, cacti will grow up to 3 blocks high on sand or red sand. A cactus hurts living beings touching it with a damage of 1 HP every half second. When a cactus block is broken, all cactus blocks connected above it will break as well.",
_doc_items_usagehelp = "A cactus can only be placed on top of another cactus or any sand.",
description = S("Cactus"),
_doc_items_longdesc = S("This is a piece of cactus commonly found in dry areas, especially deserts. Over time, cacti will grow up to 3 blocks high on sand or red sand. A cactus hurts living beings touching it with a damage of 1 HP every half second. When a cactus block is broken, all cactus blocks connected above it will break as well."),
_doc_items_usagehelp = S("A cactus can only be placed on top of another cactus or any sand."),
drawtype = "nodebox",
tiles = {"mcl_core_cactus_top.png", "mcl_core_cactus_bottom.png", "mcl_core_cactus_side.png"},
is_ground_content = true,
@ -44,9 +46,9 @@ minetest.register_node("mcl_core:cactus", {
})
minetest.register_node("mcl_core:reeds", {
description = "Sugar Canes",
_doc_items_longdesc = "Sugar canes are a plant which has some uses in crafting. Sugar canes will slowly grow up to 3 blocks when they are next to water and are placed on a grass block, dirt, sand, red sand, podzol or coarse dirt. When a sugar cane is broken, all sugar canes connected above will break as well.",
_doc_items_usagehelp = "Sugar canes can only be placed top of other sugar canes and on top of blocks on which they would grow.",
description = S("Sugar Canes"),
_doc_items_longdesc = S("Sugar canes are a plant which has some uses in crafting. Sugar canes will slowly grow up to 3 blocks when they are next to water and are placed on a grass block, dirt, sand, red sand, podzol or coarse dirt. When a sugar cane is broken, all sugar canes connected above will break as well."),
_doc_items_usagehelp = S("Sugar canes can only be placed top of other sugar canes and on top of blocks on which they would grow."),
drawtype = "plantlike",
tiles = {"default_papyrus.png"},
inventory_image = "mcl_core_reeds.png",

View File

@ -1,8 +1,9 @@
-- Climbable nodes
local S = minetest.get_translator("mcl_core")
minetest.register_node("mcl_core:ladder", {
description = "Ladder",
_doc_items_longdesc = "A piece of ladder which allows you to climb vertically. Ladders can only be placed on the side of solid blocks and not on glass, leaves, ice, slabs, glowstone, nor sea lanterns.",
description = S("Ladder"),
_doc_items_longdesc = S("A piece of ladder which allows you to climb vertically. Ladders can only be placed on the side of solid blocks and not on glass, leaves, ice, slabs, glowstone, nor sea lanterns."),
drawtype = "signlike",
is_ground_content = false,
tiles = {"default_ladder.png"},
@ -77,8 +78,8 @@ minetest.register_node("mcl_core:ladder", {
minetest.register_node("mcl_core:vine", {
description = "Vines",
_doc_items_longdesc = "Vines are climbable blocks which can be placed on the sides solid full-cube blocks. Vines slowly grow and spread.",
description = S("Vines"),
_doc_items_longdesc = S("Vines are climbable blocks which can be placed on the sides solid full-cube blocks. Vines slowly grow and spread."),
drawtype = "signlike",
tiles = {"mcl_core_vine.png"},
inventory_image = "mcl_core_vine.png",

View File

@ -1,8 +1,9 @@
-- Glass nodes
local S = minetest.get_translator("mcl_core")
minetest.register_node("mcl_core:glass", {
description = "Glass",
_doc_items_longdesc = "A decorational and mostly transparent block.",
description = S("Glass"),
_doc_items_longdesc = S("A decorational and mostly transparent block."),
drawtype = "glasslike",
is_ground_content = false,
tiles = {"default_glass.png"},
@ -23,7 +24,7 @@ function mcl_core.add_glass(desc, recipeitem, colorgroup, color)
minetest.register_node("mcl_core:glass_"..color, {
description = desc,
_doc_items_longdesc = "Stained glass is a decorational and mostly transparent block which comes in various different colors.",
_doc_items_longdesc = S("Stained glass is a decorational and mostly transparent block which comes in various different colors."),
drawtype = "glasslike",
is_ground_content = false,
tiles = {"mcl_core_glass_"..color..".png"},
@ -50,20 +51,20 @@ function mcl_core.add_glass(desc, recipeitem, colorgroup, color)
end
---- colored glass
mcl_core.add_glass( "Red Stained Glass", "mcl_dye:red", "basecolor_red", "red")
mcl_core.add_glass( "Green Stained Glass", "mcl_dye:dark_green", "unicolor_dark_green", "green")
mcl_core.add_glass( "Blue Stained Glass", "mcl_dye:blue", "basecolor_blue", "blue")
mcl_core.add_glass( "Light Blue Stained Glass", "mcl_dye:lightblue", "unicolor_light_blue", "light_blue")
mcl_core.add_glass( "Black Stained Glass", "mcl_dye:black", "basecolor_black", "black")
mcl_core.add_glass( "White Stained Glass", "mcl_dye:white", "basecolor_white", "white")
mcl_core.add_glass( "Yellow Stained Glass", "mcl_dye:yellow", "basecolor_yellow", "yellow")
mcl_core.add_glass( "Brown Stained Glass", "mcl_dye:brown", "unicolor_dark_orange", "brown")
mcl_core.add_glass( "Orange Stained Glass", "mcl_dye:orange", "excolor_orange", "orange")
mcl_core.add_glass( "Pink Stained Glass", "mcl_dye:pink", "unicolor_light_red", "pink")
mcl_core.add_glass( "Grey Stained Glass", "mcl_dye:dark_grey", "unicolor_darkgrey", "gray")
mcl_core.add_glass( "Lime Stained Glass", "mcl_dye:green", "basecolor_green", "lime")
mcl_core.add_glass( "Light Grey Stained Glass", "mcl_dye:grey", "basecolor_grey", "silver")
mcl_core.add_glass( "Magenta Stained Glass", "mcl_dye:magenta", "basecolor_magenta", "magenta")
mcl_core.add_glass( "Purple Stained Glass", "mcl_dye:violet", "excolor_violet", "purple")
mcl_core.add_glass( "Cyan Stained Glass", "mcl_dye:cyan", "basecolor_cyan", "cyan")
mcl_core.add_glass( S("Red Stained Glass"), "mcl_dye:red", "basecolor_red", "red")
mcl_core.add_glass( S("Green Stained Glass"), "mcl_dye:dark_green", "unicolor_dark_green", "green")
mcl_core.add_glass( S("Blue Stained Glass"), "mcl_dye:blue", "basecolor_blue", "blue")
mcl_core.add_glass( S("Light Blue Stained Glass"), "mcl_dye:lightblue", "unicolor_light_blue", "light_blue")
mcl_core.add_glass( S("Black Stained Glass"), "mcl_dye:black", "basecolor_black", "black")
mcl_core.add_glass( S("White Stained Glass"), "mcl_dye:white", "basecolor_white", "white")
mcl_core.add_glass( S("Yellow Stained Glass"), "mcl_dye:yellow", "basecolor_yellow", "yellow")
mcl_core.add_glass( S("Brown Stained Glass"), "mcl_dye:brown", "unicolor_dark_orange", "brown")
mcl_core.add_glass( S("Orange Stained Glass"), "mcl_dye:orange", "excolor_orange", "orange")
mcl_core.add_glass( S("Pink Stained Glass"), "mcl_dye:pink", "unicolor_light_red", "pink")
mcl_core.add_glass( S("Grey Stained Glass"), "mcl_dye:dark_grey", "unicolor_darkgrey", "gray")
mcl_core.add_glass( S("Lime Stained Glass"), "mcl_dye:green", "basecolor_green", "lime")
mcl_core.add_glass( S("Light Grey Stained Glass"), "mcl_dye:grey", "basecolor_grey", "silver")
mcl_core.add_glass( S("Magenta Stained Glass"), "mcl_dye:magenta", "basecolor_magenta", "magenta")
mcl_core.add_glass( S("Purple Stained Glass"), "mcl_dye:violet", "excolor_violet", "purple")
mcl_core.add_glass( S("Cyan Stained Glass"), "mcl_dye:cyan", "basecolor_cyan", "cyan")

View File

@ -1,11 +1,13 @@
-- Liquids: Water and lava
local S = minetest.get_translator("mcl_core")
local WATER_ALPHA = 179
local WATER_VISC = 1
local LAVA_VISC = 7
minetest.register_node("mcl_core:water_flowing", {
description = "Flowing Water",
description = S("Flowing Water"),
_doc_items_create_entry = false,
wield_image = "default_water_flowing_animated.png^[verticalframe:64:0",
drawtype = "flowingliquid",
@ -45,14 +47,14 @@ minetest.register_node("mcl_core:water_flowing", {
})
minetest.register_node("mcl_core:water_source", {
description = "Water Source",
_doc_items_entry_name = "Water",
description = S("Water Source"),
_doc_items_entry_name = S("Water"),
_doc_items_longdesc =
[[Water is abundant in oceans and also appears in a few springs in the ground. You can swim easily in water, but you need to catch your breath from time to time.
Water interacts with lava in various ways:
S("Water is abundant in oceans and also appears in a few springs in the ground. You can swim easily in water, but you need to catch your breath from time to time.").."\n"..
S([[Water interacts with lava in various ways:
When water is directly above or horizontally next to a lava source, the lava turns into obsidian.
When flowing water touches flowing lava either from above or horizontally, the lava turns into cobblestone.
When water is directly below lava, the water turns into stone.]],
When water is directly below lava, the water turns into stone.]]),
_doc_items_hidden = false,
drawtype = "liquid",
tiles = {
@ -89,7 +91,7 @@ Water interacts with lava in various ways:
})
minetest.register_node("mcl_core:lava_flowing", {
description = "Flowing Lava",
description = S("Flowing Lava"),
_doc_items_create_entry = false,
wield_image = "default_lava_flowing_animated.png^[verticalframe:64:0",
drawtype = "flowingliquid",
@ -135,15 +137,15 @@ minetest.register_node("mcl_core:lava_flowing", {
})
minetest.register_node("mcl_core:lava_source", {
description = "Lava Source",
description = S("Lava Source"),
_doc_items_entry_name = "Lava",
_doc_items_longdesc =
[[Lava is hot and rather dangerous. Don't touch it, it will hurt you a lot and it is hard to get out.
A lava source sets fire to a couple of air blocks above when they're next to a flammable block.
Lava interacts with water various ways:
S("Lava is hot and rather dangerous. Don't touch it, it will hurt you a lot and it is hard to get out.").."\n"..
S("A lava source sets fire to a couple of air blocks above when they're next to a flammable block.").."\n"..
S([[Lava interacts with water various ways:
When a lava source is directly below or horizontally next to water, the lava turns into obsidian.
When flowing water touches flowing lava either from above or horizontally, the lava turns into cobblestone.
When lava is directly above water, the water turns into stone.]],
When lava is directly above water, the water turns into stone.]]),
drawtype = "liquid",
tiles = {
{name="default_lava_source_animated.png", animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=3.0}}

View File

@ -1,8 +1,9 @@
-- Other nodes
local S = minetest.get_translator("mcl_core")
minetest.register_node("mcl_core:bone_block", {
description = "Bone Block",
_doc_items_longdesc = "Bone blocks are decorational blocks and a compact storage of bone meal.",
description = S("Bone Block"),
_doc_items_longdesc = S("Bone blocks are decorational blocks and a compact storage of bone meal."),
tiles = {"mcl_core_bone_block_top.png", "mcl_core_bone_block_top.png", "mcl_core_bone_block_side.png"},
is_ground_content = false,
paramtype2 = "facedir",
@ -14,8 +15,8 @@ minetest.register_node("mcl_core:bone_block", {
})
minetest.register_node("mcl_core:slimeblock", {
description = "Slime Block",
_doc_items_longdesc = "Slime blocks are very bouncy and prevent fall damage.",
description = S("Slime Block"),
_doc_items_longdesc = S("Slime blocks are very bouncy and prevent fall damage."),
drawtype = "nodebox",
paramtype = "light",
is_ground_content = false,
@ -47,8 +48,8 @@ minetest.register_node("mcl_core:slimeblock", {
})
minetest.register_node("mcl_core:cobweb", {
description = "Cobweb",
_doc_items_longdesc = "Cobwebs can be walked through, but significantly slow you down.",
description = S("Cobweb"),
_doc_items_longdesc = S("Cobwebs can be walked through, but significantly slow you down."),
drawtype = "plantlike",
paramtype2 = "degrotate",
visual_scale = 1.1,
@ -73,8 +74,8 @@ minetest.register_node("mcl_core:cobweb", {
minetest.register_node("mcl_core:deadbush", {
description = "Dead Bush",
_doc_items_longdesc = "Dead bushes are unremarkable plants often found in dry areas. They can be harvested for sticks.",
description = S("Dead Bush"),
_doc_items_longdesc = S("Dead bushes are unremarkable plants often found in dry areas. They can be harvested for sticks."),
_doc_items_hidden = false,
drawtype = "plantlike",
waving = 1,
@ -112,9 +113,9 @@ minetest.register_node("mcl_core:deadbush", {
})
minetest.register_node("mcl_core:barrier", {
description = "Barrier",
_doc_items_longdesc = "Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block.",
_doc_items_usagehelp = "When you hold a barrier in hand, you reveal all placed barriers in a short distance around you.",
description = S("Barrier"),
_doc_items_longdesc = S("Barriers are invisble walkable blocks. They are used to create boundaries of adventure maps and the like. Monsters and animals won't appear on barriers, and fences do not connect to barriers. Other blocks can be built on barriers like on any other block."),
_doc_items_usagehelp = S("When you hold a barrier in hand, you reveal all placed barriers in a short distance around you."),
drawtype = "airlike",
paramtype = "light",
inventory_image = "mcl_core_barrier.png",
@ -169,7 +170,7 @@ minetest.register_node("mcl_core:barrier", {
-- This node only exists because Minetest does not have support for “dimensions” yet and needs to
-- be removed when support for this is implemented.
minetest.register_node("mcl_core:realm_barrier", {
description = "Realm Barrier",
description = S("Realm Barrier"),
_doc_items_create_entry = false,
drawtype = "airlike",
paramtype = "light",
@ -202,7 +203,7 @@ minetest.register_node("mcl_core:realm_barrier", {
-- The void does not exist as a block in Minecraft but we register it as a
-- block here to make things easier for us.
minetest.register_node("mcl_core:void", {
description = "Void",
description = S("Void"),
_doc_items_create_entry = false,
drawtype = "airlike",
paramtype = "light",

View File

@ -1,4 +1,5 @@
-- Tree nodes: Wood, Wooden Planks, Sapling, Leaves
local S = minetest.get_translator("mcl_core")
-- Register tree trunk (wood) and bark
local register_tree_trunk = function(subname, description_trunk, description_bark, longdesc, tile_inner, tile_bark)
@ -18,7 +19,7 @@ local register_tree_trunk = function(subname, description_trunk, description_bar
minetest.register_node("mcl_core:"..subname.."_bark", {
description = description_bark,
_doc_items_longdesc = "This is a decorative block surrounded by the bark of a tree trunk.",
_doc_items_longdesc = S("This is a decorative block surrounded by the bark of a tree trunk."),
tiles = {tile_bark},
paramtype2 = "facedir",
on_place = mcl_util.rotate_axis,
@ -145,35 +146,35 @@ end
---------------------
register_tree_trunk("tree", "Oak Wood", "Oak Bark", "The trunk of an oak tree.", "default_tree_top.png", "default_tree.png")
register_tree_trunk("darktree", "Dark Oak Wood", "Dark Oak Bark", "The trunk of a dark oak tree.", "mcl_core_log_big_oak_top.png", "mcl_core_log_big_oak.png")
register_tree_trunk("acaciatree", "Acacia Wood", "Acacia Bark", "The trunk of an acacia.", "default_acacia_tree_top.png", "default_acacia_tree.png")
register_tree_trunk("sprucetree", "Spruce Wood", "Spruce Bark", "The trunk of a spruce tree.", "mcl_core_log_spruce_top.png", "mcl_core_log_spruce.png")
register_tree_trunk("birchtree", "Birch Wood", "Birch Bark", "The trunk of a birch tree.", "mcl_core_log_birch_top.png", "mcl_core_log_birch.png")
register_tree_trunk("jungletree", "Jungle Wood", "Jungle Bark", "The trunk of a jungle tree.", "default_jungletree_top.png", "default_jungletree.png")
register_tree_trunk("tree", S("Oak Wood"), S("Oak Bark"), S("The trunk of an oak tree."), "default_tree_top.png", "default_tree.png")
register_tree_trunk("darktree", S("Dark Oak Wood"), S("Dark Oak Bark"), S("The trunk of a dark oak tree."), "mcl_core_log_big_oak_top.png", "mcl_core_log_big_oak.png")
register_tree_trunk("acaciatree", S("Acacia Wood"), S("Acacia Bark"), S("The trunk of an acacia."), "default_acacia_tree_top.png", "default_acacia_tree.png")
register_tree_trunk("sprucetree", S("Spruce Wood"), S("Spruce Bark"), S("The trunk of a spruce tree."), "mcl_core_log_spruce_top.png", "mcl_core_log_spruce.png")
register_tree_trunk("birchtree", S("Birch Wood"), S("Birch Bark"), S("The trunk of a birch tree."), "mcl_core_log_birch_top.png", "mcl_core_log_birch.png")
register_tree_trunk("jungletree", S("Jungle Wood"), S("Jungle Bark"), S("The trunk of a jungle tree."), "default_jungletree_top.png", "default_jungletree.png")
register_wooden_planks("wood", "Oak Wood Planks", {"default_wood.png"})
register_wooden_planks("darkwood", "Dark Oak Wood Planks", {"mcl_core_planks_big_oak.png"})
register_wooden_planks("junglewood", "Jungle Wood Planks", {"default_junglewood.png"})
register_wooden_planks("sprucewood", "Spruce Wood Planks", {"mcl_core_planks_spruce.png"})
register_wooden_planks("acaciawood", "Acacia Wood Planks", {"default_acacia_wood.png"})
register_wooden_planks("birchwood", "Birch Wood Planks", {"mcl_core_planks_birch.png"})
register_wooden_planks("wood", S("Oak Wood Planks"), {"default_wood.png"})
register_wooden_planks("darkwood", S("Dark Oak Wood Planks"), {"mcl_core_planks_big_oak.png"})
register_wooden_planks("junglewood", S("Jungle Wood Planks"), {"default_junglewood.png"})
register_wooden_planks("sprucewood", S("Spruce Wood Planks"), {"mcl_core_planks_spruce.png"})
register_wooden_planks("acaciawood", S("Acacia Wood Planks"), {"default_acacia_wood.png"})
register_wooden_planks("birchwood", S("Birch Wood Planks"), {"mcl_core_planks_birch.png"})
register_sapling("sapling", "Oak Sapling", "When placed on soil (such as dirt) and exposed to light, an oak sapling will grow into an oak after some time.", "default_sapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16})
register_sapling("darksapling", "Dark Oak Sapling", "Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light.", "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16})
register_sapling("junglesapling", "Jungle Sapling", "When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree.", "default_junglesapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16})
register_sapling("acaciasapling", "Acacia Sapling", "When placed on soil (such as dirt) and exposed to light, an acacia sapling will grow into an acacia after some time.", "default_acacia_sapling.png", {-5/16, -0.5, -5/16, 5/16, 4/16, 5/16})
register_sapling("sprucesapling", "Spruce Sapling", "When placed on soil (such as dirt) and exposed to light, a spruce sapling will grow into a spruce after some time. When there are 4 spruce saplings in a 2×2 square, they will grow to a huge spruce.", "mcl_core_sapling_spruce.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16})
register_sapling("birchsapling", "Birch Sapling", "When placed on soil (such as dirt) and exposed to light, a birch sapling will grow into a birch after some time.", "mcl_core_sapling_birch.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16})
register_sapling("sapling", S("Oak Sapling"), S("When placed on soil (such as dirt) and exposed to light, an oak sapling will grow into an oak after some time."), "default_sapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16})
register_sapling("darksapling", S("Dark Oak Sapling"), S("Dark oak saplings can grow into dark oaks, but only in groups. A lonely dark oak sapling won't grow. A group of four dark oak saplings grows into a dark oak after some time when they are placed on soil (such as dirt) in a 2×2 square and exposed to light."), "mcl_core_sapling_big_oak.png", {-5/16, -0.5, -5/16, 5/16, 7/16, 5/16})
register_sapling("junglesapling", S("Jungle Sapling"), S("When placed on soil (such as dirt) and exposed to light, a jungle sapling will grow into a jungle tree after some time. When there are 4 jungle saplings in a 2×2 square, they will grow to a huge jungle tree."), "default_junglesapling.png", {-5/16, -0.5, -5/16, 5/16, 0.5, 5/16})
register_sapling("acaciasapling", S("Acacia Sapling"), S("When placed on soil (such as dirt) and exposed to light, an acacia sapling will grow into an acacia after some time."), "default_acacia_sapling.png", {-5/16, -0.5, -5/16, 5/16, 4/16, 5/16})
register_sapling("sprucesapling", S("Spruce Sapling"), S("When placed on soil (such as dirt) and exposed to light, a spruce sapling will grow into a spruce after some time. When there are 4 spruce saplings in a 2×2 square, they will grow to a huge spruce."), "mcl_core_sapling_spruce.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16})
register_sapling("birchsapling", S("Birch Sapling"), S("When placed on soil (such as dirt) and exposed to light, a birch sapling will grow into a birch after some time."), "mcl_core_sapling_birch.png", {-4/16, -0.5, -4/16, 4/16, 0.5, 4/16})
register_leaves("leaves", "Oak Leaves", "Oak leaves are grown from oak trees.", {"default_leaves.png"}, "mcl_core:sapling", 20, "mcl_core:apple", 200)
register_leaves("darkleaves", "Dark Oak Leaves", "Dark oak leaves are grown from dark oak trees.", {"mcl_core_leaves_big_oak.png"}, "mcl_core:darksapling", 20, "mcl_core:apple", 200)
register_leaves("jungleleaves", "Jungle Leaves", "Jungle leaves are grown from jungle trees.", {"default_jungleleaves.png"}, "mcl_core:junglesapling", 40)
register_leaves("acacialeaves", "Acacia Leaves", "Acacia leaves are grown from acacia trees.", {"default_acacia_leaves.png"}, "mcl_core:acaciasapling", 20)
register_leaves("spruceleaves", "Spruce Leaves", "Spruce leaves are grown from spruce trees.", {"mcl_core_leaves_spruce.png"}, "mcl_core:sprucesapling", 20)
register_leaves("birchleaves", "Birch Leaves", "Birch leaves are grown from birch trees.", {"mcl_core_leaves_birch.png"}, "mcl_core:birchsapling", 20)
register_leaves("leaves", S("Oak Leaves"), S("Oak leaves are grown from oak trees."), {"default_leaves.png"}, "mcl_core:sapling", 20, "mcl_core:apple", 200)
register_leaves("darkleaves", S("Dark Oak Leaves"), S("Dark oak leaves are grown from dark oak trees."), {"mcl_core_leaves_big_oak.png"}, "mcl_core:darksapling", 20, "mcl_core:apple", 200)
register_leaves("jungleleaves", S("Jungle Leaves"), S("Jungle leaves are grown from jungle trees."), {"default_jungleleaves.png"}, "mcl_core:junglesapling", 40)
register_leaves("acacialeaves", S("Acacia Leaves"), S("Acacia leaves are grown from acacia trees."), {"default_acacia_leaves.png"}, "mcl_core:acaciasapling", 20)
register_leaves("spruceleaves", S("Spruce Leaves"), S("Spruce leaves are grown from spruce trees."), {"mcl_core_leaves_spruce.png"}, "mcl_core:sprucesapling", 20)
register_leaves("birchleaves", S("Birch Leaves"), S("Birch leaves are grown from birch trees."), {"mcl_core_leaves_birch.png"}, "mcl_core:birchsapling", 20)
-- Node aliases