Merge branch 'master' into patch-2

This commit is contained in:
Richard Try 2022-07-29 16:03:35 +03:00 committed by GitHub
commit 59b17c1325
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
255 changed files with 3729 additions and 1574 deletions

16
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,16 @@
name: build
on: [push, pull_request]
jobs:
luacheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install Luarocks
run: |
sudo apt-get update -qyy
sudo apt-get install luarocks -qyy
- name: Install Luacheck
run: luarocks install --local luacheck
- name: Run Luacheck
run: $HOME/.luarocks/bin/luacheck mods

View File

@ -1,11 +0,0 @@
language: generic
addons:
apt:
packages:
- luarocks
before_install:
- luarocks install --local luacheck
script:
- $HOME/.luarocks/bin/luacheck ./mods
notifications:
email: false

View File

@ -1,31 +1,29 @@
# Minetest Game # Minetest Game
The default game bundled in the Minetest engine. The default game bundled in the Minetest engine.
For further information, check For further information, check [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724).
[this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724).
Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) for more information.
for more information.
## Installation ## Installation
- Unzip the archive, rename the folder to minetest_game and - Unzip the archive, rename the folder to `minetest_game` and
place it in .. minetest/games/ place it in .. `minetest/games/`
- GNU/Linux: If you use a system-wide installation place - GNU/Linux: If you use a system-wide installation place it in `~/.minetest/games/`.
it in ~/.minetest/games/.
The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest). The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest).
For further information or help, see: For further information or help, see: [Installing Mods](https://wiki.minetest.net/Installing_Mods).
https://wiki.minetest.net/Installing_Mods
## Compatibility ## Compatibility
The Minetest Game GitHub master HEAD is generally compatible with the GitHub The Minetest Game GitHub `master` `HEAD` is generally compatible with the GitHub
master HEAD of the Minetest engine. `master` `HEAD` of the Minetest engine.
Additionally, when the Minetest engine is tagged to be a certain version (e.g. Additionally, when the Minetest engine is tagged to be a certain version (e.g.
0.4.10), Minetest Game is tagged with the version too. `0.4.10`), Minetest Game is tagged with the version, too.
When stable releases are made, Minetest Game and the Minetest engine is packaged When stable releases are made, Minetest Game and the Minetest engine is packaged
and made available at [www.minetest.net](https://www.minetest.net/downloads/). and made available at [www.minetest.net](https://www.minetest.net/downloads/).

View File

@ -1,3 +1,3 @@
name = Minetest Game title = Minetest Game
author = Minetest 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. 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

@ -218,6 +218,8 @@ The doors mod allows modders to register custom doors and trapdoors.
description = "Door description", description = "Door description",
inventory_image = "mod_door_inv.png", inventory_image = "mod_door_inv.png",
groups = {choppy = 2}, groups = {choppy = 2},
model = "mod_door", -- (optional)
-- Model name without a suffix ("big_door" not "big_door_a.obj", "big_door_b.obj")
tiles = {"mod_door.png"}, -- UV map. tiles = {"mod_door.png"}, -- UV map.
-- The front and back of the door must be identical in appearence as they swap on -- The front and back of the door must be identical in appearence as they swap on
-- open/close. -- open/close.
@ -225,14 +227,20 @@ The doors mod allows modders to register custom doors and trapdoors.
sounds = default.node_sound_wood_defaults(), -- optional sounds = default.node_sound_wood_defaults(), -- optional
sound_open = sound play for open door, -- optional sound_open = sound play for open door, -- optional
sound_close = sound play for close door, -- optional sound_close = sound play for close door, -- optional
gain_open = 0.3, -- optional, defaults to 0.3
gain_close = 0.3, -- optional, defaults to 0.3
protected = false, -- If true, only placer can open the door (locked for others) protected = false, -- If true, only placer can open the door (locked for others)
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing),
-- optional function containing the on_rightclick callback, defaults to a doors.door_toggle-wrapper -- optional function containing the on_rightclick callback, defaults to a doors.door_toggle-wrapper
use_texture_alpha = "clip",
### Trapdoor definition ### Trapdoor definition
description = "Trapdoor description", description = "Trapdoor description",
inventory_image = "mod_trapdoor_inv.png", inventory_image = "mod_trapdoor_inv.png",
nodebox_closed = {} -- Nodebox for closed model
nodebox_opened = {} -- Nodebox for opened model
-- (optional) both nodeboxes must be used, not one only
groups = {choppy = 2}, groups = {choppy = 2},
tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor
tile_side = "doors_trapdoor_side.png", tile_side = "doors_trapdoor_side.png",
@ -244,11 +252,12 @@ The doors mod allows modders to register custom doors and trapdoors.
sounds = default.node_sound_wood_defaults(), -- optional sounds = default.node_sound_wood_defaults(), -- optional
sound_open = sound play for open door, -- optional sound_open = sound play for open door, -- optional
sound_close = sound play for close door, -- optional sound_close = sound play for close door, -- optional
gain_open = 0.3, -- optional, defaults to 0.3
gain_close = 0.3, -- optional, defaults to 0.3
protected = false, -- If true, only placer can open the door (locked for others) protected = false, -- If true, only placer can open the door (locked for others)
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) ,
-- function containing the on_rightclick callback
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- function containing the on_rightclick callback -- function containing the on_rightclick callback
use_texture_alpha = "clip",
### Fence gate definition ### Fence gate definition
@ -258,7 +267,7 @@ The doors mod allows modders to register custom doors and trapdoors.
material = "default:wood", material = "default:wood",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
sounds = default.node_sound_wood_defaults(), -- optional sounds = default.node_sound_wood_defaults(), -- optional
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
-- function containing the on_rightclick callback -- function containing the on_rightclick callback
@ -431,11 +440,16 @@ Player API
The player API can register player models and update the player's appearance. 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)` * `player_api.register_model(name, def)`
* Register a new model to be used by players * Register a new model to be used by players
* `name`: model filename such as "character.x", "foo.b3d", etc. * `name`: model filename such as "character.x", "foo.b3d", etc.
* `def`: see [#Model definition] * `def`: see [#Model definition]
* Saved to player_api.registered_models * Saved to player_api.registered_models
* `player_api.registered_models[name]` * `player_api.registered_models[name]`
* Get a model's definition * Get a model's definition
@ -445,19 +459,25 @@ The player API can register player models and update the player's appearance.
* `player_api.set_model(player, model_name)` * `player_api.set_model(player, model_name)`
* Change a player's model * Change a player's model
* `player`: PlayerRef * `player`: PlayerRef
* `model_name`: model registered with player_api.register_model() * `model_name`: model registered with `player_api.register_model`
* `player_api.set_animation(player, anim_name, speed)` * `player_api.set_animation(player, anim_name, speed)`
* Applies an animation to a player * Applies an animation to a player if speed or anim_name differ from the currently playing animation
* `player`: PlayerRef * `player`: PlayerRef
* `anim_name`: name of the animation * `anim_name`: name of the animation
* `speed`: frames per second. If nil, the default from the model def is used * `speed`: keyframes per second. If nil, the default from the model def is used
* `player_api.set_textures(player, textures)` * `player_api.set_textures(player, textures)`
* Sets player textures * Sets player textures
* `player`: PlayerRef * `player`: PlayerRef
* `textures`: array of textures. If nil, the default from the model def is used * `textures`: array of textures. If nil, the default from the model def is used
* `player_api.set_textures(player, index, texture)`
* Sets one of the player textures
* `player`: PlayerRef
* `index`: Index into array of all textures
* `texture`: the texture string
* `player_api.get_animation(player)` * `player_api.get_animation(player)`
* Returns a table containing fields `model`, `textures` and `animation` * Returns a table containing fields `model`, `textures` and `animation`
* Any of the fields of the returned table may be nil * Any of the fields of the returned table may be nil
@ -473,18 +493,25 @@ The player API can register player models and update the player's appearance.
### Model Definition ### Model Definition
{ {
animation_speed = 30, -- Default animation speed, in FPS animation_speed = 30, -- Default animation speed, in keyframes per second
textures = {"character.png", }, -- Default array of textures textures = {"character.png"}, -- Default array of textures
visual_size = {x = 1, y = 1}, -- Used to scale the model
animations = { animations = {
-- <anim_name> = {x = <start_frame>, y = <end_frame>}, -- [anim_name] = {
foo = {x = 0, y = 19}, -- x = <start_frame>,
bar = {x = 20, y = 39}, -- y = <end_frame>,
-- ... -- collisionbox = <model collisionbox>, -- (optional)
-- eye_height = <model eye height>, -- (optional)
-- -- suspend client side animations while this one is active (optional)
-- override_local = <true/false>
-- },
stand = ..., lay = ..., walk = ..., mine = ..., walk_mine = ..., -- required animations
sit = ... -- used by boats and other MTG mods
}, },
collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3}, -- In nodes from feet position -- Default object properties, see lua_api.txt
stepheight = 0.6, -- In nodes visual_size = {x = 1, y = 1},
eye_height = 1.47, -- In nodes above feet position collisionbox = {-0.3, 0.0, -0.3, 0.3, 1.7, 0.3},
stepheight = 0.6,
eye_height = 1.47
} }
@ -719,6 +746,12 @@ Stairs API
The stairs API lets you register stairs and slabs and ensures that they are registered the same way as those The stairs API lets you register stairs and slabs and ensures that they are registered the same way as those
delivered with Minetest Game, to keep them compatible with other mods. delivered with Minetest Game, to keep them compatible with other mods.
The following node attributes are sourced from the recipeitem:
* use_texture_alpha
* sunlight_propagates
* light_source
* If the recipeitem is a fuel, the stair/slab is also registered as a fuel of proportionate burntime.
`stairs.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex)` `stairs.register_stair(subname, recipeitem, groups, images, description, sounds, worldaligntex)`
* Registers a stair * Registers a stair
@ -1082,3 +1115,33 @@ This function registers a shapeless recipe that takes `ingredient`
and `result` as input and outputs `result`. and `result` as input and outputs `result`.
The metadata of the input `result` is copied to the output `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)`
* sets the callbacks `on_metadata_inventory_move`,
`on_metadata_inventory_put` and `on_metadata_inventory_take`
that log corresponding actions
* `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. # Helps rivers create more sound, especially on level sections.
#river_source_sounds = false #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. # Non-functional in V6 or Singlenode mapgens.
#enable_weather = true #enable_weather = true
# If enabled, non-player actions are logged
#log_non_player_actions = false

View File

@ -116,8 +116,6 @@ local function lay_down(player, pos, bed_pos, state, skip)
beds.bed_position[name] = bed_pos beds.bed_position[name] = bed_pos
beds.player[name] = {physics_override = player:get_physics_override()} beds.player[name] = {physics_override = player:get_physics_override()}
-- physics, eye_offset, etc
player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0})
local yaw, param2 = get_look_yaw(bed_pos) local yaw, param2 = get_look_yaw(bed_pos)
player:set_look_horizontal(yaw) player:set_look_horizontal(yaw)
local dir = minetest.facedir_to_dir(param2) local dir = minetest.facedir_to_dir(param2)

View File

@ -1,8 +1,10 @@
# textdomain: beds # textdomain: beds
Leave Bed=Ellitiĝu
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.
Fancy Bed=Luksa Lito Fancy Bed=Luksa Lito
Simple Bed=Simpla Lito Simple Bed=Simpla Lito
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=Devigi noktan salton
You can only sleep at night.=Vi povas dormi nur nokte.
Leave Bed=Ellitiĝi

View File

@ -1,8 +1,8 @@
# textdomain: beds # textdomain: beds
Fancy Bed=Lit chic Fancy Bed=Lit chic
Simple Bed=Lit simple Simple Bed=Lit simple
This bed is already occupied!= This bed is already occupied!=Ce lit est déjà occupé !
You have to stop moving before going to bed!= You have to stop moving before going to bed!=Vous devez arrêter de bouger avant de vous coucher !
Good morning.=Bonjour. Good morning.=Bonjour.
@1 of @2 players are in bed=@1 joueur(s) sur @2 sont au lit @1 of @2 players are in bed=@1 joueur(s) sur @2 sont au lit
Force night skip=Forcer le passage de la nuit Force night skip=Forcer le passage de la nuit

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=ファンシーなベッド
Simple Bed=シンプルなベッド
This bed is already occupied!=ベッドはすでに使われています!
You have to stop moving before going to bed!=寝るときは動かないでください!
Good morning.=おはようございます。
@1 of @2 players are in bed=ベッドに@1 / @2人います
Force night skip=強制的に夜をスキップします
You can only sleep at night.=夜しか寝れません。
Leave Bed=ベッドから出ます

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 # textdomain: beds
Fancy Bed=Детализированная Кровать Fancy Bed=Детализированная Кровать
Simple Bed=Обычная Кровать Simple Bed=Обычная Кровать
This bed is already occupied!= This bed is already occupied!=Эта кровать уже занята!
You have to stop moving before going to bed!= You have to stop moving before going to bed!=Нельзя воспользоваться кроватью на ходу!
Good morning.=Доброе утро. Good morning.=Доброе утро.
@1 of @2 players are in bed=@1 из @2 игроков в кровати @1 of @2 players are in bed=@1 из @2 игроков в кровати
Force night skip=Пропустить ночь Force night skip=Пропустить ночь

View File

@ -1,10 +0,0 @@
# textdomain: beds
Fancy Bed=Fin säng
Simple Bed=Enkel Säng
This bed is already occupied!=
You have to stop moving before going to bed!=
Good morning.= God morgon.
@1 of @2 players are in bed=@1 av @2 spelar försöker sover.
Force night skip=Tvinga över natten
You can only sleep at night.=Du kan bara sova på natten.
Leave Bed=Lämna Säng

View File

@ -1,8 +1,8 @@
# textdomain: beds # textdomain: beds
Fancy Bed=Pekná posteľ Fancy Bed=Pekná posteľ
Simple Bed=Jednoduchá posteľ Simple Bed=Jednoduchá posteľ
This bed is already occupied!= This bed is already occupied!=Táto posteľ je už obsadená
You have to stop moving before going to bed!= You have to stop moving before going to bed!=Predtým ako si ľahneš do postele, sa musíš prestať pohybovať!
Good morning.=Dobré ráno. Good morning.=Dobré ráno.
@1 of @2 players are in bed=@1 z @2 hráčov sú v posteli @1 of @2 players are in bed=@1 z @2 hráčov sú v posteli
Force night skip=Nútene preskočiť noc Force night skip=Nútene preskočiť noc

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Fin säng
Simple Bed=Enkel säng
This bed is already occupied!=Den här sängen används redan!
You have to stop moving before going to bed!=Du måste stanna innan du kan lägga dig!
Good morning.=God morgon.
@1 of @2 players are in bed=@1 av @2 spelare försöker sova.
Force night skip=Tvinga att hoppa över natt
You can only sleep at night.=Du kan bara sova på natten.
Leave Bed=Lämna säng

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Деталізована Постіль
Simple Bed=Звичайна Постіль
This bed is already occupied!=Ця постіль вже зайнята!
You have to stop moving before going to bed!=Не можна скористатись постіллю на ходу!
Good morning.=Доброго ранку.
@1 of @2 players are in bed=@1 з @2 гравців в ліжку
Force night skip=Пропустити ніч
You can only sleep at night.=Ви можете спати тільки вночі.
Leave Bed=Встати з ліжка

View File

@ -1,8 +1,8 @@
# textdomain: beds # textdomain: beds
Fancy Bed=花式床 Fancy Bed=花式床
Simple Bed=简易床 Simple Bed=简易床
This bed is already occupied!= This bed is already occupied!=床上已有人!
You have to stop moving before going to bed!= You have to stop moving before going to bed!=上床前要停止移动!
Good morning.=早安! Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上 @1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=强制跳过夜晚 Force night skip=强制跳过夜晚

View File

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

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=双眼鏡
Use with 'Zoom' key=ズームキーで使います

View File

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

View File

@ -1,3 +0,0 @@
# textdomain: binoculars
Binoculars=Kikare
Use with 'Zoom' key=Används med 'Zoom' knappen

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Kikare
Use with 'Zoom' key=Använd med 'Zoom'-knappen

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Бінокль
Use with 'Zoom' key=Використовується з правами 'Zoom'

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=クルージングモード・オン
Boat cruise mode off=クルージングモード・オフ
Boat=ボート

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 # textdomain: boats
Boat cruise mode on=Cestovný režim loďky zapnutý Boat cruise mode on=Cestovný režim loďky je zapnutý
Boat cruise mode off=Cestovný režim loďky vypnutý Boat cruise mode off=Cestovný režim loďky je vypnutý
Boat=Loďka Boat=Loďka

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Режим мандрування на човні увімкнено
Boat cruise mode off=Режим мандрування на човні вимкнено
Boat=Човен

View File

@ -1,8 +1,8 @@
# textdomain: bones # textdomain: bones
Bones=Ostoj 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.=@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 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 metis. @1 died at @2, and bones were placed.=@1 mortis ĉe @2, kaj ostoj estas demetitaj.
@1's fresh bones=La nova ostoj de @1 @1's fresh bones=La freŝaj ostoj de @1
@1's bones=La ostoj de @1 @1's bones=La ostoj de @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=骨
@1's old bones=@1の古い骨
@1 died at @2.=@1は@2で死亡しました。
@1 died at @2, and dropped their inventory.=@1は@2で死亡して持ち物を落としました。
@1 died at @2, and bones were placed.=@1は@2で死亡して骨が残されました。
@1's fresh bones=@1の新鮮な骨
@1's bones=@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

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Кістки
@1's old bones=старі кістки @1
@1 died at @2.=@1 помер в @2.
@1 died at @2, and dropped their inventory.=@1 помер в @2, та загубив вміст свого інвентарю.
@1 died at @2, and bones were placed.=@1 помер в @2, розміщені кістки.
@1's fresh bones=нові кістки @1
@1's bones=кістки @1

View File

@ -2,7 +2,7 @@
Bones=骨骸 Bones=骨骸
@1's old bones=@1的旧骨骸 @1's old bones=@1的旧骨骸
@1 died at @2.=@1在@2死亡。 @1 died at @2.=@1在@2死亡。
@1 died at @2, and dropped their inventory.=@1在@2死亡丢掉了物品 @1 died at @2, and dropped their inventory.=@1在@2死亡丢掉了所有物品。
@1 died at @2, and bones were placed.=@1在@2死亡骨骸被放置 @1 died at @2, and bones were placed.=@1在@2死亡已放置骨骸
@1's fresh bones=@1的新鲜骨骸 @1's fresh bones=@1的新鲜骨骸
@1's bones=@1的骨骸 @1's bones=@1的骨骸

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=空のバケツ
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,5 +0,0 @@
# textdomain: bucket
Empty Bucket=Tom hink
Water Bucket=Vatten hink
River Water Bucket=Flodvatten hink
Lava Bucket=Lava hink

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Tom hink
Water Bucket=Vattenhink
River Water Bucket=Flodvattenshink
Lava Bucket=Lavahink

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Пусте Відро
Water Bucket=Відро З Водою
River Water Bucket=Відро З Річною Водою
Lava Bucket=Відро З Лавою

View File

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

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=白色の蝶
Red Butterfly=赤色の蝶
Violet Butterfly=紫色の蝶

View File

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

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Білий Метелик
Red Butterfly=Червоний Метелик
Violet Butterfly=Фіолетовий Метелик

View File

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

View File

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

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=トロッコ
(Sneak+Click to pick up)=(スニークキーとクリックで乗ります)
Rail=レール
Powered Rail=パワードレール
Brake Rail=ブレーキレール

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

@ -3,4 +3,4 @@ Cart=Vagn
(Sneak+Click to pick up)=(Shift+Klicka för att plocka upp) (Sneak+Click to pick up)=(Shift+Klicka för att plocka upp)
Rail=Räls Rail=Räls
Powered Rail=Aktiverad räls Powered Rail=Aktiverad räls
Brake Rail=Broms räls Brake Rail=Bromsräls

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Вагонетка
(Sneak+Click to pick up)=(Пригніться та клікніть по вагонетці, щоб забрати)
Rail=Рейки
Powered Rail=Задіяні Рейки
Brake Rail=Гальмівні Рейки

View File

@ -125,7 +125,7 @@ function creative.update_creative_inventory(player_name, tab_content)
end end
-- Create the trash field -- Create the trash field
local trash = minetest.create_detached_inventory("creative_trash", { local trash = minetest.create_detached_inventory("trash", {
-- Allow the stack to be placed and remove it in on_put() -- Allow the stack to be placed and remove it in on_put()
-- This allows the creative inventory to restore the stack -- This allows the creative inventory to restore the stack
allow_put = function(inv, listname, index, stack, player) allow_put = function(inv, listname, index, stack, player)
@ -157,7 +157,7 @@ function creative.register_tab(name, title, items)
[[ [[
image[4.08,4.2;0.8,0.8;creative_trash_icon.png] image[4.08,4.2;0.8,0.8;creative_trash_icon.png]
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]
list[detached:creative_trash;main;4.02,4.1;1,1;] list[detached:trash;main;4.02,4.1;1,1;]
listring[] listring[]
image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;] 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.2,4.05;0.8,0.8;creative_next_icon.png;creative_next;]

View File

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

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=プレーヤーにクリエイティブ インベントリーの使用を許可する
Search=検索
Reset=リセット
Previous page=前のページ
Next page=次のページ
All=すべて
Nodes=ブロック
Tools=道具
Items=アイテム

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,10 +0,0 @@
# textdomain: creative
Allow player to use creative inventory=Tilllåt spelare att används kreativa saker
Search=Sök
Reset=Återställ
Previous page=Förra sidan
Next page=Nästa sidan
All=Alla
Nodes=Noder
Tools=Verktyg
Items=Saker

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Tillåt spelare att använda kreativa saker
Search=Sök
Reset=Återställ
Previous page=Förra sida
Next page=Nästa sida
All=Alla
Nodes=Noder
Tools=Verktyg
Items=Saker

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Дозволити гравцеві використати творчий інвентар
Search=Пошук
Reset=Скинути
Previous page=Попередня сторінка
Next page=Наступна сторінка
All=Все
Nodes=Ноди
Tools=Інструменти
Items=Предмети

View File

@ -178,7 +178,7 @@ Gambit (CC BY-SA 3.0):
default_iron_lump.png default_iron_lump.png
default_gold_lump.png default_gold_lump.png
default_clay_lump.png default_clay_lump.png
default_coal.png default_coal_lump.png
default_grass_*.png default_grass_*.png
default_paper.png default_paper.png
default_diamond_block.png default_diamond_block.png
@ -188,8 +188,6 @@ Gambit (CC BY-SA 3.0):
default_snow.png default_snow.png
default_snow_side.png default_snow_side.png
default_snowball.png default_snowball.png
default_key.png
default_key_skeleton.png
default_book.png default_book.png
asl97 (CC BY-SA 3.0): asl97 (CC BY-SA 3.0):
@ -299,7 +297,6 @@ https://www.freesound.org/people/AGFX/packs/1253/
default_water_footstep.1.ogg default_water_footstep.1.ogg
default_water_footstep.2.ogg default_water_footstep.2.ogg
default_water_footstep.3.ogg default_water_footstep.3.ogg
(default_water_footstep.4.ogg is silent)
blukotek (CC0 1.0): blukotek (CC0 1.0):
https://www.freesound.org/people/blukotek/sounds/251660/ https://www.freesound.org/people/blukotek/sounds/251660/

View File

@ -222,21 +222,7 @@ function default.chest.register_chest(prefixed_name, d)
end end
end end
def.on_metadata_inventory_move = function(pos, from_list, from_index, default.set_inventory_action_loggers(def, "chest")
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
local def_opened = table.copy(def) local def_opened = table.copy(def)
local def_closed = table.copy(def) local def_closed = table.copy(def)

View File

@ -3,6 +3,52 @@
-- support for MT game translation. -- support for MT game translation.
local S = default.get_translator local S = default.get_translator
local esc = minetest.formspec_escape
local formspec_size = "size[8,8]"
local function formspec_core(tab)
if tab == nil then tab = 1 else tab = tostring(tab) end
return "tabheader[0,0;book_header;" ..
esc(S("Write")) .. "," ..
esc(S("Read")) .. ";" ..
tab .. ";false;false]"
end
local function formspec_write(title, text)
return "field[0.5,1;7.5,0;title;" .. esc(S("Title:")) .. ";" ..
esc(title) .. "]" ..
"textarea[0.5,1.5;7.5,7;text;" .. esc(S("Contents:")) .. ";" ..
esc(text) .. "]" ..
"button_exit[2.5,7.5;3,1;save;" .. esc(S("Save")) .. "]"
end
local function formspec_read(owner, title, string, text, page, page_max)
return "label[0.5,0.5;" .. esc(S("by @1", owner)) .. "]" ..
"tablecolumns[color;text]" ..
"tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
"table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" ..
"textarea[0.5,1.5;7.5,7;;" ..
esc(string ~= "" and string or text) .. ";]" ..
"button[2.4,7.6;0.8,0.8;book_prev;<]" ..
"label[3.2,7.7;" .. esc(S("Page @1 of @2", page, page_max)) .. "]" ..
"button[4.9,7.6;0.8,0.8;book_next;>]"
end
local function formspec_string(lpp, page, lines, string)
for i = ((lpp * page) - lpp) + 1, lpp * page do
if not lines[i] then break end
string = string .. lines[i] .. "\n"
end
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 lpp = 14 -- Lines per book's page
local function book_on_use(itemstack, user) local function book_on_use(itemstack, user)
local player_name = user:get_player_name() local player_name = user:get_player_name()
@ -19,8 +65,8 @@ local function book_on_use(itemstack, user)
local data = meta:to_table().fields local data = meta:to_table().fields
if data.owner then if data.owner then
title = data.title title = data.title or ""
text = data.text text = data.text or ""
owner = data.owner owner = data.owner
for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do
@ -30,37 +76,28 @@ local function book_on_use(itemstack, user)
if data.page then if data.page then
page = data.page page = data.page
page_max = data.page_max page_max = data.page_max
string = formspec_string(lpp, page, lines, string)
for i = ((lpp * page) - lpp) + 1, lpp * page do
if not lines[i] then break end
string = string .. lines[i] .. "\n"
end
end end
end end
local formspec local formspec
local esc = minetest.formspec_escape if title == "" and text == "" then
if owner == player_name then formspec = formspec_write(title, text)
formspec = "size[8,8]" .. elseif owner == player_name then
"field[0.5,1;7.5,0;title;" .. esc(S("Title:")) .. ";" .. local tab = tab_number or 1
esc(title) .. "]" .. if tab == 2 then
"textarea[0.5,1.5;7.5,7;text;" .. esc(S("Contents:")) .. ";" .. formspec = formspec_core(tab) ..
esc(text) .. "]" .. formspec_read(owner, title, string, text, page, page_max)
"button_exit[2.5,7.5;3,1;save;" .. esc(S("Save")) .. "]" else
formspec = formspec_core(tab) .. formspec_write(title, text)
end
else else
formspec = "size[8,8]" .. formspec = formspec_read(owner, title, string, text, page, page_max)
"label[0.5,0.5;" .. esc(S("by @1", owner)) .. "]" ..
"tablecolumns[color;text]" ..
"tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
"table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" ..
"textarea[0.5,1.5;7.5,7;;" ..
minetest.formspec_escape(string ~= "" and string or text) .. ";]" ..
"button[2.4,7.6;0.8,0.8;book_prev;<]" ..
"label[3.2,7.7;" .. esc(S("Page @1 of @2", page, page_max)) .. "]" ..
"button[4.9,7.6;0.8,0.8;book_next;>]"
end end
minetest.show_formspec(player_name, "default:book", formspec) 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 return itemstack
end end
@ -68,14 +105,56 @@ local max_text_size = 10000
local max_title_size = 80 local max_title_size = 80
local short_title_size = 35 local short_title_size = 35
minetest.register_on_player_receive_fields(function(player, formname, fields) 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 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
if fields.save and fields.title and fields.text local title = data.title or ""
and fields.title ~= "" and fields.text ~= "" then local text = data.text or ""
local new_stack, data
if stack:get_name() ~= "default:book_written" then if fields.book_header ~= nil and data.owner == player_name then
local contents
local tab = tonumber(fields.book_header)
if tab == 1 then
contents = formspec_core(tab) ..
formspec_write(title, text)
elseif tab == 2 then
local lines, string = {}, ""
for str in (text .. "\n"):gmatch("([^\n]*)[\n]") do
lines[#lines+1] = str
end
string = formspec_string(lpp, data.page, lines, string)
contents = formspec_read(player_name, title, string,
text, data.page, data.page_max)
end
tab_number = tab
local formspec = formspec_size .. formspec_core(tab) .. contents
minetest.show_formspec(player_name, "default:book", formspec)
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 not written then
local count = stack:get_count() local count = stack:get_count()
if count == 1 then if count == 1 then
stack:set_name("default:book_written") stack:set_name("default:book_written")
@ -83,11 +162,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
stack:set_count(count - 1) stack:set_count(count - 1)
new_stack = ItemStack("default:book_written") new_stack = ItemStack("default:book_written")
end end
else
data = stack:get_meta():to_table().fields
end end
if data and data.owner and data.owner ~= player:get_player_name() then if data.owner ~= player_name and title ~= "" and text ~= "" then
return return
end end
@ -117,8 +194,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end end
elseif fields.book_next or fields.book_prev then elseif fields.book_next or fields.book_prev then
local data = stack:get_meta():to_table().fields if not data.page then
if not data or not data.page then
return return
end end
@ -142,64 +218,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end end
-- Update stack -- Update stack
player:set_wielded_item(stack) inv:set_stack(wield_list, wield_index, stack)
end) end)
minetest.register_craftitem("default:skeleton_key", {
description = S("Skeleton Key"),
inventory_image = "default_key_skeleton.png",
on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then
return itemstack
end
local pos = pointed_thing.under
local node = minetest.get_node(pos)
if not node then
return itemstack
end
local node_reg = minetest.registered_nodes[node.name]
local on_skeleton_key_use = node_reg and node_reg.on_skeleton_key_use
if not on_skeleton_key_use then
return itemstack
end
-- make a new key secret in case the node callback needs it
local random = math.random
local newsecret = string.format(
"%04x%04x%04x%04x",
random(2^16) - 1, random(2^16) - 1,
random(2^16) - 1, random(2^16) - 1)
local secret, _, _ = on_skeleton_key_use(pos, user, newsecret)
if secret then
local inv = minetest.get_inventory({type="player", name=user:get_player_name()})
-- update original itemstack
itemstack:take_item()
-- finish and return the new key
local new_stack = ItemStack("default:key")
local meta = new_stack:get_meta()
meta:set_string("secret", secret)
meta:set_string("description", S("Key to @1's @2", user:get_player_name(),
minetest.registered_nodes[node.name].description))
if itemstack:get_count() == 0 then
itemstack = new_stack
else
if inv:add_item("main", new_stack):get_count() > 0 then
minetest.add_item(user:get_pos(), new_stack)
end -- else: added to inventory successfully
end
return itemstack
end
end
})
-- --
-- Craftitem registry -- Craftitem registry
@ -428,13 +449,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:skeleton_key",
recipe = {
{"default:gold_ingot"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:steel_ingot 9", output = "default:steel_ingot 9",
recipe = { recipe = {
@ -478,19 +492,6 @@ minetest.register_craft({
recipe = "default:gold_lump", recipe = "default:gold_lump",
}) })
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:skeleton_key",
cooktime = 5,
})
minetest.register_craft({ minetest.register_craft({
type = "cooking", type = "cooking",

View File

@ -16,7 +16,7 @@ end
function default.node_sound_stone_defaults(table) function default.node_sound_stone_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name = "default_hard_footstep", gain = 0.3} {name = "default_hard_footstep", gain = 0.2}
table.dug = table.dug or table.dug = table.dug or
{name = "default_hard_footstep", gain = 1.0} {name = "default_hard_footstep", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(table)
@ -26,7 +26,9 @@ end
function default.node_sound_dirt_defaults(table) function default.node_sound_dirt_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name = "default_dirt_footstep", gain = 0.4} {name = "default_dirt_footstep", gain = 0.25}
table.dig = table.dig or
{name = "default_dig_crumbly", gain = 0.4}
table.dug = table.dug or table.dug = table.dug or
{name = "default_dirt_footstep", gain = 1.0} {name = "default_dirt_footstep", gain = 1.0}
table.place = table.place or table.place = table.place or
@ -50,7 +52,7 @@ end
function default.node_sound_gravel_defaults(table) function default.node_sound_gravel_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name = "default_gravel_footstep", gain = 0.1} {name = "default_gravel_footstep", gain = 0.25}
table.dig = table.dig or table.dig = table.dig or
{name = "default_gravel_dig", gain = 0.35} {name = "default_gravel_dig", gain = 0.35}
table.dug = table.dug or table.dug = table.dug or
@ -64,7 +66,9 @@ end
function default.node_sound_wood_defaults(table) function default.node_sound_wood_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name = "default_wood_footstep", gain = 0.3} {name = "default_wood_footstep", gain = 0.15}
table.dig = table.dig or
{name = "default_dig_choppy", gain = 0.4}
table.dug = table.dug or table.dug = table.dug or
{name = "default_wood_footstep", gain = 1.0} {name = "default_wood_footstep", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(table)
@ -98,7 +102,7 @@ end
function default.node_sound_ice_defaults(table) function default.node_sound_ice_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name = "default_ice_footstep", gain = 0.3} {name = "default_ice_footstep", gain = 0.15}
table.dig = table.dig or table.dig = table.dig or
{name = "default_ice_dig", gain = 0.5} {name = "default_ice_dig", gain = 0.5}
table.dug = table.dug or table.dug = table.dug or
@ -110,7 +114,7 @@ end
function default.node_sound_metal_defaults(table) function default.node_sound_metal_defaults(table)
table = table or {} table = table or {}
table.footstep = table.footstep or table.footstep = table.footstep or
{name = "default_metal_footstep", gain = 0.4} {name = "default_metal_footstep", gain = 0.2}
table.dig = table.dig or table.dig = table.dig or
{name = "default_dig_metal", gain = 0.5} {name = "default_dig_metal", gain = 0.5}
table.dug = table.dug or table.dug = table.dug or
@ -155,7 +159,7 @@ default.cool_lava = function(pos, node)
minetest.set_node(pos, {name = "default:stone"}) minetest.set_node(pos, {name = "default:stone"})
end end
minetest.sound_play("default_cool_lava", minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.25}, true) {pos = pos, max_hear_distance = 16, gain = 0.2}, true)
end end
if minetest.settings:get_bool("enable_lavacooling") ~= false then if minetest.settings:get_bool("enable_lavacooling") ~= false then
@ -711,6 +715,47 @@ function default.register_craft_metadata_copy(ingredient, result)
end) end)
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. -- NOTICE: This method is not an official part of the API yet.

View File

@ -3,6 +3,9 @@
-- support for MT game translation. -- support for MT game translation.
local S = default.get_translator local S = default.get_translator
-- List of sound handles for active furnace
local furnace_fire_sounds = {}
-- --
-- Formspecs -- Formspecs
-- --
@ -91,6 +94,17 @@ local function allow_metadata_inventory_take(pos, listname, index, stack, player
return stack:get_count() return stack:get_count()
end 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 function swap_node(pos, name)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
if node.name == name then if node.name == name then
@ -159,7 +173,7 @@ local function furnace_node_timer(pos, elapsed)
end end
-- Play cooling sound -- Play cooling sound
minetest.sound_play("default_cool_lava", minetest.sound_play("default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.1}, true) {pos = pos, max_hear_distance = 16, gain = 0.07}, true)
else else
-- Item could not be cooked: probably missing fuel -- Item could not be cooked: probably missing fuel
update = true update = true
@ -177,8 +191,15 @@ local function furnace_node_timer(pos, elapsed)
fuel_totaltime = 0 fuel_totaltime = 0
src_time = 0 src_time = 0
else else
-- Take fuel from fuel list -- prevent blocking of fuel inventory (for automatization mods)
inv:set_stack("fuel", 1, afterfuel.items[1]) local is_fuel = minetest.get_craft_result({method = "fuel", width = 1, items = {afterfuel.items[1]:to_string()}})
if is_fuel.time == 0 then
table.insert(fuel.replacements, afterfuel.items[1])
inv:set_stack("fuel", 1, "")
else
-- Take fuel from fuel list
inv:set_stack("fuel", 1, afterfuel.items[1])
end
-- Put replacements in dst list or drop them on the furnace. -- Put replacements in dst list or drop them on the furnace.
local replacements = fuel.replacements local replacements = fuel.replacements
if replacements[1] then if replacements[1] then
@ -245,9 +266,30 @@ local function furnace_node_timer(pos, elapsed)
result = true result = true
-- Play sound every 5 seconds while the furnace is active -- Play sound every 5 seconds while the furnace is active
if timer_elapsed == 0 or (timer_elapsed+1) % 5 == 0 then if timer_elapsed == 0 or (timer_elapsed + 1) % 5 == 0 then
minetest.sound_play("default_furnace_active", local sound_id = minetest.sound_play("default_furnace_active",
{pos = pos, max_hear_distance = 16, gain = 0.5}, true) {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 end
else else
if fuellist and not fuellist[1]:is_empty() then if fuellist and not fuellist[1]:is_empty() then
@ -258,6 +300,8 @@ local function furnace_node_timer(pos, elapsed)
-- stop timer on the inactive furnace -- stop timer on the inactive furnace
minetest.get_node_timer(pos):stop() minetest.get_node_timer(pos):stop()
meta:set_int("timer_elapsed", 0) meta:set_int("timer_elapsed", 0)
stop_furnace_sound(pos)
end end
@ -362,6 +406,9 @@ minetest.register_node("default:furnace_active", {
is_ground_content = false, is_ground_content = false,
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_timer = furnace_node_timer, on_timer = furnace_node_timer,
on_destruct = function(pos)
stop_furnace_sound(pos)
end,
can_dig = can_dig, can_dig = can_dig,

View File

@ -17,10 +17,7 @@ default.get_translator = S
-- and avoids obscure, hard to debug runtime errors. -- and avoids obscure, hard to debug runtime errors.
-- This section should be updated before release and older checks can be dropped -- This section should be updated before release and older checks can be dropped
-- when newer ones are introduced. -- when newer ones are introduced.
if not minetest.is_creative_enabled or not minetest.has_feature({ if ItemStack("").add_wear_by_uses == nil then
direct_velocity_on_players = true,
use_texture_alpha_string_modes = true,
}) then
error("\nThis version of Minetest Game is incompatible with your engine version ".. 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 ".. "(which is too old). You should download a version of Minetest Game that "..
"matches the installed engine version.\n") "matches the installed engine version.\n")

View File

@ -19,6 +19,7 @@ local item = {
self.object:remove() self.object:remove()
minetest.sound_play("default_item_smoke", { minetest.sound_play("default_item_smoke", {
pos = p, pos = p,
gain = 1.0,
max_hear_distance = 8, max_hear_distance = 8,
}, true) }, true)
minetest.add_particlespawner({ minetest.add_particlespawner({

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Abgeschlossene Truhe (Eigentum von @1)
You do not own this chest.=Ihnen gehört diese Truhe nicht. You do not own this chest.=Ihnen gehört diese Truhe nicht.
a locked chest=eine abgeschlossene Truhe a locked chest=eine abgeschlossene Truhe
Chest=Truhe Chest=Truhe
Write=Schreiben
Read=Lesen
Title:=Titel: Title:=Titel:
Contents:=Inhalt: Contents:=Inhalt:
Save=Speichern Save=Speichern
by @1=von @1 by @1=von @1
Page @1 of @2=Seite @1 von @2 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 "@1" by @2=„@1“ von @2
Skeleton Key=Skelettschlüssel
Key to @1's @2=Schlüssel für @2 von @1
Blueberries=Blaubeeren Blueberries=Blaubeeren
Book=Buch Book=Buch
Book with Text=Buch mit Text Book with Text=Buch mit Text
@ -210,7 +211,6 @@ Bronze Sword=Bronzeschwert
Steel Sword=Stahlschwert Steel Sword=Stahlschwert
Mese Sword=Meseschwert Mese Sword=Meseschwert
Diamond Sword=Diamantschwert Diamond Sword=Diamantschwert
Key=Schlüssel
Torch=Fackel Torch=Fackel
@1 will intersect protection on growth.=@1 wird bei Wachstum mit geschützter Zone überlappen. @1 will intersect protection on growth.=@1 wird bei Wachstum mit geschützter Zone überlappen.

View File

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

View File

@ -1,18 +1,18 @@
# textdomain: default # textdomain: default
Locked Chest=Cofre cerrado Locked Chest=Cofre cerrado
Locked Chest (owned by @1)=Cofre cerrado (propiedad de @1) Locked Chest (owned by @1)=Cofre cerrado (propiedad de @1)
You do not own this chest.=Este cofre no te pertenece. You do not own this chest.=Este cofre no te pertenece.
a locked chest=un cofre cerrado a locked chest=un cofre cerrado
Chest=Cofre Chest=Cofre
Write=
Read=
Title:=Título: Title:=Título:
Contents:=Contenidos: Contents:=Contenidos:
Save=Guardar Save=Guardar
by @1=por @1 by @1=por @1
Page @1 of @2=Página @1 de @2 Page @1 of @2=Página @1 de @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" por @2 "@1" by @2="@1" por @2
Skeleton Key=Llave esqueleto
Key to @1's @2=Llave para @2 de @1
Blueberries=Arándanos Blueberries=Arándanos
Book=Libro Book=Libro
Book with Text=Libro escrito Book with Text=Libro escrito
@ -211,7 +211,6 @@ Bronze Sword=Espada de bronce
Steel Sword=Espada de acero Steel Sword=Espada de acero
Mese Sword=Espada de mese Mese Sword=Espada de mese
Diamond Sword=Espada de diamante Diamond Sword=Espada de diamante
Key=Llave
Torch=Antorcha Torch=Antorcha
@1 will intersect protection on growth.=@1 intersectará con protección cuando crezca. @1 will intersect protection on growth.=@1 intersectará con protección cuando crezca.

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Coffre verrouillé (possédé par @1)
You do not own this chest.=Ce coffre ne vous appartient pas. You do not own this chest.=Ce coffre ne vous appartient pas.
a locked chest=un coffre verrouillé a locked chest=un coffre verrouillé
Chest=Coffre Chest=Coffre
Write=Écrire
Read=Lire
Title:=Titre : Title:=Titre :
Contents:=Contenu : Contents:=Contenu :
Save=Sauvegarder Save=Sauvegarder
by @1=de @1 by @1=de @1
Page @1 of @2=Page @1 sur @2 Page @1 of @2=Page @1 sur @2
The book you were writing to mysteriously disappeared.=
"@1" by @2=« @1 » de @2 "@1" by @2=« @1 » de @2
Skeleton Key=Squelette
Key to @1's @2=Clé pour @2 de @1
Blueberries=Myrtille Blueberries=Myrtille
Book=Livre Book=Livre
Book with Text=Livre avec du texte Book with Text=Livre avec du texte
@ -63,16 +64,16 @@ Silver Sandstone Brick=Brique de grès argenté
Silver Sandstone Block=Bloc de grès argenté Silver Sandstone Block=Bloc de grès argenté
Obsidian=Obsidienne Obsidian=Obsidienne
Obsidian Brick=Brique d'obsidienne Obsidian Brick=Brique d'obsidienne
Obsidian Block=Block d'obsidienne Obsidian Block=Bloc d'obsidienne
Dirt=Terre Dirt=Terre
Dirt with Grass=Terre avec de l'herbe Dirt with Grass=Terre avec de l'herbe
Dirt with Grass and Footsteps=Terre avec de l'herbe et des traces de pas Dirt with Grass and Footsteps=Terre avec de l'herbe et des traces de pas
Dirt with Savanna Grass= Dirt with Savanna Grass=Terre avec de l'herbe de savane
Dirt with Snow=Terre avec de la neige Dirt with Snow=Terre avec de la neige
Dirt with Rainforest Litter=Terre avec sol de forêt humide Dirt with Rainforest Litter=Terre avec sol de forêt humide
Dirt with Coniferous Litter=Terre avec sol de forêt de conifère Dirt with Coniferous Litter=Terre avec sol de forêt de conifère
Savanna Dirt= Savanna Dirt=Terre de la savane
Savanna Dirt with Savanna Grass= Savanna Dirt with Savanna Grass=Terre de la savane avec son herbe
Permafrost=Pergélisol Permafrost=Pergélisol
Permafrost with Stones=Pergélisol avec de la pierre Permafrost with Stones=Pergélisol avec de la pierre
Permafrost with Moss=Pergélisol avec de la mousse Permafrost with Moss=Pergélisol avec de la mousse
@ -129,7 +130,7 @@ Papyrus=Papyrus
Dry Shrub=Arbuste sec Dry Shrub=Arbuste sec
Jungle Grass=Herbe de la jungle Jungle Grass=Herbe de la jungle
Grass=Herbe Grass=Herbe
Savanna Grass= Savanna Grass=Herbe de la savane
Fern=Fougère Fern=Fougère
Marram Grass=Ammophile Marram Grass=Ammophile
Bush Stem=Tige de buisson Bush Stem=Tige de buisson
@ -152,11 +153,11 @@ Brown Coral=Corail marron
Orange Coral=Corail orange Orange Coral=Corail orange
Coral Skeleton=Squelette de corail Coral Skeleton=Squelette de corail
Water Source=Source d'eau Water Source=Source d'eau
Flowing Water=Ecoulement d'eau Flowing Water=Écoulement d'eau
River Water Source=Source d'eau de rivière River Water Source=Source d'eau de rivière
Flowing River Water=Ecoulement d'eau de rivière Flowing River Water=Écoulement d'eau de rivière
Lava Source=Source de lave Lava Source=Source de lave
Flowing Lava=Ecoulement de lave Flowing Lava=Écoulement de lave
Empty Bookshelf=Bibliothèque vide Empty Bookshelf=Bibliothèque vide
Bookshelf (@1 written, @2 empty books)=Bibliothèque (@1 écrits, @2 livres vides) Bookshelf (@1 written, @2 empty books)=Bibliothèque (@1 écrits, @2 livres vides)
Bookshelf=Bibliothèque Bookshelf=Bibliothèque
@ -164,8 +165,8 @@ Text too long=Texte trop longue
"@1"=« @1 » "@1"=« @1 »
Wooden Sign=Panneau en bois Wooden Sign=Panneau en bois
Steel Sign=Panneau en acier Steel Sign=Panneau en acier
Wooden Ladder=Echelle en bois Wooden Ladder=Échelle en bois
Steel Ladder=Echelle en acier Steel Ladder=Échelle en acier
Apple Wood Fence=Barrière de bois de pommier Apple Wood Fence=Barrière de bois de pommier
Acacia Wood Fence=Barrière de bois d'acacia Acacia Wood Fence=Barrière de bois d'acacia
Jungle Wood Fence=Barrière de bois de la jungle Jungle Wood Fence=Barrière de bois de la jungle
@ -180,11 +181,11 @@ Glass=Verre
Obsidian Glass=Verre d'obsidienne Obsidian Glass=Verre d'obsidienne
Brick Block=Bloc de brique Brick Block=Bloc de brique
Mese Lamp=Lampe de Mese Mese Lamp=Lampe de Mese
Apple Wood Mese Post Light= Apple Wood Mese Post Light=Réverbère de Mese en bois de pommier
Acacia Wood Mese Post Light= Acacia Wood Mese Post Light=Réverbère de Mese en bois d'acacia
Jungle Wood Mese Post Light= Jungle Wood Mese Post Light=Réverbère de Mese en bois de la jungle
Pine Wood Mese Post Light= Pine Wood Mese Post Light=Réverbère de Mese en bois de pin
Aspen Wood Mese Post Light= Aspen Wood Mese Post Light=Réverbère de Mese en bois de tremble
Cloud=Nuage Cloud=Nuage
Wooden Pickaxe=Pioche en bois Wooden Pickaxe=Pioche en bois
Stone Pickaxe=Pioche en pierre Stone Pickaxe=Pioche en pierre
@ -205,12 +206,11 @@ Steel Axe=Hache en acier
Mese Axe=Hache en Mese Mese Axe=Hache en Mese
Diamond Axe=Hache en diamant Diamond Axe=Hache en diamant
Wooden Sword=Epée en bois Wooden Sword=Epée en bois
Stone Sword=Epée en pierre Stone Sword=Épée en pierre
Bronze Sword=Epée en bronze Bronze Sword=Épée en bronze
Steel Sword=Epée en acier Steel Sword=Épée en acier
Mese Sword=Epée en Mese Mese Sword=Épée en Mese
Diamond Sword=Epée en diamant Diamond Sword=Épée en diamant
Key=Clé
Torch=Torche Torch=Torche
@1 will intersect protection on growth.=@1 chevauchera la zone protégée avec la croissance. @1 will intersect protection on growth.=@1 chevauchera la zone protégée avec la croissance.

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Peti Terkunci (milik @1)
You do not own this chest.=Anda bukan pemilik peti ini. You do not own this chest.=Anda bukan pemilik peti ini.
a locked chest=peti terkunci a locked chest=peti terkunci
Chest=Peti Chest=Peti
Write=
Read=
Title:=Judul: Title:=Judul:
Contents:=Isi: Contents:=Isi:
Save=Simpan Save=Simpan
by @1=oleh @1 by @1=oleh @1
Page @1 of @2=Halaman @1 dari @2 Page @1 of @2=Halaman @1 dari @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" oleh @2 "@1" by @2="@1" oleh @2
Skeleton Key=Kunci Induk
Key to @1's @2=Kunci @2 milik @1
Blueberries=Blueberry Blueberries=Blueberry
Book=Buku Book=Buku
Book with Text=Buku Tertulis Book with Text=Buku Tertulis
@ -210,7 +211,6 @@ Bronze Sword=Pedang Perunggu
Steel Sword=Pedang Baja Steel Sword=Pedang Baja
Mese Sword=Pedang Mese Mese Sword=Pedang Mese
Diamond Sword=Pedang Berlian Diamond Sword=Pedang Berlian
Key=Kunci
Torch=Obor Torch=Obor
@1 will intersect protection on growth.=@1 akan memotong perlindungan ketika tumbuh. @1 will intersect protection on growth.=@1 akan memotong perlindungan ketika tumbuh.

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Baule chiuso a chiave (di proprietà di @1)
You do not own this chest.=Questo baule non ti appartiene. You do not own this chest.=Questo baule non ti appartiene.
a locked chest=un baule chiuso a chiave a locked chest=un baule chiuso a chiave
Chest=Baule Chest=Baule
Write=
Read=
Title:= Title:=
Contents:= Contents:=
Save= Save=
by @1= by @1=
Page @1 of @2= Page @1 of @2=
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" di @2 "@1" by @2="@1" di @2
Skeleton Key=Chiave dello Scheletro
Key to @1's @2=Chiave per @2 di @1
Blueberries=Mirtilli Blueberries=Mirtilli
Book=Libro Book=Libro
Book with Text=Libro con testo Book with Text=Libro con testo
@ -210,7 +211,6 @@ Bronze Sword=Spada di bronzo
Steel Sword=Spada d'acciaio Steel Sword=Spada d'acciaio
Mese Sword=Spada di mese Mese Sword=Spada di mese
Diamond Sword=Spada di diamante Diamond Sword=Spada di diamante
Key=Chiave
Torch=Torcia Torch=Torcia
@1 will intersect protection on growth.=@1 crescendo attraverserà la protezione. @1 will intersect protection on growth.=@1 crescendo attraverserà la protezione.

View File

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

View File

@ -4,14 +4,15 @@ 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 You do not own this chest.=.i do na ponse lo ti gairvau
a locked chest=lo selstela gairvau a locked chest=lo selstela gairvau
Chest=lo gairvau Chest=lo gairvau
Write=ciska
Read=tcidu
Title:=cmene Title:=cmene
Contents:=se cukta Contents:=se cukta
Save=rejgau Save=rejgau
by @1=la'o zo'i.@1.zo'i te cukta 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 "@1" by @2=lo cukta be la'o gy.@1.gy. bei la'o zo'i.@2.zo'i
Skeleton Key=lo greku ckiku
Key to @1's @2=lo ckiku be @2 po la'o zo'i.@1.zo'i
Blueberries=lo blajba Blueberries=lo blajba
Book=lo cukta Book=lo cukta
Book with Text=lo cukta joi selci'a Book with Text=lo cukta joi selci'a
@ -58,7 +59,7 @@ Sandstone Block=lo canro'i bliku
Desert Sandstone=lo cantu'a canro'i Desert Sandstone=lo cantu'a canro'i
Desert Sandstone Brick=lo morna ke cantu'a canro'i Desert Sandstone Brick=lo morna ke cantu'a canro'i
Desert Sandstone Block=lo cantu'a canro'i bliku 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 Brick=lo morna ke rijyska canro'i
Silver Sandstone Block=lo rijyska canro'i bliku Silver Sandstone Block=lo rijyska canro'i bliku
Obsidian=lo je'erma'ablaci 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 Dirt with Coniferous Litter=lo dertu joi ckunu bo festi
Savanna Dirt=lo sudytu'a dertu Savanna Dirt=lo sudytu'a dertu
Savanna Dirt with Savanna Grass=lo sudysu'a bo dertu joi sudytu'a bo srasu Savanna Dirt with Savanna Grass=lo sudysu'a bo dertu joi sudytu'a bo srasu
Permafrost=le bislunsa dertu Permafrost=lo vi'orbisloi
Permafrost with Stones=le bislunsa bo dertu joi rokci Permafrost with Stones=lo vi'orbisloi joi rokci
Permafrost with Moss=le bislunsa bo dertu joi clika Permafrost with Moss=lo vi'orbisloi joi clika
Sand=lo canre Sand=lo canre
Desert Sand=lo cantu'a canre Desert Sand=lo cantu'a canre
Silver Sand=lo rijyska canre Silver Sand=lo rijyska canre
@ -86,7 +87,7 @@ Snow Block=lo snime bliku
Ice=lo bisli Ice=lo bisli
Cave Ice=lo kevzda bisli Cave Ice=lo kevzda bisli
Apple Tree=lo plisytricu ricystani 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 Sapling=lo plisytricu ciftricu
Apple Tree Leaves=lo plisytricu pezli Apple Tree Leaves=lo plisytricu pezli
Apple=lo plise Apple=lo plise
@ -97,7 +98,7 @@ Jungle Tree Leaves=lo glatimdemricfoi pezli
Jungle Tree Sapling=lo glatimdemricfoi ciftricu Jungle Tree Sapling=lo glatimdemricfoi ciftricu
Emergent Jungle Tree Sapling=lo barda ke glatimdemricfoi ciftricu Emergent Jungle Tree Sapling=lo barda ke glatimdemricfoi ciftricu
Pine Tree=lo ckunu ricystani 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 Needles=lo ckunu jezpezli
Pine Tree Sapling=lo ckunu ciftricu Pine Tree Sapling=lo ckunu ciftricu
Acacia Tree=lo atkaci,ia ricystani Acacia Tree=lo atkaci,ia ricystani
@ -166,25 +167,25 @@ Wooden Sign=lo mudri sinxa
Steel Sign=lo gasta sinxa Steel Sign=lo gasta sinxa
Wooden Ladder=lo mudri rajyserti Wooden Ladder=lo mudri rajyserti
Steel Ladder=lo gasta 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 Acacia Wood Fence=lo atkaci,ia mudri garbi'u
Jungle Wood Fence=lo glatimdemricfoi 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 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 Acacia Wood Fence Rail=lo atkaci,ia mudri garbi'u garna
Jungle Wood Fence Rail=lo glatimdemricfoi 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 Aspen Wood Fence Rail=lo mudrpopulu garbi'u garna
Glass=lo blaci Glass=lo blaci
Obsidian Glass=lo je'erma'ablaci blaci Obsidian Glass=lo je'erma'ablaci blaci
Brick Block=lo kitybli bliku Brick Block=lo kitybli bliku
Mese Lamp=lo za'e kunrmese tergu'i Mese Lamp=lo za'e gusrmese
Apple Wood Mese Post Light=lo plise mudri za'e kunrmese ke kamju tergu'i Apple Wood Mese Post Light=lo plisymudri ke kamju za'e gusrmese
Acacia Wood Mese Post Light=lo atkaci,ia mudri za'e kunrmese ke kamju tergu'i Acacia Wood Mese Post Light=lo atkaci,ia mudri ke kamju za'e gusrmese
Jungle Wood Mese Post Light=lo glatimdemricfoi mudri za'e kunrmese ke kamju tergu'i Jungle Wood Mese Post Light=lo glatimdemricfoi mudri ke kamju za'e gusrmese
Pine Wood Mese Post Light=lo ckunu mudri za'e kunrmese ke kamju tergu'i Pine Wood Mese Post Light=lo ku'urmudri ke kamju za'e gusrmese
Aspen Wood Mese Post Light=lo mudrpopulu za'e kunrmese ke kamju tergu'i Aspen Wood Mese Post Light=lo mudrpopulu ke kamju za'e gusrmese
Cloud=lo dilnu Cloud=lo dilnu
Wooden Pickaxe=lo mudri velkakpymru Wooden Pickaxe=lo mudri velkakpymru
Stone Pickaxe=lo rokci velkakpymru Stone Pickaxe=lo rokci velkakpymru
@ -210,6 +211,5 @@ Bronze Sword=lo ransu cladakyxa'i
Steel Sword=lo gasta cladakyxa'i Steel Sword=lo gasta cladakyxa'i
Mese Sword=lo za'e kunrmese cladakyxa'i Mese Sword=lo za'e kunrmese cladakyxa'i
Diamond Sword=lo tabjme cladakyxa'i Diamond Sword=lo tabjme cladakyxa'i
Key=lo ckiku
Torch=lo fagytergu'i Torch=lo fagytergu'i
@1 will intersect protection on growth.=.i @1 cu ba kruca lo bandu ca lo nu banro @1 will intersect protection on growth.=.i @1 cu ba kruca lo bandu ca lo nu banro

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Peti Berkunci (milik @1)
You do not own this chest.=Ini bukan peti milik anda. You do not own this chest.=Ini bukan peti milik anda.
a locked chest=peti berkunci a locked chest=peti berkunci
Chest=Peti Chest=Peti
Write=
Read=
Title:=Tajuk: Title:=Tajuk:
Contents:=Kandungan: Contents:=Kandungan:
Save=Simpan Save=Simpan
by @1=oleh @1 by @1=oleh @1
Page @1 of @2=Ms. @1 / @2 Page @1 of @2=Ms. @1 / @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" oleh @2 "@1" by @2="@1" oleh @2
Skeleton Key=Kunci Induk
Key to @1's @2=Kunci @2 milik @1
Blueberries=Beri Biru Blueberries=Beri Biru
Book=Buku Book=Buku
Book with Text=Buku Bertulisan Book with Text=Buku Bertulisan
@ -210,7 +211,6 @@ Bronze Sword=Pedang Gangsa
Steel Sword=Pedang Keluli Steel Sword=Pedang Keluli
Mese Sword=Pedang Mese Mese Sword=Pedang Mese
Diamond Sword=Pedang Intan Diamond Sword=Pedang Intan
Key=Kunci
Torch=Obor Torch=Obor
@1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh. @1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh.

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

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Baú Trancado (pertence a @1)
You do not own this chest.=Você não é dono deste baú. You do not own this chest.=Você não é dono deste baú.
a locked chest=um baú trancado a locked chest=um baú trancado
Chest=Baú Chest=Baú
Write=
Read=
Title:=Título: Title:=Título:
Contents:=Conteúdo: Contents:=Conteúdo:
Save=Salvar Save=Salvar
by @1=por @1 by @1=por @1
Page @1 of @2=Página @1 de @2 Page @1 of @2=Página @1 de @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" por @2 "@1" by @2="@1" por @2
Skeleton Key=Chave de Mestra
Key to @1's @2=Chave para @2 de @1
Blueberries=Mirtilo Blueberries=Mirtilo
Book=Livro Book=Livro
Book with Text=Livro com Texto Book with Text=Livro com Texto
@ -210,6 +211,5 @@ Bronze Sword=Espada de Bronze
Steel Sword=Espada de Aço Steel Sword=Espada de Aço
Mese Sword=Espada de Mese Mese Sword=Espada de Mese
Diamond Sword=Espada de Diamante Diamond Sword=Espada de Diamante
Key=Chave
Torch=Tocha Torch=Tocha
@1 will intersect protection on growth.=@1 cruzará a proteção no crescimento. @1 will intersect protection on growth.=@1 cruzará a proteção no crescimento.

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Заблокированный Сундук (влад
You do not own this chest.=Вы не владелец этого сундука. You do not own this chest.=Вы не владелец этого сундука.
a locked chest=заблокированный сундук a locked chest=заблокированный сундук
Chest=Сундук Chest=Сундук
Write=
Read=
Title:=Заголовок: Title:=Заголовок:
Contents:=Содержимое: Contents:=Содержимое:
Save=Сохранить Save=Сохранить
by @1=@1 by @1=@1
Page @1 of @2=Страница @1 из @2 Page @1 of @2=Страница @1 из @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" @2 "@1" by @2="@1" @2
Skeleton Key=Ключ Скелета
Key to @1's @2=Ключ к @2 от @1
Blueberries=Черника Blueberries=Черника
Book=Книга Book=Книга
Book with Text=Книга с Текстом Book with Text=Книга с Текстом
@ -67,12 +68,12 @@ Obsidian Block=Обсидиановый Блок
Dirt=Земля Dirt=Земля
Dirt with Grass=Земля с Травой Dirt with Grass=Земля с Травой
Dirt with Grass and Footsteps=Земля с Травой и Следами Dirt with Grass and Footsteps=Земля с Травой и Следами
Dirt with Savanna Grass= Dirt with Savanna Grass=Земля с Саванной Травой
Dirt with Snow=Земля Со Снегом Dirt with Snow=Земля Со Снегом
Dirt with Rainforest Litter=Земля с Тропической Подстилкой Dirt with Rainforest Litter=Земля с Тропической Подстилкой
Dirt with Coniferous Litter=Земля с Сосновой Подстилкой Dirt with Coniferous Litter=Земля с Сосновой Подстилкой
Savanna Dirt= Savanna Dirt=Саванная Земля
Savanna Dirt with Savanna Grass= Savanna Dirt with Savanna Grass=Саванная Земля с Травой
Permafrost=Замороженная Почва Permafrost=Замороженная Почва
Permafrost with Stones=Замороженная Почва с Камнями Permafrost with Stones=Замороженная Почва с Камнями
Permafrost with Moss=Замороженная Почва с Мхом Permafrost with Moss=Замороженная Почва с Мхом
@ -129,7 +130,7 @@ Papyrus=Папирус
Dry Shrub=Сухой Куст Dry Shrub=Сухой Куст
Jungle Grass=Тропическая Трава Jungle Grass=Тропическая Трава
Grass=Трава Grass=Трава
Savanna Grass= Savanna Grass=Саванная Трава
Fern=Папоротник Fern=Папоротник
Marram Grass=Песколюб Marram Grass=Песколюб
Bush Stem=Стебли Куста Bush Stem=Стебли Куста
@ -180,11 +181,11 @@ Glass=Стекло
Obsidian Glass=Обсидиановое Стекло Obsidian Glass=Обсидиановое Стекло
Brick Block=Кирпичный Блок Brick Block=Кирпичный Блок
Mese Lamp=Месе Лампа Mese Lamp=Месе Лампа
Apple Wood Mese Post Light= Apple Wood Mese Post Light=Столбовой Месе светильник из Яблони
Acacia Wood Mese Post Light= Acacia Wood Mese Post Light=Столбовой Месе светильник из Акации
Jungle Wood Mese Post Light= Jungle Wood Mese Post Light=Столбовой Месе светильник из Тропического дерева
Pine Wood Mese Post Light= Pine Wood Mese Post Light=Столбовой Месе светильник из Сосны
Aspen Wood Mese Post Light= Aspen Wood Mese Post Light=Столбовой Месе светильник из Осины
Cloud=Облако Cloud=Облако
Wooden Pickaxe=Деревянная Кирка Wooden Pickaxe=Деревянная Кирка
Stone Pickaxe=Каменная Кирка Stone Pickaxe=Каменная Кирка
@ -210,7 +211,6 @@ Bronze Sword=Бронзовый Меч
Steel Sword=Стальной Меч Steel Sword=Стальной Меч
Mese Sword=Месе Меч Mese Sword=Месе Меч
Diamond Sword=Алмазный Меч Diamond Sword=Алмазный Меч
Key=Ключ
Torch=Факел Torch=Факел
@1 will intersect protection on growth.=@1 пересечёт защиту по росту. @1 will intersect protection on growth.=@1 пересечёт защиту по росту.

View File

@ -1,225 +0,0 @@
# textdomain: default
## textdomain: default
Locked Chest=Låst kista
Locked Chest (owned by @1)=Låst kista (Ägd av @1)
You do not own this chest.=Du äger inte denna kistan.
a locked chest=en låst kista
Chest=Kista
Title:=Titel:
Contents:=Innehåll:
Save=Spara
by @1=av @1
Page @1 of @2=Sida @1 av @2
"@1" by @2="@1" av @2
Skeleton Key=Skelett Nyckel
Key to @1's @2=Nyckel till @1s @2
Blueberries=Blåbär
Book=Bok
Book with Text=Bok med text
Bronze Ingot=Brons tacka
Clay Brick=Tegelsten
Clay Lump=Lerklump
Coal Lump=Kol Klumo
Copper Ingot=Koppar tacka
Copper Lump=Koppar Klump
Diamond=Diamant
Flint=Flinta
Gold Ingot=Guld tacka
Gold Lump=Guld Klump
Iron Lump=Järn Klump
Mese Crystal=Mese Kristall
Mese Crystal Fragment=Mese Kristall Fragment
Obsidian Shard=Obsidian Skärva
Paper=Papper
Steel Ingot=Stål tacka
Stick=Pinne
Tin Ingot=Tenn tacka
Tin Lump=Tenn Klump
Furnace is empty=Ugnen är tom
100% (output full)=100% (utgången full)
@1%=@1%
Not cookable=Inte kokbar
Empty=Tom
Furnace active=Ugn aktiv
Furnace inactive=Ugn inaktiv
(Item: @1; Fuel: @2)=(Sak: @1; Bränsle: @2)
Furnace=Ugn
Stone=Sten
Cobblestone=Kullersten
Stone Brick=Stentegel
Stone Block=Sten block
Mossy Cobblestone=Mossig kullersten
Desert Stone=Öken sten
Desert Cobblestone=Öken kullersten
Desert Stone Brick=Öken stentegel
Desert Stone Block=Öken sten block
Sandstone=Sandsten
Sandstone Brick=Sandstenstegel
Sandstone Block=Sandsten block
Desert Sandstone=Öken sandsten
Desert Sandstone Brick=Öken Sandstenstegel
Desert Sandstone Block=Öken sandsten block
Silver Sandstone=Silver sandsten
Silver Sandstone Brick=Silver Sandstenstegel
Silver Sandstone Block=Silver sandsten block
Obsidian=Obsidian
Obsidian Brick=Obsidiantegel
Obsidian Block=Obsidian block
Dirt=Jord
Dirt with Grass=Jord med gräs
Dirt with Grass and Footsteps=Jord med gräs och fotsteg
Dirt with Savanna Grass=
Dirt with Snow=Jord med snö
Dirt with Rainforest Litter=Jord med regnskogströ
Dirt with Coniferous Litter=Jord med Barrträd
Savanna Dirt=
Savanna Dirt with Savanna Grass=
Permafrost=Permafrost
Permafrost with Stones=Permafrost med sten
Permafrost with Moss=Permafrost med mossa
Sand=Sand
Desert Sand=Öken sand
Silver Sand=Silver sand
Gravel=Grus
Clay=Lera
Snow=Snö
Snow Block=Snö block
Ice=Is
Cave Ice=Grott Is
Apple Tree=Äpple Träd
Apple Wood Planks=Äpple Plankor
Apple Tree Sapling=Äpple Planta
Apple Tree Leaves=Äpple Löv
Apple=Äpple
Apple Marker=Äpple Markör
Jungle Tree=Djungel Träd
Jungle Wood Planks=Djungel Plankor
Jungle Tree Leaves=Djungel Löv
Jungle Tree Sapling=Djungel Planta
Emergent Jungle Tree Sapling=Nybliven Djungel Planta
Pine Tree=Tall
Pine Wood Planks= Tall Plankor
Pine Needles=Granbarr
Pine Tree Sapling=Tall Planta
Acacia Tree=Akacia Träd
Acacia Wood Planks=Akacia Plankor
Acacia Tree Leaves=Akacia Löv
Acacia Tree Sapling=Akacia Planta
Aspen Tree=Asp
Aspen Wood Planks=Asp Plankor
Aspen Tree Leaves=Asp Löv
Aspen Tree Sapling=Asp Planta
Coal Ore=Kol Malm
Coal Block=Kol Block
Iron Ore=Järn Malm
Steel Block=Stål Block
Copper Ore=Koppar Malm
Copper Block=Koppar Block
Tin Ore=Tenn Malm
Tin Block=Tenn Block
Bronze Block=Brons Block
Mese Ore=Mese Malm
Mese Block=Mese Block
Gold Ore=Guld Malm
Gold Block=Guld Block
Diamond Ore=Diamant Malm
Diamond Block=Diamant Block
Cactus=Kaktus
Large Cactus Seedling=Stor kaktusplanta
Papyrus=Papyrus
Dry Shrub=Torr Buske
Jungle Grass=Djungel Gräs
Grass=Gräs
Savanna Grass=
Fern=Ormbunke
Marram Grass=Marram Gräs
Bush Stem=Busk Stam
Bush Leaves=Busk Löv
Bush Sapling=Busk Planta
Blueberry Bush Leaves with Berries=Blåbärsbusks Löv med Bär
Blueberry Bush Leaves=Blåbärsbusks Löv
Blueberry Bush Sapling=Blåbärsbusks Plantga
Acacia Bush Stem=Akacia Busks Stam
Acacia Bush Leaves=Akacia Busks Löv
Acacia Bush Sapling=Akacia Busks Planta
Pine Bush Stem=Tall Busks Stam
Pine Bush Needles=Tall Busks Granbarr
Pine Bush Sapling=Tall Busks Planta
Kelp=Brunalg
Green Coral=Grön Korall
Pink Coral=Rosa Korall
Cyan Coral=Cyan Korall
Brown Coral=Brun Korall
Orange Coral=Orange Korall
Coral Skeleton=Korall Skelett
Water Source=Vattenkälla
Flowing Water=Flödande Vatten
River Water Source=Flodvattenkälla
Flowing River Water=Flödande Flodvatten
Lava Source=Lavakälla
Flowing Lava=Flödande Lava
Empty Bookshelf=Tom Bokhylla
Bookshelf (@1 written, @2 empty books)=Bokhylla (@1 skriva, @2 tomma böcker)
Bookshelf=Bokhylla
Text too long=Text för lång
"@1"="@1"
Wooden Sign=Trä Skylt
Steel Sign=Stål Skylt
Wooden Ladder=Trä Stege
Steel Ladder=Stål Stege
Apple Wood Fence=Äpple Trä Staket
Acacia Wood Fence=Akacia Trä Staket
Jungle Wood Fence=Djungel Trä Staket
Pine Wood Fence=Tall Trä Staket
Aspen Wood Fence=Asp Trä Staket
Apple Wood Fence Rail=Äpple Trä Staket Pinne
Acacia Wood Fence Rail=Akacia Trä Staket Pinne
Jungle Wood Fence Rail=Djungel Trä Staket Pinne
Pine Wood Fence Rail=Tall Trä Staket Pinne
Aspen Wood Fence Rail=Asp Trä Staket Pinne
Glass=Glas
Obsidian Glass=Obsidian Glas
Brick Block=Tegelstens Block
Mese Lamp=Mese Lampa
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=Moln
Wooden Pickaxe=Trä Hacka
Stone Pickaxe=Sten Hacka
Bronze Pickaxe=Brons Hacka
Steel Pickaxe=Stål Hacka
Mese Pickaxe=Mese Hacka
Diamond Pickaxe=Diamant Hacka
Wooden Shovel=Trä Spade
Stone Shovel=Sten Spade
Bronze Shovel=Brons Spade
Steel Shovel=Stål Spade
Mese Shovel=Mese Spade
Diamond Shovel=Diamant Spade
Wooden Axe=Trä Yxa
Stone Axe=Sten Yxa
Bronze Axe=Brons Yxa
Steel Axe=Stål Yxa
Mese Axe=Mese Yxa
Diamond Axe=Diamant Yxa
Wooden Sword=Trä Svärd
Stone Sword=Sten Svärd
Bronze Sword=Brons Svärd
Steel Sword=Stål Svärd
Mese Sword=Mese Svärd
Diamond Sword=Diamant Svärd
Key=Nyckel
Torch=Fakla
@1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt.
##### not used anymore #####
Dirt with Dry Grass=Jord med torrt gräs
Dry Dirt=Torr jord
Dry Dirt with Dry Grass=Torr jord med torrt gräs
Dry Grass=Torrt Gräs
Mese Post Light=Mese Postljus

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=Uzamknutá truhlica (Vlastník - @1)
You do not own this chest.=Túto truhlicu nevlastníš. You do not own this chest.=Túto truhlicu nevlastníš.
a locked chest=zamknutá truhlica a locked chest=zamknutá truhlica
Chest=Truhlica Chest=Truhlica
Write=
Read=
Title:=Názov: Title:=Názov:
Contents:=Obsah: Contents:=Obsah:
Save=Uložiť Save=Uložiť
by @1=od @1 by @1=od @1
Page @1 of @2=Strana @1 z @2 Page @1 of @2=Strana @1 z @2
The book you were writing to mysteriously disappeared.=
"@1" by @2=„@1“ z @2 "@1" by @2=„@1“ z @2
Skeleton Key=Základný kľuč
Key to @1's @2=Kľuč pre @2 hráča @1
Blueberries=Čučoriedky Blueberries=Čučoriedky
Book=Kniha Book=Kniha
Book with Text=Kniha s textom Book with Text=Kniha s textom
@ -210,7 +211,6 @@ Bronze Sword=Bronzový meč
Steel Sword=Oceľový meč Steel Sword=Oceľový meč
Mese Sword=Mese meč Mese Sword=Mese meč
Diamond Sword=Diamantový meč Diamond Sword=Diamantový meč
Key=Kľúč
Torch=Fakľa Torch=Fakľa
@1 will intersect protection on growth.=@1 prekročí pri raste chránenú zónu. @1 will intersect protection on growth.=@1 prekročí pri raste chránenú zónu.

View File

@ -0,0 +1,215 @@
# textdomain: default
Locked Chest=Låst kista
Locked Chest (owned by @1)=Låst kista (Ägd av @1)
You do not own this chest.=Du äger inte denna kista.
a locked chest=en låst kista
Chest=Kista
Write=Skriva
Read=Läs
Title:=Titel:
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
Blueberries=Blåbär
Book=Bok
Book with Text=Bok med text
Bronze Ingot=Bronstacka
Clay Brick=Tegelsten
Clay Lump=Lerklump
Coal Lump=Kolklump
Copper Ingot=Koppartacka
Copper Lump=Kopparklump
Diamond=Diamant
Flint=Flinta
Gold Ingot=Guldtacka
Gold Lump=Guldklump
Iron Lump=Järnklump
Mese Crystal=Mesekristall
Mese Crystal Fragment=Mesekristallfragment
Obsidian Shard=Obsidianskärva
Paper=Papper
Steel Ingot=Ståltacka
Stick=Pinne
Tin Ingot=Tenntacka
Tin Lump=Tennklump
Furnace is empty=Ugnen är tom
100% (output full)=100% (utgången full)
@1%=@1%
Not cookable=Inte kokbar
Empty=Tom
Furnace active=Ugn aktiv
Furnace inactive=Ugn inaktiv
(Item: @1; Fuel: @2)=(Sak: @1; Bränsle: @2)
Furnace=Ugn
Stone=Sten
Cobblestone=Kullersten
Stone Brick=Stentegel
Stone Block=Stenblock
Mossy Cobblestone=Mossig kullersten
Desert Stone=Ökensten
Desert Cobblestone=Ökenkullersten
Desert Stone Brick=Ökenstenstegel
Desert Stone Block=Ökenstensblock
Sandstone=Sandsten
Sandstone Brick=Sandstenstegel
Sandstone Block=Sandstensblock
Desert Sandstone=Ökensandsten
Desert Sandstone Brick=Ökensandstenstegel
Desert Sandstone Block=Ökensandstensblock
Silver Sandstone=Silversandsten
Silver Sandstone Brick=Silversandstenstegel
Silver Sandstone Block=Silversandstensblock
Obsidian=Obsidian
Obsidian Brick=Obsidiantegel
Obsidian Block=Obsidianblock
Dirt=Jord
Dirt with Grass=Jord med gräs
Dirt with Grass and Footsteps=Jord med gräs och fotsteg
Dirt with Savanna Grass=Jord med savanngräs
Dirt with Snow=Jord med snö
Dirt with Rainforest Litter=Jord med regnskogströ
Dirt with Coniferous Litter=Jord med barrträd
Savanna Dirt=Savannjord
Savanna Dirt with Savanna Grass=Savannjord med savanngräs
Permafrost=Permafrost
Permafrost with Stones=Permafrost med sten
Permafrost with Moss=Permafrost med mossa
Sand=Sand
Desert Sand=Ökensand
Silver Sand=Silversand
Gravel=Grus
Clay=Lera
Snow=Snö
Snow Block=Snöblock
Ice=Is
Cave Ice=Grottis
Apple Tree=Äppleträd
Apple Wood Planks=Äppleträdplankor
Apple Tree Sapling=Äppleplanta
Apple Tree Leaves=Äpplelöv
Apple=Äpple
Apple Marker=Äpplemarkör
Jungle Tree=Djungelträd
Jungle Wood Planks=Djungelplankor
Jungle Tree Leaves=Djungellöv
Jungle Tree Sapling=Djungelplanta
Emergent Jungle Tree Sapling=Nybliven djungelplanta
Pine Tree=Tall
Pine Wood Planks=Tallplankor
Pine Needles=Granbarr
Pine Tree Sapling=Tallplanta
Acacia Tree=Akaciaträd
Acacia Wood Planks=Akaciaplankor
Acacia Tree Leaves=Akacialöv
Acacia Tree Sapling=Akaciaplanta
Aspen Tree=Asp
Aspen Wood Planks=Aspplankor
Aspen Tree Leaves=Asplöv
Aspen Tree Sapling=Aspplanta
Coal Ore=Kolmalm
Coal Block=Kolblock
Iron Ore=Järnmalm
Steel Block=Stålblock
Copper Ore=Kopparmalm
Copper Block=Kopparblock
Tin Ore=Tennmalm
Tin Block=Tennblock
Bronze Block=Bronsblock
Mese Ore=Mesemalm
Mese Block=Meseblock
Gold Ore=Guldmalm
Gold Block=Guldblock
Diamond Ore=Diamantmalm
Diamond Block=Diamantblock
Cactus=Kaktus
Large Cactus Seedling=Stor kaktusplanta
Papyrus=Papyrus
Dry Shrub=Torr buske
Jungle Grass=Djungelgräs
Grass=Gräs
Savanna Grass=Savanngräs
Fern=Ormbunke
Marram Grass=Marramgräs
Bush Stem=Buskstam
Bush Leaves=Busklöv
Bush Sapling=Buskplanta
Blueberry Bush Leaves with Berries=Blåbärsbuske med bär
Blueberry Bush Leaves=Blåbärsbuske
Blueberry Bush Sapling=Blåbärsbuskplanta
Acacia Bush Stem=Akaciabuskstam
Acacia Bush Leaves=Akaciabuske
Acacia Bush Sapling=Akaciabuskplanta
Pine Bush Stem=Tallbuskestam
Pine Bush Needles=Tallgranbarr
Pine Bush Sapling=Tallbuskplanta
Kelp=Brunalg
Green Coral=Grön korall
Pink Coral=Rosa korall
Cyan Coral=Cyan korall
Brown Coral=Brun korall
Orange Coral=Orange korall
Coral Skeleton=Korallskelett
Water Source=Vattenkälla
Flowing Water=Flytande vatten
River Water Source=Flodvattenkälla
Flowing River Water=Flytande flodvatten
Lava Source=Lavakälla
Flowing Lava=Flytande lava
Empty Bookshelf=Tom bokhylla
Bookshelf (@1 written, @2 empty books)=Bokhylla (@1 skriva, @2 tomma böcker)
Bookshelf=Bokhylla
Text too long=Texten är för lång
"@1"="@1"
Wooden Sign=Träskylt
Steel Sign=Stålskylt
Wooden Ladder=Trästege
Steel Ladder=Stålstege
Apple Wood Fence=Äppleträstaket
Acacia Wood Fence=Akaciastaket
Jungle Wood Fence=Djungelstaket
Pine Wood Fence=Tallstaket
Aspen Wood Fence=Aspträdstaket
Apple Wood Fence Rail=Äppleträstaketsräls
Acacia Wood Fence Rail=Akaciastaketsräls
Jungle Wood Fence Rail=Djungelstaketsräls
Pine Wood Fence Rail=Tallstaketsräls
Aspen Wood Fence Rail=Aspstaketsräls
Glass=Glas
Obsidian Glass=Obsidianglas
Brick Block=Tegelstensblock
Mese Lamp=Meselampa
Apple Wood Mese Post Light=Äppleträ-meselykta
Acacia Wood Mese Post Light=Acacia-meselykta
Jungle Wood Mese Post Light=Djungel-meselykta
Pine Wood Mese Post Light=Tall-meselykta
Aspen Wood Mese Post Light=Aspträ-meselykta
Cloud=Moln
Wooden Pickaxe=Trähacka
Stone Pickaxe=Stenhacka
Bronze Pickaxe=Bronshacka
Steel Pickaxe=Stålhacka
Mese Pickaxe=Mesehacka
Diamond Pickaxe=Diamanthacka
Wooden Shovel=Träspade
Stone Shovel=Stenspade
Bronze Shovel=Bronsspade
Steel Shovel=Stålspade
Mese Shovel=Mesespade
Diamond Shovel=Diamantspade
Wooden Axe=Träyxa
Stone Axe=Stenyxa
Bronze Axe=Bronsyxa
Steel Axe=Stålyxa
Mese Axe=Meseyxa
Diamond Axe=Diamantyxa
Wooden Sword=Träsvärd
Stone Sword=Stensvärd
Bronze Sword=Bronssvärd
Steel Sword=Stålsvärd
Mese Sword=Mesesvärd
Diamond Sword=Diamantsvärd
Torch=Fackla
@1 will intersect protection on growth.=@1 kommer korsa skyddet mot tillväxt.

View File

@ -0,0 +1,215 @@
# textdomain: default
Locked Chest=Заблокована Скриня
Locked Chest (owned by @1)=Заблокована Скриня (власник: @1)
You do not own this chest.=Ви не власник цієї скрині.
a locked chest=заблокована скриня
Chest=Скриня
Write=Писати
Read=Читати
Title:=Заголовок:
Contents:=Вміст:
Save=Зберегти
by @1=@1
Page @1 of @2=Сторінка @1 з @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" @2
Blueberries=Чорниці
Book=Книга
Book with Text=Книга З Текстом
Bronze Ingot=Бронзовий Злиток
Clay Brick=Глиняна Цегла
Clay Lump=Шматок Глини
Coal Lump=Шматок Вугілля
Copper Ingot=Мідний Злиток
Copper Lump=Шматок Меді
Diamond=Алмаз
Flint=Кремінь
Gold Ingot=Золотий Злиток
Gold Lump=Шматок Золота
Iron Lump=Шматок Заліза
Mese Crystal=Кристал Месе
Mese Crystal Fragment=Уламок Кристалу Месе
Obsidian Shard=Обсидіановий Уламок
Paper=Папір
Steel Ingot=Залізний Злиток
Stick=Палка
Tin Ingot=Шматок Олова
Tin Lump=Уламок Олова
Furnace is empty=Пічка Порожня
100% (output full)=100% (повне приготування)
@1%=@1%
Not cookable=Не може бути приготовлено
Empty=Порожньо
Furnace active=Піч запалена
Furnace inactive=Піч не запалена
(Item: @1; Fuel: @2)=(Предмет: @1; Паливо: @2)
Furnace=Піч
Stone=Камінь
Cobblestone=Кругляк
Stone Brick=Кам'яна Цегла
Stone Block=Кам'яний Блок
Mossy Cobblestone=Моховий Кругляк
Desert Stone=Пустельний Камінь
Desert Cobblestone=Пустельний Камінь
Desert Stone Brick=Пустельна Кам'яна Цегла
Desert Stone Block=Пустельний Кам'яний Блок
Sandstone=Піщаник
Sandstone Brick=Цегла З Піщанику
Sandstone Block=Блок З Піщанику
Desert Sandstone=Пустельний Піщаник
Desert Sandstone Brick=Пустельна Цегла З Піщанику
Desert Sandstone Block=Пустельний Блок З Піщанику
Silver Sandstone=Срібний Піщаник
Silver Sandstone Brick=Цегла Із Срібного Піщанику
Silver Sandstone Block=Блок Із Срібного Піщанику
Obsidian=Обсидіан
Obsidian Brick=Обсидіанова Цегла
Obsidian Block=Обсидіановий Блок
Dirt=Земля
Dirt with Grass=Земля З Травою
Dirt with Grass and Footsteps=Земля З Травою Та Слідами
Dirt with Savanna Grass=Земля Із Саванною Травою
Dirt with Snow=Земля Зі Снігом
Dirt with Rainforest Litter=Земля Із Тропічною Підстилкою
Dirt with Coniferous Litter=Земля Із Сосновою Підстилкою
Savanna Dirt=Саваннова Земля
Savanna Dirt with Savanna Grass=Саваннова Земля Із Травою
Permafrost=Заморожений Ґрунт
Permafrost with Stones=Заморожений Ґрунт Із Камінням
Permafrost with Moss=Заморожений Ґрунт Із Мохом
Sand=Пісок
Desert Sand=Пустельний Пісок
Silver Sand=Срібний Пісок
Gravel=Гравій
Clay=Глиняний Блок
Snow=Сніг
Snow Block=Сніговий Блок
Ice=Лід
Cave Ice=Печерний Лід
Apple Tree=Стовбур Яблуні
Apple Wood Planks=Яблуневі Дошки
Apple Tree Sapling=Саджанець Яблуні
Apple Tree Leaves=Яблуневе Листя
Apple=Яблуко
Apple Marker=Яблучна Мітка
Jungle Tree=Стовбур Тропічного Дерева
Jungle Wood Planks=Дошки З Тропічного Дерева
Jungle Tree Leaves=Листя Тропічного Дерева
Jungle Tree Sapling=Саджанець Тропічного Дерева
Emergent Jungle Tree Sapling=Саджанець Тропічного Дерева, Що Виріс
Pine Tree=Сосновий Стовбур
Pine Wood Planks=Соснові Дошки
Pine Needles=Соснова Хвоя
Pine Tree Sapling=Саджанець Сосни
Acacia Tree=Стовбур Акації
Acacia Wood Planks=Дошки Акації
Acacia Tree Leaves=Листя Акації
Acacia Tree Sapling=Саджанець Акації
Aspen Tree=Стовбур Осики
Aspen Wood Planks=Осикові Дошки
Aspen Tree Leaves=Осикове Листя
Aspen Tree Sapling=Саджанець Осики
Coal Ore=Поклади Вугілля
Coal Block=Вугільний Блок
Iron Ore=Залізна Руда
Steel Block=Сталевий Блок
Copper Ore=Мідна Руда
Copper Block=Мідний Блок
Tin Ore=Олов'яна Руда
Tin Block=Олов'яний Блок
Bronze Block=Бронзовий Блок
Mese Ore=Месева Руда
Mese Block=Месевий Блок
Gold Ore=Золота Руда
Gold Block=Золотий Блок
Diamond Ore=Поклади Алмазу
Diamond Block=Алмазний Блок
Cactus=Кактус
Large Cactus Seedling=Саджанець Кактуса
Papyrus=Папірус
Dry Shrub=Сухий Кущ
Jungle Grass=Тропічна Трава
Grass=Трава
Savanna Grass=Саваннова Трава
Fern=Папороть
Marram Grass=Пісколюб
Bush Stem=Стебла Куща
Bush Leaves=Листя Куща
Bush Sapling=Саджанець Куща
Blueberry Bush Leaves with Berries=Кущ Чорниці З Ягодами
Blueberry Bush Leaves=Кущ Чорниці
Blueberry Bush Sapling=Саджанець Куща Чорниці
Acacia Bush Stem=Стебла Куща Акації
Acacia Bush Leaves=Листя Куща Акації
Acacia Bush Sapling=Саджанець Куща Акації
Pine Bush Stem=Стебла Хвойного Куща
Pine Bush Needles=Хвоя Куща
Pine Bush Sapling=Саджанець Хвойного Куща
Kelp=Ламінарія
Green Coral=Зелений Корал
Pink Coral=Рожевий Корал
Cyan Coral=Блакитний Корал
Brown Coral=Коричневий Корал
Orange Coral=Помаранчевий Корал
Coral Skeleton=Кораловий Остов
Water Source=Водне Джерело
Flowing Water=Проточна Вода
River Water Source=Річкове Водне Джерело
Flowing River Water=Проточна Річна Вода
Lava Source=Лавове Джерело
Flowing Lava=Проточна Лава
Empty Bookshelf=Порожня Книжкова Полиця
Bookshelf (@1 written, @2 empty books)=Книжкова Полиця (@1 книг з записами, @2 чисті книги)
Bookshelf=Книжкова Полиця
Text too long=Текст надто довгий
"@1"="@1"
Wooden Sign=Дерев'яна Табличка
Steel Sign=Сталева Табличка
Wooden Ladder=Дерев'яна Драбина
Steel Ladder=Сталеві Сходи
Apple Wood Fence=Яблуневий Дерев'яний Паркан
Acacia Wood Fence=Дерев'яний Паркан З Акації
Jungle Wood Fence=Дерев'яний Паркан З Тропічного Дерева
Pine Wood Fence=Сосновий Дерев'яний Паркан
Aspen Wood Fence=Осиковий Дерев'яний Паркан
Apple Wood Fence Rail=Яблуневий Дерев'яний Рейковий Паркан
Acacia Wood Fence Rail=Дерев'яний Рейковий Паркан З Акації
Jungle Wood Fence Rail=Дерев'яний Рейковий Паркан З Тропічного Дерева
Pine Wood Fence Rail=Сосновий Дерев'яний Рейковий Паркан
Aspen Wood Fence Rail=Осиковий Дерев'яний Рейковий Паркан
Glass=Скло
Obsidian Glass=Обсидіанове Скло
Brick Block=Цегляний Блок
Mese Lamp=Месе Лампа
Apple Wood Mese Post Light=Стовповий Месе Світильник З Яблуні
Acacia Wood Mese Post Light=Стовповий Месе Світильник З Акації
Jungle Wood Mese Post Light=Стовповий Месе Світильник Із Тропічного Дерева
Pine Wood Mese Post Light=Стовповий Месе Світильник Із Сосни
Aspen Wood Mese Post Light=Стовповий Месе Світильник З Осики
Cloud=Хмара
Wooden Pickaxe=Дерев'яна Кірка
Stone Pickaxe=Кам'яна Кірка
Bronze Pickaxe=Бронзова Кірка
Steel Pickaxe=Сталева Кірка
Mese Pickaxe=Месе Кірка
Diamond Pickaxe=Алмазна Кірка
Wooden Shovel=Дерев'янна Лопата
Stone Shovel=Кам'яна Лопата
Bronze Shovel=Бронзова Лопата
Steel Shovel=Сталева Лопата
Mese Shovel=Месе Лопата
Diamond Shovel=Алмазна Лопата
Wooden Axe=Дерев'яна Сокира
Stone Axe=Кам'яна Сокира
Bronze Axe=Бронзова Сокира
Steel Axe=Сталева Сокира
Mese Axe=Месе Сокира
Diamond Axe=Алмазна Сокира
Wooden Sword=Дерев'яний Меч
Stone Sword=Кам'яний Меч
Bronze Sword=Бронзовий Меч
Steel Sword=Сталевий Меч
Mese Sword=Месе Меч
Diamond Sword=Алмазний Меч
Torch=Факел
@1 will intersect protection on growth.=@1 перетне захист за зростанням.

View File

@ -1,17 +1,18 @@
# textdomain: default # textdomain: default
Locked Chest=已上锁的箱子 Locked Chest=已上锁的箱子
Locked Chest (owned by @1)=已上锁的箱子(属于@1所有 Locked Chest (owned by @1)=已上锁的箱子(属于@1
You do not own this chest.=这个箱子不属于你所有。 You do not own this chest.=这个箱子不属于你所有。
a locked chest=一个已上锁的箱子 a locked chest=一个已上锁的箱子
Chest=箱子 Chest=箱子
Write=
Read=
Title:=标题: Title:=标题:
Contents:=内容: Contents:=内容:
Save=保存 Save=保存
by @1=由@1 by @1=由@1
Page @1 of @2=第@1页共@2页。 Page @1 of @2=第@1页共@2页。
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" by @2 "@1" by @2="@1" by @2
Skeleton Key=万能钥匙
Key to @1's @2=@1的@2的钥匙
Blueberries=蓝莓 Blueberries=蓝莓
Book=书 Book=书
Book with Text=带文字的书 Book with Text=带文字的书
@ -66,13 +67,13 @@ Obsidian Brick=黑曜石砖
Obsidian Block=黑曜石方块 Obsidian Block=黑曜石方块
Dirt=土方块 Dirt=土方块
Dirt with Grass=草方块 Dirt with Grass=草方块
Dirt with Grass and Footsteps=草方块及脚印 Dirt with Grass and Footsteps=带有脚印的草方块
Dirt with Savanna Grass=草原草方块 Dirt with Savanna Grass=草原草方块
Dirt with Snow=雪土方块 Dirt with Snow=雪土方块
Dirt with Rainforest Litter=雨林 Dirt with Rainforest Litter=雨林凋落物
Dirt with Coniferous Litter=针叶林 Dirt with Coniferous Litter=针叶林凋落物
Savanna Dirt=草原土 Savanna Dirt=草原土
Savanna Dirt with Savanna Grass=草原草方块(草原土) Savanna Dirt with Savanna Grass=草原草方块
Permafrost=多年冻土 Permafrost=多年冻土
Permafrost with Stones=带石头的多年冻土 Permafrost with Stones=带石头的多年冻土
Permafrost with Moss=生苔的多年冻土 Permafrost with Moss=生苔的多年冻土
@ -95,7 +96,7 @@ Jungle Tree=丛林树
Jungle Wood Planks=丛林树木板 Jungle Wood Planks=丛林树木板
Jungle Tree Leaves=丛林树叶 Jungle Tree Leaves=丛林树叶
Jungle Tree Sapling=丛林树苗 Jungle Tree Sapling=丛林树苗
Emergent Jungle Tree Sapling=应急丛林树苗 Emergent Jungle Tree Sapling=露生层丛林树苗
Pine Tree=松树 Pine Tree=松树
Pine Wood Planks=松树木板 Pine Wood Planks=松树木板
Pine Needles=松针 Pine Needles=松针
@ -129,13 +130,13 @@ Papyrus=莎草纸
Dry Shrub=干灌木 Dry Shrub=干灌木
Jungle Grass=丛林草 Jungle Grass=丛林草
Grass=草 Grass=草
Savanna Grass= Savanna Grass=草原草
Fern=蕨 Fern=蕨
Marram Grass=滨草 Marram Grass=滨草
Bush Stem=灌木 Bush Stem=灌木
Bush Leaves=灌木叶 Bush Leaves=灌木叶
Bush Sapling=灌木苗 Bush Sapling=灌木苗
Blueberry Bush Leaves with Berries=蓝莓灌木叶与浆果 Blueberry Bush Leaves with Berries=长蓝莓的蓝莓灌木叶
Blueberry Bush Leaves=蓝莓灌木叶 Blueberry Bush Leaves=蓝莓灌木叶
Blueberry Bush Sapling=蓝莓灌木苗 Blueberry Bush Sapling=蓝莓灌木苗
Acacia Bush Stem=相思灌木 Acacia Bush Stem=相思灌木
@ -210,9 +211,8 @@ Bronze Sword=青铜剑
Steel Sword=铁剑 Steel Sword=铁剑
Mese Sword=黄石剑 Mese Sword=黄石剑
Diamond Sword=钻石剑 Diamond Sword=钻石剑
Key=钥匙
Torch=火把 Torch=火把
@1 will intersect protection on growth.=@1将与增长的保护相交。 @1 will intersect protection on growth.=@1生长时将与保护区域相交。
##### not used anymore ##### ##### not used anymore #####

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=已上鎖的箱子(屬於@1所有
You do not own this chest.=這個箱子不屬於你所有。 You do not own this chest.=這個箱子不屬於你所有。
a locked chest=一個已上鎖的箱子 a locked chest=一個已上鎖的箱子
Chest=箱子 Chest=箱子
Write=
Read=
Title:=標題: Title:=標題:
Contents:=內容: Contents:=內容:
Save=保存 Save=保存
by @1=由@1 by @1=由@1
Page @1 of @2=第@1頁共@2頁。 Page @1 of @2=第@1頁共@2頁。
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" by @2 "@1" by @2="@1" by @2
Skeleton Key=萬能鑰匙
Key to @1's @2=@1的@2的鑰匙
Blueberries=藍莓 Blueberries=藍莓
Book=書 Book=書
Book with Text=帶文字的書 Book with Text=帶文字的書
@ -210,7 +211,6 @@ Bronze Sword=青銅劍
Steel Sword=鐵劍 Steel Sword=鐵劍
Mese Sword=黃石劍 Mese Sword=黃石劍
Diamond Sword=鑽石劍 Diamond Sword=鑽石劍
Key=鑰匙
Torch=火把 Torch=火把
@1 will intersect protection on growth.=@1將與增長的保護相交。 @1 will intersect protection on growth.=@1將與增長的保護相交。

View File

@ -4,14 +4,15 @@ Locked Chest (owned by @1)=
You do not own this chest.= You do not own this chest.=
a locked chest= a locked chest=
Chest= Chest=
Write=
Read=
Title:= Title:=
Contents:= Contents:=
Save= Save=
by @1= by @1=
Page @1 of @2= Page @1 of @2=
The book you were writing to mysteriously disappeared.=
"@1" by @2= "@1" by @2=
Skeleton Key=
Key to @1's @2=
Blueberries= Blueberries=
Book= Book=
Book with Text= Book with Text=
@ -210,6 +211,5 @@ Bronze Sword=
Steel Sword= Steel Sword=
Mese Sword= Mese Sword=
Diamond Sword= Diamond Sword=
Key=
Torch= Torch=
@1 will intersect protection on growth.= @1 will intersect protection on growth.=

View File

@ -1,7 +1,5 @@
# Blender v2.77 (sub 0) OBJ File: 'torch_ceiling.blend' # Blender v2.77 (sub 0) OBJ File: 'torch_ceiling.blend'
# www.blender.org # www.blender.org
mtllib torch_ceiling.mtl
o Cube_Cube.001
v -0.062469 -0.047331 0.068152 v -0.062469 -0.047331 0.068152
v -0.062469 -0.559515 -0.164388 v -0.062469 -0.559515 -0.164388
v -0.062469 0.004344 -0.045667 v -0.062469 0.004344 -0.045667
@ -45,14 +43,11 @@ vn -0.0000 -0.4134 0.9105
vn -1.0000 0.0000 0.0000 vn -1.0000 0.0000 0.0000
vn 0.7071 0.0000 -0.7071 vn 0.7071 0.0000 -0.7071
vn 0.7071 0.0000 0.7071 vn 0.7071 0.0000 0.7071
usemtl Material.001
s off
f 3/1/1 1/2/1 5/3/1 7/4/1 f 3/1/1 1/2/1 5/3/1 7/4/1
f 8/5/1 4/6/1 2/7/1 6/8/1 f 8/5/1 4/6/1 2/7/1 6/8/1
f 3/9/2 4/6/2 8/5/2 7/10/2 f 3/9/2 4/6/2 8/5/2 7/10/2
f 1/11/3 3/9/3 4/6/3 2/12/3 f 1/11/3 3/9/3 4/6/3 2/12/3
f 5/13/2 1/11/2 2/12/2 6/14/2 f 5/13/2 1/11/2 2/12/2 6/14/2
f 7/10/3 8/5/3 6/14/3 5/13/3 f 7/10/3 8/5/3 6/14/3 5/13/3
usemtl Material.002
f 9/15/4 10/16/4 12/17/4 11/18/4 f 9/15/4 10/16/4 12/17/4 11/18/4
f 13/19/5 14/20/5 16/21/5 15/22/5 f 13/19/5 14/20/5 16/21/5 15/22/5

View File

@ -1,7 +1,5 @@
# Blender v2.76 (sub 11) OBJ File: 'torch_floor.blend' # Blender v2.76 (sub 11) OBJ File: 'torch_floor.blend'
# www.blender.org # www.blender.org
mtllib torch_floor.mtl
o Cube_Cube.001
v 0.062500 0.062500 -0.062500 v 0.062500 0.062500 -0.062500
v 0.062500 -0.500000 -0.062500 v 0.062500 -0.500000 -0.062500
v 0.062500 0.062500 0.062500 v 0.062500 0.062500 0.062500
@ -35,16 +33,11 @@ vn 0.000000 0.000000 -1.000000
vn 1.000000 0.000000 0.000000 vn 1.000000 0.000000 0.000000
vn -0.707100 0.000000 -0.707100 vn -0.707100 0.000000 -0.707100
vn -0.707100 -0.000000 0.707100 vn -0.707100 -0.000000 0.707100
g Cube_Cube.001_Cube_Cube.001_Material.001
usemtl Material.001
s off
f 3/1/1 1/2/1 5/3/1 7/4/1 f 3/1/1 1/2/1 5/3/1 7/4/1
f 8/5/1 4/6/1 2/7/1 6/8/1 f 8/5/1 4/6/1 2/7/1 6/8/1
f 3/2/2 4/6/2 8/5/2 7/3/2 f 3/2/2 4/6/2 8/5/2 7/3/2
f 1/3/3 3/2/3 4/6/3 2/5/3 f 1/3/3 3/2/3 4/6/3 2/5/3
f 5/2/2 1/3/2 2/5/2 6/6/2 f 5/2/2 1/3/2 2/5/2 6/6/2
f 7/3/3 8/5/3 6/6/3 5/2/3 f 7/3/3 8/5/3 6/6/3 5/2/3
g Cube_Cube.001_Cube_Cube.001_Material.002
usemtl Material.002
f 9/9/4 10/10/4 12/11/4 11/12/4 f 9/9/4 10/10/4 12/11/4 11/12/4
f 13/12/5 14/9/5 16/10/5 15/11/5 f 13/12/5 14/9/5 16/10/5 15/11/5

View File

@ -1,7 +1,5 @@
# Blender v2.76 (sub 11) OBJ File: 'torch_wall.blend' # Blender v2.76 (sub 11) OBJ File: 'torch_wall.blend'
# www.blender.org # www.blender.org
mtllib torch_wall.mtl
o Cube_Cube.001
v 0.062469 -0.195248 0.023570 v 0.062469 -0.195248 0.023570
v 0.062469 -0.476498 -0.463570 v 0.062469 -0.476498 -0.463570
v 0.062469 -0.303502 0.086070 v 0.062469 -0.303502 0.086070
@ -47,9 +45,6 @@ vn -0.707100 0.612400 -0.353600
vn -0.707100 -0.612400 0.353600 vn -0.707100 -0.612400 0.353600
vn -0.707100 0.707100 -0.000000 vn -0.707100 0.707100 -0.000000
vn -0.707100 -0.707100 -0.000000 vn -0.707100 -0.707100 -0.000000
g Cube_Cube.001_Cube_Cube.001_Material.001
usemtl Material.001
s off
f 3/1/1 1/2/1 5/3/1 7/4/1 f 3/1/1 1/2/1 5/3/1 7/4/1
f 8/5/1 4/6/1 2/7/1 6/8/1 f 8/5/1 4/6/1 2/7/1 6/8/1
f 3/2/2 4/6/2 8/5/2 7/3/2 f 3/2/2 4/6/2 8/5/2 7/3/2
@ -58,7 +53,5 @@ f 5/2/2 1/3/2 2/5/2 6/6/2
f 7/3/3 8/5/3 6/6/3 5/2/3 f 7/3/3 8/5/3 6/6/3 5/2/3
f 17/9/4 18/10/4 20/11/4 19/12/4 f 17/9/4 18/10/4 20/11/4 19/12/4
f 21/9/5 22/10/5 24/11/5 23/12/5 f 21/9/5 22/10/5 24/11/5 23/12/5
g Cube_Cube.001_Cube_Cube.001_Material.002
usemtl Material.002
f 9/12/6 10/13/6 12/14/6 11/9/6 f 9/12/6 10/13/6 12/14/6 11/9/6
f 13/9/7 14/12/7 16/13/7 15/14/7 f 13/9/7 14/12/7 16/13/7 15/14/7

View File

@ -2057,10 +2057,9 @@ local function coral_on_place(itemstack, placer, pointed_thing)
if minetest.is_protected(pos_under, player_name) or if minetest.is_protected(pos_under, player_name) or
minetest.is_protected(pos_above, player_name) then minetest.is_protected(pos_above, player_name) then
minetest.log("action", player_name default.log_player_action(placer,
.. " tried to place " .. itemstack:get_name() "tried to place", itemstack:get_name(),
.. " at protected position " "at protected position", pos_under)
.. minetest.pos_to_string(pos_under))
minetest.record_protection_violation(pos_under, player_name) minetest.record_protection_violation(pos_under, player_name)
return itemstack return itemstack
end end
@ -2525,7 +2524,7 @@ local function update_bookshelf(pos)
end end
end end
minetest.register_node("default:bookshelf", { local default_bookshelf_def = {
description = S("Bookshelf"), description = S("Bookshelf"),
tiles = {"default_wood.png", "default_wood.png", "default_wood.png", tiles = {"default_wood.png", "default_wood.png", "default_wood.png",
"default_wood.png", "default_bookshelf.png", "default_bookshelf.png"}, "default_wood.png", "default_bookshelf.png", "default_bookshelf.png"},
@ -2550,21 +2549,6 @@ minetest.register_node("default:bookshelf", {
end end
return 0 return 0
end, 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) on_blast = function(pos)
local drops = {} local drops = {}
default.get_inventory_drops(pos, "books", drops) default.get_inventory_drops(pos, "books", drops)
@ -2572,7 +2556,9 @@ minetest.register_node("default:bookshelf", {
minetest.remove_node(pos) minetest.remove_node(pos)
return drops return drops
end, 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) local function register_sign(material, desc, def)
minetest.register_node("default:sign_wall_" .. material, { 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")) minetest.chat_send_player(player_name, S("Text too long"))
return return
end end
minetest.log("action", player_name .. " wrote \"" .. text .. default.log_player_action(sender, "wrote \"" .. text ..
"\" to the sign at " .. minetest.pos_to_string(pos)) "\" to the sign at", pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("text", text) meta:set_string("text", text)
@ -2810,7 +2796,6 @@ minetest.register_node("default:glass", {
tiles = {"default_glass.png", "default_glass_detail.png"}, tiles = {"default_glass.png", "default_glass_detail.png"},
use_texture_alpha = "clip", -- only needed for stairs API use_texture_alpha = "clip", -- only needed for stairs API
paramtype = "light", paramtype = "light",
paramtype2 = "glasslikeliquidlevel",
sunlight_propagates = true, sunlight_propagates = true,
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3}, 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"}, tiles = {"default_obsidian_glass.png", "default_obsidian_glass_detail.png"},
use_texture_alpha = "clip", -- only needed for stairs API use_texture_alpha = "clip", -- only needed for stairs API
paramtype = "light", paramtype = "light",
paramtype2 = "glasslikeliquidlevel",
is_ground_content = false, is_ground_content = false,
sunlight_propagates = true, sunlight_propagates = true,
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),

View File

@ -452,46 +452,6 @@ for name, mat in pairs(craft_ingreds) do
}) })
end end
minetest.register_tool("default:key", {
description = S("Key"),
inventory_image = "default_key.png",
groups = {key = 1, not_in_creative_inventory = 1},
stack_max = 1,
on_place = function(itemstack, placer, pointed_thing)
local under = pointed_thing.under
local node = minetest.get_node(under)
local def = minetest.registered_nodes[node.name]
if def and def.on_rightclick and
not (placer and placer:is_player() and
placer:get_player_control().sneak) then
return def.on_rightclick(under, node, placer, itemstack,
pointed_thing) or itemstack
end
if pointed_thing.type ~= "node" then
return itemstack
end
local pos = pointed_thing.under
node = minetest.get_node(pos)
if not node or node.name == "ignore" then
return itemstack
end
local ndef = minetest.registered_nodes[node.name]
if not ndef then
return itemstack
end
local on_key_use = ndef.on_key_use
if on_key_use then
on_key_use(pos, placer)
end
return nil
end
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:pick_wood", recipe = "default:pick_wood",

View File

@ -11,7 +11,7 @@ local function on_flood(pos, oldnode, newnode)
nodedef.groups.igniter and nodedef.groups.igniter > 0) then nodedef.groups.igniter and nodedef.groups.igniter > 0) then
minetest.sound_play( minetest.sound_play(
"default_cool_lava", "default_cool_lava",
{pos = pos, max_hear_distance = 16, gain = 0.1}, {pos = pos, max_hear_distance = 16, gain = 0.07},
true true
) )
end end

View File

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

View File

@ -170,10 +170,10 @@ function doors.door_toggle(pos, node, clicker)
if state % 2 == 0 then if state % 2 == 0 then
minetest.sound_play(def.door.sounds[1], minetest.sound_play(def.door.sounds[1],
{pos = pos, gain = 0.3, max_hear_distance = 10}, true) {pos = pos, gain = def.door.gains[1], max_hear_distance = 10}, true)
else else
minetest.sound_play(def.door.sounds[2], minetest.sound_play(def.door.sounds[2],
{pos = pos, gain = 0.3, max_hear_distance = 10}, true) {pos = pos, gain = def.door.gains[2], max_hear_distance = 10}, true)
end end
minetest.swap_node(pos, { minetest.swap_node(pos, {
@ -260,10 +260,11 @@ function doors.register(name, def)
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
local pos local pos
if not pointed_thing.type == "node" then if pointed_thing.type ~= "node" then
return itemstack return itemstack
end end
local doorname = itemstack:get_name()
local node = minetest.get_node(pointed_thing.under) local node = minetest.get_node(pointed_thing.under)
local pdef = minetest.registered_nodes[node.name] local pdef = minetest.registered_nodes[node.name]
if pdef and pdef.on_rightclick and if pdef and pdef.on_rightclick and
@ -315,10 +316,10 @@ function doors.register(name, def)
local state = 0 local state = 0
if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then if minetest.get_item_group(minetest.get_node(aside).name, "door") == 1 then
state = state + 2 state = state + 2
minetest.set_node(pos, {name = name .. "_b", param2 = dir}) minetest.set_node(pos, {name = doorname .. "_b", param2 = dir})
minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4}) minetest.set_node(above, {name = "doors:hidden", param2 = (dir + 3) % 4})
else else
minetest.set_node(pos, {name = name .. "_a", param2 = dir}) minetest.set_node(pos, {name = doorname .. "_a", param2 = dir})
minetest.set_node(above, {name = "doors:hidden", param2 = dir}) minetest.set_node(above, {name = "doors:hidden", param2 = dir})
end end
@ -364,12 +365,21 @@ function doors.register(name, def)
def.sound_close = "doors_door_close" def.sound_close = "doors_door_close"
end end
if not def.gain_open then
def.gain_open = 0.3
end
if not def.gain_close then
def.gain_close = 0.3
end
def.groups.not_in_creative_inventory = 1 def.groups.not_in_creative_inventory = 1
def.groups.door = 1 def.groups.door = 1
def.drop = name def.drop = name
def.door = { def.door = {
name = name, name = name,
sounds = { def.sound_close, def.sound_open }, sounds = {def.sound_close, def.sound_open},
gains = {def.gain_close, def.gain_open},
} }
if not def.on_rightclick then if not def.on_rightclick then
def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) def.on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
@ -436,19 +446,19 @@ function doors.register(name, def)
def.buildable_to = false def.buildable_to = false
def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} def.selection_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}}
def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}} def.collision_box = {type = "fixed", fixed = {-1/2,-1/2,-1/2,1/2,3/2,-6/16}}
def.use_texture_alpha = "clip" def.use_texture_alpha = def.use_texture_alpha or "clip"
def.mesh = "door_a.obj" def.mesh = "door_a.b3d"
minetest.register_node(":" .. name .. "_a", def) minetest.register_node(":" .. name .. "_a", table.copy(def))
def.mesh = "door_b.obj" def.mesh = "door_b.b3d"
minetest.register_node(":" .. name .. "_b", def) minetest.register_node(":" .. name .. "_b", table.copy(def))
def.mesh = "door_a2.obj" def.mesh = "door_b.b3d"
minetest.register_node(":" .. name .. "_c", def) minetest.register_node(":" .. name .. "_c", table.copy(def))
def.mesh = "door_b2.obj" def.mesh = "door_a.b3d"
minetest.register_node(":" .. name .. "_d", def) minetest.register_node(":" .. name .. "_d", table.copy(def))
doors.registered_doors[name .. "_a"] = true doors.registered_doors[name .. "_a"] = true
doors.registered_doors[name .. "_b"] = true doors.registered_doors[name .. "_b"] = true
@ -461,6 +471,8 @@ doors.register("door_wood", {
description = S("Wooden Door"), description = S("Wooden Door"),
inventory_image = "doors_item_wood.png", inventory_image = "doors_item_wood.png",
groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
gain_open = 0.06,
gain_close = 0.13,
recipe = { recipe = {
{"group:wood", "group:wood"}, {"group:wood", "group:wood"},
{"group:wood", "group:wood"}, {"group:wood", "group:wood"},
@ -477,6 +489,8 @@ doors.register("door_steel", {
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "doors_steel_door_open", sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close", sound_close = "doors_steel_door_close",
gain_open = 0.2,
gain_close = 0.2,
recipe = { recipe = {
{"default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "default:steel_ingot"}, {"default:steel_ingot", "default:steel_ingot"},
@ -492,6 +506,8 @@ doors.register("door_glass", {
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open", sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close", sound_close = "doors_glass_door_close",
gain_open = 0.3,
gain_close = 0.25,
recipe = { recipe = {
{"default:glass", "default:glass"}, {"default:glass", "default:glass"},
{"default:glass", "default:glass"}, {"default:glass", "default:glass"},
@ -507,6 +523,8 @@ doors.register("door_obsidian_glass", {
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open", sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close", sound_close = "doors_glass_door_close",
gain_open = 0.3,
gain_close = 0.25,
recipe = { recipe = {
{"default:obsidian_glass", "default:obsidian_glass"}, {"default:obsidian_glass", "default:obsidian_glass"},
{"default:obsidian_glass", "default:obsidian_glass"}, {"default:obsidian_glass", "default:obsidian_glass"},
@ -553,12 +571,12 @@ function doors.trapdoor_toggle(pos, node, clicker)
if string.sub(node.name, -5) == "_open" then if string.sub(node.name, -5) == "_open" then
minetest.sound_play(def.sound_close, minetest.sound_play(def.sound_close,
{pos = pos, gain = 0.3, max_hear_distance = 10}, true) {pos = pos, gain = def.gain_close, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = string.sub(node.name, 1, minetest.swap_node(pos, {name = string.sub(node.name, 1,
string.len(node.name) - 5), param1 = node.param1, param2 = node.param2}) string.len(node.name) - 5), param1 = node.param1, param2 = node.param2})
else else
minetest.sound_play(def.sound_open, minetest.sound_play(def.sound_open,
{pos = pos, gain = 0.3, max_hear_distance = 10}, true) {pos = pos, gain = def.gain_open, max_hear_distance = 10}, true)
minetest.swap_node(pos, {name = node.name .. "_open", minetest.swap_node(pos, {name = node.name .. "_open",
param1 = node.param1, param2 = node.param2}) param1 = node.param1, param2 = node.param2})
end end
@ -582,7 +600,7 @@ function doors.register_trapdoor(name, def)
def.paramtype = "light" def.paramtype = "light"
def.paramtype2 = "facedir" def.paramtype2 = "facedir"
def.is_ground_content = false def.is_ground_content = false
def.use_texture_alpha = "clip" def.use_texture_alpha = def.use_texture_alpha or "clip"
if def.protected then if def.protected then
def.can_dig = can_dig_door def.can_dig = can_dig_door
@ -641,13 +659,25 @@ function doors.register_trapdoor(name, def)
def.sound_close = "doors_door_close" def.sound_close = "doors_door_close"
end end
if not def.gain_open then
def.gain_open = 0.3
end
if not def.gain_close then
def.gain_close = 0.3
end
local def_opened = table.copy(def) local def_opened = table.copy(def)
local def_closed = table.copy(def) local def_closed = table.copy(def)
def_closed.node_box = { if def.nodebox_closed and def.nodebox_opened then
type = "fixed", def_closed.node_box = def.nodebox_closed
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} else
} def_closed.node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
}
end
def_closed.selection_box = { def_closed.selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5} fixed = {-0.5, -0.5, -0.5, 0.5, -6/16, 0.5}
@ -661,10 +691,14 @@ function doors.register_trapdoor(name, def)
def.tile_side def.tile_side
} }
def_opened.node_box = { if def.nodebox_opened and def.nodebox_closed then
type = "fixed", def_opened.node_box = def.nodebox_opened
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} else
} def_opened.node_box = {
type = "fixed",
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}
}
end
def_opened.selection_box = { def_opened.selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5} fixed = {-0.5, -0.5, 6/16, 0.5, 0.5, 0.5}
@ -694,6 +728,8 @@ doors.register_trapdoor("doors:trapdoor", {
wield_image = "doors_trapdoor.png", wield_image = "doors_trapdoor.png",
tile_front = "doors_trapdoor.png", tile_front = "doors_trapdoor.png",
tile_side = "doors_trapdoor_side.png", tile_side = "doors_trapdoor_side.png",
gain_open = 0.06,
gain_close = 0.13,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1}, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2, door = 1},
}) })
@ -707,6 +743,8 @@ doors.register_trapdoor("doors:trapdoor_steel", {
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "doors_steel_door_open", sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close", sound_close = "doors_steel_door_close",
gain_open = 0.2,
gain_close = 0.2,
groups = {cracky = 1, level = 2, door = 1}, groups = {cracky = 1, level = 2, door = 1},
}) })
@ -746,8 +784,8 @@ function doors.register_fencegate(name, def)
sounds = def.sounds, sounds = def.sounds,
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing) on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
local node_def = minetest.registered_nodes[node.name] local node_def = minetest.registered_nodes[node.name]
minetest.swap_node(pos, {name = node_def.gate, param2 = node.param2}) minetest.swap_node(pos, {name = node_def._gate, param2 = node.param2})
minetest.sound_play(node_def.sound, {pos = pos, gain = 0.3, minetest.sound_play(node_def._gate_sound, {pos = pos, gain = 0.15,
max_hear_distance = 8}, true) max_hear_distance = 8}, true)
return itemstack return itemstack
end, end,
@ -775,8 +813,8 @@ function doors.register_fencegate(name, def)
local fence_closed = table.copy(fence) local fence_closed = table.copy(fence)
fence_closed.mesh = "doors_fencegate_closed.obj" fence_closed.mesh = "doors_fencegate_closed.obj"
fence_closed.gate = name .. "_open" fence_closed._gate = name .. "_open"
fence_closed.sound = "doors_fencegate_open" fence_closed._gate_sound = "doors_fencegate_open"
fence_closed.collision_box = { fence_closed.collision_box = {
type = "fixed", type = "fixed",
fixed = {-1/2, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8} fixed = {-1/2, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8}
@ -784,8 +822,8 @@ function doors.register_fencegate(name, def)
local fence_open = table.copy(fence) local fence_open = table.copy(fence)
fence_open.mesh = "doors_fencegate_open.obj" fence_open.mesh = "doors_fencegate_open.obj"
fence_open.gate = name .. "_closed" fence_open._gate = name .. "_closed"
fence_open.sound = "doors_fencegate_close" fence_open._gate_sound = "doors_fencegate_close"
fence_open.groups.not_in_creative_inventory = 1 fence_open.groups.not_in_creative_inventory = 1
fence_open.collision_box = { fence_open.collision_box = {
type = "fixed", type = "fixed",

View File

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

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=隠しドアの区切り
Owned by @1=所有者 @1
You do not own this locked door.=あなたはこのロックされたドアの所有者ではありません。
a locked door=ロックされたドア
Wooden Door=木のドア
Steel Door=鉄のドア
Glass Door=ガラスのドア
Obsidian Glass Door=黒曜石のガラスのドア
You do not own this trapdoor.=あなたはこのトラップドアの所有者ではありません。
a locked 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=ポプラのフェンスゲート

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 a locked trapdoor=lo selstela lolvrogai
Wooden Trapdoor=lo mudri lolvrogai Wooden Trapdoor=lo mudri lolvrogai
Steel Trapdoor=lo gasta 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 Acacia Wood Fence Gate=lo atkaci,ia mudri garbimvrogai
Jungle Wood Fence Gate=lo glatimdemricfoi 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 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

View File

@ -1,18 +0,0 @@
# textdomain: doors
Hidden Door Segment=Dold dörrsegment
Owned by @1=Ägd av @1
You do not own this locked door.=Du äger inte denna låsta dörr.
a locked door=en låst dörr
Wooden Door=Trä Dörr
Steel Door=Stål Dörr
Glass Door=Glas Dörr
Obsidian Glass Door=Obsidian Glas Dörr
You do not own this trapdoor.=Du äger inte denna fallucka
a locked trapdoor=en låst fallucka
Wooden Trapdoor=Trä Fallucka
Steel Trapdoor=Stål Fallucka
Apple Wood Fence Gate=Äpple Trä Fallucka
Acacia Wood Fence Gate=Akacia Trä Fallucka
Jungle Wood Fence Gate=Djungel Trä Fallucka
Pine Wood Fence Gate=Tall Trä Fallucka
Aspen Wood Fence Gate=Asp Trä Fallucka

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Dolt dörrsegment
Owned by @1=Ägd av @1
You do not own this locked door.=Du äger inte denna låsta dörr.
a locked door=en låst dörr
Wooden Door=Trädörr
Steel Door=Ståldörr
Glass Door=Glasdörr
Obsidian Glass Door=Obsidianglasdörr
You do not own this trapdoor.=Du äger inte denna fallucka
a locked trapdoor=en låst fallucka
Wooden Trapdoor=Träfallucka
Steel Trapdoor=Stålfallucka
Apple Wood Fence Gate=Äppleträfallucka
Acacia Wood Fence Gate=Akaciaträfallucka
Jungle Wood Fence Gate=Djungelträfallucka
Pine Wood Fence Gate=Tallträfallucka
Aspen Wood Fence Gate=Aspträfallucka

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Захована Частина Дверей
Owned by @1=Власник: @1
You do not own this locked door.=Ви не власник цих заблокованих дверей.
a locked door=заблоковані двері
Wooden Door=Дерев'яні двері
Steel Door=Сталеві Двері
Glass Door=Скляні двері
Obsidian Glass Door=Двері З Обсидіанового Скла
You do not own this trapdoor.=Ви не є власником цього люка.
a locked 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=Осикова Дерев'яна Хвіртка

View File

@ -1,13 +1,13 @@
# textdomain: doors # textdomain: doors
Hidden Door Segment=隐藏门段 Hidden Door Segment=隐藏门段
Owned by @1=由@1 Owned by @1=由@1
You do not own this locked door.=这个门不属于你所有 You do not own this locked door.=这个门不属于你。
a locked door=一扇已上锁的门 a locked door=一扇已上锁的门
Wooden Door=木门 Wooden Door=木门
Steel Door=铁门 Steel Door=铁门
Glass Door=玻璃门 Glass Door=玻璃门
Obsidian Glass Door=黑曜石玻璃门 Obsidian Glass Door=黑曜石玻璃门
You do not own this trapdoor.=这个活板门不属于你所有 You do not own this trapdoor.=这个活板门不属于你。
a locked trapdoor=一扇已上锁的活板门 a locked trapdoor=一扇已上锁的活板门
Wooden Trapdoor=木活板门 Wooden Trapdoor=木活板门
Steel Trapdoor=铁活板门 Steel Trapdoor=铁活板门

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