* update to last engine changes, so guess only work in 5.4 and 5.5 to 5.6
This commit is contained in:
mckaygerhard 2023-06-06 15:16:35 -04:00
commit 4be6c4d274
137 changed files with 1533 additions and 626 deletions

View File

@ -1,3 +1,3 @@
name = Minetest Game
title = Minetest Game
author = Minetest
description = A basic exploration, mining, crafting, and building, sandbox game with no NPCs, monsters, or animals. Minetest Game is usually used with mods added, and many mods are available for this game. Reliably maintained by Minetest Engine core developers.

View File

@ -49,6 +49,8 @@ Beds API
* `beds.read_spawns() ` Returns a table containing players respawn positions
* `beds.kick_players()` Forces all players to leave bed
* `beds.skip_night()` Sets world time to morning and saves respawn position of all players currently sleeping
* `beds.day_interval` Is a table with keys "start" and "finish". Allows you
to set the period of the day (timeofday format). Default: `{ start = 0.2, finish = 0.805 }`.
### Bed definition
@ -440,11 +442,16 @@ Player API
The player API can register player models and update the player's appearance.
* `player_api.globalstep(dtime, ...)`
* The function called by the globalstep that controls player animations.
You can override this to replace the globalstep with your own implementation.
* Receives all args that minetest.register_globalstep() passes
* `player_api.register_model(name, def)`
* Register a new model to be used by players
* `name`: model filename such as "character.x", "foo.b3d", etc.
* `def`: see [#Model definition]
* Saved to player_api.registered_models
* Saved to player_api.registered_models
* `player_api.registered_models[name]`
* Get a model's definition
@ -1110,3 +1117,34 @@ This function registers a shapeless recipe that takes `ingredient`
and `result` as input and outputs `result`.
The metadata of the input `result` is copied to the output `result`.
Log API
-------
Logs action of the player with a node at a certain position.
By default only actions of real players are logged.
Actions of non-players (usually machines) are logged only when
setting `log_non_player_actions` is enabled.
A player is considered non-player if `player:is_player()` returns
`false` or `player.is_fake_player` is truthy. The use of
`is_fake_player` is an unofficial standard between mods.
These non-players are marked by the content of `is_fake_player`
(if it is a string) or a "*" in brackets after the player name in
the log.
`default.log_player_action(player, ...)`
* `player` The player who performed the action
* `message_parts` Any mumber of message parts describing the action
in 3rd person singular present tense. It can also
contain a `pos` which is logged as "(X,Y,Z)"
`default.set_inventory_action_loggers(def, name)`
* hooks the callbacks `on_metadata_inventory_move`,
`on_metadata_inventory_put` and `on_metadata_inventory_take`
that log corresponding actions
* after logging the action, the original callback (if any) is called
* `def` See [Node definition]
* `name` Description of the node in the log message

View File

@ -72,6 +72,9 @@ default:torch 99,default:cobble 99
# Helps rivers create more sound, especially on level sections.
#river_source_sounds = false
# Enable cloud variation by the 'weather' mod.
# Enable cloud and shadow intensity variation by the 'weather' mod.
# Non-functional in V6 or Singlenode mapgens.
#enable_weather = true
# If enabled, non-player actions are logged
#log_non_player_actions = false

View File

@ -115,8 +115,8 @@ function beds.register_bed(name, def)
local dir = minetest.facedir_to_dir(node.param2)
local p = vector.add(pos, dir)
local node2 = minetest.get_node_or_nil(p)
if not node2 or not minetest.get_item_group(node2.name, "bed") == 2 or
not node.param2 == node2.param2 then
if not node2 or minetest.get_item_group(node2.name, "bed") ~= 2 or
node.param2 ~= node2.param2 then
return false
end
if minetest.is_protected(p, user:get_player_name()) then

View File

@ -65,7 +65,7 @@ beds.register_bed("beds:bed", {
"beds_bed_top_bottom.png^[transformR90",
"beds_bed_under.png",
"beds_bed_side_bottom_r.png",
"beds_bed_side_bottom_r.png^[transformfx",
"beds_bed_side_bottom_r.png^[transformFX",
"beds_transparent.png",
"beds_bed_side_bottom.png"
},
@ -73,7 +73,7 @@ beds.register_bed("beds:bed", {
"beds_bed_top_top.png^[transformR90",
"beds_bed_under.png",
"beds_bed_side_top_r.png",
"beds_bed_side_top_r.png^[transformfx",
"beds_bed_side_top_r.png^[transformFX",
"beds_bed_side_top.png",
"beds_transparent.png",
}

View File

@ -186,7 +186,7 @@ function beds.on_rightclick(pos, player)
local ppos = player:get_pos()
local tod = minetest.get_timeofday()
if tod > 0.2 and tod < 0.805 then
if tod > beds.day_interval.start and tod < beds.day_interval.finish then
if beds.player[name] then
lay_down(player, nil, nil, false)
end

View File

@ -16,6 +16,11 @@ beds.formspec = "size[8,11;true]" ..
"bgcolor[#080808BB;true]" ..
"button_exit[2,10;4,0.75;leave;" .. esc(S("Leave Bed")) .. "]"
beds.day_interval = {
start = 0.2,
finish = 0.805,
}
local modpath = minetest.get_modpath("beds")
-- Load files

View File

@ -1,10 +1,10 @@
# textdomain: beds
Fancy Bed=Luksa Lito
Simple Bed=Simpla Lito
This bed is already occupied!=
You have to stop moving before going to bed!=
This bed is already occupied!=Tiu lito jam estas okupata!
You have to stop moving before going to bed!=Vi ĉesu moviĝi por enlitiĝi!
Good morning.=Bonan matenon.
@1 of @2 players are in bed=@1 el @2 ludantoj estas en lito.
Force night skip=Devigu nokta salton
You can only sleep at night.=Vi povas nur dormi en la nokto.
Leave Bed=Ellitiĝu
@1 of @2 players are in bed=@1 el @2 ludantoj estas en lito
Force night skip=Devigi noktan salton
You can only sleep at night.=Vi povas dormi nur nokte.
Leave Bed=Ellitiĝi

View File

@ -1,10 +1,10 @@
# textdomain: beds
Fancy Bed=Ranjang Mewah
Simple Bed=Ranjang Sederhana
This bed is already occupied!=
You have to stop moving before going to bed!=
This bed is already occupied!=Ranjang telah terisi!
You have to stop moving before going to bed!=Anda harus diam untuk tidur!
Good morning.=Selamat pagi.
@1 of @2 players are in bed=@1 dari @2 pemain sedang tidur
Force night skip=Paksa lewati malam
You can only sleep at night.=Anda hanya dapat tidur pada waktu malam.
You can only sleep at night.=Anda hanya bisa tidur pada waktu malam.
Leave Bed=Tinggalkan Ranjang

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Fantazyjne łóżko
Simple Bed=Proste łóżko
This bed is already occupied!=To łóżko jest już zajęte!
You have to stop moving before going to bed!=Musisz się zatrzymać aby wejść do łóżka
Good morning.=Dzień dobry.
@1 of @2 players are in bed=@1 z @2 graczy śpią
Force night skip=Wymuś pominięcie nocy
You can only sleep at night.=Możesz spać tylko w nocy.
Leave Bed=Opuść łóżko

View File

@ -1,8 +1,8 @@
# textdomain: beds
Fancy Bed=花式床
Simple Bed=簡易床
This bed is already occupied!=
You have to stop moving before going to bed!=
This bed is already occupied!=這個床已經被占據了!
You have to stop moving before going to bed!=你必須在上床前停止移動!
Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=強制跳過夜晚

View File

@ -1,3 +1,3 @@
# textdomain: binoculars
Binoculars=Binokolo
Use with 'Zoom' key=Uzu per 'Zomo' klavo
Binoculars=Binoklo
Use with 'Zoom' key=Uzi per 'Zomo' klavo

View File

@ -1,3 +1,3 @@
# textdomain: binoculars
Binoculars=Teropong
Use with 'Zoom' key=Pakai dengan tombol 'Zoom'
Use with 'Zoom' key=Pakai dengan tombol 'Zum'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Lornetka
Use with 'Zoom' key=Aby użyć naciśnij 'Zoom'

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Tryb rejsu łodką włączony
Boat cruise mode off=Tryb rejsu łodką wyłączony
Boat=Łódka

View File

@ -1,4 +1,4 @@
# textdomain: boats
Boat cruise mode on=Режим путешествия на лодке включен
Boat cruise mode off=Режим путешествия на лодке выключен
Boat cruise mode on=Автоход лодки включен
Boat cruise mode off=Автоход лодки выключен
Boat=Лодка

View File

@ -1,8 +1,8 @@
# textdomain: bones
Bones=Ostoj
@1's old bones=La malnova ostoj de @1
@1's old bones=La malfreŝaj ostoj de @1
@1 died at @2.=@1 mortis ĉe @2
@1 died at @2, and dropped their inventory.=@1 mortis ĉe @2, kaj ri delasis riaj objektoj.
@1 died at @2, and bones were placed.=@1 mortis ĉe @2, kaj ostoj metis.
@1's fresh bones=La nova ostoj de @1
@1 died at @2, and dropped their inventory.=@1 mortis ĉe @2, kaj delasis sian stokon.
@1 died at @2, and bones were placed.=@1 mortis ĉe @2, kaj ostoj estas demetitaj.
@1's fresh bones=La freŝaj ostoj de @1
@1's bones=La ostoj de @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Kości
@1's old bones=Stare kości @1
@1 died at @2.=@1 umarł w @2.
@1 died at @2, and dropped their inventory.=@1 umarł w @2, i upuścił swój ekwipunek.
@1 died at @2, and bones were placed.=@1 umarł w @2, kości zostały położone.
@1's fresh bones=Świeże kości @1
@1's bones=Kości @1

View File

@ -1,8 +1,8 @@
# textdomain: bones
Bones=Ben
@1's old bones=@1s Gamla ben
@1 died at @2.=@1 dog på @a.
@1 died at @2, and dropped their inventory.=@1 dog på @a, och tappade deras saker.
@1 died at @2.=@1 dog på @2.
@1 died at @2, and dropped their inventory.=@1 dog på @2, och tappade deras saker.
@1 died at @2, and bones were placed.=@1 dog på @2, och deras ben var placerade.
@1's fresh bones=@1s färska ben
@1's bones=@1s ben

View File

@ -1,5 +1,5 @@
# textdomain: bucket
Empty Bucket=空のバケツ
Water Bucket=水入りバケツ
River Water Bucket=川水入りバケツ
River Water Bucket=川水入りバケツ
Lava Bucket=溶岩入りバケツ

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Puste wiadro
Water Bucket=Wiadro z wodą
River Water Bucket=Wiadro z rzeczną wodą
Lava Bucket=Wiadro z lawą

View File

@ -1,4 +1,4 @@
# textdomain: butterflies
White Butterfly=Blanka Papilio
Red Butterfly=Ruĝa Papilio
Violet Butterfly=Viola Papilio
Violet Butterfly=Violkolora Papilio

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Biały motyl
Red Butterfly=Czerwony motyl
Violet Butterfly=Fioletowy motyl

View File

@ -46,9 +46,7 @@ function cart_entity:on_activate(staticdata, dtime_s)
return
end
self.railtype = data.railtype
if data.old_dir then
self.old_dir = data.old_dir
end
self.old_dir = data.old_dir or self.old_dir
end
function cart_entity:get_staticdata()
@ -192,11 +190,11 @@ local function rail_on_step(self, dtime)
end
local pos = self.object:get_pos()
local cart_dir = carts:velocity_to_dir(vel)
local same_dir = vector.equals(cart_dir, self.old_dir)
local dir = carts:velocity_to_dir(vel)
local dir_changed = not vector.equals(dir, self.old_dir)
local update = {}
if self.old_pos and not self.punched and same_dir then
if self.old_pos and not self.punched and not dir_changed then
local flo_pos = vector.round(pos)
local flo_old = vector.round(self.old_pos)
if vector.equals(flo_pos, flo_old) then
@ -216,7 +214,7 @@ local function rail_on_step(self, dtime)
end
local stop_wiggle = false
if self.old_pos and same_dir then
if self.old_pos and not dir_changed then
-- Detection for "skipping" nodes (perhaps use average dtime?)
-- It's sophisticated enough to take the acceleration in account
local acc = self.object:get_acceleration()
@ -231,7 +229,7 @@ local function rail_on_step(self, dtime)
-- No rail found: set to the expected position
pos = new_pos
update.pos = true
cart_dir = new_dir
dir = new_dir
end
elseif self.old_pos and self.old_dir.y ~= 1 and not self.punched then
-- Stop wiggle
@ -241,21 +239,27 @@ local function rail_on_step(self, dtime)
local railparams
-- dir: New moving direction of the cart
-- switch_keys: Currently pressed L/R key, used to ignore the key on the next rail node
local dir, switch_keys = carts:get_rail_direction(
pos, cart_dir, ctrl, self.old_switch, self.railtype
-- switch_keys: Currently pressed L(1) or R(2) key,
-- used to ignore the key on the next rail node
local switch_keys
dir, switch_keys = carts:get_rail_direction(
pos, dir, ctrl, self.old_switch, self.railtype
)
local dir_changed = not vector.equals(dir, self.old_dir)
dir_changed = not vector.equals(dir, self.old_dir)
local new_acc = {x=0, y=0, z=0}
local acc = 0
if stop_wiggle or vector.equals(dir, {x=0, y=0, z=0}) then
dir = vector.new(self.old_dir)
vel = {x = 0, y = 0, z = 0}
local pos_r = vector.round(pos)
if not carts:is_rail(pos_r, self.railtype)
and self.old_pos then
pos = self.old_pos
elseif not stop_wiggle then
-- End of rail: Smooth out.
pos = pos_r
dir_changed = false
dir.y = 0
else
pos.y = math.floor(pos.y + 0.5)
end
@ -282,7 +286,7 @@ local function rail_on_step(self, dtime)
end
-- Slow down or speed up..
local acc = dir.y * -4.0
acc = dir.y * -4.0
-- Get rail for corrected position
railparams = get_railparams(pos)
@ -300,25 +304,22 @@ local function rail_on_step(self, dtime)
acc = acc - 0.4
end
end
new_acc = vector.multiply(dir, acc)
end
-- Limits
local max_vel = carts.speed_max
for _, v in pairs({"x","y","z"}) do
if math.abs(vel[v]) > max_vel then
vel[v] = carts:get_sign(vel[v]) * max_vel
new_acc[v] = 0
update.vel = true
end
-- Limit cart speed
local vel_len = vector.length(vel)
if vel_len > carts.speed_max then
vel = vector.multiply(vel, carts.speed_max / vel_len)
update.vel = true
end
if vel_len >= carts.speed_max and acc > 0 then
acc = 0
end
self.object:set_acceleration(new_acc)
self.object:set_acceleration(vector.multiply(dir, acc))
self.old_pos = vector.round(pos)
if not vector.equals(dir, {x=0, y=0, z=0}) and not stop_wiggle then
self.old_dir = vector.new(dir)
end
self.old_dir = vector.new(dir)
self.old_switch = switch_keys
if self.punched then
@ -344,11 +345,11 @@ local function rail_on_step(self, dtime)
end
local yaw = 0
if self.old_dir.x < 0 then
if dir.x < 0 then
yaw = 0.5
elseif self.old_dir.x > 0 then
elseif dir.x > 0 then
yaw = 1.5
elseif self.old_dir.z < 0 then
elseif dir.z < 0 then
yaw = 1
end
self.object:set_yaw(yaw * math.pi)
@ -398,7 +399,7 @@ minetest.register_craftitem("carts:cart", {
pointed_thing) or itemstack
end
if not pointed_thing.type == "node" then
if pointed_thing.type ~= "node" then
return
end
if carts:is_rail(pointed_thing.under) then

View File

@ -1,6 +1,6 @@
# textdomain: carts
Cart=Ĉaro
(Sneak+Click to pick up)=(Ŝteliru+Alklaku por reprini)
(Sneak+Click to pick up)=(Ŝteliri+Alklaki por reprini)
Rail=Relo
Powered Rail=Elektra Relo
Brake Rail=Bremsa Relo

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Wagonik
(Sneak+Click to pick up)=(Skradanie+Naciśnij aby zebrać)
Rail=Tory
Powered Rail=Napędzane tory
Brake Rail=Hamujące tory

View File

@ -46,34 +46,36 @@ end
dofile(minetest.get_modpath("creative") .. "/inventory.lua")
if minetest.is_creative_enabled("") then
-- Dig time is modified according to difference (leveldiff) between tool
-- 'maxlevel' and node 'level'. Digtime is divided by the larger of
-- leveldiff and 1.
-- To speed up digging in creative, hand 'maxlevel' and 'digtime' have been
-- increased such that nodes of differing levels have an insignificant
-- effect on digtime.
local digtime = 42
local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256}
minetest.register_on_mods_loaded(function()
-- Dig time is modified according to difference (leveldiff) between tool
-- 'maxlevel' and node 'level'. Digtime is divided by the larger of
-- leveldiff and 1.
-- To speed up digging in creative, hand 'maxlevel' and 'digtime' have been
-- increased such that nodes of differing levels have an insignificant
-- effect on digtime.
local digtime = 42
local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256}
-- Override the hand tool
minetest.override_item("", {
range = 10,
tool_capabilities = {
full_punch_interval = 0.5,
max_drop_level = 3,
groupcaps = {
crumbly = caps,
cracky = caps,
snappy = caps,
choppy = caps,
oddly_breakable_by_hand = caps,
-- dig_immediate group doesn't use value 1. Value 3 is instant dig
dig_immediate =
{times = {[2] = digtime, [3] = 0}, uses = 0, maxlevel = 256},
},
damage_groups = {fleshy = 10},
}
})
-- Override the hand tool
minetest.override_item("", {
range = 10,
tool_capabilities = {
full_punch_interval = 0.5,
max_drop_level = 3,
groupcaps = {
crumbly = caps,
cracky = caps,
snappy = caps,
choppy = caps,
oddly_breakable_by_hand = caps,
-- dig_immediate group doesn't use value 1. Value 3 is instant dig
dig_immediate =
{times = {[2] = digtime, [3] = 0}, uses = 0, maxlevel = 256},
},
damage_groups = {fleshy = 10},
}
})
end)
end
-- Unlimited node placement

View File

@ -150,9 +150,10 @@ function creative.register_tab(name, title, items)
creative.update_creative_inventory(player_name, items)
local inv = player_inventory[player_name]
local pagenum = math.floor(inv.start_i / (4*8) + 1)
local pagemax = math.ceil(inv.size / (4*8))
local pagemax = math.max(math.ceil(inv.size / (4*8)), 1)
local esc = minetest.formspec_escape
return sfinv.make_formspec(player, context,
(inv.size == 0 and ("label[3,2;"..esc(S("No items to show.")).."]") or "") ..
"label[5.8,4.15;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" ..
[[
image[4.08,4.2;0.8,0.8;creative_trash_icon.png]
@ -160,7 +161,7 @@ function creative.register_tab(name, title, items)
list[detached:trash;main;4.02,4.1;1,1;]
listring[]
image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;]
image_button[7.2,4.05;0.8,0.8;creative_next_icon.png;creative_next;]
image_button[7.25,4.05;0.8,0.8;creative_next_icon.png;creative_next;]
image_button[2.63,4.05;0.8,0.8;creative_search_icon.png;creative_search;]
image_button[3.25,4.05;0.8,0.8;creative_clear_icon.png;creative_clear;]
]] ..
@ -191,10 +192,13 @@ function creative.register_tab(name, title, items)
inv.start_i = 0
inv.filter = ""
sfinv.set_player_inventory_formspec(player, context)
elseif fields.creative_search or
fields.key_enter_field == "creative_filter" then
elseif (fields.creative_search or
fields.key_enter_field == "creative_filter")
and fields.creative_filter then
inv.start_i = 0
inv.filter = fields.creative_filter:lower()
inv.filter = fields.creative_filter:sub(1, 128) -- truncate to a sane length
:gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n)
:lower() -- search is case insensitive
sfinv.set_player_inventory_formspec(player, context)
elseif not fields.quit then
local start_i = inv.start_i or 0

View File

@ -1,9 +1,9 @@
# textdomain: creative
Allow player to use creative inventory=Permesu la ludanto uzi la krea stoko
Search=Serĉu
Reset=Rekomencigu
Previous page=Pasinta paĝo
Next page=Sekvinta paĝo
Allow player to use creative inventory=Permesi ke la ludanto uzu la kreeman stokon
Search=Serĉi
Reset=Rekomencigi
Previous page=Antaŭa paĝo
Next page=Sekva paĝo
All=Ĉio
Nodes=Nodoj
Tools=Iloj

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Zezwól graczom na używanie kreatywnego ekwipunku
Search=Wyszukaj
Reset=Zresetuj
Previous page=Poprzednia strona
Next page=Następna strona
All=Wszystko
Nodes=Bloki
Tools=Narzędzia
Items=Przedmioty

View File

@ -1,3 +1,3 @@
name = creative
description = Minetest Game mod: creative
depends = default, sfinv
depends = sfinv

View File

@ -53,19 +53,22 @@ end
default.chest.open_chests = {}
minetest.register_on_player_receive_fields(function(player, formname, fields)
if formname ~= "default:chest" then
return
end
if not player or not fields.quit then
return
end
local pn = player:get_player_name()
if not default.chest.open_chests[pn] then
if formname ~= "default:chest" then
if default.chest.open_chests[pn] then
default.chest.chest_lid_close(pn)
end
return
end
if not (fields.quit and default.chest.open_chests[pn]) then
return
end
default.chest.chest_lid_close(pn)
return true
end)
@ -129,6 +132,12 @@ function default.chest.register_chest(prefixed_name, d)
return itemstack
end
local cn = clicker:get_player_name()
if default.chest.open_chests[cn] then
default.chest.chest_lid_close(cn)
end
minetest.sound_play(def.sound_open, {gain = 0.3,
pos = pos, max_hear_distance = 10}, true)
if not default.chest.chest_lid_obstructed(pos) then
@ -136,10 +145,9 @@ function default.chest.register_chest(prefixed_name, d)
{ name = name .. "_open",
param2 = node.param2 })
end
minetest.after(0.2, minetest.show_formspec,
clicker:get_player_name(),
minetest.after(0.2, minetest.show_formspec, cn,
"default:chest", default.chest.get_chest_formspec(pos))
default.chest.open_chests[clicker:get_player_name()] = { pos = pos,
default.chest.open_chests[cn] = { pos = pos,
sound = def.sound_close, swap = name }
end
def.on_blast = function() end
@ -200,6 +208,12 @@ function default.chest.register_chest(prefixed_name, d)
return inv:is_empty("main")
end
def.on_rightclick = function(pos, node, clicker)
local cn = clicker:get_player_name()
if default.chest.open_chests[cn] then
default.chest.chest_lid_close(cn)
end
minetest.sound_play(def.sound_open, {gain = 0.3, pos = pos,
max_hear_distance = 10}, true)
if not default.chest.chest_lid_obstructed(pos) then
@ -208,9 +222,9 @@ function default.chest.register_chest(prefixed_name, d)
param2 = node.param2 })
end
minetest.after(0.2, minetest.show_formspec,
clicker:get_player_name(),
cn,
"default:chest", default.chest.get_chest_formspec(pos))
default.chest.open_chests[clicker:get_player_name()] = { pos = pos,
default.chest.open_chests[cn] = { pos = pos,
sound = def.sound_close, swap = name }
end
def.on_blast = function(pos)
@ -222,21 +236,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)
@ -288,6 +288,18 @@ function default.chest.register_chest(prefixed_name, d)
end
})
end
-- close opened chests on load
minetest.register_lbm({
label = "close opened chests on load",
name = "default:close_" .. prefixed_name:gsub(":", "_") .. "_open",
nodenames = {prefixed_name .. "_open"},
run_at_every_load = true,
action = function(pos, node)
node.name = prefixed_name
minetest.swap_node(pos, node)
end
})
end
default.chest.register_chest("default:chest", {

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.quit 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")
@ -154,6 +179,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
data.description = S("\"@1\" by @2", short_title, data.owner)
data.text = fields.text:sub(1, max_text_size)
data.text = data.text:gsub("\r\n", "\n"):gsub("\r", "\n")
data.text = data.text:gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n)
data.page = 1
data.page_max = math.ceil((#data.text:gsub("[^\n]", "") + 1) / lpp)
@ -193,7 +219,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,54 @@ 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
local nop = function() end
function default.set_inventory_action_loggers(def, name)
local on_move = def.on_metadata_inventory_move or nop
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)
return on_move(pos, from_list, from_index, to_list, to_index, count, player)
end
local on_put = def.on_metadata_inventory_put or nop
def.on_metadata_inventory_put = function(pos, listname, index, stack, player)
default.log_player_action(player, "moves", stack:get_name(), "to", name, "at", pos)
return on_put(pos, listname, index, stack, player)
end
local on_take = def.on_metadata_inventory_take or nop
def.on_metadata_inventory_take = function(pos, listname, index, stack, player)
default.log_player_action(player, "takes", stack:get_name(), "from", name, "at", pos)
return on_take(pos, listname, index, stack, player)
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,10 @@ 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
"@1"=
Wooden Sign=Ligna Signo
Steel Sign=Ŝtala Signo
Wooden Ladder=Ligna Ŝtupetaro
@ -178,13 +179,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,7 +212,7 @@ 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 #####

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
@ -110,7 +111,7 @@ 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
Iron Ore=Minerai de fer
Steel Block=Bloc d'acier
Copper Ore=Minerai de cuivre
Copper Block=Bloc de cuivre

View File

@ -4,15 +4,16 @@ 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=
Write=Tulis
Read=Baca
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.=Buku yang Anda tulis menghilang secara misterius.
"@1" by @2="@1" oleh @2
Blueberries=Blueberry
Blueberries=Bluberi
Book=Buku
Book with Text=Buku Tertulis
Bronze Ingot=Perunggu Batangan
@ -37,7 +38,7 @@ Tin Lump=Bongkahan Timah
Furnace is empty=Tungku kosong
100% (output full)=100% (keluaran penuh)
@1%=@1%
Not cookable=Tidak dapat dimasak
Not cookable=Tidak bisa dimasak
Empty=Kosong
Furnace active=Tungku nyala
Furnace inactive=Tungku mati
@ -84,7 +85,7 @@ Clay=Tanah Liat
Snow=Salju
Snow Block=Balok Salju
Ice=Es
Cave Ice=Gua Es
Cave Ice=Es Gua
Apple Tree=Pohon Apel
Apple Wood Planks=Papan Kayu Pohon Apel
Apple Tree Sapling=Anak Pohon Apel
@ -131,13 +132,13 @@ Jungle Grass=Rumput Rimba
Grass=Rumput
Savanna Grass=Rumput Sabana
Fern=Pakis
Marram Grass=Rumput Maram
Marram Grass=Rumput Pantai
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
Blueberry Bush Leaves with Berries=Daun Semak Bluberi Berbuah
Blueberry Bush Leaves=Daun Semak Bluberi
Blueberry Bush Sapling=Anak Semak Bluberi
Acacia Bush Stem=Batang Semak Akasia
Acacia Bush Leaves=Daun Semak Akasia
Acacia Bush Sapling=Bibit Semak Akasia
@ -146,7 +147,7 @@ Pine Bush Needles=Daun Semak Pinus
Pine Bush Sapling=Bibit Semak Pinus
Kelp=Kelp
Green Coral=Koral Hijau
Pink Coral=Koral Jambon
Pink Coral=Koral Merah Muda
Cyan Coral=Koral Sian
Brown Coral=Koral Cokelat
Orange Coral=Koral Oranye
@ -180,18 +181,18 @@ 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=
Apple Wood Mese Post Light=Lampu Taman Mese Kayu Apel
Acacia Wood Mese Post Light=Lampu Taman Mese Kayu Akasia
Jungle Wood Mese Post Light=Lampu Taman Mese Kayu Rimba
Pine Wood Mese Post Light=Lampu Taman Mese Kayu Pinus
Aspen Wood Mese Post Light=Lampu Taman Mese Kayu Aspen
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 Pickaxe=Belencong Kayu
Stone Pickaxe=Belencong Batu
Bronze Pickaxe=Belencong Perunggu
Steel Pickaxe=Belencong Baja
Mese Pickaxe=Belencong Mese
Diamond Pickaxe=Belencong Berlian
Wooden Shovel=Sekop Kayu
Stone Shovel=Sekop Batu
Bronze Shovel=Sekop Perunggu

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

@ -4,38 +4,37 @@ Locked Chest (owned by @1)=鍵のかかったチェスト(@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=@2著「@1」
Skeleton Key=スケルトンの鍵
Key to @1's @2=@1の@2への鍵
Blueberries=ブルーベリー
Book=本
Book with Text=テキストが書かれた
Book with Text=記入済みの
Bronze Ingot=青銅インゴット
Clay Brick=粘土レンガ
Clay Lump=粘土の塊
Clay Lump=粘土
Coal Lump=石炭
Copper Ingot=銅インゴット
Copper Lump=銅の
Copper Lump=銅の粗鉱
Diamond=ダイヤモンド
Flint=火打ち石
Gold Ingot=金インゴット
Gold Lump=金の
Iron Lump=鉄の
Gold Lump=金の粗鉱
Iron Lump=鉄の粗鉱
Mese Crystal=メセクリスタル
Mese Crystal Fragment=メセクリスタルの破片
Obsidian Shard=黒曜石の
Obsidian Shard=黒曜石の
Paper=紙
Steel Ingot=鉄インゴット
Stick=棒
Tin Ingot=スズインゴット
Tin Lump=スズの
Tin Lump=スズの粗鉱
Furnace is empty=かまどは空です
100% (output full)=100%(フル出力)
@1%=@1%
@ -60,70 +59,70 @@ Sandstone Block=砂岩ブロック
Desert Sandstone=砂漠の砂岩
Desert Sandstone Brick=砂漠の砂岩レンガ
Desert Sandstone Block=砂漠の砂岩ブロック
Silver Sandstone=銀の砂岩
Silver Sandstone Brick=銀の砂岩レンガ
Silver 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=針葉樹のよごれた土
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=サバンナの草のついたサバンナの土
Savanna Dirt with Savanna Grass=サバンナの草に覆われたサバンナの土
Permafrost=永久凍土
Permafrost with Stones=石のついた永久凍土
Permafrost with Moss=苔のついた永久凍土
Permafrost with Stones=石に覆われた永久凍土
Permafrost with Moss=苔に覆われた永久凍土
Sand=砂
Desert Sand=砂漠の砂
Silver Sand=銀の砂
Silver Sand=銀の砂
Gravel=砂利
Clay=粘土
Snow=雪
Snow Block=雪ブロック
Ice=氷
Cave Ice=洞窟の氷
Apple Tree=リンゴの木
Apple Wood Planks=リンゴの板材
Apple Tree Sapling=リンゴの苗木
Apple Tree Leaves=リンゴの葉
Apple Tree=リンゴの
Apple Wood Planks=リンゴの木の板材
Apple Tree Sapling=リンゴの木の苗木
Apple Tree Leaves=リンゴの木の
Apple=リンゴ
Apple Marker=リンゴのマーカー
Jungle Tree=ジャングルの木
Jungle Wood Planks=ジャングルの板材
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=ポプラの苗木
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=鉄鉱石
Iron Ore=鉄鉱石
Steel Block=鉄ブロック
Copper Ore=銅鉱石
Copper Ore=銅鉱石
Copper Block=銅ブロック
Tin Ore=スズ鉱石
Tin Ore=スズ鉱石
Tin Block=スズブロック
Bronze Block=青銅ブロック
Mese Ore=メセ鉱石
Mese Block=メセブロック
Gold Ore=金鉱石
Gold Ore=金鉱石
Gold Block=金ブロック
Diamond Ore=ダイヤモンド鉱石
Diamond Ore=ダイヤモンド鉱石
Diamond Block=ダイヤモンドブロック
Cactus=サボテン
Large Cactus Seedling=大きなサボテンの苗
@ -137,7 +136,7 @@ Marram Grass=マラムの草
Bush Stem=低木の幹
Bush Leaves=低木の葉
Bush Sapling=低木の苗木
Blueberry Bush Leaves with Berries=ブルーベリーの低木と実
Blueberry Bush Leaves with Berries=ブルーベリーの実った低木
Blueberry Bush Leaves=ブルーベリーの低木の葉
Blueberry Bush Sapling=ブルーベリーの低木の苗木
Acacia Bush Stem=アカシアの低木の幹
@ -154,9 +153,9 @@ Brown Coral=茶色のサンゴ
Orange Coral=橙色のサンゴ
Coral Skeleton=サンゴのしがい
Water Source=水源
Flowing Water=
River Water Source=川水源
Flowing River Water=川
Flowing Water=流れる水
River Water Source=川水源
Flowing River Water=流れる河川水
Lava Source=溶岩
Flowing Lava=流れる溶岩
Empty Bookshelf=空の本棚
@ -164,54 +163,53 @@ Bookshelf (@1 written, @2 empty books)=本棚(記述済み @1 冊, 未記述 @2
Bookshelf=本棚
Text too long=テキストが長すぎます
"@1"=「@1」
Wooden Sign=木の看板
Wooden Sign=木の看板
Steel Sign=鉄の看板
Wooden Ladder=木のはしご
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=ポプラのフェンスレール
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=黒曜石ガラス
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=ポプラのメセ灯柱
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=木のシャベル
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=木の斧
Wooden Axe=木の斧
Stone Axe=石の斧
Bronze Axe=青銅の斧
Steel Axe=鉄の斧
Mese Axe=メセの斧
Diamond Axe=ダイヤモンドの斧
Wooden Sword=木の剣
Wooden Sword=木の剣
Stone Sword=石の剣
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

@ -4,13 +4,14 @@ Locked Chest (owned by @1)=已上锁的箱子(属于@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" by @2
Blueberries=蓝莓
Book=书

View File

@ -4,13 +4,14 @@ Locked Chest (owned by @1)=已上鎖的箱子(屬於@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" 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,19 +2549,10 @@ 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))
on_metadata_inventory_put = function(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))
on_metadata_inventory_take = function(pos)
update_bookshelf(pos)
end,
on_blast = function(pos)
@ -2572,7 +2562,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, {
@ -2611,12 +2603,12 @@ local function register_sign(material, desc, def)
if not text then
return
end
if string.len(text) > 512 then
if #text > 512 then
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))
text = text:gsub("[%z-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n)
default.log_player_action(sender, ("wrote %q to the sign at"):format(text), pos)
local meta = minetest.get_meta(pos)
meta:set_string("text", text)
@ -2810,7 +2802,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 +2814,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}

View File

@ -260,7 +260,7 @@ function doors.register(name, def)
on_place = function(itemstack, placer, pointed_thing)
local pos
if not pointed_thing.type == "node" then
if pointed_thing.type ~= "node" then
return itemstack
end

View File

@ -1,13 +1,13 @@
# textdomain: doors
Hidden Door Segment=Kaŝita Porda Segmento
Owned by @1=Estas de @1
You do not own this locked door.=Vi ne posedas ĉi tiu ŝlosita pordo.
Owned by @1=Posedita de @1
You do not own this locked door.=Vi ne posedas ĉi tiun ŝlositan pordon.
a locked door=ŝlosita pordo
Wooden Door=Ligna Pordo
Steel Door=Ŝtala Pordo
Glass Door=Vitra Pordo
Obsidian Glass Door=Obsidiana Vitra Pordo
You do not own this trapdoor.=Vi ne posedas ĉi tiu plankpordo.
You do not own this trapdoor.=Vi ne posedas ĉi tiun plankpordon.
a locked trapdoor=ŝlosita plankpordo
Wooden Trapdoor=Ligna Plankpordo
Steel Trapdoor=Ŝtala Plankpordo

View File

@ -3,16 +3,16 @@ Hidden Door Segment=隠しドアの区切り
Owned by @1=所有者 @1
You do not own this locked door.=あなたはこのロックされたドアの所有者ではありません。
a locked door=ロックされたドア
Wooden Door=木のドア
Wooden Door=木のドア
Steel Door=鉄のドア
Glass Door=ガラスのドア
Obsidian Glass Door=黒曜石ガラスのドア
Obsidian Glass Door=黒曜石ガラスのドア
You do not own this trapdoor.=あなたはこのトラップドアの所有者ではありません。
a locked trapdoor=ロックされたトラップドア
Wooden Trapdoor=木のトラップドア
Wooden Trapdoor=木のトラップドア
Steel Trapdoor=鉄のトラップドア
Apple Wood Fence Gate=リンゴのフェンスゲート
Acacia Wood Fence Gate=アカシアのフェンスゲート
Jungle Wood Fence Gate=ジャングルのフェンスゲート
Pine Wood Fence Gate=マツのフェンスゲート
Aspen Wood Fence Gate=ポプラのフェンスゲート
Apple Wood Fence Gate=リンゴのフェンスゲート
Acacia Wood Fence Gate=アカシアのフェンスゲート
Jungle Wood Fence Gate=ジャングルのフェンスゲート
Pine Wood Fence Gate=マツのフェンスゲート
Aspen Wood Fence Gate=ポプラのフェンスゲート

View File

@ -11,8 +11,8 @@ You do not own this trapdoor.=.i do na ponse lo ti selstela lolvrogai
a locked trapdoor=lo selstela lolvrogai
Wooden Trapdoor=lo mudri lolvrogai
Steel Trapdoor=lo gasta lolvrogai
Apple Wood Fence Gate=lo plise mudri garbimvrogai
Apple Wood Fence Gate=lo plisymudri garbimvrogai
Acacia Wood Fence Gate=lo atkaci,ia mudri garbimvrogai
Jungle Wood Fence Gate=lo glatimdemricfoi mudri garbimvrogai
Pine Wood Fence Gate=lo ckunu mudri garbimvrogai
Pine Wood Fence Gate=lo ku'urmudri garbimvrogai
Aspen Wood Fence Gate=lo mudrpopulu garbimvrogai

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Ukryty segment drzwi
Owned by @1=Właściciel: @1
You do not own this locked door.=Nie jesteś właścicielem tych zablokowanych drzwi.
a locked door=zablokowane drzwi
Wooden Door=Drewniane drzwi
Steel Door=Stalowe drzwi
Glass Door=Szklane drzwi
Obsidian Glass Door=Drzwi z obsydianowego szkła
You do not own this trapdoor.=Nie jesteś właścicielem tego włazu.
a locked trapdoor=zablokowany właz
Wooden Trapdoor=Drewniany właz
Steel Trapdoor=Stalowy właz
Apple Wood Fence Gate=Furtka z jabłkowego drzewa
Acacia Wood Fence Gate=Furtka z akacjowego drzewa
Jungle Wood Fence Gate=Furtka z dżunglowego drzewa
Pine Wood Fence Gate=Furtka z sosnowego drzewa
Aspen Wood Fence Gate=Furtka z brzozowego drzewa

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 232 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 133 B

After

Width:  |  Height:  |  Size: 132 B

View File

@ -3,14 +3,14 @@ White Dye=Blanka Tinkturo
Grey Dye=Griza Tinkturo
Dark Grey Dye=Malhela Griza Tinkturo
Black Dye=Nigra Tinkturo
Violet Dye=Viola Tinkturo
Violet Dye=Violkolora Tinkturo
Blue Dye=Blua Tinkturo
Cyan Dye=Bluverda Tinkturo
Dark Green Dye=Malhela Verda Tinkturo
Green Dye=Verda Tinkturo
Yellow Dye=Flava Tinkturo
Brown Dye=Bruna Tinkturo
Orange Dye=Oranĝa Tinkturo
Orange Dye=Oranĝkolora Tinkturo
Red Dye=Ruĝa Tinkturo
Magenta Dye=Fiksina Tinkturo
Pink Dye=Roza Tinkturo
Pink Dye=Rozkolora Tinkturo

View File

@ -13,4 +13,4 @@ Brown Dye=Pewarna Cokelat
Orange Dye=Pewarna Oranye
Red Dye=Pewarna Merah
Magenta Dye=Pewarna Magenta
Pink Dye=Pewarna Merah Jambu
Pink Dye=Pewarna Merah Muda

16
mods/dye/locale/dye.pl.tr Normal file
View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Biały barwnik
Grey Dye=Szary barwnik
Dark Grey Dye=Ciemnoszary barwnik
Black Dye=Czarny barwnik
Violet Dye=Fioletowy barwnik
Blue Dye=Niebieski barwnik
Cyan Dye=Cyjanowy barwnik
Dark Green Dye=Ciemnozielony barwnik
Green Dye=Zielony barwnik
Yellow Dye=Żółty barwnik
Brown Dye=Brązowy barwnik
Orange Dye=Pomarańczowy barwnik
Red Dye=Czerwony barwnik
Magenta Dye=Karmazynowy barwnik
Pink Dye=Różowy barwnik

View File

@ -66,7 +66,7 @@ farming.hoe_on_use = function(itemstack, user, pointed_thing, uses)
if not minetest.is_creative_enabled(player_name) then
-- wear tool
local wdef = itemstack:get_definition()
itemstack:add_wear(65535/(uses-1))
itemstack:add_wear_by_uses(uses)
-- tool break sound
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = pt.above,
@ -178,8 +178,7 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
end
-- add the node and remove 1 item from the itemstack
minetest.log("action", player_name .. " places node " .. plantname .. " at " ..
minetest.pos_to_string(pt.above))
default.log_player_action(placer, "places node", plantname, "at", pt.above)
minetest.add_node(pt.above, {name = plantname, param2 = 1})
tick(pt.above)
if not minetest.is_creative_enabled(player_name) then

View File

@ -25,4 +25,4 @@ Straw Stair=Pajla Ŝtupo
Inner Straw Stair=Interna Pajla Ŝtupo
Outer Straw Stair=Ekstera Pajla Ŝtupo
Straw Slab=Pajla Plato
Wild Cotton=Sovaĝa Katuno
Wild Cotton=Sovaĝa Kotonujo

View File

@ -1,7 +1,7 @@
# textdomain: farming
Hoe=クワ
Seed=種
Wooden Hoe=木のクワ
Wooden Hoe=木のクワ
Stone Hoe=石のクワ
Steel Hoe=鉄のクワ
Bronze Hoe=青銅のクワ
@ -22,7 +22,7 @@ Desert Sand Soil=砂漠の砂の土壌
Wet Desert Sand Soil=湿った砂漠の砂の土壌
Straw=ワラ
Straw Stair=ワラの階段
Inner Straw Stair=へっこんだワラの階段
Outer Straw Stair=でっぱったワラの階段
Straw Slab=ワラのハーフブロック
Inner Straw Stair=ワラの階段
Outer Straw Stair=ワラの階段
Straw Slab=ワラの厚板
Wild Cotton=天然綿

View File

@ -13,7 +13,7 @@ Flour=lo grupu'o
Bread=lo nanba
Cotton Seed=lo tsiju be lo mapni
Cotton=lo mapni
String=lo cilta
String=lo skori
Soil=lo ferti dertu
Wet Soil=lo cilmo ke ferti dertu
Savanna Soil=lo ferti ke sudytu'a dertu

View File

@ -0,0 +1,28 @@
# textdomain: farming
Hoe=Motyka
Seed=Nasiona
Wooden Hoe=Drewniana motyka
Stone Hoe=Kamienna motyka
Steel Hoe=Stalowa motyka
Bronze Hoe=Brązowa motyka
Mese Hoe=Mesowa motyka
Diamond Hoe=Diamentowa motyka
Wheat Seed=Nasiona pszenicy
Wheat=Pszenica
Flour=Mąka
Bread=Chleb
Cotton Seed=Nasiona bawełny
Cotton=Bawełna
String=Nić
Soil=Gleba
Wet Soil=Mokra gleba
Savanna Soil=Sawannowa gleba
Wet Savanna Soil=Mokra sawannowa gleba
Desert Sand Soil=Pustynno-piaszczysta gleba
Wet Desert Sand Soil=Mokra pustynno-piaszczysta gleba
Straw=Słoma
Straw Stair=Słomiane schody
Inner Straw Stair=Wewnętrzne słomiane schody
Outer Straw Stair=Zewnętrzne słomiane schody
Straw Slab=Słomiany półblok
Wild Cotton=Dzika bawełna

View File

@ -1,6 +1,6 @@
# textdomain: farming
Hoe=
Seed=
Hoe=鋤頭
Seed=種子
Wooden Hoe=木鋤頭
Stone Hoe=石鋤頭
Steel Hoe=鐵鋤頭
@ -16,8 +16,8 @@ Cotton=棉
String=線
Soil=土
Wet Soil=溼土
Savanna Soil=
Wet Savanna Soil=
Savanna Soil=草原土
Wet Savanna Soil=溼草原土
Desert Sand Soil=沙漠沙土
Wet Desert Sand Soil=溼沙漠沙土
Straw=稻草
@ -25,7 +25,7 @@ Straw Stair=稻草臺階
Inner Straw Stair=稻草內樓梯
Outer Straw Stair=稻草外樓梯
Straw Slab=稻草板
Wild Cotton=
Wild Cotton=野生棉花
##### not used anymore #####

View File

@ -114,7 +114,7 @@ minetest.register_tool("fire:flint_and_steel", {
if not minetest.is_creative_enabled(player_name) then
-- Wear tool
local wdef = itemstack:get_definition()
itemstack:add_wear(1000)
itemstack:add_wear_by_uses(66)
-- Tool break sound
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then

View File

@ -0,0 +1,4 @@
# textdomain: fire
Fire=Ogień
Permanent Fire=Stały ogień
Flint and Steel=Zapalniczka

View File

@ -108,7 +108,7 @@ minetest.register_tool("fireflies:bug_net", {
end
end
if not minetest.is_creative_enabled(player_name) then
itemstack:add_wear(256)
itemstack:add_wear_by_uses(256)
return itemstack
end
end

View File

@ -1,5 +1,5 @@
# textdomain: fireflies
Firefly=Fulgoro
Hidden Firefly=Kaŝita Fulgoro
Bug Net=Cima Reto
Firefly in a Bottle=Fulgoro en Botelo
Firefly=Lampiro
Hidden Firefly=Kaŝita Lampiro
Bug Net=Insekta Reto
Firefly in a Bottle=Lampiro en Botelo

View File

@ -0,0 +1,5 @@
# textdomain: fireflies
Firefly=Świetlik
Hidden Firefly=Ukryty świetlik
Bug Net=Siatka na owady
Firefly in a Bottle=Świetlik w butelce

View File

@ -1,6 +1,6 @@
# textdomain: flowers
Red Rose=Ruĝa Rozo
Orange Tulip=Oranĝa Tulipo
Orange Tulip=Oranĝkolora Tulipo
Yellow Dandelion=Flava Leontodo
Green Chrysanthemum=Verda Krizantemo
Blue Geranium=Blua Geranio

View File

@ -9,4 +9,4 @@ White Dandelion=lo blabi spatrtaraksaku
Black Tulip=lo xekri tujli
Red Mushroom=lo xunre ledgrute
Brown Mushroom=lo bunre ledgrute
Waterlily=lo spatrnimfe'a
Waterlily=lo jacrulspa

View File

@ -0,0 +1,12 @@
# textdomain: flowers
Red Rose=Czerwona róża
Orange Tulip=Pomarańczowy tulipan
Yellow Dandelion=Żółty mlecz
Green Chrysanthemum=Zielona chryzantema
Blue Geranium=Niebieska pelargonia
Viola=Fiołek
White Dandelion=Biały mlecz
Black Tulip=Czarny tulipan
Red Mushroom=Czerwony muchomor
Brown Mushroom=Brązowy grzyb
Waterlily=Lilia wodna

View File

@ -1,4 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=Ĉesigu vi mem por renaski
Kill yourself to respawn=Sinmortigu por renaski
No static_spawnpoint defined=Ne estas difina static_spawnpoint
You need to be online to be killed!=Vi devas esti onlina por ĉesigi!
You need to be online to be killed!=Vi devas esti enreta por esti mortigita!

View File

@ -0,0 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=Zastosować komendę kill aby się zrespawnować
No static_spawnpoint defined=Nie zdefiniowano static_spawnpoint
You need to be online to be killed!=Musisz być online aby zastosować komendę kill

View File

@ -0,0 +1,5 @@
# textdomain: keys
Key=鍵
Key to @1's @2=@1の@2への鍵
Skeleton Key=スケルトンの鍵

View File

@ -0,0 +1,5 @@
# textdomain: keys
Key=Klucz
Key to @1's @2=Klucz do @2 gracza @1
Skeleton Key=Szkieletowy klucz

View File

@ -1,3 +1,3 @@
# textdomain: map
Mapping Kit=Mapa Ilaro
Use with 'Minimap' key=Uzu per 'malgrandmapo' ŝlosilo
Use with 'Minimap' key=Uzi per 'Minimapo' klavo

View File

@ -1,3 +1,3 @@
# textdomain: map
Mapping Kit=Kit de carthographie
Use with 'Minimap' key=Utiliser avec le bouton « Minimap »
Use with 'Minimap' key=Utiliser avec le bouton « Mini-carte »

View File

@ -0,0 +1,3 @@
# textdomain: map
Mapping Kit=Zestaw kartograficzny
Use with 'Minimap' key=Naciśnij 'Minimap' aby użyć

View File

@ -345,8 +345,11 @@ local function on_receive_fields(player, fields)
data.items = init_items
return true
elseif fields.key_enter_field == "filter" or fields.search then
local new = fields.filter:lower()
elseif (fields.key_enter_field == "filter" or fields.search)
and fields.filter then
local new = fields.filter:sub(1, 128) -- truncate to a sane length
:gsub("[%z\1-\8\11-\31\127]", "") -- strip naughty control characters (keeps \t and \n)
:lower() -- search is case insensitive
if data.filter == new then
return
end

View File

@ -5,50 +5,50 @@ Any sand=Ajna sablo
Any wool=Ajna lano
Any stick=Ajna bastono
Any vessel=Ajna vazo
Any wood planks=Ajna ligna tabulo
Any kind of stone block=Ia ŝtona ŝtipo
Any wood planks=Ajnaj lignaj tabuloj
Any kind of stone block=Ia ŝtona bloko
Any red flower=Ajna ruĝa floro
Any blue flower=Ajna blua floro
Any black flower=Ajna nigra floro
Any green flower=Ajna verda floro
Any white flower=Ajna blanka floro
Any orange flower=Ajna oranĝa floro
Any violet flower=Ajna viola floro
Any orange flower=Ajna oranĝkolora floro
Any violet flower=Ajna violkolora floro
Any yellow flower=Ajna flava floro
Any red dye=Ajna ruĝa tinkturo
Any blue dye=Ajna blua tinkturo
Any cyan dye=Ajna bluverda tinkturo
Any grey dye=Ajna graja tinkturo
Any pink dye=Ajna rosa tinkturo
Any grey dye=Ajna griza tinkturo
Any pink dye=Ajna rozkolora tinkturo
Any black dye=Ajna nigra tinkturo
Any brown dye=Ajna bruna tinkturo
Any green dye=Ajna verda tinkturo
Any white dye=Ajna blanka tinkturo
Any orange dye=Ajna oranĝa tinkturo
Any violet dye=Ajna viola tinkturo
Any orange dye=Ajna oranĝkolora tinkturo
Any violet dye=Ajna violkolora tinkturo
Any yellow dye=Ajna flava tinkturo
Any magenta dye=Ajna fuksina tinkturo
Any dark grey dye=Ajna malhela graja tinkturo
Any dark grey dye=Ajna malhela griza tinkturo
Any dark green dye=Ajna malhela verda tinkturo
# Label for group ingredients
G=A
Any item belonging to the group(s): @1=Ajna objekto de la aro(j)
Unknown Item=Obskura Objekto
Any item belonging to the group(s): @1=Ajna objekto de la aro(j): @1
Unknown Item=Nekonata Objekto
Fuel=Brulaĵo
Usage @1 of @2=Utilo @1 el @2
Usage @1 of @2=Uzo @1 el @2
Recipe @1 of @2=Recepto @1 el @2
Previous recipe=Pasinta recepto
Next recipe=Sekvinta recepto
Recipe is too big to be displayed.=La recepto estas tro granda por prezenti
Previous recipe=Antaŭa recepto
Next recipe=Sekva recepto
Recipe is too big to be displayed.=La recepto estas tro granda por prezenti.
Shapeless=Senforma
Cooking time: @1=Tempo por kuirado: @1
Search=Ŝerĉu
Reset=Rekomincigu
Previous page=Pasinta paĝo
Next page=Sekvinta paĝo
No items to show.=Ne estas objektoj por prezenti
No usages.=Ne estas utiloj
Click again to show recipes.=Anklaku ankoraŭ por prezenti receptojn
No recipes.=Ne estas receptoj
Click again to show usages.=Anklaku ankoraŭ por prezenti utiloj
Search=Serĉi
Reset=Rekomincigi
Previous page=Antaŭa paĝo
Next page=Sekva paĝo
No items to show.=Neniu objekto por prezenti.
No usages.=Neniu uzo.
Click again to show recipes.=Reklaki por prezenti receptojn.
No recipes.=Neniu recepto.
Click again to show usages.=Reklaki por prezenti uzojn.
Recipes=Receptoj

View File

@ -0,0 +1,53 @@
# textdomain: mtg_craftguide
Any coal=Batu bara apa pun
Any sand=Pasir apa pun
Any wool=Wol apa pun
Any stick=Tongkat apa pun
Any vessel=Bejana apa pun
Any wood planks=Papan kayu apa pun
Any kind of stone block=Blok batu apa pun
Any red flower=Bunga merah apa pun
Any blue flower=Bunga biru apa pun
Any black flower=Bunga hitam apa pun
Any green flower=Bunga hijau apa pun
Any white flower=Bunga putih apa pun
Any orange flower=Bunga oranye apa pun
Any violet flower=Bunga ungu apa pun
Any yellow flower=Bunga kuning apa pun
Any red dye=Pewarna merah apa pun
Any blue dye=Pewarna biru apa pun
Any cyan dye=Pewarna sian apa pun
Any grey dye=Pewarna abu apa pun
Any pink dye=Pewarna merah jambu apa pun
Any black dye=Pewarna hitam apa pun
Any brown dye=Pewarna cokelat apa pun
Any green dye=Pewarna hijau apa pun
Any white dye=Pewarna putih apa pun
Any orange dye=Pewarna oranye apa pun
Any violet dye=Pewarna ungu apa pun
Any yellow dye=Pewarna kuning apa pun
Any magenta dye=Pewarna magenta apa pun
Any dark grey dye=Pewarna abu tua apa pun
Any dark green dye=Pewarna hijau tua apa pun
# Label for group ingredients
G=G
Any item belonging to the group(s): @1=Barang apa pun yang termasuk grup: @1
Unknown Item=Barang Tak Diketahui
Fuel=Bahan Bakar
Usage @1 of @2=Pemakaian @1 dari @2
Recipe @1 of @2=Resep @1 dari @2
Previous recipe=Resep sebelumnya
Next recipe=Resep selanjutnya
Recipe is too big to be displayed.=Resep terlalu besar untuk ditampilkan.
Shapeless=Tak berbentuk
Cooking time: @1=Waktu memasak: @1
Search=Cari
Reset=Atur ulang
Previous page=Halaman sebelumnya
Next page=Halaman selanjutnya
No items to show.=Tiada barang untuk ditampilkan.
No usages.=Tiada pemakaian.
Click again to show recipes.=Klik lagi untuk menampilkan resep.
No recipes.=Tiada resep.
Click again to show usages.=Klik lagi untuk menampilkan pemakaian.
Recipes=Resep

View File

@ -0,0 +1,53 @@
# textdomain: mtg_craftguide
Any coal=Dowolny węgiel
Any sand=Dowonly piasek
Any wool=Dowolna wełna
Any stick=Dowolny patyk
Any vessel=Dowolne naczynie
Any wood planks=Dowolne deski
Any kind of stone block=Dowolny rodzaj kamiennego bloku
Any red flower=Dowolny czerwony kwiat
Any blue flower=Dowolny niebieski kwiat
Any black flower=Dowolny czarny kwiat
Any green flower=Dowolny zielony kwiat
Any white flower=Dowolny biały kwiat
Any orange flower=Dowolny pomarańczowy kwiat
Any violet flower=Dowolny fioletowy kwiat
Any yellow flower=Dowolny żółty kwiat
Any red dye=Dowolny czerwony barwnik
Any blue dye=Dowolny niebieski barwnik
Any cyan dye=Dowolny cyjanowy barwnik
Any grey dye=Dowolny szary barwnik
Any pink dye=Dowolny różowy barwnik
Any black dye=Dowolny czarny barwnik
Any brown dye=Dowolny brązowy barwnik
Any green dye=Dowolny zielony barwnik
Any white dye=Dowolny biały barwnik
Any orange dye=Dowolny pomarańczowy barwnik
Any violet dye=Dowolny fioletowy barwnik
Any yellow dye=Dowolny zółty barwnik
Any magenta dye=Dowolny karmazynowy barwnik
Any dark grey dye=Dowolny ciemnoszary barwnik
Any dark green dye=Dowolny ciemnozielony barwnik
# Label for group ingredients
G=G
Any item belonging to the group(s): @1=
Unknown Item=Nieznany przedmiot
Fuel=Paliwo
Usage @1 of @2=Użycie @1 z @2
Recipe @1 of @2=Receptura @1 z @2
Previous recipe=Poprzednia receptura
Next recipe=Następna receptura
Recipe is too big to be displayed.=Receptura jest zbyt duża aby mogła być wyświetlona.
Shapeless=Bez kształtu
Cooking time: @1=Czas przepalania: @1
Search=Wyszukaj
Reset=Zresetuj
Previous page=Poprzednia strona
Next page=Następna strona
No items to show.=Brak przedmiotów do pokazania.
No usages.=Brak użyć.
Click again to show recipes.=Naciśnij jeszcze raz aby pokazać receptury.
No recipes.=Brak receptur.
Click again to show usages.=Naciśnij jeszcze raz aby pokazać użycia.
Recipes=Receptury

View File

@ -4,8 +4,8 @@ Any sand=Любой песок
Any wool=Любая шерсть
Any stick=Любая палка
Any vessel=Любой сосуд
Any wood planks=Любые деревянные палки
Any kind of stone block=Любой каменный блок
Any wood planks=Любые доски
Any kind of stone block=Любой вид каменного блока
Any red flower=Любой красный цветок
Any blue flower=Любой синий цветок
Any black flower=Любой чёрный цветок
@ -16,11 +16,11 @@ Any violet flower=Любой фиолетовый цветок
Any yellow flower=Любой жёлтый цветок
Any red dye=Любая красная краска
Any blue dye=Любая синяя краска
Any cyan dye=Любая сине-зелёная краска
Any cyan dye=Любая голубая краска
Any grey dye=Любая серая краска
Any pink dye=Любая розовая краска
Any black dye=Любая чёрная краска
Any brown dye=Любая коричневая краска
Any brown dye=Любая бурая краска
Any green dye=Любая зелёная краска
Any white dye=Любая белая краска
Any orange dye=Любая оранжевая краска
@ -30,24 +30,24 @@ Any magenta dye=Любая пурпурная краска
Any dark grey dye=Любая тёмно-серая краска
Any dark green dye=Любая тёмно-зелёная краска
# Label for group ingredients
G=
G=Г
Any item belonging to the group(s): @1=Любой предмет из групп(ы): @1
Unknown Item=Неизвествый предмет
Unknown Item=Неизвестный предмет
Fuel=Топливо
Usage @1 of @2=
Recipe @1 of @2=
Usage @1 of @2=Использование @1 из @2
Recipe @1 of @2=Рецепт @1 из @2
Previous recipe=Предыдущий рецепт
Next recipe=Следующий рецепт
Recipe is too big to be displayed.=Рецепт слишком большой для показа
Shapeless=
Cooking time: @1=Время изготовления: @1
Recipe is too big to be displayed.=Рецепт слишком большой для отображения.
Shapeless=Формонезависимый
Cooking time: @1=Время приготовления: @1
Search=Поиск
Reset=Сбросить
Reset=Сброс
Previous page=Предыдущая страница
Next page=Следующая страница
No items to show.=Нет элементов для отображения.
No usages.=
Click again to show recipes.=Нажмите снова для отображения рецептов.
No items to show.=Нет предметов для отображения.
No usages.=Нет использований.
Click again to show recipes.=Кликните снова чтобы увидеть рецепты.
No recipes.=Нет рецептов.
Click again to show usages.=
Click again to show usages.=Кликните снова чтобы увидеть использования.
Recipes=Рецепты

View File

@ -67,7 +67,11 @@ function player_api.set_model(player, model_name)
if player_data.model == model_name then
return
end
-- Update data
player_data.model = model_name
-- Clear animation data as the model has changed
-- (required for setting the `stand` animation not to be a no-op)
player_data.animation, player_data.animation_speed = nil, nil
local model = models[model_name]
if model then
@ -178,11 +182,11 @@ function minetest.calculate_knockback(player, ...)
end
-- Check each player and apply animations
minetest.register_globalstep(function()
for _, player in pairs(minetest.get_connected_players()) do
function player_api.globalstep()
for _, player in ipairs(minetest.get_connected_players()) do
local name = player:get_player_name()
local player_data = players[name]
local model = models[player_data.model]
local model = player_data and models[player_data.model]
if model and not player_attached[name] then
local controls = player:get_player_control()
local animation_speed_mod = model.animation_speed or 30
@ -208,6 +212,11 @@ minetest.register_globalstep(function()
end
end
end
end
-- Mods can modify the globalstep by overriding player_api.globalstep
minetest.register_globalstep(function(...)
player_api.globalstep(...)
end)
for _, api_function in pairs({"get_animation", "set_animation", "set_model", "set_textures"}) do

View File

@ -60,6 +60,19 @@ end
screwdriver.rotate.colorfacedir = screwdriver.rotate.facedir
screwdriver.rotate["4dir"] = function(pos, node, mode)
if mode ~= screwdriver.ROTATE_FACE then
-- Can only rotate 4dir nodes in face mode
return nil
end
local rotation = node.param2 % 4 -- get first 2 bits
local other = node.param2 - rotation
rotation = (rotation + 1) % 4
return rotation + other
end
screwdriver.rotate["color4dir"] = screwdriver.rotate["4dir"]
local wallmounted_tbl = {
[screwdriver.ROTATE_FACE] = {[2] = 5, [3] = 4, [4] = 2, [5] = 3, [1] = 0, [0] = 1},
[screwdriver.ROTATE_AXIS] = {[2] = 5, [3] = 4, [4] = 2, [5] = 1, [1] = 0, [0] = 3}
@ -113,6 +126,10 @@ screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses)
local new_param2
if fn then
new_param2 = fn(pos, node, mode)
if not new_param2 then
-- rotation refused
return itemstack
end
else
new_param2 = node.param2
end
@ -141,7 +158,7 @@ screwdriver.handler = function(itemstack, user, pointed_thing, mode, uses)
end
if not minetest.is_creative_enabled(player_name) then
itemstack:add_wear(65535 / ((uses or 200) - 1))
itemstack:add_wear_by_uses(uses or 200)
end
return itemstack

View File

@ -1,3 +1,3 @@
# textdomain: screwdriver
Screwdriver=Ŝraŭbturnilo
(left-click rotates face, right-click rotates axis)=(maldekstra-klako turnas supraĵo, dekstra-klako turnas akso)
(left-click rotates face, right-click rotates axis)=(maldekstra-klako turnas supraĵon, dekstra-klako turnas akson)

View File

@ -0,0 +1,3 @@
# textdomain: screwdriver
Screwdriver=Śrubokręt
(left-click rotates face, right-click rotates axis)=(lewy przycisk myszy obraca powierzchnię, prawy przycisk myszy obraca oś)

View File

@ -52,6 +52,9 @@ end
sethome.get = function(name)
local player = minetest.get_player_by_name(name)
if not player then
return false, S("This command can only be executed in-game!")
end
local player_meta = player:get_meta()
local pos = minetest.string_to_pos(player_meta:get_string("sethome:home"))
if pos then
@ -86,6 +89,10 @@ minetest.register_chatcommand("home", {
description = S("Teleport you to your home point"),
privs = {home = true},
func = function(name)
local player = minetest.get_player_by_name(name)
if not player then
return false, S("This command can only be executed in-game!")
end
if sethome.go(name) then
return true, S("Teleported to home!")
end

View File

@ -1,4 +1,5 @@
# textdomain: sethome
This command can only be executed in-game!=Dieser Befehl kann nur im Spiel ausgeführt werden!
Can use /sethome and /home=Kann /sethome und /home benutzen
Teleport you to your home point=Teleportieren Sie sich zu Ihrem Zuhause-Punkt
Teleported to home!=Nach Hause teleportiert!

View File

@ -1,8 +1,9 @@
# textdomain: sethome
This command can only be executed in-game!=
Can use /sethome and /home=Povas uzi /sethome kaj /home
Teleport you to your home point=Teletransportu vi al via hejmo
Teleported to home!=Teletransportis al hejmo!
Teleport you to your home point=Teletransporti vin al via hejmo
Teleported to home!=Teletransportita al hejmo!
Set a home using /sethome=Fiksi hejmon per /sethome
Set your home point=Fiksi vian hejman punkto
Home set!=Hejmo fiksis!
Player not found!=Ludanto ne estas trovebla!
Set your home point=Fiksi vian hejman punkton
Home set!=Fiksita hejmo!
Player not found!=Ludanto ne troveblas!

View File

@ -1,4 +1,5 @@
# textdomain: sethome
This command can only be executed in-game!=
Can use /sethome and /home=Puedes usar /sethome y /home
Teleport you to your home point=Teletranspórtate a tu hogar
Teleported to home!=¡Teletransportado a tu hogar!

Some files were not shown because too many files have changed in this diff Show More