1
0
mirror of https://github.com/minetest/minetest_game.git synced 2025-06-29 21:30:26 +02:00

Merge remote-tracking branch 'upstream/master' into experimental

This commit is contained in:
2022-08-25 19:44:23 +02:00
94 changed files with 1061 additions and 317 deletions

View File

@ -222,21 +222,7 @@ function default.chest.register_chest(prefixed_name, d)
end
end
def.on_metadata_inventory_move = function(pos, from_list, from_index,
to_list, to_index, count, player)
minetest.log("action", player:get_player_name() ..
" moves stuff in chest at " .. minetest.pos_to_string(pos))
end
def.on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" moves " .. stack:get_name() ..
" to chest at " .. minetest.pos_to_string(pos))
end
def.on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" takes " .. stack:get_name() ..
" from chest at " .. minetest.pos_to_string(pos))
end
default.set_inventory_action_loggers(def, "chest")
local def_opened = table.copy(def)
local def_closed = table.copy(def)

View File

@ -42,6 +42,12 @@ local function formspec_string(lpp, page, lines, string)
return string
end
local book_writers = {}
minetest.register_on_leaveplayer(function(player)
book_writers[player:get_player_name()] = nil
end)
local tab_number
local lpp = 14 -- Lines per book's page
local function book_on_use(itemstack, user)
@ -90,6 +96,8 @@ local function book_on_use(itemstack, user)
end
minetest.show_formspec(player_name, "default:book", formspec_size .. formspec)
-- Store the wield index in case the user accidentally switches before the formspec is shown
book_writers[player_name] = {wield_index = user:get_wield_index()}
return itemstack
end
@ -97,10 +105,23 @@ local max_text_size = 10000
local max_title_size = 80
local short_title_size = 35
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname ~= "default:book" then return end
if formname ~= "default:book" then
return
end
local player_name = player:get_player_name()
local inv = player:get_inventory()
local stack = player:get_wielded_item()
if not book_writers[player_name] then
return
end
local wield_index = book_writers[player_name].wield_index
local wield_list = player:get_wield_list()
local stack = inv:get_stack(wield_list, wield_index)
local written = stack:get_name() == "default:book_written"
if stack:get_name() ~= "default:book" and not written then
-- No book in the wield slot, abort & inform the player
minetest.chat_send_player(player_name, S("The book you were writing to mysteriously disappeared."))
return
end
local data = stack:get_meta():to_table().fields
local title = data.title or ""
@ -127,9 +148,13 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
return
end
if fields.close then
book_writers[player_name] = nil
end
if fields.save and fields.title and fields.text then
local new_stack
if stack:get_name() ~= "default:book_written" then
if not written then
local count = stack:get_count()
if count == 1 then
stack:set_name("default:book_written")
@ -193,7 +218,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end
-- Update stack
player:set_wielded_item(stack)
inv:set_stack(wield_list, wield_index, stack)
end)

View File

@ -715,6 +715,47 @@ function default.register_craft_metadata_copy(ingredient, result)
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.

View File

@ -3,6 +3,9 @@
-- support for MT game translation.
local S = default.get_translator
-- List of sound handles for active furnace
local furnace_fire_sounds = {}
--
-- Formspecs
--
@ -91,6 +94,17 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player
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
@ -253,8 +267,29 @@ local function furnace_node_timer(pos, elapsed)
-- Play sound every 5 seconds while the furnace is active
if timer_elapsed == 0 or (timer_elapsed + 1) % 5 == 0 then
minetest.sound_play("default_furnace_active",
{pos = pos, max_hear_distance = 16, gain = 0.25}, true)
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
@ -265,6 +300,8 @@ local function furnace_node_timer(pos, elapsed)
-- stop timer on the inactive furnace
minetest.get_node_timer(pos):stop()
meta:set_int("timer_elapsed", 0)
stop_furnace_sound(pos)
end
@ -369,6 +406,9 @@ minetest.register_node("default:furnace_active", {
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,

View File

@ -17,10 +17,7 @@ default.get_translator = S
-- 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 not minetest.is_creative_enabled or not minetest.has_feature({
direct_velocity_on_players = true,
use_texture_alpha_string_modes = true,
}) then
if ItemStack("").add_wear_by_uses == nil then
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")

View File

@ -11,6 +11,7 @@ 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

View File

@ -1,16 +1,17 @@
# 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 tiu keston.
You do not own this chest.=Vi ne posedas ĉi tiun keston.
a locked chest=ŝlosita kesto
Chest=Kesto
Write=
Read=
Title:=Titolo
Contents:=Entenaĵo
Save=Konservu
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
@ -35,9 +36,9 @@ Stick=Bastono
Tin Ingot=Stana Ingoto
Tin Lump=Stana Bulo
Furnace is empty=Forno estas malplena
100% (output full)=100% (eligo estas plena)
100% (output full)=100% (plena eligo)
@1%=@1%
Not cookable=Ne povas kuiri
Not cookable=Nekuirebla
Empty=Malplena
Furnace active=Forno laboras
Furnace inactive=Forno ne laboras
@ -46,31 +47,31 @@ Furnace=Forno
Stone=Ŝtono
Cobblestone=Pavimŝtono
Stone Brick=Ŝtona Briko
Stone Block=Ŝtona Ŝtipo
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 Ŝtipo
Desert Stone Block=Dezerta Ŝtona Bloko
Sandstone=Sablaŝtono
Sandstone Brick=Sablaŝtono Briko
Sandstone Block=Sablaŝtono Ŝtipo
Sandstone Block=Sablaŝtono Bloko
Desert Sandstone=Dezerta Sablaŝtono
Desert Sandstone Brick=Dezerta Sablaŝtono Briko
Desert Sandstone Block=Dezerta Sablaŝtono Ŝtipo
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 Ŝtipo
Silver Sandstone Block=Arĝenta Sablaŝtono Bloko
Obsidian=Obsidiano
Obsidian Brick=Obsidiana Briko
Obsidian Block=Obsidiana Ŝtipo
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 Konifera 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
@ -82,47 +83,47 @@ Silver Sand=Arĝenta Sablo
Gravel=Gruzo
Clay=Argilo
Snow=Neĝo
Snow Block=Neĝa Ŝtipo
Snow Block=Neĝa Bloko
Ice=Glacio
Cave Ice=Kaverna Glacio
Apple Tree=Poma Arbo
Apple Wood Planks=Poma Ligna Tabuloj
Apple Tree Sapling=Poma Arba Arbido
Apple Tree Leaves=Poma Arba Folioj
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=Ĝangala Ligna Tabuloj
Jungle Tree Leaves=Ĝangala Arba Folioj
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=Pina Arbo
Pine Wood Planks=Pina Ligna Tabuloj
Pine Tree=Pino
Pine Wood Planks=Pinaj Lignaj Tabuloj
Pine Needles=Pinpingloj
Pine Tree Sapling=Pina Arba Arbido
Acacia Tree=Akacia Arbo
Acacia Wood Planks=Akacia Ligna Tabuloj
Acacia Tree Leaves=Akacia Arba Folioj
Acacia Tree Sapling=Akacia Arba Arbido
Aspen Tree=Tremola Arba
Aspen Wood Planks=Tremola Ligna Tabuloj
Aspen Tree Leaves=Tremola Arbo Folioj
Aspen Tree Sapling=Tremola Arba Arbido
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 Ŝtipo
Coal Block=Karba Bloko
Iron Ore=Fera Minaĵo
Steel Block=Ŝtala Ŝtipo
Steel Block=Ŝtala Bloko
Copper Ore=Kupra Minaĵo
Copper Block=Kupra Ŝtipo
Copper Block=Kupra Bloko
Tin Ore=Stana Minaĵo
Tin Block=Stana Ŝtipo
Bronze Block=Bronza Ŝtipo
Tin Block=Stana Bloko
Bronze Block=Bronza Bloko
Mese Ore=Mesea Minaĵo
Mese Block=Mesea Ŝtipo
Mese Block=Mesea Bloko
Gold Ore=Ora Minaĵo
Gold Block=Ora Ŝtipo
Gold Block=Ora Bloko
Diamond Ore=Diamanta Minaĵo
Diamond Block=Diamanta Ŝtipo
Diamond Block=Diamanta Bloko
Cactus=Kakto
Large Cactus Seedling=Granda Kakta Kreskaĵo
Papyrus=Papiruso
@ -133,23 +134,23 @@ Savanna Grass=Savana Herbo
Fern=Filiko
Marram Grass=Amofilo
Bush Stem=Arbateĵa Tubo
Bush Leaves=Arbateĵa Folioj
Bush Leaves=Arbateĵaj Folioj
Bush Sapling=Arbateĵa Arbido
Blueberry Bush Leaves with Berries=Mirtela Arbateĵa Folioj kaj Beroj
Blueberry Bush Leaves=Mirtela Arbateĵa Folioj
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=Akacia Arbateĵa Folioj
Acacia Bush Leaves=Akaciaj Arbateĵaj Folioj
Acacia Bush Sapling=Akacia Arbateĵa Arbido
Pine Bush Stem=Pina Arbateĵa Tubo
Pine Bush Needles=Pina Arbateĵa Pingloj
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ĝa Koralo
Orange Coral=Oranĝkolora Koralo
Coral Skeleton=Korala Framo
Water Source=Akva Fonto
Flowing Water=Flua Akvo
@ -158,10 +159,9 @@ 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, @2 malplena libroj)
Bookshelf (@1 written, @2 empty books)=Librobreto (@1 skriba(j), @2 malplena(j) libro(j))
Bookshelf=Librobreto
Text too long=Teksto estas ekscesa longo
"@1"="@1"
Text too long=Tro longa teksto
Wooden Sign=Ligna Signo
Steel Sign=Ŝtala Signo
Wooden Ladder=Ligna Ŝtupetaro
@ -178,13 +178,13 @@ 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 Ŝtipo
Brick Block=Brika Bloko
Mese Lamp=Mesea Lampo
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=
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
@ -211,9 +211,10 @@ Steel Sword=Ŝtala Glavo
Mese Sword=Mesea Glavo
Diamond Sword=Diamanta Glavo
Torch=Torĉo
@1 will intersect protection on growth.=@1 sekcos protekto ĉe vegeto.
@1 will intersect protection on growth.=@1 sekcos protekton dum kresko.
##### not used anymore #####
Mese Post Light=Mesea Fosta Lampo

View File

@ -11,6 +11,7 @@ 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

View File

@ -11,6 +11,7 @@ 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

View File

@ -11,6 +11,7 @@ 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

View File

@ -11,6 +11,7 @@ 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

View File

@ -11,9 +11,8 @@ Contents:=内容
Save=保存
by @1=@1著
Page @1 of @2=@1 / @2 ページ
The book you were writing to mysteriously disappeared.=
"@1" by @2=@2著「@1」
Skeleton Key=スケルトンの鍵
Key to @1's @2=@1の@2への鍵
Blueberries=ブルーベリー
Book=本
Book with Text=テキストが書かれた本
@ -212,6 +211,5 @@ Bronze Sword=青銅の剣
Steel Sword=鉄の剣
Mese Sword=メセの剣
Diamond Sword=ダイヤモンドの剣
Key=鍵
Torch=松明
@1 will intersect protection on growth.=@1は成長するとき保護と交差します。

View File

@ -4,13 +4,14 @@ 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=
Read=
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 le'i papri
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
@ -58,7 +59,7 @@ 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 sanro'i
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
@ -73,9 +74,9 @@ 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=le bislunsa dertu
Permafrost with Stones=le bislunsa bo dertu joi rokci
Permafrost with Moss=le bislunsa bo dertu joi clika
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
@ -86,7 +87,7 @@ Snow Block=lo snime bliku
Ice=lo bisli
Cave Ice=lo kevzda bisli
Apple Tree=lo plisytricu ricystani
Apple Wood Planks=lo plise mudri tanbo
Apple Wood Planks=lo plisymudri tanbo
Apple Tree Sapling=lo plisytricu ciftricu
Apple Tree Leaves=lo plisytricu pezli
Apple=lo plise
@ -97,7 +98,7 @@ 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 ckunu mudri tanbo
Pine Wood Planks=lo ku'urmudri tanbo
Pine Needles=lo ckunu jezpezli
Pine Tree Sapling=lo ckunu ciftricu
Acacia Tree=lo atkaci,ia ricystani
@ -166,25 +167,25 @@ Wooden Sign=lo mudri sinxa
Steel Sign=lo gasta sinxa
Wooden Ladder=lo mudri rajyserti
Steel Ladder=lo gasta rajyserti
Apple Wood Fence=lo plise mudri garbi'u
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 ckunu mudri garbi'u
Pine Wood Fence=lo ku'urmudri garbi'u
Aspen Wood Fence=lo mudrpopulu garbi'u
Apple Wood Fence Rail=lo plise mudri garbi'u garna
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 ckunu 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 kunrmese tergu'i
Apple Wood Mese Post Light=lo plise mudri za'e kunrmese ke kamju tergu'i
Acacia Wood Mese Post Light=lo atkaci,ia mudri za'e kunrmese ke kamju tergu'i
Jungle Wood Mese Post Light=lo glatimdemricfoi mudri za'e kunrmese ke kamju tergu'i
Pine Wood Mese Post Light=lo ckunu mudri za'e kunrmese ke kamju tergu'i
Aspen Wood Mese Post Light=lo mudrpopulu za'e kunrmese ke kamju tergu'i
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

View File

@ -11,6 +11,7 @@ Contents:=Kandungan:
Save=Simpan
by @1=oleh @1
Page @1 of @2=Ms. @1 / @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" oleh @2
Blueberries=Beri Biru
Book=Buku

View File

@ -0,0 +1,215 @@
# textdomain: default
Locked Chest=Zablokowana skrzynia
Locked Chest (owned by @1)=Zablokowana skrzynia (właściciel: @1)
You do not own this chest.=Nie jesteś właścicielem tej skrzyni.
a locked chest=zablokowana skrzynia
Chest=Skrzynia
Write=Zapis
Read=Odczyt
Title:=Tytuł:
Contents:=Zawartość:
Save=Zapisz
by @1=autor: @1
Page @1 of @2=Strona @1 z @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" przez @2
Blueberries=Jagody
Book=Książka
Book with Text=Zapisana książka
Bronze Ingot=Sztabka brązu
Clay Brick=Gliniana cegła
Clay Lump=Glina
Coal Lump=Węgiel
Copper Ingot=Sztabka miedzi
Copper Lump=Bryłka miedzi
Diamond=Diament
Flint=Krzemień
Gold Ingot=Sztabka złota
Gold Lump=Bryłka złota
Iron Lump=Bryłka żelaza
Mese Crystal=Kryształ Mese
Mese Crystal Fragment=Fragment kryształu Mese
Obsidian Shard=Odłamek obsydianu
Paper=Papier
Steel Ingot=Sztabka stali
Stick=Patyk
Tin Ingot=Sztabka cyny
Tin Lump=Bryłka cyny
Furnace is empty=Piec jest pusty
100% (output full)=100% (zapełnione)
@1%=@1%
Not cookable=Nie nadaje się do przepalania
Empty=Puste
Furnace active=Piec aktywny
Furnace inactive=Piec nieaktywny
(Item: @1; Fuel: @2)=(Przedmiot: @1; Paliwo: @2)
Furnace=Piec
Stone=Kamień
Cobblestone=Bruk
Stone Brick=Kamienne cegły
Stone Block=Blok kamienia
Mossy Cobblestone=Bruk z mchem
Desert Stone=Pustynny kamień
Desert Cobblestone=Pustynny bruk
Desert Stone Brick=Pustynne kamienne cegły
Desert Stone Block=Blok pustynnego kamienia
Sandstone=Piaskowiec
Sandstone Brick=Cegły z piaskowca
Sandstone Block=Blok piaskowca
Desert Sandstone=Pustynny piaskowiec
Desert Sandstone Brick=Cegły z pustynnego piaskowca
Desert Sandstone Block=Blok pustynnego piaskowca
Silver Sandstone=Srebrny piaskowiec
Silver Sandstone Brick=Cegły z srebrnego piaskowca
Silver Sandstone Block=Blok srebrnego piaskowca
Obsidian=Obsydian
Obsidian Brick=Obsydianowe cegły
Obsidian Block=Blok obsydianu
Dirt=Ziemia
Dirt with Grass=Ziemia z trawą
Dirt with Grass and Footsteps=Ziemia z trawą i śladami
Dirt with Savanna Grass=Ziemia z sawannową trawą
Dirt with Snow=Ziemia ze śniegiem
Dirt with Rainforest Litter=Ziemia ze ściółką lasu deszczowego
Dirt with Coniferous Litter=Ziemia ze ściółką lasu iglastego
Savanna Dirt=Sawannowa ziemia
Savanna Dirt with Savanna Grass=Sawannowa ziemia z sawannową trawą
Permafrost=Zmarzlina
Permafrost with Stones=Zmarzlina z kamieniami
Permafrost with Moss=Zmarzlina z mchem
Sand=Piasek
Desert Sand=Pustynny piasek
Silver Sand=Srebrny piasek
Gravel=Żwir
Clay=Glina
Snow=Śnieg
Snow Block=Blok śniegu
Ice=Lód
Cave Ice=Jaskiniowy lód
Apple Tree=Jabłkowe drewno
Apple Wood Planks=Deski z drzewa jabłkowego
Apple Tree Sapling=Sadzonka drzewa jabłkowego
Apple Tree Leaves=Liście drzewa jabłkowego
Apple=Jabłko
Apple Marker=Znacznik jabłka
Jungle Tree=Dżunglowe drewno
Jungle Wood Planks=Deski z dżunglowego drzewa
Jungle Tree Leaves=Liście dżunglowego drzewa
Jungle Tree Sapling=Sadzonka dżunglowego drzewa
Emergent Jungle Tree Sapling=Wyłaniająca się sadzonka dżunglowego drzewa
Pine Tree=Sosnowe drewno
Pine Wood Planks=Deski z sosnowego drzewa
Pine Needles=Sosnowe igły
Pine Tree Sapling=Sadzonka sosnowego drzewa
Acacia Tree=Akacjowe drewno
Acacia Wood Planks=Deski z akacjowego drzewa
Acacia Tree Leaves=Liście akacjowego drzewa
Acacia Tree Sapling=Sadzonka akacjowego drzewa
Aspen Tree=Brzozowe drzewo
Aspen Wood Planks=Deski z brzozowego drzewa
Aspen Tree Leaves=Liście brzozowego drzewa
Aspen Tree Sapling=Sadzonka brzozowego drzewa
Coal Ore=Ruda węgla
Coal Block=Blok węgla
Iron Ore=Ruda żelaza
Steel Block=Blok stali
Copper Ore=Ruda miedzi
Copper Block=Blok miedzi
Tin Ore=Ruda cyny
Tin Block=Blok cyny
Bronze Block=Blok brązu
Mese Ore=Ruda Mese
Mese Block=Blok Mese
Gold Ore=Ruda złota
Gold Block=Blok złota
Diamond Ore=Ruda diamentu
Diamond Block=Blok diamentu
Cactus=Kaktus
Large Cactus Seedling=Sadzonka dużego kaktusa
Papyrus=Papirus
Dry Shrub=Uschnięty krzak
Jungle Grass=Dżunglowa trawa
Grass=Trawa
Savanna Grass=Sawannowa trawa
Fern=Paproć
Marram Grass=Trzcinnik leśny
Bush Stem=Korzeń krzaku
Bush Leaves=Liście krzaku
Bush Sapling=Sadzonka krzaku
Blueberry Bush Leaves with Berries=Liście jagodowego krzaku z jagodami
Blueberry Bush Leaves=Liście jagodowego krzaku
Blueberry Bush Sapling=Sadzonka jagodowego krzaku
Acacia Bush Stem=Korzeń akacjowego krzaku
Acacia Bush Leaves=Liście akacjowego krzaku
Acacia Bush Sapling=Sadzonka akacjowego krzaku
Pine Bush Stem=Korzeń sosnowego krzaku
Pine Bush Needles=Igły sosnowego krzaku
Pine Bush Sapling=Sadzonka sosnowego krzaku
Kelp=Wodorost
Green Coral=Zielony koralowiec
Pink Coral=Różowy koralowiec
Cyan Coral=Cyjanowy koralowiec
Brown Coral=Brązowy koralowiec
Orange Coral=Pomarańczowy koralowiec
Coral Skeleton=Szkielet koralowca
Water Source=Źródło wody
Flowing Water=Płynąca woda
River Water Source=Źródło wody rzecznej
Flowing River Water=Płynąca woda rzeczna
Lava Source=Źródło lawy
Flowing Lava=Płynąca lawa
Empty Bookshelf=Pusta półka na książki
Bookshelf (@1 written, @2 empty books)=Półka na książki (@1 zapisanych, @2 pustych książek)
Bookshelf=Półka na książki
Text too long=Tekst jest zbyt długi
"@1"="@1"
Wooden Sign=Drewniana tabliczka
Steel Sign=Stalowa tabliczka
Wooden Ladder=Drewniana drabina
Steel Ladder=Stalowa drabina
Apple Wood Fence=Płot z jabłkowego drzewa
Acacia Wood Fence=Płot z akacjowego drzewa
Jungle Wood Fence=Płot z dżunglowego drzewa
Pine Wood Fence=Płot z sosnowego drzewa
Aspen Wood Fence=Płot z brzozowego drzewa
Apple Wood Fence Rail=Szyna ogrodzeniowa z jabłkowego drzewa
Acacia Wood Fence Rail=Szyna ogrodzeniowa z akacjowego drzewa
Jungle Wood Fence Rail=Szyna ogrodzeniowa z dżunglowego drzewa
Pine Wood Fence Rail=Szyna ogrodzeniowa z sosnowego drzewa
Aspen Wood Fence Rail=Szyna ogrodzeniowa z brzozowego drzewa
Glass=Szkło
Obsidian Glass=Obsydianowe szkło
Brick Block=Blok cegieł
Mese Lamp=Lampa Mese
Apple Wood Mese Post Light=Lampa Mese z obramowaniem z jabłkowego drzewa
Acacia Wood Mese Post Light=Lampa Mese z obramowaniem z akacjowego drzewa
Jungle Wood Mese Post Light=Lampa Mese z obramowaniem z dżunglowego drzewa
Pine Wood Mese Post Light=Lampa Mese z obramowaniem z sosnowego drzewa
Aspen Wood Mese Post Light=Lampa Mese z obramowaniem z brzozowego drzewa
Cloud=Chmura
Wooden Pickaxe=Drewniany kilof
Stone Pickaxe=Kamienny kilof
Bronze Pickaxe=Brązowy kilof
Steel Pickaxe=Stalowy kilof
Mese Pickaxe=Mesowy kilof
Diamond Pickaxe=Diamentowy kilof
Wooden Shovel=Drewniana łopata
Stone Shovel=Kamienna łopata
Bronze Shovel=Brązowa łopata
Steel Shovel=Stalowa łopata
Mese Shovel=Mesowa łopata
Diamond Shovel=Diamentowa łopata
Wooden Axe=Drewniana siekiera
Stone Axe=Kamienna siekiera
Bronze Axe=Brązowa siekiera
Steel Axe=Stalowa siekiera
Mese Axe=Mesowa siekiera
Diamond Axe=Diamentowa siekiera
Wooden Sword=Drewniany miecz
Stone Sword=Kamienny miecz
Bronze Sword=Brązowy miecz
Steel Sword=Stalowy miecz
Mese Sword=Mesowy miecz
Diamond Sword=Diamentowy miecz
Torch=Pochodnia
@1 will intersect protection on growth.=@1 będzie kolidować z ochroną terenu podczas rośnięcia.

View File

@ -11,6 +11,7 @@ Contents:=Conteúdo:
Save=Salvar
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=Mirtilo
Book=Livro

View File

@ -4,13 +4,14 @@ Locked Chest (owned by @1)=Заблокированный Сундук (влад
You do not own this chest.=Вы не владелец этого сундука.
a locked chest=заблокированный сундук
Chest=Сундук
Write=
Read=
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="@1" @2
Blueberries=Черника
Book=Книга

View File

@ -11,6 +11,7 @@ Contents:=Obsah:
Save=Uložiť
by @1=od @1
Page @1 of @2=Strana @1 z @2
The book you were writing to mysteriously disappeared.=
"@1" by @2=„@1“ z @2
Blueberries=Čučoriedky
Book=Kniha

View File

@ -11,9 +11,8 @@ Contents:=Innehåll:
Save=Spara
by @1=av @1
Page @1 of @2=Sida @1 av @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" av @2
Skeleton Key=Skelettnyckel
Key to @1's @2=Nyckel till @1s @2
Blueberries=Blåbär
Book=Bok
Book with Text=Bok med text
@ -212,6 +211,5 @@ Bronze Sword=Bronssvärd
Steel Sword=Stålsvärd
Mese Sword=Mesesvärd
Diamond Sword=Diamantsvärd
Key=Nyckel
Torch=Fackla
@1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt.

View File

@ -11,6 +11,7 @@ Contents:=Вміст:
Save=Зберегти
by @1=@1
Page @1 of @2=Сторінка @1 з @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" @2
Blueberries=Чорниці
Book=Книга

View File

@ -11,6 +11,7 @@ Contents:=内容:
Save=保存
by @1=由@1
Page @1 of @2=第@1页共@2页。
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" by @2
Blueberries=蓝莓
Book=书

View File

@ -11,6 +11,7 @@ Contents:=內容:
Save=保存
by @1=由@1
Page @1 of @2=第@1頁共@2頁。
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" by @2
Blueberries=藍莓
Book=書

View File

@ -11,6 +11,7 @@ Contents:=
Save=
by @1=
Page @1 of @2=
The book you were writing to mysteriously disappeared.=
"@1" by @2=
Blueberries=
Book=

View File

@ -2057,10 +2057,9 @@ local function coral_on_place(itemstack, placer, pointed_thing)
if minetest.is_protected(pos_under, player_name) or
minetest.is_protected(pos_above, player_name) then
minetest.log("action", player_name
.. " tried to place " .. itemstack:get_name()
.. " at protected position "
.. minetest.pos_to_string(pos_under))
default.log_player_action(placer,
"tried to place", itemstack:get_name(),
"at protected position", pos_under)
minetest.record_protection_violation(pos_under, player_name)
return itemstack
end
@ -2525,7 +2524,7 @@ local function update_bookshelf(pos)
end
end
minetest.register_node("default:bookshelf", {
local default_bookshelf_def = {
description = S("Bookshelf"),
tiles = {"default_wood.png", "default_wood.png", "default_wood.png",
"default_wood.png", "default_bookshelf.png", "default_bookshelf.png"},
@ -2550,21 +2549,6 @@ minetest.register_node("default:bookshelf", {
end
return 0
end,
on_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player)
minetest.log("action", player:get_player_name() ..
" moves stuff in bookshelf at " .. minetest.pos_to_string(pos))
update_bookshelf(pos)
end,
on_metadata_inventory_put = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" puts stuff to bookshelf at " .. minetest.pos_to_string(pos))
update_bookshelf(pos)
end,
on_metadata_inventory_take = function(pos, listname, index, stack, player)
minetest.log("action", player:get_player_name() ..
" takes stuff from bookshelf at " .. minetest.pos_to_string(pos))
update_bookshelf(pos)
end,
on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "books", drops)
@ -2572,7 +2556,9 @@ minetest.register_node("default:bookshelf", {
minetest.remove_node(pos)
return drops
end,
})
}
default.set_inventory_action_loggers(default_bookshelf_def, "bookshelf")
minetest.register_node("default:bookshelf", default_bookshelf_def)
local function register_sign(material, desc, def)
minetest.register_node("default:sign_wall_" .. material, {
@ -2615,8 +2601,8 @@ local function register_sign(material, desc, def)
minetest.chat_send_player(player_name, S("Text too long"))
return
end
minetest.log("action", player_name .. " wrote \"" .. text ..
"\" to the sign at " .. minetest.pos_to_string(pos))
default.log_player_action(sender, "wrote \"" .. text ..
"\" to the sign at", pos)
local meta = minetest.get_meta(pos)
meta:set_string("text", text)
@ -2810,7 +2796,6 @@ minetest.register_node("default:glass", {
tiles = {"default_glass.png", "default_glass_detail.png"},
use_texture_alpha = "clip", -- only needed for stairs API
paramtype = "light",
paramtype2 = "glasslikeliquidlevel",
sunlight_propagates = true,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
@ -2823,7 +2808,6 @@ minetest.register_node("default:obsidian_glass", {
tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"},
use_texture_alpha = "clip", -- only needed for stairs API
paramtype = "light",
paramtype2 = "glasslikeliquidlevel",
is_ground_content = false,
sunlight_propagates = true,
sounds = default.node_sound_glass_defaults(),

View File

@ -572,8 +572,7 @@ function default.sapling_on_place(itemstack, placer, pointed_thing,
return itemstack
end
minetest.log("action", player_name .. " places node "
.. sapling_name .. " at " .. minetest.pos_to_string(pos))
default.log_player_action(placer, "places node", sapling_name, "at", pos)
local take_item = not minetest.is_creative_enabled(player_name)
local newnode = {name = sapling_name}