code:
--
-- Sounds
--

function default.node_sound_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "", gain = 1.0}
	table.dug = table.dug or
			{name = "default_dug_node", gain = 0.25}
	table.place = table.place or
			{name = "default_place_node_hard", gain = 1.0}
	return table
end

function default.node_sound_stone_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_hard_footstep", gain = 0.2}
	table.dug = table.dug or
			{name = "default_hard_footstep", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_dirt_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_dirt_footstep", gain = 0.25}
	table.dig = table.dig or
			{name = "default_dig_crumbly", gain = 0.4}
	table.dug = table.dug or
			{name = "default_dirt_footstep", gain = 1.0}
	table.place = table.place or
			{name = "default_place_node", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_sand_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_sand_footstep", gain = 0.05}
	table.dug = table.dug or
			{name = "default_sand_footstep", gain = 0.15}
	table.place = table.place or
			{name = "default_place_node", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_gravel_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_gravel_footstep", gain = 0.25}
	table.dig = table.dig or
			{name = "default_gravel_dig", gain = 0.35}
	table.dug = table.dug or
			{name = "default_gravel_dug", gain = 1.0}
	table.place = table.place or
			{name = "default_place_node", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_wood_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_wood_footstep", gain = 0.15}
	table.dig = table.dig or
			{name = "default_dig_choppy", gain = 0.4}
	table.dug = table.dug or
			{name = "default_wood_footstep", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_leaves_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_grass_footstep", gain = 0.45}
	table.dug = table.dug or
			{name = "default_grass_footstep", gain = 0.7}
	table.place = table.place or
			{name = "default_place_node", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_glass_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_glass_footstep", gain = 0.3}
	table.dig = table.dig or
			{name = "default_glass_footstep", gain = 0.5}
	table.dug = table.dug or
			{name = "default_break_glass", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_ice_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_ice_footstep", gain = 0.15}
	table.dig = table.dig or
			{name = "default_ice_dig", gain = 0.5}
	table.dug = table.dug or
			{name = "default_ice_dug", gain = 0.5}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_metal_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_metal_footstep", gain = 0.2}
	table.dig = table.dig or
			{name = "default_dig_metal", gain = 0.5}
	table.dug = table.dug or
			{name = "default_dug_metal", gain = 0.5}
	table.place = table.place or
			{name = "default_place_node_metal", gain = 0.5}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_water_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_water_footstep", gain = 0.2}
	default.node_sound_defaults(table)
	return table
end

function default.node_sound_snow_defaults(table)
	table = table or {}
	table.footstep = table.footstep or
			{name = "default_snow_footstep", gain = 0.2}
	table.dig = table.dig or
			{name = "default_snow_footstep", gain = 0.3}
	table.dug = table.dug or
			{name = "default_snow_footstep", gain = 0.3}
	table.place = table.place or
			{name = "default_place_node", gain = 1.0}
	default.node_sound_defaults(table)
	return table
end

--
-- Lavacooling
--

default.cool_lava = function(pos, node)
	if node.name == "default:lava_source" then
		minetest.set_node(pos, {name = "default:obsidian"})
	else -- Lava flowing
		minetest.set_node(pos, {name = "default:stone"})
	end
	minetest.sound_play("default_cool_lava",
		{pos = pos, max_hear_distance = 16, gain = 0.2}, true)
end

if minetest.settings:get_bool("enable_lavacooling") ~= false then
	minetest.register_abm({
		label = "Lava cooling",
		nodenames = {"default:lava_source", "default:lava_flowing"},
		neighbors = {"group:cools_lava", "group:water"},
		interval = 2,
		chance = 2,
		catch_up = false,
		action = function(...)
			default.cool_lava(...)
		end,
	})
end

--
-- Optimized helper to put all items in an inventory into a drops list
--

function default.get_inventory_drops(pos, inventory, drops)
	local inv = minetest.get_meta(pos):get_inventory()
	local n = #drops
	for i = 1, inv:get_size(inventory) do
		local stack = inv:get_stack(inventory, i)
		if stack:get_count() > 0 then
			drops[n+1] = stack:to_table()
			n = n + 1
		end
	end
end

--
-- Papyrus and cactus growing
--

-- Wrapping the functions in ABM action is necessary to make overriding them possible

function default.grow_cactus(pos, node)
	if node.param2 >= 4 then
		return
	end
	pos.y = pos.y - 1
	if minetest.get_item_group(minetest.get_node(pos).name, "sand") == 0 then
		return
	end
	pos.y = pos.y + 1
	local height = 0
	while node.name == "default:cactus" and height < 4 do
		height = height + 1
		pos.y = pos.y + 1
		node = minetest.get_node(pos)
	end
	if height == 4 or node.name ~= "air" then
		return
	end
	if minetest.get_node_light(pos) < 13 then
		return
	end
	minetest.set_node(pos, {name = "default:cactus"})
	return true
end

function default.grow_papyrus(pos, node)
	pos.y = pos.y - 1
	local name = minetest.get_node(pos).name
	if name ~= "default:dirt" and
			name ~= "default:dirt_with_grass" and
			name ~= "default:dirt_with_dry_grass" and
			name ~= "default:dirt_with_rainforest_litter" and
			name ~= "default:dry_dirt" and
			name ~= "default:dry_dirt_with_dry_grass" then
		return
	end
	if not minetest.find_node_near(pos, 3, {"group:water"}) then
		return
	end
	pos.y = pos.y + 1
	local height = 0
	while node.name == "default:papyrus" and height < 4 do
		height = height + 1
		pos.y = pos.y + 1
		node = minetest.get_node(pos)
	end
	if height == 4 or node.name ~= "air" then
		return
	end
	if minetest.get_node_light(pos) < 13 then
		return
	end
	minetest.set_node(pos, {name = "default:papyrus"})
	return true
end

minetest.register_abm({
	label = "Grow cactus",
	nodenames = {"default:cactus"},
	neighbors = {"group:sand"},
	interval = 12,
	chance = 83,
	action = function(...)
		default.grow_cactus(...)
	end
})

minetest.register_abm({
	label = "Grow papyrus",
	nodenames = {"default:papyrus"},
	-- Grows on the dirt and surface dirt nodes of the biomes papyrus appears in,
	-- including the old savanna nodes.
	-- 'default:dirt_with_grass' is here only because it was allowed before.
	neighbors = {
		"default:dirt",
		"default:dirt_with_grass",
		"default:dirt_with_dry_grass",
		"default:dirt_with_rainforest_litter",
		"default:dry_dirt",
		"default:dry_dirt_with_dry_grass",
	},
	interval = 14,
	chance = 71,
	action = function(...)
		default.grow_papyrus(...)
	end
})

--
-- Dig upwards
--

function default.dig_up(pos, node, digger)
	if digger == nil then return end
	local np = {x = pos.x, y = pos.y + 1, z = pos.z}
	local nn = minetest.get_node(np)
	if nn.name == node.name then
		minetest.node_dig(np, nn, digger)
	end
end

--
-- Fence registration helper
--
local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0

function default.register_fence(name, def)
	minetest.register_craft({
		output = name .. " 4",
		recipe = {
			{ def.material, 'group:stick', def.material },
			{ def.material, 'group:stick', def.material },
		}
	})

	local fence_texture = "default_fence_overlay.png^" .. def.texture ..
			"^default_fence_overlay.png^[makealpha:255,126,126"
	-- Allow almost everything to be overridden
	local default_fields = {
		paramtype = "light",
		drawtype = "nodebox",
		node_box = {
			type = "connected",
			fixed = {-1/8, -1/2, -1/8, 1/8, 1/2, 1/8},
			-- connect_top =
			-- connect_bottom =
			connect_front = {{-1/16,  3/16, -1/2,   1/16,  5/16, -1/8 },
				         {-1/16, -5/16, -1/2,   1/16, -3/16, -1/8 }},
			connect_left =  {{-1/2,   3/16, -1/16, -1/8,   5/16,  1/16},
				         {-1/2,  -5/16, -1/16, -1/8,  -3/16,  1/16}},
			connect_back =  {{-1/16,  3/16,  1/8,   1/16,  5/16,  1/2 },
				         {-1/16, -5/16,  1/8,   1/16, -3/16,  1/2 }},
			connect_right = {{ 1/8,   3/16, -1/16,  1/2,   5/16,  1/16},
				         { 1/8,  -5/16, -1/16,  1/2,  -3/16,  1/16}}
		},
		collision_box = {
			type = "connected",
			fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8},
			-- connect_top =
			-- connect_bottom =
			connect_front = {-1/8, -1/2, -1/2,  1/8, 1/2 + fence_collision_extra, -1/8},
			connect_left =  {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra,  1/8},
			connect_back =  {-1/8, -1/2,  1/8,  1/8, 1/2 + fence_collision_extra,  1/2},
			connect_right = { 1/8, -1/2, -1/8,  1/2, 1/2 + fence_collision_extra,  1/8}
		},
		connects_to = {"group:fence", "group:wood", "group:tree", "group:wall"},
		inventory_image = fence_texture,
		wield_image = fence_texture,
		tiles = {def.texture},
		sunlight_propagates = true,
		is_ground_content = false,
		groups = {},
	}
	for k, v in pairs(default_fields) do
		if def[k] == nil then
			def[k] = v
		end
	end

	-- Always add to the fence group, even if no group provided
	def.groups.fence = 1

	def.texture = nil
	def.material = nil

	minetest.register_node(name, def)
end

--
-- Fence rail registration helper
--

function default.register_fence_rail(name, def)
	minetest.register_craft({
		output = name .. " 16",
		recipe = {
			{ def.material, def.material },
			{ "", ""},
			{ def.material, def.material },
		}
	})

	local fence_rail_texture = "default_fence_rail_overlay.png^" .. def.texture ..
			"^default_fence_rail_overlay.png^[makealpha:255,126,126"
	-- Allow almost everything to be overridden
	local default_fields = {
		paramtype = "light",
		drawtype = "nodebox",
		node_box = {
			type = "connected",
			fixed = {{-1/16,  3/16, -1/16, 1/16,  5/16, 1/16},
				 {-1/16, -3/16, -1/16, 1/16, -5/16, 1/16}},
			-- connect_top =
			-- connect_bottom =
			connect_front = {{-1/16,  3/16, -1/2,   1/16,  5/16, -1/16},
				         {-1/16, -5/16, -1/2,   1/16, -3/16, -1/16}},
			connect_left =  {{-1/2,   3/16, -1/16, -1/16,  5/16,  1/16},
				         {-1/2,  -5/16, -1/16, -1/16, -3/16,  1/16}},
			connect_back =  {{-1/16,  3/16,  1/16,  1/16,  5/16,  1/2 },
				         {-1/16, -5/16,  1/16,  1/16, -3/16,  1/2 }},
			connect_right = {{ 1/16,  3/16, -1/16,  1/2,   5/16,  1/16},
		                         { 1/16, -5/16, -1/16,  1/2,  -3/16,  1/16}}
		},
		collision_box = {
			type = "connected",
			fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8},
			-- connect_top =
			-- connect_bottom =
			connect_front = {-1/8, -1/2, -1/2,  1/8, 1/2 + fence_collision_extra, -1/8},
			connect_left =  {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra,  1/8},
			connect_back =  {-1/8, -1/2,  1/8,  1/8, 1/2 + fence_collision_extra,  1/2},
			connect_right = { 1/8, -1/2, -1/8,  1/2, 1/2 + fence_collision_extra,  1/8}
		},
		connects_to = {"group:fence", "group:wall"},
		inventory_image = fence_rail_texture,
		wield_image = fence_rail_texture,
		tiles = {def.texture},
		sunlight_propagates = true,
		is_ground_content = false,
		groups = {},
	}
	for k, v in pairs(default_fields) do
		if def[k] == nil then
			def[k] = v
		end
	end

	-- Always add to the fence group, even if no group provided
	def.groups.fence = 1

	def.texture = nil
	def.material = nil

	minetest.register_node(name, def)
end

--
-- Mese post registration helper
--

function default.register_mesepost(name, def)
	minetest.register_craft({
		output = name .. " 4",
		recipe = {
			{'', 'default:glass', ''},
			{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
			{'', def.material, ''},
		}
	})

	local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0"
	local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0"
	-- Allow almost everything to be overridden
	local default_fields = {
		wield_image = post_texture,
		drawtype = "nodebox",
		node_box = {
			type = "fixed",
			fixed = {
				{-2 / 16, -8 / 16, -2 / 16, 2 / 16, 8 / 16, 2 / 16},
			},
		},
		paramtype = "light",
		tiles = {def.texture, def.texture, post_texture_dark, post_texture_dark, post_texture, post_texture},
		use_texture_alpha = "opaque",
		light_source = default.LIGHT_MAX,
		sunlight_propagates = true,
		is_ground_content = false,
		groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
		sounds = default.node_sound_wood_defaults(),
	}
	for k, v in pairs(default_fields) do
		if def[k] == nil then
			def[k] = v
		end
	end

	def.texture = nil
	def.material = nil

	minetest.register_node(name, def)
end

--
-- Leafdecay
--

-- Prevent decay of placed leaves

default.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
	if placer and placer:is_player() then
		local node = minetest.get_node(pos)
		node.param2 = 1
		minetest.set_node(pos, node)
	end
end

-- Leafdecay
local function leafdecay_after_destruct(pos, oldnode, def)
	for _, v in pairs(minetest.find_nodes_in_area(vector.subtract(pos, def.radius),
			vector.add(pos, def.radius), def.leaves)) do
		local node = minetest.get_node(v)
		local timer = minetest.get_node_timer(v)
		if node.param2 ~= 1 and not timer:is_started() then
			timer:start(math.random(20, 120) / 10)
		end
	end
end

local movement_gravity = tonumber(
	minetest.settings:get("movement_gravity")) or 9.81

local function leafdecay_on_timer(pos, def)
	if minetest.find_node_near(pos, def.radius, def.trunks) then
		return false
	end

	local node = minetest.get_node(pos)
	local drops = minetest.get_node_drops(node.name)
	for _, item in ipairs(drops) do
		local is_leaf
		for _, v in pairs(def.leaves) do
			if v == item then
				is_leaf = true
			end
		end
		if minetest.get_item_group(item, "leafdecay_drop") ~= 0 or
				not is_leaf then
			minetest.add_item({
				x = pos.x - 0.5 + math.random(),
				y = pos.y - 0.5 + math.random(),
				z = pos.z - 0.5 + math.random(),
			}, item)
		end
	end

	minetest.remove_node(pos)
	minetest.check_for_falling(pos)

	-- spawn a few particles for the removed node
	minetest.add_particlespawner({
		amount = 8,
		time = 0.001,
		minpos = vector.subtract(pos, {x=0.5, y=0.5, z=0.5}),
		maxpos = vector.add(pos, {x=0.5, y=0.5, z=0.5}),
		minvel = vector.new(-0.5, -1, -0.5),
		maxvel = vector.new(0.5, 0, 0.5),
		minacc = vector.new(0, -movement_gravity, 0),
		maxacc = vector.new(0, -movement_gravity, 0),
		minsize = 0,
		maxsize = 0,
		node = node,
	})
end

function default.register_leafdecay(def)
	assert(def.leaves)
	assert(def.trunks)
	assert(def.radius)
	for _, v in pairs(def.trunks) do
		minetest.override_item(v, {
			after_destruct = function(pos, oldnode)
				leafdecay_after_destruct(pos, oldnode, def)
			end,
		})
	end
	for _, v in pairs(def.leaves) do
		minetest.override_item(v, {
			on_timer = function(pos)
				leafdecay_on_timer(pos, def)
			end,
		})
	end
end

--
-- Convert default:dirt to something that fits the environment
--

minetest.register_abm({
	label = "Grass spread",
	nodenames = {"default:dirt"},
	neighbors = {
		"air",
		"group:grass",
		"group:dry_grass",
		"default:snow",
	},
	interval = 6,
	chance = 50,
	catch_up = false,
	action = function(pos, node)
		-- Check for darkness: night, shadow or under a light-blocking node
		-- Returns if ignore above
		local above = {x = pos.x, y = pos.y + 1, z = pos.z}
		if (minetest.get_node_light(above) or 0) < 13 then
			return
		end

		-- Look for spreading dirt-type neighbours
		local p2 = minetest.find_node_near(pos, 1, "group:spreading_dirt_type")
		if p2 then
			local n3 = minetest.get_node(p2)
			minetest.set_node(pos, {name = n3.name})
			return
		end

		-- Else, any seeding nodes on top?
		local name = minetest.get_node(above).name
		-- Snow check is cheapest, so comes first
		if name == "default:snow" then
			minetest.set_node(pos, {name = "default:dirt_with_snow"})
		elseif minetest.get_item_group(name, "grass") ~= 0 then
			minetest.set_node(pos, {name = "default:dirt_with_grass"})
		elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
			minetest.set_node(pos, {name = "default:dirt_with_dry_grass"})
		end
	end
})

--
-- Grass and dry grass removed in darkness
--

minetest.register_abm({
	label = "Grass covered",
	nodenames = {"group:spreading_dirt_type", "default:dry_dirt_with_dry_grass"},
	interval = 8,
	chance = 50,
	catch_up = false,
	action = function(pos, node)
		local above = {x = pos.x, y = pos.y + 1, z = pos.z}
		local name = minetest.get_node(above).name
		local nodedef = minetest.registered_nodes[name]
		if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or
				nodedef.paramtype == "light") and
				nodedef.liquidtype == "none") then
			if node.name == "default:dry_dirt_with_dry_grass" then
				minetest.set_node(pos, {name = "default:dry_dirt"})
			else
				minetest.set_node(pos, {name = "default:dirt"})
			end
		end
	end
})

--
-- Moss growth on cobble near water
--

local moss_correspondences = {
	["default:cobble"] = "default:mossycobble",
	["stairs:slab_cobble"] = "stairs:slab_mossycobble",
	["stairs:stair_cobble"] = "stairs:stair_mossycobble",
	["stairs:stair_inner_cobble"] = "stairs:stair_inner_mossycobble",
	["stairs:stair_outer_cobble"] = "stairs:stair_outer_mossycobble",
	["walls:cobble"] = "walls:mossycobble",
}
minetest.register_abm({
	label = "Moss growth",
	nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble",
		"stairs:stair_inner_cobble", "stairs:stair_outer_cobble",
		"walls:cobble"},
	neighbors = {"group:water"},
	interval = 16,
	chance = 200,
	catch_up = false,
	action = function(pos, node)
		node.name = moss_correspondences[node.name]
		if node.name then
			minetest.set_node(pos, node)
		end
	end
})

--
-- Register a craft to copy the metadata of items
--

function default.register_craft_metadata_copy(ingredient, result)
	minetest.register_craft({
		type = "shapeless",
		output = result,
		recipe = {ingredient, result}
	})

	minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
		if itemstack:get_name() ~= result then
			return
		end

		local original
		local index
		for i = 1, #old_craft_grid do
			if old_craft_grid[i]:get_name() == result then
				original = old_craft_grid[i]
				index = i
			end
		end
		if not original then
			return
		end
		local copymeta = original:get_meta():to_table()
		itemstack:get_meta():from_table(copymeta)
		-- put the book with metadata back in the craft grid
		craft_inv:set_stack("craft", index, original)
	end)
end

--
-- Log API / helpers
--

local log_non_player_actions = minetest.settings:get_bool("log_non_player_actions", false)

local is_pos = function(v)
	return type(v) == "table" and
		type(v.x) == "number" and type(v.y) == "number" and type(v.z) == "number"
end

function default.log_player_action(player, ...)
	local msg = player:get_player_name()
	if player.is_fake_player or not player:is_player() then
		if not log_non_player_actions then
			return
		end
		msg = msg .. "(" .. (type(player.is_fake_player) == "string"
			and player.is_fake_player or "*") .. ")"
	end
	for _, v in ipairs({...}) do
		-- translate pos
		local part = is_pos(v) and minetest.pos_to_string(v) or v
		-- no leading spaces before punctuation marks
		msg = msg .. (string.match(part, "^[;,.]") and "" or " ") .. part
	end
	minetest.log("action",  msg)
end

function default.set_inventory_action_loggers(def, name)
	def.on_metadata_inventory_move = function(pos, from_list, from_index,
			to_list, to_index, count, player)
		default.log_player_action(player, "moves stuff in", name, "at", pos)
	end
	def.on_metadata_inventory_put = function(pos, listname, index, stack, player)
		default.log_player_action(player, "moves", stack:get_name(), "to", name, "at", pos)
	end
	def.on_metadata_inventory_take = function(pos, listname, index, stack, player)
		default.log_player_action(player, "takes", stack:get_name(), "from", name, "at", pos)
	end
end

--
-- NOTICE: This method is not an official part of the API yet.
-- This method may change in future.
--

function default.can_interact_with_node(player, pos)
	if player and player:is_player() then
		if minetest.check_player_privs(player, "protection_bypass") then
			return true
		end
	else
		return false
	end

	local meta = minetest.get_meta(pos)
	local owner = meta:get_string("owner")

	if not owner or owner == "" or owner == player:get_player_name() then
		return true
	end

	-- Is player wielding the right key?
	local item = player:get_wielded_item()
	if minetest.get_item_group(item:get_name(), "key") == 1 then
		local key_meta = item:get_meta()

		if key_meta:get_string("secret") == "" then
			local key_oldmeta = item:get_metadata()
			if key_oldmeta == "" or not minetest.parse_json(key_oldmeta) then
				return false
			end

			key_meta:set_string("secret", minetest.parse_json(key_oldmeta).secret)
			item:set_metadata("")
		end

		return meta:get_string("key_lock_secret") == key_meta:get_string("secret")
	end

	return false
end


code:
-- default/furnace.lua

-- support for MT game translation.
local S = default.get_translator

-- List of sound handles for active furnace
local furnace_fire_sounds = {}

--
-- Formspecs
--

function default.get_furnace_active_formspec(fuel_percent, item_percent)
	return "size[8,8.5]"..
		"list[context;src;2.75,0.5;1,1;]"..
		"list[context;fuel;2.75,2.5;1,1;]"..
		"image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:"..
		(fuel_percent)..":default_furnace_fire_fg.png]"..
		"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:"..
		(item_percent)..":gui_furnace_arrow_fg.png^[transformR270]"..
		"list[context;dst;4.75,0.96;2,2;]"..
		"list[current_player;main;0,4.25;8,1;]"..
		"list[current_player;main;0,5.5;8,3;8]"..
		"listring[context;dst]"..
		"listring[current_player;main]"..
		"listring[context;src]"..
		"listring[current_player;main]"..
		"listring[context;fuel]"..
		"listring[current_player;main]"..
		default.get_hotbar_bg(0, 4.25)
end

function default.get_furnace_inactive_formspec()
	return "size[8,8.5]"..
		"list[context;src;2.75,0.5;1,1;]"..
		"list[context;fuel;2.75,2.5;1,1;]"..
		"image[2.75,1.5;1,1;default_furnace_fire_bg.png]"..
		"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
		"list[context;dst;4.75,0.96;2,2;]"..
		"list[current_player;main;0,4.25;8,1;]"..
		"list[current_player;main;0,5.5;8,3;8]"..
		"listring[context;dst]"..
		"listring[current_player;main]"..
		"listring[context;src]"..
		"listring[current_player;main]"..
		"listring[context;fuel]"..
		"listring[current_player;main]"..
		default.get_hotbar_bg(0, 4.25)
end

--
-- Node callback functions that are the same for active and inactive furnace
--

local function can_dig(pos, player)
	local meta = minetest.get_meta(pos);
	local inv = meta:get_inventory()
	return inv:is_empty("fuel") and inv:is_empty("dst") and inv:is_empty("src")
end

local function allow_metadata_inventory_put(pos, listname, index, stack, player)
	if minetest.is_protected(pos, player:get_player_name()) then
		return 0
	end
	local meta = minetest.get_meta(pos)
	local inv = meta:get_inventory()
	if listname == "fuel" then
		if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then
			if inv:is_empty("src") then
				meta:set_string("infotext", S("Furnace is empty"))
			end
			return stack:get_count()
		else
			return 0
		end
	elseif listname == "src" then
		return stack:get_count()
	elseif listname == "dst" then
		return 0
	end
end

local function allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player)
	local meta = minetest.get_meta(pos)
	local inv = meta:get_inventory()
	local stack = inv:get_stack(from_list, from_index)
	return allow_metadata_inventory_put(pos, to_list, to_index, stack, player)
end

local function allow_metadata_inventory_take(pos, listname, index, stack, player)
	if minetest.is_protected(pos, player:get_player_name()) then
		return 0
	end
	return stack:get_count()
end

local function stop_furnace_sound(pos, fadeout_step)
	local hash = minetest.hash_node_position(pos)
	local sound_ids = furnace_fire_sounds[hash]
	if sound_ids then
		for _, sound_id in ipairs(sound_ids) do
			minetest.sound_fade(sound_id, -1, 0)
		end
		furnace_fire_sounds[hash] = nil
	end
end

local function swap_node(pos, name)
	local node = minetest.get_node(pos)
	if node.name == name then
		return
	end
	node.name = name
	minetest.swap_node(pos, node)
end

local function furnace_node_timer(pos, elapsed)
	--
	-- Initialize metadata
	--
	local meta = minetest.get_meta(pos)
	local fuel_time = meta:get_float("fuel_time") or 0
	local src_time = meta:get_float("src_time") or 0
	local fuel_totaltime = meta:get_float("fuel_totaltime") or 0

	local inv = meta:get_inventory()
	local srclist, fuellist
	local dst_full = false

	local timer_elapsed = meta:get_int("timer_elapsed") or 0
	meta:set_int("timer_elapsed", timer_elapsed + 1)

	local cookable, cooked
	local fuel

	local update = true
	while elapsed > 0 and update do
		update = false

		srclist = inv:get_list("src")
		fuellist = inv:get_list("fuel")

		--
		-- Cooking
		--

		-- Check if we have cookable content
		local aftercooked
		cooked, aftercooked = minetest.get_craft_result({method = "cooking", width = 1, items = srclist})
		cookable = cooked.time ~= 0

		local el = math.min(elapsed, fuel_totaltime - fuel_time)
		if cookable then -- fuel lasts long enough, adjust el to cooking duration
			el = math.min(el, cooked.time - src_time)
		end

		-- Check if we have enough fuel to burn
		if fuel_time < fuel_totaltime then
			-- The furnace is currently active and has enough fuel
			fuel_time = fuel_time + el
			-- If there is a cookable item then check if it is ready yet
			if cookable then
				src_time = src_time + el
				if src_time >= cooked.time then
					-- Place result in dst list if possible
					if inv:room_for_item("dst", cooked.item) then
						inv:add_item("dst", cooked.item)
						inv:set_stack("src", 1, aftercooked.items[1])
						src_time = src_time - cooked.time
						update = true
					else
						dst_full = true
					end
					-- Play cooling sound
					minetest.sound_play("default_cool_lava",
						{pos = pos, max_hear_distance = 16, gain = 0.07}, true)
				else
					-- Item could not be cooked: probably missing fuel
					update = true
				end
			end
		else
			-- Furnace ran out of fuel
			if cookable then
				-- We need to get new fuel
				local afterfuel
				fuel, afterfuel = minetest.get_craft_result({method = "fuel", width = 1, items = fuellist})

				if fuel.time == 0 then
					-- No valid fuel in fuel list
					fuel_totaltime = 0
					src_time = 0
				else
					-- prevent blocking of fuel inventory (for automatization mods)
					local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}})
					if is_fuel.time == 0 then
						table.insert(fuel.replacements, afterfuel.items[1])
						inv:set_stack("fuel", 1, "")
					else
						-- Take fuel from fuel list
						inv:set_stack("fuel", 1, afterfuel.items[1])
					end
					-- Put replacements in dst list or drop them on the furnace.
					local replacements = fuel.replacements
					if replacements[1] then
						local leftover = inv:add_item("dst", replacements[1])
						if not leftover:is_empty() then
							local above = vector.new(pos.x, pos.y + 1, pos.z)
							local drop_pos = minetest.find_node_near(above, 1, {"air"}) or above
							minetest.item_drop(replacements[1], nil, drop_pos)
						end
					end
					update = true
					fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time)
				end
			else
				-- We don't need to get new fuel since there is no cookable item
				fuel_totaltime = 0
				src_time = 0
			end
			fuel_time = 0
		end

		elapsed = elapsed - el
	end

	if fuel and fuel_totaltime > fuel.time then
		fuel_totaltime = fuel.time
	end
	if srclist and srclist[1]:is_empty() then
		src_time = 0
	end

	--
	-- Update formspec, infotext and node
	--
	local formspec
	local item_state
	local item_percent = 0
	if cookable then
		item_percent = math.floor(src_time / cooked.time * 100)
		if dst_full then
			item_state = S("100% (output full)")
		else
			item_state = S("@1%", item_percent)
		end
	else
		if srclist and not srclist[1]:is_empty() then
			item_state = S("Not cookable")
		else
			item_state = S("Empty")
		end
	end

	local fuel_state = S("Empty")
	local active = false
	local result = false

	if fuel_totaltime ~= 0 then
		active = true
		local fuel_percent = 100 - math.floor(fuel_time / fuel_totaltime * 100)
		fuel_state = S("@1%", fuel_percent)
		formspec = default.get_furnace_active_formspec(fuel_percent, item_percent)
		swap_node(pos, "default:furnace_active")
		-- make sure timer restarts automatically
		result = true

		-- Play sound every 5 seconds while the furnace is active
		if timer_elapsed == 0 or (timer_elapsed + 1) % 5 == 0 then
			local sound_id = minetest.sound_play("default_furnace_active",
				{pos = pos, max_hear_distance = 16, gain = 0.25})
			local hash = minetest.hash_node_position(pos)
			furnace_fire_sounds[hash] = furnace_fire_sounds[hash] or {}
			table.insert(furnace_fire_sounds[hash], sound_id)
			-- Only remember the 3 last sound handles
			if #furnace_fire_sounds[hash] > 3 then
				table.remove(furnace_fire_sounds[hash], 1)
			end
			-- Remove the sound ID automatically from table after 11 seconds
			minetest.after(11, function()
				if not furnace_fire_sounds[hash] then
					return
				end
				for f=#furnace_fire_sounds[hash], 1, -1 do
					if furnace_fire_sounds[hash][f] == sound_id then
						table.remove(furnace_fire_sounds[hash], f)
					end
				end
				if #furnace_fire_sounds[hash] == 0 then
					furnace_fire_sounds[hash] = nil
				end
			end)
		end
	else
		if fuellist and not fuellist[1]:is_empty() then
			fuel_state = S("@1%", 0)
		end
		formspec = default.get_furnace_inactive_formspec()
		swap_node(pos, "default:furnace")
		-- stop timer on the inactive furnace
		minetest.get_node_timer(pos):stop()
		meta:set_int("timer_elapsed", 0)

		stop_furnace_sound(pos)
	end

	local infotext
	if active then
		infotext = S("Furnace active")
	else
		infotext = S("Furnace inactive")
	end
	infotext = infotext .. "\n" .. S("(Item: @1; Fuel: @2)", item_state, fuel_state)

	--
	-- Set meta values
	--
	meta:set_float("fuel_totaltime", fuel_totaltime)
	meta:set_float("fuel_time", fuel_time)
	meta:set_float("src_time", src_time)
	meta:set_string("formspec", formspec)
	meta:set_string("infotext", infotext)

	return result
end

--
-- Node definitions
--

minetest.register_node("default:furnace", {
	description = S("Furnace"),
	tiles = {
		"default_furnace_top.png", "default_furnace_bottom.png",
		"default_furnace_side.png", "default_furnace_side.png",
		"default_furnace_side.png", "default_furnace_front.png"
	},
	paramtype2 = "facedir",
	groups = {cracky=2},
	legacy_facedir_simple = true,
	is_ground_content = false,
	sounds = default.node_sound_stone_defaults(),

	can_dig = can_dig,

	on_timer = furnace_node_timer,

	on_construct = function(pos)
		local meta = minetest.get_meta(pos)
		local inv = meta:get_inventory()
		inv:set_size('src', 1)
		inv:set_size('fuel', 1)
		inv:set_size('dst', 4)
		furnace_node_timer(pos, 0)
	end,

	on_metadata_inventory_move = function(pos)
		minetest.get_node_timer(pos):start(1.0)
	end,
	on_metadata_inventory_put = function(pos)
		-- start timer function, it will sort out whether furnace can burn or not.
		minetest.get_node_timer(pos):start(1.0)
	end,
	on_metadata_inventory_take = function(pos)
		-- check whether the furnace is empty or not.
		minetest.get_node_timer(pos):start(1.0)
	end,
	on_blast = function(pos)
		local drops = {}
		default.get_inventory_drops(pos, "src", drops)
		default.get_inventory_drops(pos, "fuel", drops)
		default.get_inventory_drops(pos, "dst", drops)
		drops[#drops+1] = "default:furnace"
		minetest.remove_node(pos)
		return drops
	end,

	allow_metadata_inventory_put = allow_metadata_inventory_put,
	allow_metadata_inventory_move = allow_metadata_inventory_move,
	allow_metadata_inventory_take = allow_metadata_inventory_take,
})

minetest.register_node("default:furnace_active", {
	description = S("Furnace"),
	tiles = {
		"default_furnace_top.png", "default_furnace_bottom.png",
		"default_furnace_side.png", "default_furnace_side.png",
		"default_furnace_side.png",
		{
			image = "default_furnace_front_active.png",
			backface_culling = false,
			animation = {
				type = "vertical_frames",
				aspect_w = 16,
				aspect_h = 16,
				length = 1.5
			},
		}
	},
	paramtype2 = "facedir",
	light_source = 8,
	drop = "default:furnace",
	groups = {cracky=2, not_in_creative_inventory=1},
	legacy_facedir_simple = true,
	is_ground_content = false,
	sounds = default.node_sound_stone_defaults(),
	on_timer = furnace_node_timer,
	on_destruct = function(pos)
		stop_furnace_sound(pos)
	end,

	can_dig = can_dig,

	allow_metadata_inventory_put = allow_metadata_inventory_put,
	allow_metadata_inventory_move = allow_metadata_inventory_move,
	allow_metadata_inventory_take = allow_metadata_inventory_take,
})

minetest.register_craft({
	output = "default:furnace",
	recipe = {
		{"group:stone", "group:stone", "group:stone"},
		{"group:stone", "", "group:stone"},
		{"group:stone", "group:stone", "group:stone"},
	}
})

repo_name: korkut/MeseCraft

license: mit


code:
-- Minetest 0.4 mod: default
-- See README.txt for licensing and other information.

-- The API documentation in here was moved into game_api.txt

-- Load support for MT game translation.
local S = minetest.get_translator("default")

-- Definitions made by this mod that other mods can use too
default = {}

default.LIGHT_MAX = 14
default.get_translator = S

-- Check for engine features required by MTG
-- This provides clear error behaviour when MTG is newer than the installed engine
-- and avoids obscure, hard to debug runtime errors.
-- This section should be updated before release and older checks can be dropped
-- when newer ones are introduced.
if ItemStack("").add_wear_by_uses == nil then
	minetest.log("error","\nThis version of Mesecraft plays better on a newer Minetest engine version"..
	"(Yours is too old). You should download a version of Minetest Game that "..
	"matches the installed engine version.\n")
	-- error("\nThis version of Minetest Game is incompatible with your engine version "..
	-- 	"(which is too old). You should download a version of Minetest Game that "..
	-- 	"matches the installed engine version.\n")
end

-- GUI related stuff
minetest.register_on_joinplayer(function(player)
	-- Set formspec prepend
	local formspec = [[
			bgcolor[#080808BB;true]
			listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]
	local name = player:get_player_name()
	local info = minetest.get_player_information(name)
	if info.formspec_version > 1 then
		formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]"
	else
		formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]"
	end
	player:set_formspec_prepend(formspec)

	-- Set hotbar textures
	player:hud_set_hotbar_image("gui_hotbar.png")
	player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
end)

function default.get_hotbar_bg(x,y)
	local out = ""
	for i=0,7,1 do
		out = out .."image["..x+i..","..y..";1,1;gui_hb_bg.png]"
	end
	return out
end

default.gui_survival_form = "size[8,8.5]"..
			"list[current_player;main;0,4.25;8,1;]"..
			"list[current_player;main;0,5.5;8,3;8]"..
			"list[current_player;craft;1.75,0.5;3,3;]"..
			"list[current_player;craftpreview;5.75,1.5;1,1;]"..
			"image[4.75,1.5;1,1;gui_furnace_arrow_bg.png^[transformR270]"..
			"listring[current_player;main]"..
			"listring[current_player;craft]"..
			default.get_hotbar_bg(0,4.25)

-- Load files
local default_path = minetest.get_modpath("default")

dofile(default_path.."/functions.lua")
dofile(default_path.."/trees.lua")
dofile(default_path.."/nodes.lua")
dofile(default_path.."/chests.lua")
dofile(default_path.."/furnace.lua")
dofile(default_path.."/torch.lua")
dofile(default_path.."/tools.lua")
dofile(default_path.."/item_entity.lua")
dofile(default_path.."/craftitems.lua")
dofile(default_path.."/crafting.lua")
dofile(default_path.."/mapgen.lua")
dofile(default_path.."/aliases.lua")
dofile(default_path.."/legacy.lua")


code:
-- mods/default/item_entity.lua

local builtin_item = minetest.registered_entities["__builtin:item"]

local item = {
	set_item = function(self, itemstring)
		builtin_item.set_item(self, itemstring)

		local stack = ItemStack(itemstring)
		local itemdef = minetest.registered_items[stack:get_name()]
		if itemdef and itemdef.groups.flammable ~= 0 then
			self.flammable = itemdef.groups.flammable
		end
	end,

	burn_up = function(self)
		-- disappear in a smoke puff
		local p = self.object:get_pos()
		self.object:remove()
		minetest.sound_play("default_item_smoke", {
			pos = p,
			gain = 1.0,
			max_hear_distance = 8,
		}, true)
		minetest.add_particlespawner({
			amount = 3,
			time = 0.1,
			minpos = {x = p.x - 0.1, y = p.y + 0.1, z = p.z - 0.1 },
			maxpos = {x = p.x + 0.1, y = p.y + 0.2, z = p.z + 0.1 },
			minvel = {x = 0, y = 2.5, z = 0},
			maxvel = {x = 0, y = 2.5, z = 0},
			minacc = {x = -0.15, y = -0.02, z = -0.15},
			maxacc = {x = 0.15, y = -0.01, z = 0.15},
			minexptime = 4,
			maxexptime = 6,
			minsize = 5,
			maxsize = 5,
			collisiondetection = true,
			texture = "default_item_smoke.png"
		})
	end,

	on_step = function(self, dtime, ...)
		builtin_item.on_step(self, dtime, ...)

		if self.flammable then
			-- flammable, check for igniters every 10 s
			self.ignite_timer = (self.ignite_timer or 0) + dtime
			if self.ignite_timer > 10 then
				self.ignite_timer = 0

				local pos = self.object:get_pos()
				if pos == nil then
					return -- object already deleted
				end
				local node = minetest.get_node_or_nil(pos)
				if not node then
					return
				end

				-- Immediately burn up flammable items in lava
				if minetest.get_item_group(node.name, "lava") > 0 then
					self:burn_up()
				else
					--  otherwise there'll be a chance based on its igniter value
					local burn_chance = self.flammable
						* minetest.get_item_group(node.name, "igniter")
					if burn_chance > 0 and math.random(0, burn_chance) ~= 0 then
						self:burn_up()
					end
				end
			end
		end
	end,
}

-- set defined item as new __builtin:item, with the old one as fallback table
setmetatable(item, { __index = builtin_item })
minetest.register_entity(":__builtin:item", item)


code:
-- mods/default/legacy.lua

-- Horrible stuff to support old code registering falling nodes
-- Don't use this and never do what this does, it's completely wrong!
-- (More specifically, the client and the C++ code doesn't get the group)
function default.register_falling_node(nodename, texture)
	minetest.log("error", debug.traceback())
	minetest.log('error', "WARNING: default.register_falling_node is deprecated")
	if minetest.registered_nodes[nodename] then
		minetest.registered_nodes[nodename].groups.falling_node = 1
	end
end

function default.spawn_falling_node(p, nodename)
	spawn_falling_node(p, nodename)
end

-- Liquids
WATER_ALPHA = minetest.registered_nodes["default:water_source"].alpha
WATER_VISC = minetest.registered_nodes["default:water_source"].liquid_viscosity
LAVA_VISC = minetest.registered_nodes["default:lava_source"].liquid_viscosity
LIGHT_MAX = default.LIGHT_MAX

-- Formspecs
default.gui_suvival_form = default.gui_survival_form
default.gui_bg     = ""
default.gui_bg_img = ""
default.gui_slots  = ""

-- Players
if minetest.get_modpath("player_api") then
	default.registered_player_models = player_api.registered_models
	default.player_register_model    = player_api.register_model
	default.player_attached          = player_api.player_attached
	default.player_get_animation     = player_api.get_animation
	default.player_set_model         = player_api.set_model
	default.player_set_textures      = player_api.set_textures
	default.player_set_animation     = player_api.set_animation
end

-- Chests
default.register_chest = default.chest.register_chest

-- Check for a volume intersecting protection
function default.intersects_protection(minp, maxp, player_name, interval)
	minetest.log("warning", "default.intersects_protection() is " ..
		"deprecated, use minetest.is_area_protected() instead.")
	return minetest.is_area_protected(minp, maxp, player_name, interval)
end


code:
# textdomain: default
Locked Chest=Abgeschlossene Truhe
Locked Chest (owned by @1)=Abgeschlossene Truhe (Eigentum von @1)
You do not own this chest.=Ihnen gehört diese Truhe nicht.
a locked chest=eine abgeschlossene Truhe
Chest=Truhe
Write=Schreiben
Read=Lesen
Title:=Titel:
Contents:=Inhalt:
Save=Speichern
by @1=von @1
Page @1 of @2=Seite @1 von @2
The book you were writing to mysteriously disappeared.=Das Buch, an dem Sie geschrieben haben, ist auf mysteriöse Weise verschwunden.
"@1" by @2=„@1“ von @2
Blueberries=Blaubeeren
Book=Buch
Book with Text=Buch mit Text
Bronze Ingot=Bronzebarren
Clay Brick=Tonziegel
Clay Lump=Tonklumpen
Coal Lump=Kohleklumpen
Copper Ingot=Kupferbarren
Copper Lump=Kupferklumpen
Diamond=Diamant
Flint=Feuerstein
Gold Ingot=Goldbarren
Gold Lump=Goldklumpen
Iron Lump=Eisenklumpen
Mese Crystal=Mesekristall
Mese Crystal Fragment=Mesekristallfragment
Obsidian Shard=Obsidianscherbe
Paper=Papier
Steel Ingot=Stahlbarren
Stick=Stock
Tin Ingot=Zinnbarren
Tin Lump=Zinnklumpen
Furnace is empty=Ofen ist leer
100% (output full)=100% (Ausgabe voll)
@1%=@1%
Not cookable=Nicht kochbar
Empty=Leer
Furnace active=Ofen aktiv
Furnace inactive=Ofen inaktiv
(Item: @1; Fuel: @2)=(Gegenstand: @1; Brennstoff: @2)
Furnace=Ofen
Stone=Stein
Cobblestone=Kopfsteinpflaster
Stone Brick=Steinziegel
Stone Block=Steinblock
Mossy Cobblestone=Moosiges Kopfsteinpflaster
Desert Stone=Wüstenstein
Desert Cobblestone=Wüstenkopfsteinpflaster
Desert Stone Brick=Wüstensteinziegel
Desert Stone Block=Wüstensteinblock
Sandstone=Sandstein
Sandstone Brick=Sandsteinziegel
Sandstone Block=Sandsteinblock
Desert Sandstone=Wüstensandstein
Desert Sandstone Brick=Wüstensandsteinziegel
Desert Sandstone Block=Wüstensandsteinblock
Silver Sandstone=Silbersandstein
Silver Sandstone Brick=Silbersandsteinziegel
Silver Sandstone Block=Silbersandsteinblock
Obsidian=Obsidian
Obsidian Brick=Obsidianziegel
Obsidian Block=Obsidianblock
Dirt=Erde
Dirt with Grass=Erde mit Gras
Dirt with Grass and Footsteps=Erde mit Gras und Fußstapfen
Dirt with Savanna Grass=Erde mit Savannengras
Dirt with Snow=Erde mit Schnee
Dirt with Rainforest Litter=Erde mit Regenwaldboden
Dirt with Coniferous Litter=Erde mit Nadelwaldboden
Savanna Dirt=Savannenerde
Savanna Dirt with Savanna Grass=Savannenerde mit Savannengras
Permafrost=Permafrost
Permafrost with Stones=Permafrost mit Steinen
Permafrost with Moss=Permafrost mit Moos
Sand=Sand
Desert Sand=Wüstensand
Silver Sand=Silbersand
Gravel=Kies
Clay=Ton
Snow=Schnee
Snow Block=Schneeblock
Ice=Eis
Cave Ice=Höhleneis
Apple Tree=Apfelbaum
Apple Wood Planks=Apfelbaumplanken
Apple Tree Sapling=Apfelbaumsetzling
Apple Tree Leaves=Apfelbaumblätter
Apple=Apfel
Apple Marker=Apfelmarkierung
Jungle Tree=Dschungelbaum
Jungle Wood Planks=Dschungelholzplanken
Jungle Tree Leaves=Dschungelbaumblätter
Jungle Tree Sapling=Dschungelbaumsetzling
Emergent Jungle Tree Sapling=Hervorstehender Dschungelbaumsetzling
Pine Tree=Kiefernbaum
Pine Wood Planks=Kiefernholzplanken
Pine Needles=Kiefernnadeln
Pine Tree Sapling=Kiefernbaumsetzling
Acacia Tree=Akazienbaum
Acacia Wood Planks=Akazienholzplanken
Acacia Tree Leaves=Akazienbaumblätter
Acacia Tree Sapling=Akazienbaumsetzling
Aspen Tree=Espenbaum
Aspen Wood Planks=Espenholzplanken
Aspen Tree Leaves=Espenbaumblätter
Aspen Tree Sapling=Esepenbaumsetzling
Coal Ore=Kohleerz
Coal Block=Kohleblock
Iron Ore=Eisenerz
Steel Block=Stahlblock
Copper Ore=Kupfererz
Copper Block=Kupferblock
Tin Ore=Zinnerz
Tin Block=Zinnblock
Bronze Block=Bronzeblock
Mese Ore=Meseerz
Mese Block=Meseblock
Gold Ore=Golderz
Gold Block=Goldblock
Diamond Ore=Diamanterz
Diamond Block=Diamantblock
Cactus=Kaktus
Large Cactus Seedling=Großer Kaktussämling
Papyrus=Papyrus
Dry Shrub=Trockener Busch
Jungle Grass=Dschungelgras
Grass=Gras
Savanna Grass=Savannengras
Fern=Farn
Marram Grass=Dünengras
Bush Stem=Buschstamm
Bush Leaves=Buschblätter
Bush Sapling=Buschsetzling
Blueberry Bush Leaves with Berries=Blaubeerbuschblätter mit Beeren
Blueberry Bush Leaves=Blaubeerbuschblätter
Blueberry Bush Sapling=Blaubeerbuschsetzling
Acacia Bush Stem=Akazienbuschstamm
Acacia Bush Leaves=Akazienbuschblätter
Acacia Bush Sapling=Akazienbuschsetzling
Pine Bush Stem=Kiefernbuschstamm
Pine Bush Needles=Kiefernbuschnadeln
Pine Bush Sapling=Kiefernbuschsetzling
Kelp=Seetang
Green Coral=Grüne Koralle
Pink Coral=Rosa Koralle
Cyan Coral=Türkise Koralle
Brown Coral=Braune Koralle
Orange Coral=Orange Koralle
Coral Skeleton=Korallenskelett
Water Source=Wasserquelle
Flowing Water=Fließendes Wasser
River Water Source=Flusswasserquelle
Flowing River Water=Fließendes Flusswasser
Lava Source=Lavaquelle
Flowing Lava=Fließende Lava
Empty Bookshelf=Leeres Bücherregal
Bookshelf (@1 written, @2 empty books)=Bücherregal (@1 beschriebene, @2 leere Bücher)
Bookshelf=Bücherregal
Text too long=Text zu lang
"@1"=„@1“
Wooden Sign=Holzschild
Steel Sign=Stahlschild
Wooden Ladder=Holzleiter
Steel Ladder=Stahlleiter
Apple Wood Fence=Apfelholzzaun
Acacia Wood Fence=Akazienholzzaun
Jungle Wood Fence=Dschungelholzzaun
Pine Wood Fence=Kiefernholzzaun
Aspen Wood Fence=Espenholzzaun
Apple Wood Fence Rail=Apfelholzzaungeländer
Acacia Wood Fence Rail=Akazienholzzaungeländer
Jungle Wood Fence Rail=Dschungelholzzaungeländer
Pine Wood Fence Rail=Kiefernholzzaungeländer
Aspen Wood Fence Rail=Espenholzzaungeländer
Glass=Glas
Obsidian Glass=Obsidianglas
Brick Block=Ziegelblock
Mese Lamp=Meselampe
Apple Wood Mese Post Light=Apfelholzmesestandlampe
Acacia Wood Mese Post Light=Akazienholzmesestandlampe
Jungle Wood Mese Post Light=Dschungelholzmesestandlampe
Pine Wood Mese Post Light=Kiefernholzmesestandlampe
Aspen Wood Mese Post Light=Espenholzmesestandlampe
Cloud=Wolke
Wooden Pickaxe=Holzspitzhacke
Stone Pickaxe=Steinspitzhacke
Bronze Pickaxe=Bronzespitzhacke
Steel Pickaxe=Stahlspitzhacke
Mese Pickaxe=Mesespitzhacke
Diamond Pickaxe=Diamantspitzhacke
Wooden Shovel=Holzschaufel
Stone Shovel=Steinschaufel
Bronze Shovel=Bronzeschaufel
Steel Shovel=Stahlschaufel
Mese Shovel=Meseschaufel
Diamond Shovel=Diamantschaufel
Wooden Axe=Holzaxt
Stone Axe=Steinaxt
Bronze Axe=Bronzeaxt
Steel Axe=Stahlaxt
Mese Axe=Meseaxt
Diamond Axe=Diamantaxt
Wooden Sword=Holzschwert
Stone Sword=Steinschwert
Bronze Sword=Bronzeschwert
Steel Sword=Stahlschwert
Mese Sword=Meseschwert
Diamond Sword=Diamantschwert
Torch=Fackel
@1 will intersect protection on growth.=@1 wird bei Wachstum mit geschützter Zone überlappen.

##### not used anymore #####

Mese Post Light=Mesestandlampe


code:
# textdomain: default
Locked Chest=Ŝlosita Kesto
Locked Chest (owned by @1)=Ŝlosita Kesto (de @1)
You do not own this chest.=Vi ne posedas ĉi tiun keston.
a locked chest=ŝlosita kesto
Chest=Kesto
Write=Skribi
Read=Legi
Title:=Titolo:
Contents:=Enhavo:
Save=Konservi
by @1=per @1
Page @1 of @2=Paĝo @1 el @2
The book you were writing to mysteriously disappeared.=La libro, kiun vi skribis, mistere malaperis.
"@1" by @2="@1" per @2
Blueberries=Mirteloj
Book=Libro
Book with Text=Libro kun Teksto
Bronze Ingot=Bronza Ingoto
Clay Brick=Argila Briko
Clay Lump=Argila Bulo
Coal Lump=Karba Bulo
Copper Ingot=Kupra Ingoto
Copper Lump=Kupra Bulo
Diamond=Diamanto
Flint=Siliko
Gold Ingot=Ora Ingoto
Gold Lump=Ora Bulo
Iron Lump=Fera Bulo
Mese Crystal=Mesea Kristalo
Mese Crystal Fragment=Mesea Kristala Ero
Obsidian Shard=Obsidiana Peceto
Paper=Papero
Steel Ingot=Ŝtala Ingoto
Stick=Bastono
Tin Ingot=Stana Ingoto
Tin Lump=Stana Bulo
Furnace is empty=Forno estas malplena
100% (output full)=100% (plena eligo)
@1%=@1%
Not cookable=Nekuirebla
Empty=Malplena
Furnace active=Forno laboras
Furnace inactive=Forno ne laboras
(Item: @1; Fuel: @2)=(Objekto: @1; Brulaĵo: @2)
Furnace=Forno
Stone=Ŝtono
Cobblestone=Pavimŝtono
Stone Brick=Ŝtona Briko
Stone Block=Ŝtona Bloko
Mossy Cobblestone=Muska Pavimŝtono
Desert Stone=Dezerta Ŝtono
Desert Cobblestone=Dezerta Pavimŝtono
Desert Stone Brick=Dezerta Ŝtona Briko
Desert Stone Block=Dezerta Ŝtona Bloko
Sandstone=Sablaŝtono
Sandstone Brick=Sablaŝtono Briko
Sandstone Block=Sablaŝtono Bloko
Desert Sandstone=Dezerta Sablaŝtono
Desert Sandstone Brick=Dezerta Sablaŝtono Briko
Desert Sandstone Block=Dezerta Sablaŝtono Bloko
Silver Sandstone=Arĝenta Sablaŝtono
Silver Sandstone Brick=Arĝenta Sablaŝtono Briko
Silver Sandstone Block=Arĝenta Sablaŝtono Bloko
Obsidian=Obsidiano
Obsidian Brick=Obsidiana Briko
Obsidian Block=Obsidiana Bloko
Dirt=Tero
Dirt with Grass=Tero kun Herbo
Dirt with Grass and Footsteps=Tero kun Herbo kaj Piedpaŝoj
Dirt with Savanna Grass=Tero kun Savana Herbo
Dirt with Snow=Tero kun Neĝo
Dirt with Rainforest Litter=Tero kun Pluvarbara Folioj
Dirt with Coniferous Litter=Tero kun Koniferaj Folioj
Savanna Dirt=Savana Tero
Savanna Dirt with Savanna Grass=Savana Tero kun Savana Herbo
Permafrost=Ĉiamfrosto
Permafrost with Stones=Ĉiamfrosto kun Ŝtonoj
Permafrost with Moss=Ĉiamfrosto kun Musko
Sand=Sablo
Desert Sand=Dezerta Sablo
Silver Sand=Arĝenta Sablo
Gravel=Gruzo
Clay=Argilo
Snow=Neĝo
Snow Block=Neĝa Bloko
Ice=Glacio
Cave Ice=Kaverna Glacio
Apple Tree=Pomarbo
Apple Wood Planks=Pomarbaj Lignaj Tabuloj
Apple Tree Sapling=Pomarba Arbido
Apple Tree Leaves=Pomarbaj Folioj
Apple=Pomo
Apple Marker=Poma Marko
Jungle Tree=Ĝangala Arbo
Jungle Wood Planks=Ĝangalaj Lignaj Tabuloj
Jungle Tree Leaves=Ĝangalaj Arbaj Folioj
Jungle Tree Sapling=Ĝangala Arba Arbido
Emergent Jungle Tree Sapling=Nova Ĝangala Arba Arbido
Pine Tree=Pino
Pine Wood Planks=Pinaj Lignaj Tabuloj
Pine Needles=Pinpingloj
Pine Tree Sapling=Pina Arbido
Acacia Tree=Akacio
Acacia Wood Planks=Akaciaj Lignaj Tabuloj
Acacia Tree Leaves=Akaciaj Folioj
Acacia Tree Sapling=Akacia Arbido
Aspen Tree=Tremolo
Aspen Wood Planks=Tremolaj Lignaj Tabuloj
Aspen Tree Leaves=Tremolaj Folioj
Aspen Tree Sapling=Tremola Arbido
Coal Ore=Karba Minaĵo
Coal Block=Karba Bloko
Iron Ore=Fera Minaĵo
Steel Block=Ŝtala Bloko
Copper Ore=Kupra Minaĵo
Copper Block=Kupra Bloko
Tin Ore=Stana Minaĵo
Tin Block=Stana Bloko
Bronze Block=Bronza Bloko
Mese Ore=Mesea Minaĵo
Mese Block=Mesea Bloko
Gold Ore=Ora Minaĵo
Gold Block=Ora Bloko
Diamond Ore=Diamanta Minaĵo
Diamond Block=Diamanta Bloko
Cactus=Kakto
Large Cactus Seedling=Granda Kakta Kreskaĵo
Papyrus=Papiruso
Dry Shrub=Seka Arbetaĵo
Jungle Grass=Ĝangala Herbo
Grass=Herbo
Savanna Grass=Savana Herbo
Fern=Filiko
Marram Grass=Amofilo
Bush Stem=Arbateĵa Tubo
Bush Leaves=Arbateĵaj Folioj
Bush Sapling=Arbateĵa Arbido
Blueberry Bush Leaves with Berries=Mirtelaj Arbateĵaj Folioj kaj Beroj
Blueberry Bush Leaves=Mirtelaj Arbateĵaj Folioj
Blueberry Bush Sapling=Mirtela Arbateĵa Arbido
Acacia Bush Stem=Akacia Arbateĵa Tubo
Acacia Bush Leaves=Akaciaj Arbateĵaj Folioj
Acacia Bush Sapling=Akacia Arbateĵa Arbido
Pine Bush Stem=Pina Arbateĵa Tubo
Pine Bush Needles=Pinaj Arbateĵaj Pingloj
Pine Bush Sapling=Pina Arbateĵa Arbido
Kelp=Fuko
Green Coral=Verda Koralo
Pink Coral=Rozkolora Koralo
Cyan Coral=Bluverda Koralo
Brown Coral=Bruna Koralo
Orange Coral=Oranĝkolora Koralo
Coral Skeleton=Korala Framo
Water Source=Akva Fonto
Flowing Water=Flua Akvo
River Water Source=Rivera Akva Fonto
Flowing River Water=Flua Rivera Akvo
Lava Source=Lafa Fonto
Flowing Lava=Flua Lafa
Empty Bookshelf=Malplena Librobreto
Bookshelf (@1 written, @2 empty books)=Librobreto (@1 skriba(j), @2 malplena(j) libro(j))
Bookshelf=Librobreto
Text too long=Tro longa teksto
Wooden Sign=Ligna Signo
Steel Sign=Ŝtala Signo
Wooden Ladder=Ligna Ŝtupetaro
Steel Ladder=Ŝtala Ŝtupetaro
Apple Wood Fence=Poma Ligna Barilo
Acacia Wood Fence=Akacia Ligna Barilo
Jungle Wood Fence=Ĝangala Ligna Barilo
Pine Wood Fence=Pina Ligna Barilo
Aspen Wood Fence=Tremola Ligna Barilo
Apple Wood Fence Rail=Poma Ligna Barila Relo
Acacia Wood Fence Rail=Akacia Ligna Barila Relo
Jungle Wood Fence Rail=Ĝangala Ligna Barila Relo
Pine Wood Fence Rail=Pina Ligna Barila Relo
Aspen Wood Fence Rail=Tremola Ligna Barila Relo
Glass=Vitro
Obsidian Glass=Obsidiana Vitro
Brick Block=Brika Bloko
Mese Lamp=Mesea Lampo
Apple Wood Mese Post Light=Poma Ligna Mesea Fosta Lampo
Acacia Wood Mese Post Light=Akacia Ligna Mesea Fosta Lampo
Jungle Wood Mese Post Light=Ĝangala Ligna Mesea Fosta Lampo
Pine Wood Mese Post Light=Pina Ligna Mesea Fosta Lampo
Aspen Wood Mese Post Light=Tremola Ligna Mesea Fosta Lampo
Cloud=Nubo
Wooden Pickaxe=Ligna Pioĉo
Stone Pickaxe=Ŝtona Pioĉo
Bronze Pickaxe=Bronza Pioĉo
Steel Pickaxe=Ŝtala Pioĉo
Mese Pickaxe=Mesea Pioĉo
Diamond Pickaxe=Diamanta Pioĉo
Wooden Shovel=Ligna Fosilo
Stone Shovel=Ŝtona Fosilo
Bronze Shovel=Bronza Fosilo
Steel Shovel=Ŝtala Fosilo
Mese Shovel=Mesea Fosilo
Diamond Shovel=Diamanta Fosilo
Wooden Axe=Ligna Hakilo
Stone Axe=Ŝtona Hakilo
Bronze Axe=Bronza Hakilo
Steel Axe=Ŝtala Hakilo
Mese Axe=Mesea Hakilo
Diamond Axe=Diamanta Hakilo
Wooden Sword=Ligna Glavo
Stone Sword=Ŝtona Glavo
Bronze Sword=Bronza Glavo
Steel Sword=Ŝtala Glavo
Mese Sword=Mesea Glavo
Diamond Sword=Diamanta Glavo
Torch=Torĉo
@1 will intersect protection on growth.=@1 sekcos protekton dum kresko.

##### not used anymore #####

Mese Post Light=Mesea Fosta Lampo


code:
# textdomain: default
Locked Chest=Cofre cerrado
Locked Chest (owned by @1)=Cofre cerrado (propiedad de @1)
You do not own this chest.=Este cofre no te pertenece.
a locked chest=un cofre cerrado
Chest=Cofre
Write=
Read=
Title:=Título:
Contents:=Contenidos:
Save=Guardar
by @1=por @1
Page @1 of @2=Página @1 de @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" por @2
Blueberries=Arándanos
Book=Libro
Book with Text=Libro escrito
Bronze Ingot=Lingote de bronce
Clay Brick=Ladrillo de arcilla
Clay Lump=Bola de arcilla
Coal Lump=Carbón
Copper Ingot=Lingote de cobre
Copper Lump=Pepita de cobre
Diamond=Diamante
Flint=Pedernal
Gold Ingot=Lingote de oro
Gold Lump=Pepita de oro
Iron Lump=Pepita de hierro
Mese Crystal=Cristal de mese
Mese Crystal Fragment=Fragmento de cristal de mese
Obsidian Shard=Esquirla de obsidiana
Paper=Papel
Steel Ingot=Lingote de acero
Stick=Palo
Tin Ingot=Lingote de estaño
Tin Lump=Pepita de estaño
Furnace is empty=El horno está vacío
100% (output full)=100% (salida completa)
@1%=@1%
Not cookable=No se puede cocinar
Empty=Vacío
Furnace active=Horno activado
Furnace inactive=Horno desactivado
(Item: @1; Fuel: @2)=(Objeto: @1; Combustible: @2)
Furnace=Horno
Stone=Piedra
Cobblestone=Adoquín
Stone Brick=Ladrillo de piedra
Stone Block=Bloque de piedra
Mossy Cobblestone=Adoquín musgoso
Desert Stone=Piedra desértica
Desert Cobblestone=Adoquín desértico
Desert Stone Brick=Ladrillo de piedra desértica
Desert Stone Block=Bloque de piedra desértica
Sandstone=Piedra arenisca
Sandstone Brick=Ladrillo de arenisca
Sandstone Block=Bloque de arenisca
Desert Sandstone=Piedra arenisca desértica
Desert Sandstone Brick=Ladrillo de arenisca desértica
Desert Sandstone Block=Bloque de arenisca deśertica
Silver Sandstone=Piedra arenisca plateada
Silver Sandstone Brick=Ladrillo de arenisca plateada
Silver Sandstone Block=Bloque de arenisca plateada
Obsidian=Obsidiana
Obsidian Brick=Ladrillo de obsidiana
Obsidian Block=Bloque de obsidiana
Dirt=Tierra
Dirt with Grass=Tierra con pasto
Dirt with Grass and Footsteps=Tierra con pasto y pisadas
Dirt with Savanna Grass=Tierra con hierba de sabana
Dirt with Snow=Tierra con nieve
Dirt with Rainforest Litter=Tierra con hojarasca de selva tropical
Dirt with Coniferous Litter=Tierra con hojarasca de coníferas
Savanna Dirt=Tierra de sabana
Savanna Dirt with Savanna Grass=Tierra de sabana con hierba de sabana
Permafrost=Permafrost
Permafrost with Stones=Permafrost pedregoso
Permafrost with Moss=Permafrost musgoso
Sand=Arena
Desert Sand=Arena desértica
Silver Sand=Arena plateada
Gravel=Grava
Clay=Arcilla
Snow=Nieve
Snow Block=Bloque de nieve
Ice=Hielo
Cave Ice=Hielo de cueva
Apple Tree=Madera de manzano
Apple Wood Planks=Tablas de manzano
Apple Tree Sapling=Retoño de manzano
Apple Tree Leaves=Hojas de manzano
Apple=Manzana
Apple Marker=Marcador de manzano
Jungle Tree=Madera de árbol tropical
Jungle Wood Planks=Tablas de madera tropical
Jungle Tree Leaves=Hojas de árbol tropical
Jungle Tree Sapling=Retoño de árbol tropical
Emergent Jungle Tree Sapling=Retoño de árbol tropical
Pine Tree=Madera de pino
Pine Wood Planks=Tablas de pino
Pine Needles=Agujas de pino
Pine Tree Sapling=Retoño de pino
Acacia Tree=Madera de acacia
Acacia Wood Planks=Tablas de acacia
Acacia Tree Leaves=Hojas de acacia
Acacia Tree Sapling=Retoño de acacia
Aspen Tree=Madera de álamo
Aspen Wood Planks=Tablas de álamo
Aspen Tree Leaves=Hojas de álamo
Aspen Tree Sapling=Retoño de álamo
Coal Ore=Mineral de carbón
Coal Block=Bloque de carbón
Iron Ore=Mineral de hierro
Steel Block=Bloque de acero
Copper Ore=Mineral de cobre
Copper Block=Bloque de cobre
Tin Ore=Mineral de estaño
Tin Block=Bloque de estaño
Bronze Block=Bloque de bronce
Mese Ore=Mineral de mese
Mese Block=Bloque de mese
Gold Ore=Mineral de oro
Gold Block=Bloque de oro
Diamond Ore=Mineral de diamante
Diamond Block=Bloque de diamante
Cactus=Cáctus
Large Cactus Seedling=Vástago grande de cactus
Papyrus=Papiro
Dry Shrub=Arbusto seco
Jungle Grass=Pasto de jungla
Grass=Pasto
Savanna Grass=Hierba de sabana
Fern=Helecho
Marram Grass=Carrizo
Bush Stem=Tallo de arbusto
Bush Leaves=Hojas de arbusto
Bush Sapling=Retoño de arbusto
Blueberry Bush Leaves with Berries=Hojas de arbusto de arándano con bayas
Blueberry Bush Leaves=Hojas de arbusto de arándano
Blueberry Bush Sapling=Retoño de arbusto de arándano
Acacia Bush Stem=Tallo de arbusto de acacia
Acacia Bush Leaves=Hojas de arbusto de acacia
Acacia Bush Sapling=Retoño de arbusto de acacia
Pine Bush Stem=Tallo de arbusto de pino
Pine Bush Needles=Agujas de arbusto de pino
Pine Bush Sapling=Retoño de arbusto de pino
Kelp=Alga marina
Green Coral=Coral verde
Pink Coral=Coral rosa
Cyan Coral=Coral cián
Brown Coral=Coral café
Orange Coral=Coral naranja
Coral Skeleton=Esqueleto de coral
Water Source=Fuente de agua
Flowing Water=Fluído de agua
River Water Source=Fuente de agua de río
Flowing River Water=Fluído de agua de río
Lava Source=Fuente de lava
Flowing Lava=Fluído de lava
Empty Bookshelf=Librería vacía
Bookshelf (@1 written, @2 empty books)=Librería(@1 escritos, @2 libros en blanco)
Bookshelf=Librería
Text too long=Texto demasiado largo
"@1"="@1"
Wooden Sign=Cartel de madera
Steel Sign=Cartel de acero
Wooden Ladder=Escalera de madera
Steel Ladder=Escalera de acero
Apple Wood Fence=Cerca de manzano
Acacia Wood Fence=Cerca de acacia
Jungle Wood Fence=Cerca de madera tropical
Pine Wood Fence=Cerca de pino
Aspen Wood Fence=Cerca de álamo
Apple Wood Fence Rail=Listones de manzano para cerca
Acacia Wood Fence Rail=Listones de acacia para cerca
Jungle Wood Fence Rail=Listones de madera tropical para cerca
Pine Wood Fence Rail=Listones de pino para cerca
Aspen Wood Fence Rail=Listones de álamo para cerca
Glass=Vidrio
Obsidian Glass=Vidrio de obsidiana
Brick Block=Bloque de ladrillo
Mese Lamp=Lámpara de mese
Apple Wood Mese Post Light=Poste de luz de madera de manzano
Acacia Wood Mese Post Light=Poste de luz de madera de acacia
Jungle Wood Mese Post Light=Poste de luz de madera de jungla
Pine Wood Mese Post Light=Poste de luz de madera de pino
Aspen Wood Mese Post Light=Poste de luz de madera de álamo
Cloud=Nube
Wooden Pickaxe=Pico de madera
Stone Pickaxe=Pico de piedra
Bronze Pickaxe=Pico de bronce
Steel Pickaxe=Pico de acero
Mese Pickaxe=Pico de mese
Diamond Pickaxe=Pico de diamante
Wooden Shovel=Pala de madera
Stone Shovel=Pala de piedra
Bronze Shovel=Pala de bronce
Steel Shovel=Pala de acero
Mese Shovel=Pala de mese
Diamond Shovel=Pala de diamante
Wooden Axe=Hacha de madera
Stone Axe=Hacha de piedra
Bronze Axe=Hacha de bronce
Steel Axe=Hacha de acero
Mese Axe=Hacha de mese
Diamond Axe=Hacha de diamante
Wooden Sword=Espada de madera
Stone Sword=Espada de piedra
Bronze Sword=Espada de bronce
Steel Sword=Espada de acero
Mese Sword=Espada de mese
Diamond Sword=Espada de diamante
Torch=Antorcha
@1 will intersect protection on growth.=@1 intersectará con protección cuando crezca.

##### not used anymore #####

Dirt with Dry Grass=Tierra con pasto seco
Dry Dirt=Tierra Seca
Dry Dirt with Dry Grass=Tierra seca con pasto seco
Dry Grass=Pasto seco
Mese Post Light=Poste de luz de mese


code:
# textdomain: default
Locked Chest=Coffre verrouillé
Locked Chest (owned by @1)=Coffre verrouillé (possédé par @1)
You do not own this chest.=Ce coffre ne vous appartient pas.
a locked chest=un coffre verrouillé
Chest=Coffre
Write=Écrire
Read=Lire
Title:=Titre :
Contents:=Contenu :
Save=Sauvegarder
by @1=de @1
Page @1 of @2=Page @1 sur @2
The book you were writing to mysteriously disappeared.=
"@1" by @2=« @1 » de @2
Blueberries=Myrtille
Book=Livre
Book with Text=Livre avec du texte
Bronze Ingot=Lingot de bronze
Clay Brick=Brique d'argile
Clay Lump=Morceau d'argile
Coal Lump=Morceau de charbon
Copper Ingot=Lingot de cuivre
Copper Lump=Morceau de cuivre
Diamond=Diamant
Flint=Silex
Gold Ingot=Lingot d'or
Gold Lump=Morceau d'or
Iron Lump=Morceau de fer
Mese Crystal=Cristal de Mese
Mese Crystal Fragment=Fragment de cristal de Mese
Obsidian Shard=Tesson d'obsidienne
Paper=Papier
Steel Ingot=Lingot d'acier
Stick=Baton
Tin Ingot=Lingot d'étain
Tin Lump=Morceau d'étain
Furnace is empty=Le four est vide
100% (output full)=100% (Sortie pleine)
@1%=@1%
Not cookable=Ne se cuit pas
Empty=Vide
Furnace active=Four actif
Furnace inactive=Four inactif
(Item: @1; Fuel: @2)=(Article: @1; Carburant: @2)
Furnace=Four
Stone=Pierre
Cobblestone=Pavé
Stone Brick=Brique de pierre
Stone Block=Bloc de pierre
Mossy Cobblestone=Pavé moussu
Desert Stone=Pierre du désert
Desert Cobblestone=Pavé de pierre du désert
Desert Stone Brick=Brique de pierre du désert
Desert Stone Block=Bloc de pierre du désert
Sandstone=Grès
Sandstone Brick=Brique de grès
Sandstone Block=Bloc de grès
Desert Sandstone=Grès du désert
Desert Sandstone Brick=Brique de grès du désert
Desert Sandstone Block=Bloc de grès du désert
Silver Sandstone=Grès argenté
Silver Sandstone Brick=Brique de grès argenté
Silver Sandstone Block=Bloc de grès argenté
Obsidian=Obsidienne
Obsidian Brick=Brique d'obsidienne
Obsidian Block=Bloc d'obsidienne
Dirt=Terre
Dirt with Grass=Terre avec de l'herbe
Dirt with Grass and Footsteps=Terre avec de l'herbe et des traces de pas
Dirt with Savanna Grass=Terre avec de l'herbe de savane
Dirt with Snow=Terre avec de la neige
Dirt with Rainforest Litter=Terre avec sol de forêt humide
Dirt with Coniferous Litter=Terre avec sol de forêt de conifère
Savanna Dirt=Terre de la savane
Savanna Dirt with Savanna Grass=Terre de la savane avec son herbe
Permafrost=Pergélisol
Permafrost with Stones=Pergélisol avec de la pierre
Permafrost with Moss=Pergélisol avec de la mousse
Sand=Sable
Desert Sand=Sable du désert
Silver Sand=Sable argenté
Gravel=Gravier
Clay=Argile
Snow=Neige
Snow Block=Bloc de neige
Ice=Glace
Cave Ice=Glace de grotte
Apple Tree=Pommier
Apple Wood Planks=Planche de pommier
Apple Tree Sapling=Pousse de pommier
Apple Tree Leaves=Feuilles de pommier
Apple=Pomme
Apple Marker=Marqueur de pomme
Jungle Tree=Arbre de la jungle
Jungle Wood Planks=Planche d'arbre de la jungle
Jungle Tree Leaves=Feuilles d'arbre de la jungle
Jungle Tree Sapling=Pousse d'arbre de la jungle
Emergent Jungle Tree Sapling=Pousse d'arbre de la jungle émergent
Pine Tree=Pin
Pine Wood Planks=Planche de pin
Pine Needles=Aiguilles de pin
Pine Tree Sapling=Pousse de pin
Acacia Tree=Acacia
Acacia Wood Planks=Planche d'acacia
Acacia Tree Leaves=Feuilles d'acacia
Acacia Tree Sapling=Pousse d'acacia
Aspen Tree=Tremble
Aspen Wood Planks=Planche de tremble
Aspen Tree Leaves=Feuilles de tremble
Aspen Tree Sapling=Pousse de tremble
Coal Ore=Minerai de charbon
Coal Block=Bloc de charbon
Iron Ore=Bloc de fer
Steel Block=Bloc d'acier
Copper Ore=Minerai de cuivre
Copper Block=Bloc de cuivre
Tin Ore=Minerai d'étain
Tin Block=Bloc d'étain
Bronze Block=Bloc de bronze
Mese Ore=Minerai de Mese
Mese Block=Bloc de Mese
Gold Ore=Minerai d'or
Gold Block=Bloc d'or
Diamond Ore=Minerai de diamant
Diamond Block=Bloc de diamant
Cactus=Cactus
Large Cactus Seedling=Grand plan de cactus
Papyrus=Papyrus
Dry Shrub=Arbuste sec
Jungle Grass=Herbe de la jungle
Grass=Herbe
Savanna Grass=Herbe de la savane
Fern=Fougère
Marram Grass=Ammophile
Bush Stem=Tige de buisson
Bush Leaves=Feuilles de buisson
Bush Sapling=Pousse de buisson
Blueberry Bush Leaves with Berries=Buisson de myrtille avec des myrtilles
Blueberry Bush Leaves=Feuilles de buisson à myrtilles
Blueberry Bush Sapling=Pousse de buisson à myrtilles
Acacia Bush Stem=Tige de buisson d'acacia
Acacia Bush Leaves=Feuilles de buisson d'acacia
Acacia Bush Sapling=Pousses de buisson d'acacia
Pine Bush Stem=Tige de buisson de pin
Pine Bush Needles=Aiguilles de buisson de pin
Pine Bush Sapling=Pousse de buisson de pin
Kelp=Varech
Green Coral=Corail vert
Pink Coral=Corail rose
Cyan Coral=Corail cyan
Brown Coral=Corail marron
Orange Coral=Corail orange
Coral Skeleton=Squelette de corail
Water Source=Source d'eau
Flowing Water=Écoulement d'eau
River Water Source=Source d'eau de rivière
Flowing River Water=Écoulement d'eau de rivière
Lava Source=Source de lave
Flowing Lava=Écoulement de lave
Empty Bookshelf=Bibliothèque vide
Bookshelf (@1 written, @2 empty books)=Bibliothèque (@1 écrits, @2 livres vides)
Bookshelf=Bibliothèque
Text too long=Texte trop longue
"@1"=« @1 »
Wooden Sign=Panneau en bois
Steel Sign=Panneau en acier
Wooden Ladder=Échelle en bois
Steel Ladder=Échelle en acier
Apple Wood Fence=Barrière de bois de pommier
Acacia Wood Fence=Barrière de bois d'acacia
Jungle Wood Fence=Barrière de bois de la jungle
Pine Wood Fence=Barrière de bois de pin
Aspen Wood Fence=Barrière de bois de tremble
Apple Wood Fence Rail=Clôture de bois de pommier
Acacia Wood Fence Rail=Clôture de bois d'acacia
Jungle Wood Fence Rail=Clôture de bois de la jungle
Pine Wood Fence Rail=Clôture de bois de pin
Aspen Wood Fence Rail=Clôture de bois de tremble
Glass=Verre
Obsidian Glass=Verre d'obsidienne
Brick Block=Bloc de brique
Mese Lamp=Lampe de Mese
Apple Wood Mese Post Light=Réverbère de Mese en bois de pommier
Acacia Wood Mese Post Light=Réverbère de Mese en bois d'acacia
Jungle Wood Mese Post Light=Réverbère de Mese en bois de la jungle
Pine Wood Mese Post Light=Réverbère de Mese en bois de pin
Aspen Wood Mese Post Light=Réverbère de Mese en bois de tremble
Cloud=Nuage
Wooden Pickaxe=Pioche en bois
Stone Pickaxe=Pioche en pierre
Bronze Pickaxe=Pioche en bronze
Steel Pickaxe=Pioche en acier
Mese Pickaxe=Pioche de Mese
Diamond Pickaxe=Pioche en diamant
Wooden Shovel=Pelle en bois
Stone Shovel=Pelle en pierre
Bronze Shovel=Pelle en bronze
Steel Shovel=Pelle en acier
Mese Shovel=Pelle en Mese
Diamond Shovel=Pelle en diamant
Wooden Axe=Hache en bois
Stone Axe=Hache en pierre
Bronze Axe=Hache en bronze
Steel Axe=Hache en acier
Mese Axe=Hache en Mese
Diamond Axe=Hache en diamant
Wooden Sword=Epée en bois
Stone Sword=Épée en pierre
Bronze Sword=Épée en bronze
Steel Sword=Épée en acier
Mese Sword=Épée en Mese
Diamond Sword=Épée en diamant
Torch=Torche
@1 will intersect protection on growth.=@1 chevauchera la zone protégée avec la croissance.

##### not used anymore #####

Dirt with Dry Grass=Terre avec de l'herbe sèche
Dry Dirt=Terre sèche
Dry Dirt with Dry Grass=Terre sèche avec de l'herbe sèche
Dry Grass=Herbe sèche
Mese Post Light=Réverbère de Mese


code:
# textdomain: default
Locked Chest=Peti Terkunci
Locked Chest (owned by @1)=Peti Terkunci (milik @1)
You do not own this chest.=Anda bukan pemilik peti ini.
a locked chest=peti terkunci
Chest=Peti
Write=
Read=
Title:=Judul:
Contents:=Isi:
Save=Simpan
by @1=oleh @1
Page @1 of @2=Halaman @1 dari @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" oleh @2
Blueberries=Blueberry
Book=Buku
Book with Text=Buku Tertulis
Bronze Ingot=Perunggu Batangan
Clay Brick=Bata
Clay Lump=Bongkahan Tanah Liat
Coal Lump=Bongkahan Batu Bara
Copper Ingot=Tembaga Batangan
Copper Lump=Bongkahan Tembaga
Diamond=Berlian
Flint=Batu Api
Gold Ingot=Emas Batangan
Gold Lump=Bongkahan Emas
Iron Lump=Bongkahan Besi
Mese Crystal=Kristal Mese
Mese Crystal Fragment=Pecahan Kristal Mese
Obsidian Shard=Pecahan Obsidian
Paper=Kertas
Steel Ingot=Baja Batangan
Stick=Tongkat
Tin Ingot=Timah Batangan
Tin Lump=Bongkahan Timah
Furnace is empty=Tungku kosong
100% (output full)=100% (keluaran penuh)
@1%=@1%
Not cookable=Tidak dapat dimasak
Empty=Kosong
Furnace active=Tungku nyala
Furnace inactive=Tungku mati
(Item: @1; Fuel: @2)=(Barang: @1; Bahan Bakar: @2)
Furnace=Tungku
Stone=Batu
Cobblestone=Bongkahan Batu
Stone Brick=Tembok Batu
Stone Block=Balok Batu
Mossy Cobblestone=Bongkahan Batu Berlumut
Desert Stone=Batu Gurun
Desert Cobblestone=Bongkahan Batu Gurun
Desert Stone Brick=Tembok Batu Gurun
Desert Stone Block=Balok Batu Gurun
Sandstone=Batu Pasir
Sandstone Brick=Tembok Batu Pasir
Sandstone Block=Balok Batu Pasir
Desert Sandstone=Batu Pasir Gurun
Desert Sandstone Brick=Tembok Batu Pasir Gurun
Desert Sandstone Block=Balok Batu Pasir Gurun
Silver Sandstone=Batu Pasir Perak
Silver Sandstone Brick=Tembok Batu Pasir Perak
Silver Sandstone Block=Balok Batu Pasir Perak
Obsidian=Obsidian
Obsidian Brick=Tembok Obsidian
Obsidian Block=Balok Obsidian
Dirt=Tanah
Dirt with Grass=Tanah Berumput
Dirt with Grass and Footsteps=Tanah Berumput dengan Jejak Kaki
Dirt with Savanna Grass=Tanah Berumput Sabana
Dirt with Snow=Tanah Bersalju
Dirt with Rainforest Litter=Tanah Berserasah Hutan Hujan
Dirt with Coniferous Litter=Tanah Berserasah Hutan Konifer
Savanna Dirt=Tanah Sabana
Savanna Dirt with Savanna Grass=Tanah Sabana Berumput Sabana
Permafrost=Ibun Abadi
Permafrost with Stones=Ibun Abadi Berbatu
Permafrost with Moss=Ibun Abadi Berlumut
Sand=Pasir
Desert Sand=Pasir Gurun
Silver Sand=Pasir Perak
Gravel=Kerikil
Clay=Tanah Liat
Snow=Salju
Snow Block=Balok Salju
Ice=Es
Cave Ice=Gua Es
Apple Tree=Pohon Apel
Apple Wood Planks=Papan Kayu Pohon Apel
Apple Tree Sapling=Anak Pohon Apel
Apple Tree Leaves=Daun Pohon Apel
Apple=Apel
Apple Marker=Penanda Apel
Jungle Tree=Pohon Hutan Rimba
Jungle Wood Planks=Papan Kayu Pohon Rimba
Jungle Tree Leaves=Daun Pohon Rimba
Jungle Tree Sapling=Anak Pohon Rimba
Emergent Jungle Tree Sapling=Anak Pohon Rimba Bertumbuh
Pine Tree=Pohon Pinus
Pine Wood Planks=Papan Kayu Pinus
Pine Needles=Daun Pinus
Pine Tree Sapling=Anak Pohon Pinus
Acacia Tree=Pohon Akasia
Acacia Wood Planks=Papan Kayu Akasia
Acacia Tree Leaves=Daun Akasia
Acacia Tree Sapling=Anak Pohon Akasia
Aspen Tree=Pohon Aspen
Aspen Wood Planks=Papan Kayu Aspen
Aspen Tree Leaves=Daun Aspen
Aspen Tree Sapling=Anak Pohon Aspen
Coal Ore=Bijih Batu Bara
Coal Block=Balok Batu Bara
Iron Ore=Bijih Besi
Steel Block=Balok Baja
Copper Ore=Bijih Tembaga
Copper Block=Balok Tembaga
Tin Ore=Bijih Timah
Tin Block=Balok Timah
Bronze Block=Balok Perunggu
Mese Ore=Bijih Mese
Mese Block=Balok Mese
Gold Ore=Bijih Emas
Gold Block=Balok Emas
Diamond Ore=Bijih Berlian
Diamond Block=Balok Berlian
Cactus=Kaktus
Large Cactus Seedling=Bibit Kaktus Besar
Papyrus=Papirus
Dry Shrub=Semak Kering
Jungle Grass=Rumput Rimba
Grass=Rumput
Savanna Grass=Rumput Sabana
Fern=Pakis
Marram Grass=Rumput Maram
Bush Stem=Batang Semak
Bush Leaves=Daun Semak
Bush Sapling=Anak Semak
Blueberry Bush Leaves with Berries=Daun Semak Blueberry Berbuah
Blueberry Bush Leaves=Daun Semak Blueberry
Blueberry Bush Sapling=Anak Semak Blueberry
Acacia Bush Stem=Batang Semak Akasia
Acacia Bush Leaves=Daun Semak Akasia
Acacia Bush Sapling=Bibit Semak Akasia
Pine Bush Stem=Batang Semak Pinus
Pine Bush Needles=Daun Semak Pinus
Pine Bush Sapling=Bibit Semak Pinus
Kelp=Kelp
Green Coral=Koral Hijau
Pink Coral=Koral Jambon
Cyan Coral=Koral Sian
Brown Coral=Koral Cokelat
Orange Coral=Koral Oranye
Coral Skeleton=Kerangka Koral
Water Source=Mata Air
Flowing Water=Aliran Air
River Water Source=Mata Air Sungai
Flowing River Water=Aliran Air Sungai
Lava Source=Sumber Lava
Flowing Lava=Aliran Lava
Empty Bookshelf=Rak Buku Kosong
Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku tertulis, @2 buku kosong)
Bookshelf=Rak Buku
Text too long=Teks terlalu panjang
"@1"="@1"
Wooden Sign=Penanda Kayu
Steel Sign=Penanda Baja
Wooden Ladder=Tangga Kayu
Steel Ladder=Tangga Baja
Apple Wood Fence=Pagar Kayu Apel
Acacia Wood Fence=Pagar Akasia
Jungle Wood Fence=Pagar Kayu Rimba
Pine Wood Fence=Pagar Pinus
Aspen Wood Fence=Pagar Aspen
Apple Wood Fence Rail=Rel Pagar Kayu Apel
Acacia Wood Fence Rail=Rel Pagar Akasia
Jungle Wood Fence Rail=Rel Pagar Kayu Rimba
Pine Wood Fence Rail=Rel Pagar Pinus
Aspen Wood Fence Rail=Rel Pagar Aspen
Glass=Kaca
Obsidian Glass=Kaca Obsidian
Brick Block=Balok Bata
Mese Lamp=Lampu Mese
Apple Wood Mese Post Light=
Acacia Wood Mese Post Light=
Jungle Wood Mese Post Light=
Pine Wood Mese Post Light=
Aspen Wood Mese Post Light=
Cloud=Awan
Wooden Pickaxe=Gancu Kayu
Stone Pickaxe=Gancu Batu
Bronze Pickaxe=Gancu Perunggu
Steel Pickaxe=Gancu Baja
Mese Pickaxe=Gancu Mese
Diamond Pickaxe=Gancu Berlian
Wooden Shovel=Sekop Kayu
Stone Shovel=Sekop Batu
Bronze Shovel=Sekop Perunggu
Steel Shovel=Sekop Baja
Mese Shovel=Sekop Mese
Diamond Shovel=Sekop Berlian
Wooden Axe=Kapak Kayu
Stone Axe=Kapak Batu
Bronze Axe=Kapak Perunggu
Steel Axe=Kapak Baja
Mese Axe=Kapak Mese
Diamond Axe=Kapak Berlian
Wooden Sword=Pedang Kayu
Stone Sword=Pedang Batu
Bronze Sword=Pedang Perunggu
Steel Sword=Pedang Baja
Mese Sword=Pedang Mese
Diamond Sword=Pedang Berlian
Torch=Obor
@1 will intersect protection on growth.=@1 akan memotong perlindungan ketika tumbuh.

##### not used anymore #####

Mese Post Light=Lampu Taman Mese


code:
# textdomain: default
Locked Chest=Baule chiuso a chiave
Locked Chest (owned by @1)=Baule chiuso a chiave (di proprietà di @1)
You do not own this chest.=Questo baule non ti appartiene.
a locked chest=un baule chiuso a chiave
Chest=Baule
Write=
Read=
Title:=
Contents:=
Save=
by @1=
Page @1 of @2=
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" di @2
Blueberries=Mirtilli
Book=Libro
Book with Text=Libro con testo
Bronze Ingot=Lingotto di bronzo
Clay Brick=Mattone d'argilla
Clay Lump=Grumo d'argilla
Coal Lump=Grumo di carbone
Copper Ingot=Lingotto di rame
Copper Lump=Grumo di rame
Diamond=Diamante
Flint=Selce
Gold Ingot=Lingotto d'oro
Gold Lump=Grumo d'oro
Iron Lump=Grumo di ferro
Mese Crystal=Cristallo di mese
Mese Crystal Fragment=Frammento di cristallo di mese
Obsidian Shard=Scheggia d'ossidiana
Paper=Carta
Steel Ingot=Lingotto d'acciaio
Stick=Bastone
Tin Ingot=Lingotto di stagno
Tin Lump=Grumo di stagno
Furnace is empty=La fornace è vuota
100% (output full)=100% (uscita piena)
@1%=@1%
Not cookable=Non cucinabile
Empty=Vuota
Furnace active=Fornace attiva
Furnace inactive=Fornace inattiva
(Item: @1; Fuel: @2)=(Oggetto: @1; Combustibile: @2)
Furnace=Fornace
Stone=Pietra
Cobblestone=Ciottoli
Stone Brick=Mattone di pietra
Stone Block=Blocco di pietra
Mossy Cobblestone=Ciottoli muschiosi
Desert Stone=Pietra del deserto
Desert Cobblestone=Ciottoli del deserto
Desert Stone Brick=Mattone di pietra del deserto
Desert Stone Block=Blocco di pietra del deserto
Sandstone=Arenaria
Sandstone Brick=Mattone d'arenaria
Sandstone Block=Blocco d'arenaria
Desert Sandstone=Arenaria del deserto
Desert Sandstone Brick=Mattone d'arenaria del deserto
Desert Sandstone Block=Blocco d'arenaria del deserto
Silver Sandstone=Arenaria argentata
Silver Sandstone Brick=Mattone d'arenaria argentata
Silver Sandstone Block=Blocco d'arenaria argentata
Obsidian=Ossidiana
Obsidian Brick=Mattone d'ossidiana
Obsidian Block=Blocco d'ossidiana
Dirt=Terra
Dirt with Grass=Terra con erba
Dirt with Grass and Footsteps=Terra con erba e impronte
Dirt with Savanna Grass=
Dirt with Snow=Terra con neve
Dirt with Rainforest Litter=Terra con detriti della foresta pluviale
Dirt with Coniferous Litter=Terra con detriti di conifera
Savanna Dirt=
Savanna Dirt with Savanna Grass=
Permafrost=Permafrost
Permafrost with Stones=Permafrost con pietra
Permafrost with Moss=Permafrost con muschio
Sand=Sabbia
Desert Sand=Sabbia del deserto
Silver Sand=Sabbia argentata
Gravel=Ghiaia
Clay=Argilla
Snow=Neve
Snow Block=Blocco di neve
Ice=Ghiaccio
Cave Ice=Ghiaccio di caverna
Apple Tree=Melo
Apple Wood Planks=Assi di melo
Apple Tree Sapling=Alberello di melo
Apple Tree Leaves=Foglie di melo
Apple=Mela
Apple Marker=Marcatore mela
Jungle Tree=Albero della giungla
Jungle Wood Planks=Assi di legno della giungla
Jungle Tree Leaves=Foglie di albero della giungla
Jungle Tree Sapling=Alberello della giungla
Emergent Jungle Tree Sapling=Alberello della giungla emergente
Pine Tree=Pino
Pine Wood Planks=Assi di legno di pino
Pine Needles=Aghi di pino
Pine Tree Sapling=Alberello di pino
Acacia Tree=Acacia
Acacia Wood Planks=Assi di legno d'acacia
Acacia Tree Leaves=Foglie d'acacia
Acacia Tree Sapling=Alberello d'acacia
Aspen Tree=Pioppo
Aspen Wood Planks=Assi di legno di pioppo
Aspen Tree Leaves=Foglie di pioppo
Aspen Tree Sapling=Alberello di pioppo
Coal Ore=Minerale di carbone
Coal Block=Blocco di carbone
Iron Ore=Minerale di ferro
Steel Block=Blocco d'acciaio
Copper Ore=Minerale di rame
Copper Block=Blocco di rame
Tin Ore=Minerale di stagno
Tin Block=Blocco di stagno
Bronze Block=Blocco di bronzo
Mese Ore=Minerale di mese
Mese Block=Blocco di mese
Gold Ore=Minerale d'oro
Gold Block=Blocco d'oro
Diamond Ore=Minerale di diamante
Diamond Block=Blocco di diamante
Cactus=Cactus
Large Cactus Seedling=Piantina di cactus grande
Papyrus=Papiro
Dry Shrub=Arbusto secco
Jungle Grass=Erba della giungla
Grass=Erba
Savanna Grass=
Fern=Felce
Marram Grass=Ammofila arenaria
Bush Stem=Fusto di cespuglio
Bush Leaves=Foglie di cespuglio
Bush Sapling=Alberello di cespuglio
Blueberry Bush Leaves with Berries=Foglie di cespuglio di mirtilli con bacche
Blueberry Bush Leaves=Foglie di cespuglio di mirtilli
Blueberry Bush Sapling=Alberello di cespuglio di mirtilli
Acacia Bush Stem=Fusto di cespuglio d'acacia
Acacia Bush Leaves=Foglie di cespuglio d'acacia
Acacia Bush Sapling=Alberello di cespuglio d'acacia
Pine Bush Stem=Fusto di cespuglio di pino
Pine Bush Needles=Aghi di cespuglio di pino
Pine Bush Sapling=Alberello di cespuglio di pino
Kelp=Alga
Green Coral=Corallo verde
Pink Coral=Corallo rosa
Cyan Coral=Corallo ciano
Brown Coral=Corallo marrone
Orange Coral=Corallo arancione
Coral Skeleton=Scheletro di corallo
Water Source=Fonte d'acqua
Flowing Water=Acqua corrente
River Water Source=Fonte d'acqua di fiume
Flowing River Water=Acqua corrente di fiume
Lava Source=Fonte di lava
Flowing Lava=Lava corrente
Empty Bookshelf=Libreria vuota
Bookshelf (@1 written, @2 empty books)=Libreria (@1 scritti, @2 vuoti)
Bookshelf=Libreria
Text too long=Testo troppo lungo
"@1"=
Wooden Sign=Cartello di legno
Steel Sign=Cartello d'acciaio
Wooden Ladder=Scala a pioli di legno
Steel Ladder=Scala a pioli d'acciaio
Apple Wood Fence=Recinzione di legno di melo
Acacia Wood Fence=Recinzione di legno d'acacia
Jungle Wood Fence=Recinzione di legno della giungla
Pine Wood Fence=Recinzione di legno di pino
Aspen Wood Fence=Recinzione di legno di pioppo
Apple Wood Fence Rail=Ringhiera della recinzione di legno di melo
Acacia Wood Fence Rail=Ringhiera della recinzione di legno d'acacia
Jungle Wood Fence Rail=Ringhiera della recinzione di legno della giungla
Pine Wood Fence Rail=Ringhiera della recinzione di legno di pino
Aspen Wood Fence Rail=Ringhiera della recinzione di legno di pioppo
Glass=Vetro
Obsidian Glass=Vetro d'ossidiana
Brick Block=Blocco di mattone
Mese Lamp=Lampada di mese
Apple Wood Mese Post Light=
Acacia Wood Mese Post Light=
Jungle Wood Mese Post Light=
Pine Wood Mese Post Light=
Aspen Wood Mese Post Light=
Cloud=Nuvola
Wooden Pickaxe=Piccone di legno
Stone Pickaxe=Piccone di pietra
Bronze Pickaxe=Piccone di bronzo
Steel Pickaxe=Piccone d'acciaio
Mese Pickaxe=Piccone di mese
Diamond Pickaxe=Piccone di diamante
Wooden Shovel=Pala di legno
Stone Shovel=Pala di pietra
Bronze Shovel=Pala di bronzo
Steel Shovel=Pala d'acciaio
Mese Shovel=Pala di mese
Diamond Shovel=Pala di diamante
Wooden Axe=Ascia di legno
Stone Axe=Ascia di pietra
Bronze Axe=Ascia di bronzo
Steel Axe=Ascia d'acciaio
Mese Axe=Ascia di mese
Diamond Axe=Ascia di diamante
Wooden Sword=Spada di legno
Stone Sword=Spada di pietra
Bronze Sword=Spada di bronzo
Steel Sword=Spada d'acciaio
Mese Sword=Spada di mese
Diamond Sword=Spada di diamante
Torch=Torcia
@1 will intersect protection on growth.=@1 crescendo attraverserà la protezione.

##### not used anymore #####

Dirt with Dry Grass=Terra con erba secca
Dry Dirt=Terra asciutta
Dry Dirt with Dry Grass=Terra asciutta con erba secca
Dry Grass=Erba secca
Mese Post Light=Lampioncino di mese


code:
# textdomain: default
Locked Chest=鍵のかかったチェスト
Locked Chest (owned by @1)=鍵のかかったチェスト(@1所有)
You do not own this chest.=あなたはこのチェストの所有者ではありません。
a locked chest=ロックされたチェスト
Chest=チェスト
Write=
Read=
Title:=題名
Contents:=内容
Save=保存
by @1=@1著
Page @1 of @2=@1 / @2 ページ
The book you were writing to mysteriously disappeared.=
"@1" by @2=@2著「@1」
Blueberries=ブルーベリー
Book=本
Book with Text=テキストが書かれた本
Bronze Ingot=青銅インゴット
Clay Brick=粘土レンガ
Clay Lump=粘土の塊
Coal Lump=石炭
Copper Ingot=銅インゴット
Copper Lump=銅の塊
Diamond=ダイヤモンド
Flint=火打ち石
Gold Ingot=金インゴット
Gold Lump=金の塊
Iron Lump=鉄の塊
Mese Crystal=メセクリスタル
Mese Crystal Fragment=メセクリスタルの破片
Obsidian Shard=黒曜石の破片
Paper=紙
Steel Ingot=鉄インゴット
Stick=棒
Tin Ingot=スズインゴット
Tin Lump=スズの塊
Furnace is empty=かまどは空です
100% (output full)=100%(フル出力)
@1%=@1%
Not cookable=調理できません
Empty=空
Furnace active=かまどは燃えてます
Furnace inactive=かまどは消えています
(Item: @1; Fuel: @2)=(アイテム: @1; 燃料: @2)
Furnace=かまど
Stone=石
Cobblestone=丸石
Stone Brick=石レンガ
Stone Block=石ブロック
Mossy Cobblestone=苔むした丸石
Desert Stone=砂漠の石
Desert Cobblestone=砂漠の丸石
Desert Stone Brick=砂漠の石レンガ
Desert Stone Block=砂漠の石ブロック
Sandstone=砂岩
Sandstone Brick=砂岩レンガ
Sandstone Block=砂岩ブロック
Desert Sandstone=砂漠の砂岩
Desert Sandstone Brick=砂漠の砂岩レンガ
Desert Sandstone Block=砂漠の砂岩ブロック
Silver Sandstone=銀の砂岩
Silver Sandstone Brick=銀の砂岩レンガ
Silver Sandstone Block=銀の砂岩ブロック
Obsidian=黒曜石
Obsidian Brick=黒曜石レンガ
Obsidian Block=黒曜石ブロック
Dirt=土
Dirt with Grass=草のついた土
Dirt with Grass and Footsteps=足あとと草のついた土
Dirt with Savanna Grass=サバンナの草のついた土
Dirt with Snow=雪のついた土
Dirt with Rainforest Litter=熱帯雨林のよごれた土
Dirt with Coniferous Litter=針葉樹のよごれた土
Savanna Dirt=サバンナの土
Savanna Dirt with Savanna Grass=サバンナの草のついたサバンナの土
Permafrost=永久凍土
Permafrost with Stones=石のついた永久凍土
Permafrost with Moss=苔のついた永久凍土
Sand=砂
Desert Sand=砂漠の砂
Silver Sand=銀の砂
Gravel=砂利
Clay=粘土
Snow=雪
Snow Block=雪ブロック
Ice=氷
Cave Ice=洞窟の氷
Apple Tree=リンゴの木
Apple Wood Planks=リンゴの板材
Apple Tree Sapling=リンゴの苗木
Apple Tree Leaves=リンゴの葉
Apple=リンゴ
Apple Marker=リンゴのマーカー
Jungle Tree=ジャングルの木
Jungle Wood Planks=ジャングルの板材
Jungle Tree Leaves=ジャングルの木の葉
Jungle Tree Sapling=ジャングルの木の苗木
Emergent Jungle Tree Sapling=新芽のジャングルの木の苗木
Pine Tree=マツの木
Pine Wood Planks=マツの板材
Pine Needles=マツの葉
Pine Tree Sapling=マツの苗木
Acacia Tree=アカシアの木
Acacia Wood Planks=アカシアの板材
Acacia Tree Leaves=アカシアの葉
Acacia Tree Sapling=アカシアの苗木
Aspen Tree=ポプラの木
Aspen Wood Planks=ポプラの板材
Aspen Tree Leaves=ポプラの葉
Aspen Tree Sapling=ポプラの苗木
Coal Ore=石炭鉱石
Coal Block=石炭ブロック
Iron Ore=鉄の鉱石
Steel Block=鉄ブロック
Copper Ore=銅の鉱石
Copper Block=銅ブロック
Tin Ore=スズの鉱石
Tin Block=スズブロック
Bronze Block=青銅ブロック
Mese Ore=メセ鉱石
Mese Block=メセブロック
Gold Ore=金の鉱石
Gold Block=金ブロック
Diamond Ore=ダイヤモンドの鉱石
Diamond Block=ダイヤモンドブロック
Cactus=サボテン
Large Cactus Seedling=大きなサボテンの苗
Papyrus=パピルス
Dry Shrub=枯れた低木
Jungle Grass=ジャングルの草
Grass=草
Savanna Grass=サバンナの草
Fern=シダ
Marram Grass=マラムの草
Bush Stem=低木の幹
Bush Leaves=低木の葉
Bush Sapling=低木の苗木
Blueberry Bush Leaves with Berries=ブルーベリーの低木と実
Blueberry Bush Leaves=ブルーベリーの低木の葉
Blueberry Bush Sapling=ブルーベリーの低木の苗木
Acacia Bush Stem=アカシアの低木の幹
Acacia Bush Leaves=アカシアの低木の葉
Acacia Bush Sapling=アカシアの低木の苗木
Pine Bush Stem=マツの低木の幹
Pine Bush Needles=マツの低木の葉
Pine Bush Sapling=マツの低木の苗木
Kelp=コンブ
Green Coral=緑色のサンゴ
Pink Coral=桃色のサンゴ
Cyan Coral=青緑色のサンゴ
Brown Coral=茶色のサンゴ
Orange Coral=橙色のサンゴ
Coral Skeleton=サンゴのしがい
Water Source=水源
Flowing Water=水流
River Water Source=川の水源
Flowing River Water=川の水流
Lava Source=溶岩
Flowing Lava=流れる溶岩
Empty Bookshelf=空の本棚
Bookshelf (@1 written, @2 empty books)=本棚(記述済み @1 冊, 未記述 @2 冊)
Bookshelf=本棚
Text too long=テキストが長すぎます
"@1"=「@1」
Wooden Sign=木の看板
Steel Sign=鉄の看板
Wooden Ladder=木のはしご
Steel Ladder=鉄のはしご
Apple Wood Fence=リンゴのフェンス
Acacia Wood Fence=アカシアのフェンス
Jungle Wood Fence=ジャングルのフェンス
Pine Wood Fence=マツのフェンス
Aspen Wood Fence=ポプラのフェンス
Apple Wood Fence Rail=リンゴのフェンスレール
Acacia Wood Fence Rail=アカシアのフェンスレール
Jungle Wood Fence Rail=ジャングルのフェンスレール
Pine Wood Fence Rail=マツのフェンスレール
Aspen Wood Fence Rail=ポプラのフェンスレール
Glass=ガラス
Obsidian Glass=黒曜石のガラス
Brick Block=レンガブロック
Mese Lamp=メセの塊
Apple Wood Mese Post Light=リンゴのメセ灯柱
Acacia Wood Mese Post Light=アカシアのメセ灯柱
Jungle Wood Mese Post Light=ジャングルのメセ灯柱
Pine Wood Mese Post Light=マツのメセ灯柱
Aspen Wood Mese Post Light=ポプラのメセ灯柱
Cloud=雲
Wooden Pickaxe=木のつるはし
Stone Pickaxe=石のつるはし
Bronze Pickaxe=青銅のつるはし
Steel Pickaxe=鉄のつるはし
Mese Pickaxe=メセのつるはし
Diamond Pickaxe=ダイヤモンドのつるはし
Wooden Shovel=木のシャベル
Stone Shovel=石のシャベル
Bronze Shovel=青銅のシャベル
Steel Shovel=鉄のシャベル
Mese Shovel=メセのシャベル
Diamond Shovel=ダイヤモンドのシャベル
Wooden Axe=木の斧
Stone Axe=石の斧
Bronze Axe=青銅の斧
Steel Axe=鉄の斧
Mese Axe=メセの斧
Diamond Axe=ダイヤモンドの斧
Wooden Sword=木の剣
Stone Sword=石の剣
Bronze Sword=青銅の剣
Steel Sword=鉄の剣
Mese Sword=メセの剣
Diamond Sword=ダイヤモンドの剣
Torch=松明
@1 will intersect protection on growth.=@1は成長するとき保護と交差します。


code:
# textdomain: default
Locked Chest=lo selstela gairvau
Locked Chest (owned by @1)=.i ti selstela gairvau po la'o zo'i.@1.zo'i
You do not own this chest.=.i do na ponse lo ti gairvau
a locked chest=lo selstela gairvau
Chest=lo gairvau
Write=ciska
Read=tcidu
Title:=cmene
Contents:=se cukta
Save=rejgau
by @1=la'o zo'i.@1.zo'i te cukta
Page @1 of @2=meirmoi fe li @1 li @2
The book you were writing to mysteriously disappeared.=lo cukta poi do ciska ke'a cu cizra canci
"@1" by @2=lo cukta be la'o gy.@1.gy. bei la'o zo'i.@2.zo'i
Blueberries=lo blajba
Book=lo cukta
Book with Text=lo cukta joi selci'a
Bronze Ingot=lo ransu manfybli
Clay Brick=lo kitybli
Clay Lump=lo kliti bakfu
Coal Lump=lo kolme bakfu
Copper Ingot=lo tunka manfybli
Copper Lump=lo tunka bakfu
Diamond=lo tabjme
Flint=lo fagyro'i
Gold Ingot=lo solji manfybli
Gold Lump=lo solji bakfu
Iron Lump=lo tirse bakfu
Mese Crystal=lo za'e krilrmese
Mese Crystal Fragment=lo za'e krilrmese spisa
Obsidian Shard=lo je'erma'ablaci spisa
Paper=lo pelji
Steel Ingot=lo gasta manfybli
Stick=lo grana
Tin Ingot=lo tinci manfybli
Tin Lump=lo tinci bakfu
Furnace is empty=.i lo toknu cu kunti
100% (output full)=100 ce'i to lo se zbasu cu culno toi
@1%=@1 ce'i
Not cookable=na kakne le ka se jukpa
Empty=ti kunti
Furnace active=.i lo toknu cu tolcando
Furnace inactive=.i lo toknu cu cando
(Item: @1; Fuel: @2)=to jukpa @1 @2
Furnace=lo toknu
Stone=lo rokci
Cobblestone=lo lolro'iboi
Stone Brick=lo morna rokci
Stone Block=lo rokci bliku
Mossy Cobblestone=lo clika lolro'iboi
Desert Stone=lo cantu'a rokci
Desert Cobblestone=lo cantu'a lolro'iboi
Desert Stone Brick=lo morna ke cantu'a rokci
Desert Stone Block=lo cantu'a rokci bliku
Sandstone=lo canro'i
Sandstone Brick=lo morna canro'i
Sandstone Block=lo canro'i bliku
Desert Sandstone=lo cantu'a canro'i
Desert Sandstone Brick=lo morna ke cantu'a canro'i
Desert Sandstone Block=lo cantu'a canro'i bliku
Silver Sandstone=lo rijyska canro'i
Silver Sandstone Brick=lo morna ke rijyska canro'i
Silver Sandstone Block=lo rijyska canro'i bliku
Obsidian=lo je'erma'ablaci
Obsidian Brick=lo morna je'erma'ablaci
Obsidian Block=lo je'erma'ablaci bliku
Dirt=lo dertu
Dirt with Grass=lo dertu joi srasu
Dirt with Grass and Footsteps=lo dertu joi srasu jebo stapa bo prina
Dirt with Savanna Grass=lo dertu joi sudytu'a bo srasu
Dirt with Snow=lo dertu joi snime
Dirt with Rainforest Litter=lo dertu joi glatimdemricfoi bo festi
Dirt with Coniferous Litter=lo dertu joi ckunu bo festi
Savanna Dirt=lo sudytu'a dertu
Savanna Dirt with Savanna Grass=lo sudysu'a bo dertu joi sudytu'a bo srasu
Permafrost=lo vi'orbisloi
Permafrost with Stones=lo vi'orbisloi joi rokci
Permafrost with Moss=lo vi'orbisloi joi clika
Sand=lo canre
Desert Sand=lo cantu'a canre
Silver Sand=lo rijyska canre
Gravel=lo cmaro'i
Clay=lo kliti
Snow=lo snime
Snow Block=lo snime bliku
Ice=lo bisli
Cave Ice=lo kevzda bisli
Apple Tree=lo plisytricu ricystani
Apple Wood Planks=lo plisymudri tanbo
Apple Tree Sapling=lo plisytricu ciftricu
Apple Tree Leaves=lo plisytricu pezli
Apple=lo plise
Apple Marker=lo plise barna
Jungle Tree=lo glatimdemricfoi ricystani
Jungle Wood Planks=lo glatimdemricfoi mudri tanbo
Jungle Tree Leaves=lo glatimdemricfoi pezli
Jungle Tree Sapling=lo glatimdemricfoi ciftricu
Emergent Jungle Tree Sapling=lo barda ke glatimdemricfoi ciftricu
Pine Tree=lo ckunu ricystani
Pine Wood Planks=lo ku'urmudri tanbo
Pine Needles=lo ckunu jezpezli
Pine Tree Sapling=lo ckunu ciftricu
Acacia Tree=lo atkaci,ia ricystani
Acacia Wood Planks=lo atkaci,ia mudri tanbo
Acacia Tree Leaves=lo atkaci,ia pezli
Acacia Tree Sapling=lo atkaci,ia ciftricu
Aspen Tree=lo ricrpopulu ricystani
Aspen Wood Planks=lo mudrpopulu tanbo
Aspen Tree Leaves=lo ricrpopulu pezli
Aspen Tree Sapling=lo ricrpopulu ciftricu
Coal Ore=lo kolme kunra
Coal Block=lo kolme bliku
Iron Ore=lo tirse kunra
Steel Block=lo gasta bliku
Copper Ore=lo tunka kunra
Copper Block=lo tunka bliku
Tin Ore=lo tinci kunra
Tin Block=lo tinci bliku
Bronze Block=lo ransu bliku
Mese Ore=lo za'e kunrmese
Mese Block=lo za'e blikrmese
Gold Ore=lo solji kunra
Gold Block=lo solji bliku
Diamond Ore=lo tabjme kunra
Diamond Block=lo tabjme bliku
Cactus=lo jesyspa
Large Cactus Seedling=lo barda ke jesyspa tsiju
Papyrus=lo misryplespa
Dry Shrub=lo sudga dzitricu
Jungle Grass=lo glatimdemricfoi srasu
Grass=lo srasu
Savanna Grass=lo sudytu'a srasu
Fern=lo filcina
Marram Grass=lo xaskoi srasu
Bush Stem=lo dzitricu stani
Bush Leaves=lo dzitricu pezli
Bush Sapling=lo dzitricu ciftricu
Blueberry Bush Leaves with Berries=lo ke blajba dzitricu pezli ke'e joi jbari
Blueberry Bush Leaves=lo blajba dzitricu pezli
Blueberry Bush Sapling=lo blajba dzitrcu ciftricu
Acacia Bush Stem=lo atkaci,ia dzitricu stani
Acacia Bush Leaves=lo atkaci,ia dzitricu pezli
Acacia Bush Sapling=lo atkaci,ia dzitricu ciftricu
Pine Bush Stem=lo ckunu dzitricu stani
Pine Bush Needles=lo ckunu dzitricu jezpezli
Pine Bush Sapling=lo ckunu dzitricu ciftricu
Kelp=lo vraike
Green Coral=lo crino pevypanje
Pink Coral=lo xunblabi pevypanje
Cyan Coral=lo cicna pevypanje
Brown Coral=lo bunre pevypanje
Orange Coral=lo narju pevypanje
Coral Skeleton=lo pevypanje greku
Water Source=lo djacu velflecu
Flowing Water=lo flecu djacu
River Water Source=lo rirxe djacu velflecu
Flowing River Water=lo flecu ke rirxe djacu
Lava Source=lo likro'i velflecu
Flowing Lava=lo flecu likro'i
Empty Bookshelf=.i ti kunti ckukajna
Bookshelf (@1 written, @2 empty books)=.i ti ckukajna to @1 cukta joi selci'a .ije @2 kunti cukta toi
Bookshelf=lo ckukajna
Text too long=.i lo lerpoi cu dukse lo ka clani
"@1"=zoi sy.@1.sy.
Wooden Sign=lo mudri sinxa
Steel Sign=lo gasta sinxa
Wooden Ladder=lo mudri rajyserti
Steel Ladder=lo gasta rajyserti
Apple Wood Fence=lo plisymudri garbi'u
Acacia Wood Fence=lo atkaci,ia mudri garbi'u
Jungle Wood Fence=lo glatimdemricfoi mudri garbi'u
Pine Wood Fence=lo ku'urmudri garbi'u
Aspen Wood Fence=lo mudrpopulu garbi'u
Apple Wood Fence Rail=lo plisymudri garbi'u garna
Acacia Wood Fence Rail=lo atkaci,ia mudri garbi'u garna
Jungle Wood Fence Rail=lo glatimdemricfoi mudri garbi'u garna
Pine Wood Fence Rail=lo ku'urmudri garbi'u garna
Aspen Wood Fence Rail=lo mudrpopulu garbi'u garna
Glass=lo blaci
Obsidian Glass=lo je'erma'ablaci blaci
Brick Block=lo kitybli bliku
Mese Lamp=lo za'e gusrmese
Apple Wood Mese Post Light=lo plisymudri ke kamju za'e gusrmese
Acacia Wood Mese Post Light=lo atkaci,ia mudri ke kamju za'e gusrmese
Jungle Wood Mese Post Light=lo glatimdemricfoi mudri ke kamju za'e gusrmese
Pine Wood Mese Post Light=lo ku'urmudri ke kamju za'e gusrmese
Aspen Wood Mese Post Light=lo mudrpopulu ke kamju za'e gusrmese
Cloud=lo dilnu
Wooden Pickaxe=lo mudri velkakpymru
Stone Pickaxe=lo rokci velkakpymru
Bronze Pickaxe=lo ransu velkakpymru
Steel Pickaxe=lo gasta velkakpymru
Mese Pickaxe=lo za'e kunrmese velkakpymru
Diamond Pickaxe=lo tabjme velkakpymru
Wooden Shovel=lo mudri canpa
Stone Shovel=lo rokci canpa
Bronze Shovel=lo ransu canpa
Steel Shovel=lo gasta canpa
Mese Shovel=lo za'e kunrmese canpa
Diamond Shovel=lo tabjme canpa
Wooden Axe=lo mudri ka'amru
Stone Axe=lo rokci ka'amru
Bronze Axe=lo ransu ka'amru
Steel Axe=lo gasta ka'amru
Mese Axe=lo za'e kunrmese ka'amru
Diamond Axe=lo tabjme ka'amru
Wooden Sword=lo mudri cladakyxa'i
Stone Sword=lo rokci cladakyxa'i
Bronze Sword=lo ransu cladakyxa'i
Steel Sword=lo gasta cladakyxa'i
Mese Sword=lo za'e kunrmese cladakyxa'i
Diamond Sword=lo tabjme cladakyxa'i
Torch=lo fagytergu'i
@1 will intersect protection on growth.=.i @1 cu ba kruca lo bandu ca lo nu banro