Compare commits

...

52 commits

Author SHA1 Message Date
Pedro Gimeno
838ad60ad0 Fix dry_grass_N on dirt producing dirt_with_grass
Some checks failed
luacheck / luacheck (push) Has been cancelled
test / test (push) Has been cancelled
`dry_grass_N` has groups `grass` and `dry_grass`, so if the check for `grass` is done first, having dry_grass on it makes it turn into `dirt_with_grass` instead of `dirt_with_dry_grass`. Changing the order fixes this.
2025-04-19 19:19:12 +02:00
Maksym H.
c6fabe4734 Creative: release memory when player leaves
Some checks failed
luacheck / luacheck (push) Has been cancelled
test / test (push) Has been cancelled
2025-04-12 12:35:21 +02:00
sfan5
5a4818a402 Set blend = "clip" on spawned particles
Some checks failed
luacheck / luacheck (push) Has been cancelled
test / test (push) Has been cancelled
2025-03-01 15:35:11 +01:00
sfan5
692ac2d062 Generalize TNT item loss probability and apply it to more items 2025-03-01 15:35:11 +01:00
StoyanDimitrov
d38b8e6657
Add Bulgarian translation (#3178)
Some checks failed
luacheck / luacheck (push) Has been cancelled
test / test (push) Has been cancelled
2025-02-15 14:52:26 +01:00
Lars Müller
672b63f9dc
Fix TNT explosions not removing metadata (#3180)
Co-authored-by: sfan5 <sfan5@live.de>
2025-01-19 23:00:40 +01:00
SmallJoker
1f4291ff09
Beds: allow digging stray top nodes (#3173)
This may occur by rotating the bottom bed node without
calling the 'on_rotate' callback for various reasons.
2025-01-13 12:10:03 +01:00
sfan5
ee1f2b68df
Add safety checks before overriding builtin item entity (#3177) 2025-01-13 12:09:45 +01:00
EGYT5453
6da5e947f0 Fix optimize_textures.sh 2025-01-06 01:42:57 +01:00
Lars Mueller
9bcf2d46d0 Fix book crash with malicious form data 2024-12-21 16:28:45 +01:00
tenplus1
f4f365970a
Tweak beds moving check (#3170)
checking player movement is too sensitive with 0.001 as the value, changing to 0.05 works a lot better especially when 3rd party mods that change player physics are in use.
2024-12-12 16:36:46 +01:00
Wuzzy
312a67b40c
Replace Minetest mentions with Luanti (#3169) 2024-12-04 18:01:28 +01:00
CowboyLv
c7be7c165f
Latvian translation (#3160) 2024-11-16 16:32:35 +01:00
Alexander Chibrikin
92daf3e6f4
Make walls connect to nodes in a new wall_connected group (#3159) 2024-11-15 15:10:14 +01:00
grorp
093cd28a27
Set bloom intensity 2024-10-16 14:12:25 +02:00
grorp
df8159436c Set volumetric lighting strength 2024-10-01 17:29:41 +02:00
1F616EMO~nya
b23c44d980
Get rid of recursive call in default.dig_up (#3133) 2024-09-08 22:09:30 +02:00
sfan5
7967f77f3b
Don't assert default biomes in spawn mod
fixes #3124
2024-09-08 22:07:20 +02:00
1F616EMO~nya
2ce8ff3306
Simplify Butterfly and Firefly code (#3125) 2024-08-31 11:43:07 +02:00
Gundul
4e402ec39f
Fix crash if bones punched by non-player (#3146) 2024-08-18 19:40:14 +02:00
sfan5
d89170c129
Simplify and fix docker test 2024-08-18 19:35:43 +02:00
sfan5
9bd1f24d36
Update README for release model 2024-08-14 13:53:04 +02:00
Niklp
88ecab34d9
Replace deprecated get_metadata() calls (#3142) 2024-07-27 14:42:08 +02:00
1F616EMO~nya
9cb57ae5f2
Log furnace inventory actions (#3141) 2024-07-27 14:41:16 +02:00
1F616EMO~nya
77bbcee0cd
Limit furnace sound volume on catch-up smelting (#3144) 2024-07-26 09:36:05 +02:00
Niklp
da0509c5bd Replace deprecated meta:set_string() call 2024-06-29 16:58:53 +02:00
Lunovox
599dedd927
translate to brazilian portuguese and portuguese of Portugal (#3104) 2024-06-24 12:23:50 +02:00
ssdaniel24
061f4e76dd
Added can_grow function to plant definition (#3131) 2024-06-23 18:03:36 +02:00
Andrii Nemchenko
f03c992864
Fix the possibility to put fire in a protected area (#3129) 2024-06-22 12:54:57 +02:00
1F616EMO~nya
91f6e5faec
Fix crafting for fences etc. starting with colon (#3132) 2024-06-22 12:54:27 +02:00
1F616EMO~nya
82b017af6b
Avoid using the global 'table' as a function argument name
Co-authored-by: José Douglas da Silva Souza <44056294+JoseDouglas26@users.noreply.github.com>
2024-06-16 20:08:42 +02:00
mruncreative
511619253f
Fix upside down nodes in large cactus schematic (#3123)
* Update schematic_tables.txt (large_cactus)
* Replace large_cactus with upside down nodes with fixed one
2024-06-02 19:38:35 +02:00
Lars
3ad8a6a473 Fix possible invalid object reference in TNT mod 2024-05-26 17:01:45 +02:00
sfan5
1ce48351ea Add random_mod_load_order to test config 2024-05-12 17:23:41 +02:00
sfan5
c60d8e4da0 Add API to control respawn logic and behavior 2024-05-12 14:46:12 +02:00
sfan5
d1ba7c3db3 Add API to weather mod
Co-authored-by: Till Affeldt <t.affeldt@tu-braunschweig.de>
2024-05-12 14:39:16 +02:00
sfan5
31133a371e Fix set_node(air) calls
In the fireflies case it can be replaced with remove_node.
In the beds case we fix the logic to do what it should. Coincidentally the end result was correct nonetheless.
2024-04-13 13:32:18 +02:00
1F616EMO~nya
0639681f9b
Log bucket liquid placement (#3108) 2024-04-13 13:07:13 +02:00
tour
a43a6bcdef fix crash from default.chest.register_chest 2024-04-07 13:51:51 +02:00
ROllerozxa
16c663f87e Replace beds_transparent.png with blank.png 2024-03-29 11:35:05 +01:00
sfan5
316c0c7224 Add workflow that runs simple test with the engine present 2024-03-27 22:00:03 +01:00
cx384
ef788d0307
Make bugs only pointable with Bug Net (#3099) 2024-03-10 17:57:22 +01:00
Gregor Parzefall
5a80084800 Set field_enter_after_edit for search fields 2024-02-26 01:31:33 +01:00
Jaidyn Ann
10799db4cf Tweak capitalization in Esperanto translation 2024-01-28 11:42:02 +01:00
David Leal
222afb0cf0
Allow overriding the loop flag on player_api.set_animation (#3097)
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
2024-01-28 11:41:12 +01:00
sfan5
472997b4aa Fix detecting mgv6 temples as 'desert' dungeon type 2024-01-24 08:48:42 +01:00
sfan5
70cf7a26fd
Fix some placer nil checks 2024-01-11 15:50:36 +01:00
Uwuewsky
a3b171e317
Update Russian translation (#3058) 2023-12-30 11:32:05 +01:00
sfan5
e9676fa632
Make cloud parameters deterministic across sessions 2023-12-30 11:30:46 +01:00
David Leal
c0200b0a01
Use a faster and newer LuaCheck (#3081) 2023-12-30 11:29:10 +01:00
Mantar
43185f19e3
Bed bugfix: Remove "reverse" toggle in favor of swap_node/set_node combo (#2976) 2023-12-24 13:41:26 +01:00
José Douglas da Silva Souza
ff755eed9c
Add brazilian portuguese translation for butterflies (#3085) 2023-12-22 23:51:14 +01:00
199 changed files with 3166 additions and 1422 deletions

View file

@ -1,16 +0,0 @@
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

13
.github/workflows/luacheck.yml vendored Normal file
View file

@ -0,0 +1,13 @@
name: luacheck
on: [push, pull_request]
jobs:
luacheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Luacheck
uses: lunarmodules/luacheck@master
with:
args: mods

11
.github/workflows/test.yml vendored Normal file
View file

@ -0,0 +1,11 @@
name: test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- run: ./utils/test/run.sh

View file

@ -7,6 +7,7 @@ globals = {
read_globals = { read_globals = {
"DIR_DELIM", "DIR_DELIM",
"core",
"minetest", "minetest",
"dump", "dump",
"vector", "vector",

View file

@ -1,6 +1,6 @@
# Minetest Game # Minetest Game
[![ContentDB](https://content.minetest.net/packages/Minetest/minetest_game/shields/title/)](https://content.minetest.net/packages/Minetest/minetest_game/) [![ContentDB](https://content.luanti.org/packages/Minetest/minetest_game/shields/title/)](https://content.luanti.org/packages/Minetest/minetest_game/)
Minetest Game (abbreviated MTG) is a simple and peaceful sandbox game, with no Minetest Game (abbreviated MTG) is a simple and peaceful sandbox game, with no
real goals or built-in enemy mobs. real goals or built-in enemy mobs.
@ -8,8 +8,8 @@ real goals or built-in enemy mobs.
While it provides a basic gameplay experience out of the box, it is best played While it provides a basic gameplay experience out of the box, it is best played
with mods. with mods.
Minetest Game is currently in maintenance-only mode, meaning it will not see new Minetest Game is in perpetual maintenance-only mode, meaning it will not see new
gameplay features or anything else that breaks compatibility (See gameplay features or anything else that breaks compatibility (see
[#2710](https://github.com/minetest/minetest_game/issues/2710)). [#2710](https://github.com/minetest/minetest_game/issues/2710)).
## Installation ## Installation
@ -17,30 +17,29 @@ gameplay features or anything else that breaks compatibility (See
### ContentDB ### ContentDB
* Content > Browse Online Content * Content > Browse Online Content
* Search for Minetest Game * Search for "[Minetest Game](https://content.luanti.org/packages/Minetest/minetest_game/)"
* Click Install * Click Install
### Manually ### Manually
- 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 it in `~/.minetest/games/`. - GNU/Linux: If you use a system-wide installation place it in `~/.minetest/games/`.
The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest). The Luanti engine can be found at [GitHub](https://github.com/minetest/minetest).
For further information or help, see: [Installing Mods](https://wiki.minetest.net/Installing_Mods). For further information or help, see: [Installing Mods](https://wiki.luanti.org/Installing_Mods).
## Compatibility ## Compatibility
The Minetest Game GitHub `master` `HEAD` is generally compatible with the GitHub As of January 2024 Minetest Game follows a **rolling release** model with new changes being automatically
`master` `HEAD` of the Minetest engine. published on ContentDB every day.
Additionally, when the Minetest engine is tagged to be a certain version (e.g. There are no stable releases or tags, all existing ones are considered legacy.
`0.4.10`), Minetest Game is tagged with the version, too.
When stable releases are made, Minetest Game and the Minetest engine is packaged Minetest Game is always compatible to the latest stable release of the engine.
and made available at [www.minetest.net](https://www.minetest.net/downloads/). Older releases may be supported too depending on circumstances.
## Licensing ## Licensing

View file

@ -1,4 +1,3 @@
title = Minetest Game title = Minetest Game
author = Minetest description = A basic exploration, mining, crafting, and building, sandbox game with no NPCs, monsters, or animals. Minetest Game is usually used with mods added, and many mods are available for this game. Reliably maintained by Luanti 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.
min_minetest_version = 5.8 min_minetest_version = 5.8

View file

@ -6,12 +6,12 @@ GitHub Repo: https://github.com/minetest/minetest_game
Introduction Introduction
------------ ------------
The Minetest Game game offers multiple new possibilities in addition to the Minetest engine's built-in API, The Minetest Game game offers multiple new possibilities in addition to the Luanti engine's built-in API,
allowing you to add new plants to farming mod, buckets for new liquids, new stairs and custom panes. allowing you to add new plants to farming mod, buckets for new liquids, new stairs and custom panes.
For information on the Minetest API, visit https://github.com/minetest/minetest/blob/master/doc/lua_api.txt For information on the Luanti API, visit https://github.com/minetest/minetest/blob/master/doc/lua_api.txt
Please note: Please note:
* [XYZ] refers to a section the Minetest API * [XYZ] refers to a section the Luanti API
* [#ABC] refers to a section in this document * [#ABC] refers to a section in this document
* [pos] refers to a position table `{x = -5, y = 0, z = 200}` * [pos] refers to a position table `{x = -5, y = 0, z = 200}`
@ -324,7 +324,7 @@ Allows creation of new fences with "fencelike" drawtype.
name = "default:fence_wood", name = "default:fence_wood",
description = "Wooden Fence", description = "Wooden Fence",
texture = "default_wood.png", texture = "default_wood.png",
material = "default:wood", material = "default:wood", -- `nil` if you don't want the recipe
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(), sounds = default.node_sound_wood_defaults(),
@ -341,6 +341,12 @@ walls.register(name, desc, texture, mat, sounds)
^ mat = "default:stone". Used to auto-generate crafting recipe. ^ mat = "default:stone". Used to auto-generate crafting recipe.
^ sounds = sounds: see [#Default sounds] ^ sounds = sounds: see [#Default sounds]
All walls will be connected to any nodes with one of the following groups:
* `wall`
* `stone`
* `fence`
* `wall_connected`
Farming API Farming API
----------- -----------
@ -382,6 +388,8 @@ The farming API allows you to easily register plants and hoes.
-- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber) -- ^ Always provide a plant texture for each step, format: modname_plantname_i.png (i = stepnumber)
minlight = 13, -- Minimum light to grow minlight = 13, -- Minimum light to grow
maxlight = default.LIGHT_MAX -- Maximum light to grow maxlight = default.LIGHT_MAX -- Maximum light to grow
can_grow = function(pos) -- Сalled every growth tick to check if the plant can grow, returns bool
-- (optional, checks for wet soil by default)
} }
@ -591,6 +599,18 @@ Both nodedefs and entitydefs can provide an `on_blast()` callback
* `drops` - a list of drops, e.g. {"wool:red"} * `drops` - a list of drops, e.g. {"wool:red"}
Node drops:
When a node is detonated it is removed according to the following rules.
1. If `on_blast` is defined, that is called.
2. Else if the node has group `flammable` it is replaced with a fire node.
3. Else the dropped items are retrieved and it is replaced with air.
The parameter `_tnt_loss` in any item definition can be set to a number to
effect that "one in X" of these drops will be lost during an explosion.
For example `_tnt_loss = 2` would cause 50% of items to disappear.
The default is to not lose any items, which is equivalent to `_tnt_loss = 0`.
Screwdriver API Screwdriver API
--------------- ---------------
@ -632,6 +652,34 @@ set a players home position and teleport a player to home position.
* `name` Player you wish to teleport to their home position * `name` Player you wish to teleport to their home position
* return value: false if player cannot be sent home, otherwise true * return value: false if player cannot be sent home, otherwise true
Spawn API
---------
The spawn mod takes care of deciding the position of new and respawning players
in the world and has an API to modify its behavior.
`spawn.get_default_pos()`
* Gets the default spawn position as decided by a biome-dependent algorithm.
* This is not influenced by settings like "static_spawnpoint" or "engine_spawn".
* return value: a vector or `nil` on failure
`spawn.add_suitable_biome(biome)`:
* Adds a biome to the list of allowed biomes for the above algorithm.
* `biome`: Name of a registered biome
`spawn.register_on_spawn(func)`:
* Registers a callback to be called when a player (re-)spawns. This can be used
to intercept the normal logic to e.g. respawn a player at his bed.
* `func`: `function(player, is_new)` with arguments
- `player`: ObjectRef
- `is_new`: true if the player is joining the server for the first time
- return value: true to skip all other spawn logic, false or nil otherwise
When a player (re-)spawns the following order is executed:
1. All spawn callbacks in order of registration.
2. If no result, teleport player to `spawn.get_default_pos()`.
3. If that fails, spawning is left up to engine.
Sfinv API Sfinv API
--------- ---------
@ -1169,3 +1217,29 @@ the log.
* after logging the action, the original callback (if any) is called * after logging the action, the original callback (if any) is called
* `def` See [Node definition] * `def` See [Node definition]
* `name` Description of the node in the log message * `name` Description of the node in the log message
Weather API
-----------
The weather mod will constantly adjust weather effects seen by the player
(that is: cloud parameters, shadow intensity, bloom and volumetric lighting).
These can be influenced using this API.
#### `weather.get = function(player)`
* Returns the current weather effects seen by the player.
It returns a table with two keys:
* `clouds`: A table (or `nil`) with cloud data following the same format as used for `player:set_clouds()`.
* `lighting`: A table (or `nil`) with lighting data following the same format as used for `player:set_lighting()`.
* `player`: ObjectRef of the relevant player
* You can override this function to change the weather effects by simply returning different values.
Setting `clouds` or `lighting` in the result table to `nil` will *prevent* those from changing.
Utilities
---------
`default.dig_up(pos, node, digger, max_height)`
* Find all nodes above `pos` that is the same, then dig them all
* `max_height` Maximum number of nodes to iterate. Default: 100

View file

@ -72,7 +72,8 @@ 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 and shadow intensity variation by the 'weather' mod. # If enabled, the 'weather' mod will control cloud parameters, shadow intensity,
# bloom and volumetric lighting.
# Non-functional in V6 or Singlenode mapgens. # Non-functional in V6 or Singlenode mapgens.
#enable_weather = true #enable_weather = true

View file

@ -5,7 +5,7 @@ See license.txt for license information.
Authors of source code Authors of source code
---------------------- ----------------------
Originally by BlockMen (MIT) Originally by BlockMen (MIT)
Various Minetest developers and contributors (MIT) Various Minetest Game developers and contributors (MIT)
Authors of media (textures) Authors of media (textures)
--------------------------- ---------------------------
@ -15,7 +15,7 @@ BlockMen (CC BY-SA 3.0)
TumeniNodes (CC BY-SA 3.0) TumeniNodes (CC BY-SA 3.0)
beds_bed_under.png beds_bed_under.png
This mod adds a bed to Minetest which allows players to skip the night. This mod adds a bed which allows players to skip the night.
To sleep, right click on the bed. If playing in singleplayer mode the night gets skipped To sleep, right click on the bed. If playing in singleplayer mode the night gets skipped
immediately. If playing multiplayer you get shown how many other players are in bed too, immediately. If playing multiplayer you get shown how many other players are in bed too,
if all players are sleeping the night gets skipped. The night skip can be forced if more if all players are sleeping the night gets skipped. The night skip can be forced if more

View file

@ -1,27 +1,41 @@
-- Removes a node without calling on on_destruct()
-- We use this to mess with bed nodes without causing unwanted recursion.
local function remove_no_destruct(pos)
minetest.swap_node(pos, {name = "air"})
minetest.remove_node(pos) -- Now clear the meta
minetest.check_for_falling(pos)
end
local reverse = true --- returns the position of the other bed half (or nil on failure)
local function get_other_bed_pos(pos, n)
local function destruct_bed(pos, n) local node = core.get_node(pos)
local node = minetest.get_node(pos) local dir = core.facedir_to_dir(node.param2)
if not dir then
return -- There are 255 possible param2 values. Ignore bad ones.
end
local other local other
if n == 2 then if n == 2 then
local dir = minetest.facedir_to_dir(node.param2)
other = vector.subtract(pos, dir) other = vector.subtract(pos, dir)
elseif n == 1 then elseif n == 1 then
local dir = minetest.facedir_to_dir(node.param2)
other = vector.add(pos, dir) other = vector.add(pos, dir)
else
return nil
end end
if reverse then local onode = core.get_node(other)
reverse = not reverse if onode.param2 == node.param2 and core.get_item_group(onode.name, "bed") ~= 0 then
minetest.remove_node(other) return other
minetest.check_for_falling(other)
beds.remove_spawns_at(pos)
beds.remove_spawns_at(other)
else
reverse = not reverse
end end
return nil
end
local function destruct_bed(pos, n)
local other = get_other_bed_pos(pos, n)
if other then
remove_no_destruct(other)
beds.remove_spawns_at(other)
end
beds.remove_spawns_at(pos)
end end
function beds.register_bed(name, def) function beds.register_bed(name, def)
@ -113,6 +127,10 @@ function beds.register_bed(name, def)
on_rotate = function(pos, node, user, _, new_param2) on_rotate = function(pos, node, user, _, new_param2)
local dir = minetest.facedir_to_dir(node.param2) local dir = minetest.facedir_to_dir(node.param2)
if not dir then
return false
end
-- old position of the top node
local p = vector.add(pos, dir) local p = vector.add(pos, dir)
local node2 = minetest.get_node_or_nil(p) local node2 = minetest.get_node_or_nil(p)
if not node2 or minetest.get_item_group(node2.name, "bed") ~= 2 or if not node2 or minetest.get_item_group(node2.name, "bed") ~= 2 or
@ -126,6 +144,7 @@ function beds.register_bed(name, def)
if new_param2 % 32 > 3 then if new_param2 % 32 > 3 then
return false return false
end end
-- new position of the top node
local newp = vector.add(pos, minetest.facedir_to_dir(new_param2)) local newp = vector.add(pos, minetest.facedir_to_dir(new_param2))
local node3 = minetest.get_node_or_nil(newp) local node3 = minetest.get_node_or_nil(newp)
local node_def = node3 and minetest.registered_nodes[node3.name] local node_def = node3 and minetest.registered_nodes[node3.name]
@ -137,8 +156,7 @@ function beds.register_bed(name, def)
return false return false
end end
node.param2 = new_param2 node.param2 = new_param2
-- do not remove_node here - it will trigger destroy_bed() remove_no_destruct(p)
minetest.set_node(p, {name = "air"})
minetest.set_node(pos, node) minetest.set_node(pos, node)
minetest.set_node(newp, {name = name .. "_top", param2 = new_param2}) minetest.set_node(newp, {name = name .. "_top", param2 = new_param2})
return true return true
@ -155,23 +173,25 @@ function beds.register_bed(name, def)
paramtype = "light", paramtype = "light",
paramtype2 = "facedir", paramtype2 = "facedir",
is_ground_content = false, is_ground_content = false,
pointable = false,
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2, groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 3, bed = 2,
not_in_creative_inventory = 1}, not_in_creative_inventory = 1},
sounds = def.sounds or default.node_sound_wood_defaults(), sounds = def.sounds or default.node_sound_wood_defaults(),
drop = name .. "_bottom", drop = "",
node_box = { node_box = {
type = "fixed", type = "fixed",
fixed = def.nodebox.top, fixed = def.nodebox.top,
}, },
selection_box = {
type = "fixed",
-- Small selection box to allow digging stray top nodes
fixed = {-0.3, -0.3, -0.3, 0.3, -0.1, 0.3},
},
on_destruct = function(pos) on_destruct = function(pos)
destruct_bed(pos, 2) destruct_bed(pos, 2)
end, end,
can_dig = function(pos, player) can_dig = function(pos, player)
local node = minetest.get_node(pos) local other = get_other_bed_pos(pos, 2)
local dir = minetest.facedir_to_dir(node.param2) return (not other) or beds.can_dig(other)
local p = vector.add(pos, dir)
return beds.can_dig(p)
end, end,
}) })

View file

@ -66,7 +66,7 @@ beds.register_bed("beds:bed", {
"beds_bed_under.png", "beds_bed_under.png",
"beds_bed_side_bottom_r.png", "beds_bed_side_bottom_r.png",
"beds_bed_side_bottom_r.png^[transformFX", "beds_bed_side_bottom_r.png^[transformFX",
"beds_transparent.png", "blank.png",
"beds_bed_side_bottom.png" "beds_bed_side_bottom.png"
}, },
top = { top = {
@ -75,7 +75,7 @@ beds.register_bed("beds:bed", {
"beds_bed_side_top_r.png", "beds_bed_side_top_r.png",
"beds_bed_side_top_r.png^[transformFX", "beds_bed_side_top_r.png^[transformFX",
"beds_bed_side_top.png", "beds_bed_side_top.png",
"beds_transparent.png", "blank.png",
} }
}, },
nodebox = { nodebox = {

View file

@ -97,7 +97,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
end end
-- Check if player is moving -- Check if player is moving
if vector.length(player:get_velocity()) > 0.001 then if vector.length(player:get_velocity()) > 0.05 then
minetest.chat_send_player(name, S("You have to stop moving before going to bed!")) minetest.chat_send_player(name, S("You have to stop moving before going to bed!"))
return false return false
end end
@ -244,10 +244,9 @@ end
-- Callbacks -- Callbacks
-- Only register respawn callback if respawn enabled -- Only register respawn callback if respawn enabled
if enable_respawn then if enable_respawn then
-- respawn player at bed if enabled and valid position is found -- Respawn player at bed if valid position is found
minetest.register_on_respawnplayer(function(player) spawn.register_on_spawn(function(player, is_new)
local name = player:get_player_name() local pos = beds.spawn[player:get_player_name()]
local pos = beds.spawn[name]
if pos then if pos then
player:set_pos(pos) player:set_pos(pos)
return true return true

View file

@ -3,7 +3,7 @@ License of source code
The MIT License (MIT) The MIT License (MIT)
Copyright (C) 2014-2016 BlockMen Copyright (C) 2014-2016 BlockMen
Copyright (C) 2014-2016 Various Minetest developers and contributors Copyright (C) 2014-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software software and associated documentation files (the "Software"), to deal in the Software

10
mods/beds/locale/beds.bg.tr Executable file
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,6 +1,6 @@
# textdomain: beds # textdomain: beds
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! 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! You have to stop moving before going to bed!=Vi ĉesu moviĝi por enlitiĝi!
Good morning.=Bonan matenon. Good morning.=Bonan matenon.

View file

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Skaista gulta
Simple Bed=Gulta
This bed is already occupied!=Šī gulta jau ir aizņemta!
You have to stop moving before going to bed!=Jums jāapstājas lai gulētu!
Good morning.=Labrīt.
@1 of @2 players are in bed=@1 no @2 spēlētājiem guļ gultās
Force night skip=Izlaist nakti
You can only sleep at night.=Jūs variet gulēt tikai naktī.
Leave Bed=Celties no gultas

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,3 +1,3 @@
name = beds name = beds
description = Minetest Game mod: beds description = Minetest Game mod: beds
depends = default, wool depends = default, wool, spawn

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 B

View file

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Бинокъл
Use with 'Zoom' key=Използвайте с клавиша „Мащабиране“

View file

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binoklis
Use with 'Zoom' key=Lietojiet ar 'Pietuvināt' pogu

View file

@ -1,3 +1,3 @@
# textdomain: binoculars # textdomain: binoculars
Binoculars=Бинокль Binoculars=Бинокль
Use with 'Zoom' key=Используется с привилегией 'Zoom' Use with 'Zoom' key=Используется клавишей 'Приближение'

View file

@ -5,7 +5,7 @@ See license.txt for license information.
Authors of source code Authors of source code
---------------------- ----------------------
Originally by PilzAdam (MIT) Originally by PilzAdam (MIT)
Various Minetest developers and contributors (MIT) Various Minetest Game developers and contributors (MIT)
Authors of media (textures and model) Authors of media (textures and model)
------------------------------------- -------------------------------------

View file

@ -3,7 +3,7 @@ License of source code
The MIT License (MIT) The MIT License (MIT)
Copyright (C) 2012-2016 PilzAdam Copyright (C) 2012-2016 PilzAdam
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software software and associated documentation files (the "Software"), to deal in the Software

4
mods/boats/locale/boats.bg.tr Executable file
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=Autopilots ieslēgts
Boat cruise mode off=Autopilots izslēgts
Boat=Laiva

View file

@ -5,7 +5,7 @@ See license.txt for license information.
Authors of source code Authors of source code
---------------------- ----------------------
Originally by PilzAdam (MIT) Originally by PilzAdam (MIT)
Various Minetest developers and contributors (MIT) Various Minetest Game developers and contributors (MIT)
Authors of media (textures) Authors of media (textures)
--------------------------- ---------------------------

View file

@ -1,6 +1,6 @@
-- bones/init.lua -- bones/init.lua
-- Minetest 0.4 mod: bones -- Minetest Game mod: bones
-- See README.txt for licensing and other information. -- See README.txt for licensing and other information.
-- Load support for MT game translation. -- Load support for MT game translation.
@ -16,6 +16,27 @@ local function is_owner(pos, name)
return false return false
end end
local function drop(pos, itemstack)
local obj = minetest.add_item(pos, itemstack:take_item(itemstack:get_count()))
if obj then
obj:set_velocity({
x = math.random(-10, 10) / 9,
y = 5,
z = math.random(-10, 10) / 9,
})
end
end
local function drop_contents(pos)
local inv = minetest.get_meta(pos):get_inventory()
for i = 1, inv:get_size("main") do
local stk = inv:get_stack("main", i)
drop(pos, stk)
end
minetest.remove_node(pos)
end
local bones_formspec = local bones_formspec =
"size[8,9]" .. "size[8,9]" ..
"list[current_name;main;0,0.3;8,4;]" .. "list[current_name;main;0,0.3;8,4;]" ..
@ -87,6 +108,11 @@ local bones_def = {
return return
end end
if not player:is_player() then
drop_contents(pos)
return
end
if minetest.get_meta(pos):get_string("infotext") == "" then if minetest.get_meta(pos):get_string("infotext") == "" then
return return
end end
@ -171,17 +197,6 @@ local function may_replace(pos, player)
return node_definition.buildable_to return node_definition.buildable_to
end end
local drop = function(pos, itemstack)
local obj = minetest.add_item(pos, itemstack:take_item(itemstack:get_count()))
if obj then
obj:set_velocity({
x = math.random(-10, 10) / 9,
y = 5,
z = math.random(-10, 10) / 9,
})
end
end
local player_inventory_lists = { "main", "craft" } local player_inventory_lists = { "main", "craft" }
bones.player_inventory_lists = player_inventory_lists bones.player_inventory_lists = player_inventory_lists

View file

@ -3,7 +3,7 @@ License of source code
The MIT License (MIT) The MIT License (MIT)
Copyright (C) 2012-2016 PilzAdam Copyright (C) 2012-2016 PilzAdam
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software software and associated documentation files (the "Software"), to deal in the Software

8
mods/bones/locale/bones.bg.tr Executable file
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=Kauli
@1's old bones=@1 vecie kauli
@1 died at @2.=@1 nomira @2.
@1 died at @2, and dropped their inventory.=@1 nomira @2 pazaudēja inventāru.
@1 died at @2, and bones were placed.=@1 nomira @2, un kauli nolikti.
@1's fresh bones=@1 jaunie kauli
@1's bones=@1 kauli

View file

@ -1,8 +1,8 @@
# textdomain: bones # textdomain: bones
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

@ -6,7 +6,7 @@ Authors of source code
---------------------- ----------------------
Kahrl <kahrl@gmx.net> (LGPLv2.1+) Kahrl <kahrl@gmx.net> (LGPLv2.1+)
celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+) celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+)
Various Minetest developers and contributors (LGPLv2.1+) Various Minetest Game developers and contributors (LGPLv2.1+)
Authors of media (textures) Authors of media (textures)
--------------------------- ---------------------------

View file

@ -1,4 +1,4 @@
-- Minetest 0.4 mod: bucket -- Minetest Game mod: bucket
-- See README.txt for licensing and other information. -- See README.txt for licensing and other information.
-- Load support for MT game translation. -- Load support for MT game translation.
@ -33,6 +33,11 @@ local function check_protection(pos, name, text)
return false return false
end end
local function log_action(pos, name, action)
minetest.log("action", (name ~= "" and name or "A mod")
.. " " .. action .. " at " .. minetest.pos_to_string(pos) .. " with a bucket")
end
-- Register a new liquid -- Register a new liquid
-- source = name of the source node -- source = name of the source node
-- flowing = name of the flowing node -- flowing = name of the flowing node
@ -101,13 +106,13 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
end end
end end
if check_protection(lpos, user local pname = user and user:get_player_name() or ""
and user:get_player_name() if check_protection(lpos, pname, "place "..source) then
or "", "place "..source) then
return return
end end
minetest.set_node(lpos, {name = source}) minetest.set_node(lpos, {name = source})
log_action(lpos, pname, "placed " .. source)
return ItemStack("bucket:bucket_empty") return ItemStack("bucket:bucket_empty")
end end
}) })
@ -128,16 +133,16 @@ minetest.register_craftitem("bucket:bucket_empty", {
return return
end end
-- Check if pointing to a liquid source -- Check if pointing to a liquid source
local node = minetest.get_node(pointed_thing.under) local pos = pointed_thing.under
local node = minetest.get_node(pos)
local liquiddef = bucket.liquids[node.name] local liquiddef = bucket.liquids[node.name]
local item_count = user:get_wielded_item():get_count() local item_count = user:get_wielded_item():get_count()
if liquiddef ~= nil if liquiddef ~= nil
and liquiddef.itemname ~= nil and liquiddef.itemname ~= nil
and node.name == liquiddef.source then and node.name == liquiddef.source then
if check_protection(pointed_thing.under, local pname = user:get_player_name()
user:get_player_name(), if check_protection(pos, pname, "take ".. node.name) then
"take ".. node.name) then
return return
end end
@ -152,9 +157,9 @@ minetest.register_craftitem("bucket:bucket_empty", {
if inv:room_for_item("main", {name=liquiddef.itemname}) then if inv:room_for_item("main", {name=liquiddef.itemname}) then
inv:add_item("main", liquiddef.itemname) inv:add_item("main", liquiddef.itemname)
else else
local pos = user:get_pos() local upos = user:get_pos()
pos.y = math.floor(pos.y + 0.5) upos.y = math.floor(upos.y + 0.5)
minetest.add_item(pos, liquiddef.itemname) minetest.add_item(upos, liquiddef.itemname)
end end
-- set to return empty buckets minus 1 -- set to return empty buckets minus 1
@ -166,10 +171,13 @@ minetest.register_craftitem("bucket:bucket_empty", {
local source_neighbor = false local source_neighbor = false
if liquiddef.force_renew then if liquiddef.force_renew then
source_neighbor = source_neighbor =
minetest.find_node_near(pointed_thing.under, 1, liquiddef.source) minetest.find_node_near(pos, 1, liquiddef.source)
end end
if not (source_neighbor and liquiddef.force_renew) then if source_neighbor and liquiddef.force_renew then
minetest.add_node(pointed_thing.under, {name = "air"}) log_action(pos, pname, "picked up " .. liquiddef.source .. " (force renewed)")
else
minetest.add_node(pos, {name = "air"})
log_action(pos, pname, "picked up " .. liquiddef.source)
end end
return ItemStack(giving_back) return ItemStack(giving_back)
@ -177,7 +185,7 @@ minetest.register_craftitem("bucket:bucket_empty", {
-- non-liquid nodes will have their on_punch triggered -- non-liquid nodes will have their on_punch triggered
local node_def = minetest.registered_nodes[node.name] local node_def = minetest.registered_nodes[node.name]
if node_def then if node_def then
node_def.on_punch(pointed_thing.under, node, user, pointed_thing) node_def.on_punch(pos, node, user, pointed_thing)
end end
return user:get_wielded_item() return user:get_wielded_item()
end end

View file

@ -4,7 +4,7 @@ License of source code
GNU Lesser General Public License, version 2.1 GNU Lesser General Public License, version 2.1
Copyright (C) 2011-2016 Kahrl <kahrl@gmx.net> Copyright (C) 2011-2016 Kahrl <kahrl@gmx.net>
Copyright (C) 2011-2016 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2011-2016 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2011-2016 Various Minetest developers and contributors Copyright (C) 2011-2016 Various Minetest Game developers and contributors
This program is free software; you can redistribute it and/or modify it under the terms This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation; of the GNU Lesser General Public License as published by the Free Software Foundation;

View file

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Празна кофа
Water Bucket=Кофа с вода
River Water Bucket=Кофа с речна вода
Lava Bucket=Кофа с лава

View file

@ -1,5 +1,5 @@
# textdomain: bucket # textdomain: bucket
Empty Bucket=Malplena Sitelo Empty Bucket=Malplena sitelo
Water Bucket=Sitelo da Akvo Water Bucket=Sitelo da akvo
River Water Bucket=Sitelo da Rivera Akvo River Water Bucket=Sitelo da rivera akvo
Lava Bucket=Sitelo da Lafo Lava Bucket=Sitelo da lafo

View file

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Tukšs spainis
Water Bucket=Spainis ar ūdeni
River Water Bucket=Spainis ar upes ūdeni
Lava Bucket=Spainis ar lavu

View file

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

View file

@ -3,6 +3,9 @@
-- Load support for MT game translation. -- Load support for MT game translation.
local S = minetest.get_translator("butterflies") local S = minetest.get_translator("butterflies")
-- Legacy compatibility, when pointabilities don't exist, pointable is set to true.
local pointable_compat = not minetest.features.item_specific_pointabilities
-- register butterflies -- register butterflies
local butter_list = { local butter_list = {
{"white", S("White Butterfly")}, {"white", S("White Butterfly")},
@ -33,24 +36,15 @@ for i in ipairs (butter_list) do
sunlight_propagates = true, sunlight_propagates = true,
buildable_to = true, buildable_to = true,
walkable = false, walkable = false,
pointable = pointable_compat,
groups = {catchable = 1}, groups = {catchable = 1},
selection_box = { selection_box = {
type = "fixed", type = "fixed",
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1}, fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
}, },
floodable = true, floodable = true,
on_place = function(itemstack, placer, pointed_thing) on_construct = function(pos)
local player_name = placer:get_player_name() minetest.get_node_timer(pos):start(1)
local pos = pointed_thing.above
if not minetest.is_protected(pos, player_name) and
not minetest.is_protected(pointed_thing.under, player_name) and
minetest.get_node(pos).name == "air" then
minetest.set_node(pos, {name = "butterflies:butterfly_"..name})
minetest.get_node_timer(pos):start(1)
itemstack:take_item()
end
return itemstack
end, end,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
if minetest.get_node_light(pos) < 11 then if minetest.get_node_light(pos) < 11 then
@ -72,18 +66,8 @@ for i in ipairs (butter_list) do
drop = "", drop = "",
groups = {not_in_creative_inventory = 1}, groups = {not_in_creative_inventory = 1},
floodable = true, floodable = true,
on_place = function(itemstack, placer, pointed_thing) on_construct = function(pos)
local player_name = placer:get_player_name() minetest.get_node_timer(pos):start(1)
local pos = pointed_thing.above
if not minetest.is_protected(pos, player_name) and
not minetest.is_protected(pointed_thing.under, player_name) and
minetest.get_node(pos).name == "air" then
minetest.set_node(pos, {name = "butterflies:hidden_butterfly_"..name})
minetest.get_node_timer(pos):start(1)
itemstack:take_item()
end
return itemstack
end, end,
on_timer = function(pos, elapsed) on_timer = function(pos, elapsed)
if minetest.get_node_light(pos) >= 11 then if minetest.get_node_light(pos) >= 11 then

View file

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Бяла пеперуда
Red Butterfly=Червена пеперуда
Violet Butterfly=Лилава пеперуда

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=Violkolora Papilio Violet Butterfly=Violkolora papilio

View file

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Balts taurenis
Red Butterfly=Sarkans taurenis
Violet Butterfly=Violets taurenis

View file

@ -1,4 +1,4 @@
# textdomain: butterflies # textdomain: butterflies
White Butterfly= White Butterfly=Borboleta Branca
Red Butterfly= Red Butterfly=Borboleta Vermelha
Violet Butterfly= Violet Butterfly=Borboleta Violeta

View file

@ -1,4 +1,4 @@
# textdomain: butterflies # textdomain: butterflies
White Butterfly=Белая Бабочка White Butterfly=Белая бабочка
Red Butterfly=Красная Бабочка Red Butterfly=Красная бабочка
Violet Butterfly=Фиолетовая Бабочка Violet Butterfly=Фиолетовая бабочка

View file

@ -413,7 +413,8 @@ minetest.register_craftitem("carts:cart", {
minetest.sound_play({name = "default_place_node_metal", gain = 0.5}, minetest.sound_play({name = "default_place_node_metal", gain = 0.5},
{pos = pointed_thing.above}, true) {pos = pointed_thing.above}, true)
if not minetest.is_creative_enabled(placer:get_player_name()) then local player_name = placer and placer:get_player_name() or ""
if not minetest.is_creative_enabled(player_name) then
itemstack:take_item() itemstack:take_item()
end end
return itemstack return itemstack

View file

@ -5,7 +5,7 @@ License of source code
The MIT License (MIT) The MIT License (MIT)
Copyright (C) 2012-2016 PilzAdam Copyright (C) 2012-2016 PilzAdam
Copyright (C) 2014-2016 SmallJoker Copyright (C) 2014-2016 SmallJoker
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"), copy of this software and associated documentation files (the "Software"),

6
mods/carts/locale/carts.bg.tr Executable file
View file

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Вагон
(Sneak+Click to pick up)=(Промъкване+Click, за да вземете)
Rail=Релса
Powered Rail=Контактна релса
Brake Rail=Спирачна релса

View file

@ -2,5 +2,5 @@
Cart=Ĉaro Cart=Ĉaro
(Sneak+Click to pick up)=(Ŝteliri+Alklaki por reprini) (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

View file

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Vagons
(Sneak+Click to pick up)=(Lavieties un klikšķiniet, lai paceltu)
Rail=Sliedes
Powered Rail=Elektrizētas sliedes
Brake Rail=Bremžu sliedes

View file

@ -2,5 +2,5 @@
Cart=Вагонетка Cart=Вагонетка
(Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать) (Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать)
Rail=Рельсы Rail=Рельсы
Powered Rail=Запитанные рельсы Powered Rail=Ускоряющие рельсы
Brake Rail=Тормозящие рельсы Brake Rail=Тормозящие рельсы

View file

@ -124,6 +124,11 @@ function creative.update_creative_inventory(player_name, tab_content)
inv.size = #creative_list inv.size = #creative_list
end end
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
player_inventory[name] = nil
end)
-- Create the trash field -- Create the trash field
local trash = minetest.create_detached_inventory("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()
@ -170,6 +175,7 @@ function creative.register_tab(name, title, items)
"tooltip[creative_prev;" .. esc(S("Previous page")) .. "]" .. "tooltip[creative_prev;" .. esc(S("Previous page")) .. "]" ..
"tooltip[creative_next;" .. esc(S("Next page")) .. "]" .. "tooltip[creative_next;" .. esc(S("Next page")) .. "]" ..
"listring[current_player;main]" .. "listring[current_player;main]" ..
"field_enter_after_edit[creative_filter;true]" ..
"field_close_on_enter[creative_filter;false]" .. "field_close_on_enter[creative_filter;false]" ..
"field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" .. "field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" ..
"listring[detached:creative_" .. player_name .. ";main]" .. "listring[detached:creative_" .. player_name .. ";main]" ..

View file

@ -0,0 +1,11 @@
# textdomain: creative
Allow player to use creative inventory=Дава възможност на играча да използва творчески инвентар
No items to show.=Няма предмети.
Search=Търсене
Reset=Нулиране
Previous page=Предишна страница
Next page=Следваща страница
All=Всички
Nodes=Възли
Tools=Инструменти
Items=Предмети

View file

@ -0,0 +1,11 @@
# textdomain: creative
Allow player to use creative inventory=Atļaut spēlētājam izmantot radošo inventāru
No items to show.=Nav priekšmetu ko paradīt.
Search=Meklēt
Reset=Nodzēst
Previous page=Iepriekšējā lappuse
Next page=Nākošā lappuse
All=Viss
Nodes=Bloki
Tools=Rīki
Items=Priekšmeti

View file

@ -1,6 +1,6 @@
# textdomain: creative # textdomain: creative
Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь
No items to show.= No items to show.=Нет предметов.
Search=Поиск Search=Поиск
Reset=Сброс Reset=Сброс
Previous page=Предыдущая страница Previous page=Предыдущая страница

View file

@ -5,7 +5,7 @@ See license.txt for license information.
Authors of source code Authors of source code
---------------------- ----------------------
Originally by celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+) Originally by celeron55, Perttu Ahola <celeron55@gmail.com> (LGPLv2.1+)
Various Minetest developers and contributors (LGPLv2.1+) Various Minetest Game developers and contributors (LGPLv2.1+)
The torch code was derived by sofar from the 'torches' mod by The torch code was derived by sofar from the 'torches' mod by
BlockMen (LGPLv2.1+) BlockMen (LGPLv2.1+)

View file

@ -163,12 +163,12 @@ function default.chest.register_chest(prefixed_name, d)
local itemstack = player:get_wielded_item() local itemstack = player:get_wielded_item()
local key_meta = itemstack:get_meta() local key_meta = itemstack:get_meta()
if itemstack:get_metadata() == "" then if itemstack:get_meta():get_string("") == "" then
return return
end end
if key_meta:get_string("secret") == "" then if key_meta:get_string("secret") == "" then
key_meta:set_string("secret", minetest.parse_json(itemstack:get_metadata()).secret) key_meta:set_string("secret", minetest.parse_json(itemstack:get_meta():get_string("")).secret)
itemstack:set_metadata("") itemstack:set_metadata("")
end end
@ -284,7 +284,7 @@ function default.chest.register_chest(prefixed_name, d)
nodenames = {name}, nodenames = {name},
action = function(pos, node) action = function(pos, node)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("formspec", nil) meta:set_string("formspec", "")
local inv = meta:get_inventory() local inv = meta:get_inventory()
local list = inv:get_list("default:chest") local list = inv:get_list("default:chest")
if list then if list then
@ -297,9 +297,10 @@ function default.chest.register_chest(prefixed_name, d)
end end
-- close opened chests on load -- close opened chests on load
local modname, chestname = prefixed_name:match("^(:?.-):(.*)$")
minetest.register_lbm({ minetest.register_lbm({
label = "close opened chests on load", label = "close opened chests on load",
name = "default:close_" .. prefixed_name:gsub(":", "_") .. "_open", name = modname .. ":close_" .. chestname .. "_open",
nodenames = {prefixed_name .. "_open"}, nodenames = {prefixed_name .. "_open"},
run_at_every_load = true, run_at_every_load = true,
action = function(pos, node) action = function(pos, node)

View file

@ -57,7 +57,7 @@ local function book_on_use(itemstack, user)
local page, page_max, lines, string = 1, 1, {}, "" local page, page_max, lines, string = 1, 1, {}, ""
-- Backwards compatibility -- Backwards compatibility
local old_data = minetest.deserialize(itemstack:get_metadata()) local old_data = minetest.deserialize(itemstack:get_meta():get_string(""))
if old_data then if old_data then
meta:from_table({ fields = old_data }) meta:from_table({ fields = old_data })
end end
@ -141,6 +141,8 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
string = formspec_string(lpp, data.page, lines, string) string = formspec_string(lpp, data.page, lines, string)
contents = formspec_read(player_name, title, string, contents = formspec_read(player_name, title, string,
text, data.page, data.page_max) text, data.page, data.page_max)
else
return -- malicious data
end end
tab_number = tab tab_number = tab
local formspec = formspec_size .. formspec_core(tab) .. contents local formspec = formspec_size .. formspec_core(tab) .. contents

View file

@ -2,149 +2,149 @@
-- Sounds -- Sounds
-- --
function default.node_sound_defaults(table) function default.node_sound_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "", gain = 1.0} {name = "", gain = 1.0}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_dug_node", gain = 0.25} {name = "default_dug_node", gain = 0.25}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node_hard", gain = 1.0} {name = "default_place_node_hard", gain = 1.0}
return table return tbl
end end
function default.node_sound_stone_defaults(table) function default.node_sound_stone_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_hard_footstep", gain = 0.2} {name = "default_hard_footstep", gain = 0.2}
table.dug = table.dug or tbl.dug = tbl.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(tbl)
return table return tbl
end end
function default.node_sound_dirt_defaults(table) function default.node_sound_dirt_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_dirt_footstep", gain = 0.25} {name = "default_dirt_footstep", gain = 0.25}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_dig_crumbly", gain = 0.4} {name = "default_dig_crumbly", gain = 0.4}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_dirt_footstep", gain = 1.0} {name = "default_dirt_footstep", gain = 1.0}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0} {name = "default_place_node", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_sand_defaults(table) function default.node_sound_sand_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_sand_footstep", gain = 0.05} {name = "default_sand_footstep", gain = 0.05}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_sand_footstep", gain = 0.15} {name = "default_sand_footstep", gain = 0.15}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0} {name = "default_place_node", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_gravel_defaults(table) function default.node_sound_gravel_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_gravel_footstep", gain = 0.25} {name = "default_gravel_footstep", gain = 0.25}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_gravel_dig", gain = 0.35} {name = "default_gravel_dig", gain = 0.35}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_gravel_dug", gain = 1.0} {name = "default_gravel_dug", gain = 1.0}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0} {name = "default_place_node", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_wood_defaults(table) function default.node_sound_wood_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_wood_footstep", gain = 0.15} {name = "default_wood_footstep", gain = 0.15}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_dig_choppy", gain = 0.4} {name = "default_dig_choppy", gain = 0.4}
table.dug = table.dug or tbl.dug = tbl.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(tbl)
return table return tbl
end end
function default.node_sound_leaves_defaults(table) function default.node_sound_leaves_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_grass_footstep", gain = 0.45} {name = "default_grass_footstep", gain = 0.45}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_grass_footstep", gain = 0.7} {name = "default_grass_footstep", gain = 0.7}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0} {name = "default_place_node", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_glass_defaults(table) function default.node_sound_glass_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_glass_footstep", gain = 0.3} {name = "default_glass_footstep", gain = 0.3}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_glass_footstep", gain = 0.5} {name = "default_glass_footstep", gain = 0.5}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_break_glass", gain = 1.0} {name = "default_break_glass", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_ice_defaults(table) function default.node_sound_ice_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_ice_footstep", gain = 0.15} {name = "default_ice_footstep", gain = 0.15}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_ice_dig", gain = 0.5} {name = "default_ice_dig", gain = 0.5}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_ice_dug", gain = 0.5} {name = "default_ice_dug", gain = 0.5}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_metal_defaults(table) function default.node_sound_metal_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_metal_footstep", gain = 0.2} {name = "default_metal_footstep", gain = 0.2}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_dig_metal", gain = 0.5} {name = "default_dig_metal", gain = 0.5}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_dug_metal", gain = 0.5} {name = "default_dug_metal", gain = 0.5}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node_metal", gain = 0.5} {name = "default_place_node_metal", gain = 0.5}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_water_defaults(table) function default.node_sound_water_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_water_footstep", gain = 0.2} {name = "default_water_footstep", gain = 0.2}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
function default.node_sound_snow_defaults(table) function default.node_sound_snow_defaults(tbl)
table = table or {} tbl = tbl or {}
table.footstep = table.footstep or tbl.footstep = tbl.footstep or
{name = "default_snow_footstep", gain = 0.2} {name = "default_snow_footstep", gain = 0.2}
table.dig = table.dig or tbl.dig = tbl.dig or
{name = "default_snow_footstep", gain = 0.3} {name = "default_snow_footstep", gain = 0.3}
table.dug = table.dug or tbl.dug = tbl.dug or
{name = "default_snow_footstep", gain = 0.3} {name = "default_snow_footstep", gain = 0.3}
table.place = table.place or tbl.place = tbl.place or
{name = "default_place_node", gain = 1.0} {name = "default_place_node", gain = 1.0}
default.node_sound_defaults(table) default.node_sound_defaults(tbl)
return table return tbl
end end
@ -293,15 +293,32 @@ minetest.register_abm({
-- Dig upwards -- Dig upwards
-- --
function default.dig_up(pos, node, digger) local in_dig_up = false
function default.dig_up(pos, node, digger, max_height)
if in_dig_up then return end -- Do not recurse
if digger == nil then return end if digger == nil then return end
local np = {x = pos.x, y = pos.y + 1, z = pos.z} max_height = max_height or 100
local nn = minetest.get_node(np)
if nn.name == node.name then in_dig_up = true
minetest.node_dig(np, nn, digger) for y = 1, max_height do
local up_pos = vector.offset(pos, 0, y, 0)
local up_node = minetest.get_node(up_pos)
if up_node.name ~= node.name then
break
end
if not minetest.node_dig(up_pos, up_node, digger) then
break
end
end end
in_dig_up = false
end end
-- errors are hard to handle, instead we rely on resetting this value the next step
minetest.register_globalstep(function()
in_dig_up = false
end)
-- --
-- Fence registration helper -- Fence registration helper
@ -309,14 +326,6 @@ end
local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0 local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0
function default.register_fence(name, def) function default.register_fence(name, def)
minetest.register_craft({
output = name .. " 4",
recipe = {
{ def.material, 'group:stick', def.material },
{ def.material, 'group:stick', def.material },
}
})
local fence_texture = "default_fence_overlay.png^" .. def.texture .. local fence_texture = "default_fence_overlay.png^" .. def.texture ..
"^default_fence_overlay.png^[makealpha:255,126,126" "^default_fence_overlay.png^[makealpha:255,126,126"
-- Allow almost everything to be overridden -- Allow almost everything to be overridden
@ -364,10 +373,22 @@ function default.register_fence(name, def)
-- Always add to the fence group, even if no group provided -- Always add to the fence group, even if no group provided
def.groups.fence = 1 def.groups.fence = 1
local material = def.material
def.texture = nil def.texture = nil
def.material = nil def.material = nil
minetest.register_node(name, def) minetest.register_node(name, def)
-- Register crafting recipe, trim away starting colon if any
if not material then return end
name = string.gsub(name, "^:", "")
minetest.register_craft({
output = name .. " 4",
recipe = {
{ material, 'group:stick', material },
{ material, 'group:stick', material },
}
})
end end
@ -376,15 +397,6 @@ end
-- --
function default.register_fence_rail(name, def) function default.register_fence_rail(name, def)
minetest.register_craft({
output = name .. " 16",
recipe = {
{ def.material, def.material },
{ "", ""},
{ def.material, def.material },
}
})
local fence_rail_texture = "default_fence_rail_overlay.png^" .. def.texture .. local fence_rail_texture = "default_fence_rail_overlay.png^" .. def.texture ..
"^default_fence_rail_overlay.png^[makealpha:255,126,126" "^default_fence_rail_overlay.png^[makealpha:255,126,126"
-- Allow almost everything to be overridden -- Allow almost everything to be overridden
@ -433,10 +445,23 @@ function default.register_fence_rail(name, def)
-- Always add to the fence group, even if no group provided -- Always add to the fence group, even if no group provided
def.groups.fence = 1 def.groups.fence = 1
local material = def.material
def.texture = nil def.texture = nil
def.material = nil def.material = nil
minetest.register_node(name, def) minetest.register_node(name, def)
-- Register crafting recipe, trim away starting colon if any
if not material then return end
name = string.gsub(name, "^:", "")
minetest.register_craft({
output = name .. " 16",
recipe = {
{ material, material },
{ "", ""},
{ material, material },
}
})
end end
-- --
@ -444,15 +469,6 @@ end
-- --
function default.register_mesepost(name, def) function default.register_mesepost(name, def)
minetest.register_craft({
output = name .. " 4",
recipe = {
{'', 'default:glass', ''},
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
{'', def.material, ''},
}
})
local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0" local post_texture = def.texture .. "^default_mese_post_light_side.png^[makealpha:0,0,0"
local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0" local post_texture_dark = def.texture .. "^default_mese_post_light_side_dark.png^[makealpha:0,0,0"
-- Allow almost everything to be overridden -- Allow almost everything to be overridden
@ -480,10 +496,23 @@ function default.register_mesepost(name, def)
end end
end end
local material = def.material
def.texture = nil def.texture = nil
def.material = nil def.material = nil
minetest.register_node(name, def) minetest.register_node(name, def)
-- Register crafting recipe, trim away starting colon if any
if not material then return end
name = string.gsub(name, "^:", "")
minetest.register_craft({
output = name .. " 4",
recipe = {
{'', 'default:glass', ''},
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'},
{'', material, ''},
}
})
end end
-- --
@ -616,10 +645,11 @@ minetest.register_abm({
-- Snow check is cheapest, so comes first -- Snow check is cheapest, so comes first
if name == "default:snow" then if name == "default:snow" then
minetest.set_node(pos, {name = "default:dirt_with_snow"}) minetest.set_node(pos, {name = "default:dirt_with_snow"})
elseif minetest.get_item_group(name, "grass") ~= 0 then -- The group grass is also present in dry grass, so check dry grass first
minetest.set_node(pos, {name = "default:dirt_with_grass"})
elseif minetest.get_item_group(name, "dry_grass") ~= 0 then elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_dry_grass"}) minetest.set_node(pos, {name = "default:dirt_with_dry_grass"})
elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_grass"})
end end
end end
}) })
@ -791,7 +821,7 @@ function default.can_interact_with_node(player, pos)
local key_meta = item:get_meta() local key_meta = item:get_meta()
if key_meta:get_string("secret") == "" then if key_meta:get_string("secret") == "" then
local key_oldmeta = item:get_metadata() local key_oldmeta = item:get_meta():get_string("")
if key_oldmeta == "" or not minetest.parse_json(key_oldmeta) then if key_oldmeta == "" or not minetest.parse_json(key_oldmeta) then
return false return false
end end

View file

@ -134,6 +134,7 @@ local function furnace_node_timer(pos, elapsed)
local fuel local fuel
local update = true local update = true
local items_smelt = 0
while elapsed > 0 and update do while elapsed > 0 and update do
update = false update = false
@ -171,9 +172,7 @@ local function furnace_node_timer(pos, elapsed)
else else
dst_full = true dst_full = true
end end
-- Play cooling sound items_smelt = items_smelt + 1
minetest.sound_play("default_cool_lava",
{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
@ -224,6 +223,11 @@ local function furnace_node_timer(pos, elapsed)
elapsed = elapsed - el elapsed = elapsed - el
end end
if items_smelt > 0 then
-- Play cooling sound
minetest.sound_play("default_cool_lava",
{ pos = pos, max_hear_distance = 16, gain = 0.07 * math.min(items_smelt, 7) }, true)
end
if fuel and fuel_totaltime > fuel.time then if fuel and fuel_totaltime > fuel.time then
fuel_totaltime = fuel.time fuel_totaltime = fuel.time
end end
@ -329,7 +333,12 @@ end
-- Node definitions -- Node definitions
-- --
minetest.register_node("default:furnace", { local function apply_logger(def)
default.set_inventory_action_loggers(def, "furnace")
return def
end
minetest.register_node("default:furnace", apply_logger({
description = S("Furnace"), description = S("Furnace"),
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_top.png", "default_furnace_bottom.png",
@ -379,9 +388,9 @@ minetest.register_node("default:furnace", {
allow_metadata_inventory_put = allow_metadata_inventory_put, allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_move = allow_metadata_inventory_move,
allow_metadata_inventory_take = allow_metadata_inventory_take, allow_metadata_inventory_take = allow_metadata_inventory_take,
}) }))
minetest.register_node("default:furnace_active", { minetest.register_node("default:furnace_active", apply_logger({
description = S("Furnace"), description = S("Furnace"),
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_top.png", "default_furnace_bottom.png",
@ -415,7 +424,7 @@ minetest.register_node("default:furnace_active", {
allow_metadata_inventory_put = allow_metadata_inventory_put, allow_metadata_inventory_put = allow_metadata_inventory_put,
allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_move = allow_metadata_inventory_move,
allow_metadata_inventory_take = allow_metadata_inventory_take, allow_metadata_inventory_take = allow_metadata_inventory_take,
}) }))
minetest.register_craft({ minetest.register_craft({
output = "default:furnace", output = "default:furnace",

View file

@ -1,4 +1,4 @@
-- Minetest 0.4 mod: default -- Minetest Game mod: default
-- See README.txt for licensing and other information. -- See README.txt for licensing and other information.
-- The API documentation in here was moved into game_api.txt -- The API documentation in here was moved into game_api.txt
@ -77,3 +77,19 @@ dofile(default_path.."/crafting.lua")
dofile(default_path.."/mapgen.lua") dofile(default_path.."/mapgen.lua")
dofile(default_path.."/aliases.lua") dofile(default_path.."/aliases.lua")
dofile(default_path.."/legacy.lua") dofile(default_path.."/legacy.lua")
-- Smoke test that is run via ./util/test/run.sh
if minetest.settings:get_bool("minetest_game_smoke_test") then
minetest.after(0, function()
minetest.emerge_area(vector.new(0, 0, 0), vector.new(32, 32, 32))
local pos = vector.new(9, 9, 9)
local function check()
if minetest.get_node(pos).name ~= "ignore" then
minetest.request_shutdown()
return
end
minetest.after(0, check)
end
check()
end)
end

View file

@ -2,9 +2,38 @@
local builtin_item = minetest.registered_entities["__builtin:item"] local builtin_item = minetest.registered_entities["__builtin:item"]
-- strictly speaking none of this is part of the API, so do some checks
-- and if it looks wrong skip the modifications
if not builtin_item or type(builtin_item.set_item) ~= "function" or type(builtin_item.on_step) ~= "function" then
minetest.log("warning", "Builtin item entity does not look as expected, skipping overrides.")
return
end
local smoke_particles = {
amount = 3,
time = 0.1,
minpos = vector.new(-0.1, -0.1, -0.1),
maxpos = vector.new(0.1, 0.1, 0.1),
minvel = vector.new(0, 2.5, 0),
maxvel = vector.new(0, 2.5, 0),
minacc = vector.new(-0.15, -0.02, -0.15),
maxacc = vector.new(0.15, -0.01, 0.15),
minexptime = 4,
maxexptime = 6,
minsize = 5,
maxsize = 5,
collisiondetection = true,
texture = {
name = "default_item_smoke.png"
}
}
if minetest.features.particle_blend_clip then
smoke_particles.texture.blend = "clip"
end
local item = { local item = {
set_item = function(self, itemstring) set_item = function(self, itemstring, ...)
builtin_item.set_item(self, itemstring) builtin_item.set_item(self, itemstring, ...)
local stack = ItemStack(itemstring) local stack = ItemStack(itemstring)
local itemdef = minetest.registered_items[stack:get_name()] local itemdef = minetest.registered_items[stack:get_name()]
@ -22,22 +51,10 @@ local item = {
gain = 1.0, gain = 1.0,
max_hear_distance = 8, max_hear_distance = 8,
}, true) }, true)
minetest.add_particlespawner({ local ps = table.copy(smoke_particles)
amount = 3, ps.minpos = vector.add(ps.minpos, p)
time = 0.1, ps.maxpos = vector.add(ps.maxpos, p)
minpos = {x = p.x - 0.1, y = p.y + 0.1, z = p.z - 0.1 }, minetest.add_particlespawner(ps)
maxpos = {x = p.x + 0.1, y = p.y + 0.2, z = p.z + 0.1 },
minvel = {x = 0, y = 2.5, z = 0},
maxvel = {x = 0, y = 2.5, z = 0},
minacc = {x = -0.15, y = -0.02, z = -0.15},
maxacc = {x = 0.15, y = -0.01, z = 0.15},
minexptime = 4,
maxexptime = 6,
minsize = 5,
maxsize = 5,
collisiondetection = true,
texture = "default_item_smoke.png"
})
end, end,
on_step = function(self, dtime, ...) on_step = function(self, dtime, ...)

View file

@ -3,7 +3,7 @@ License of source code
GNU Lesser General Public License, version 2.1 GNU Lesser General Public License, version 2.1
Copyright (C) 2011-2018 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2011-2018 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2011-2018 Various Minetest developers and contributors Copyright (C) 2011-2018 Various Minetest Game developers and contributors
This program is free software; you can redistribute it and/or modify it under the terms This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation; of the GNU Lesser General Public License as published by the Free Software Foundation;

215
mods/default/locale/default.bg.tr Executable file
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,6 +1,6 @@
# textdomain: default # textdomain: default
Locked Chest=Ŝlosita Kesto Locked Chest=Ŝlosita kesto
Locked Chest (owned by @1)=Ŝlosita Kesto (de @1) Locked Chest (owned by @1)=Ŝlosita kesto (de @1)
You do not own this chest.=Vi ne posedas ĉi tiun keston. You do not own this chest.=Vi ne posedas ĉi tiun keston.
a locked chest=ŝlosita kesto a locked chest=ŝlosita kesto
Chest=Kesto Chest=Kesto
@ -15,26 +15,26 @@ The book you were writing to mysteriously disappeared.=La libro, kiun vi skribis
"@1" by @2="@1" per @2 "@1" by @2="@1" per @2
Blueberries=Mirteloj Blueberries=Mirteloj
Book=Libro Book=Libro
Book with Text=Libro kun Teksto Book with Text=Libro kun teksto
Bronze Ingot=Bronza Ingoto Bronze Ingot=Bronza ingoto
Clay Brick=Argila Briko Clay Brick=Argila briko
Clay Lump=Argila Bulo Clay Lump=Argila bulo
Coal Lump=Karba Bulo Coal Lump=Karba bulo
Copper Ingot=Kupra Ingoto Copper Ingot=Kupra ingoto
Copper Lump=Kupra Bulo Copper Lump=Kupra bulo
Diamond=Diamanto Diamond=Diamanto
Flint=Siliko Flint=Siliko
Gold Ingot=Ora Ingoto Gold Ingot=Ora ingoto
Gold Lump=Ora Bulo Gold Lump=Ora bulo
Iron Lump=Fera Bulo Iron Lump=Fera bulo
Mese Crystal=Mesea Kristalo Mese Crystal=Mesea kristalo
Mese Crystal Fragment=Mesea Kristala Ero Mese Crystal Fragment=Mesea kristala ero
Obsidian Shard=Obsidiana Peceto Obsidian Shard=Obsidiana peceto
Paper=Papero Paper=Papero
Steel Ingot=Ŝtala Ingoto Steel Ingot=Ŝtala ingoto
Stick=Bastono Stick=Bastono
Tin Ingot=Stana Ingoto Tin Ingot=Stana ingoto
Tin Lump=Stana Bulo Tin Lump=Stana bulo
Furnace is empty=Forno estas malplena Furnace is empty=Forno estas malplena
100% (output full)=100% (plena eligo) 100% (output full)=100% (plena eligo)
@1%=@1% @1%=@1%
@ -46,175 +46,175 @@ Furnace inactive=Forno ne laboras
Furnace=Forno Furnace=Forno
Stone=Ŝtono Stone=Ŝtono
Cobblestone=Pavimŝtono Cobblestone=Pavimŝtono
Stone Brick=Ŝtona Briko Stone Brick=Ŝtona briko
Stone Block=Ŝtona Bloko 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 Bloko 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 Bloko 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 Bloko 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 Bloko Silver Sandstone Block=Arĝenta sablaŝtono bloko
Obsidian=Obsidiano Obsidian=Obsidiano
Obsidian Brick=Obsidiana Briko Obsidian Brick=Obsidiana briko
Obsidian Block=Obsidiana Bloko 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 Koniferaj 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
Permafrost with Stones=Ĉiamfrosto kun Ŝtonoj Permafrost with Stones=Ĉiamfrosto kun ŝtonoj
Permafrost with Moss=Ĉiamfrosto kun Musko Permafrost with Moss=Ĉiamfrosto kun musko
Sand=Sablo Sand=Sablo
Desert Sand=Dezerta Sablo Desert Sand=Dezerta sablo
Silver Sand=Arĝenta Sablo Silver Sand=Arĝenta sablo
Gravel=Gruzo Gravel=Gruzo
Clay=Argilo Clay=Argilo
Snow=Neĝo Snow=Neĝo
Snow Block=Neĝa Bloko Snow Block=Neĝa bloko
Ice=Glacio Ice=Glacio
Cave Ice=Kaverna Glacio Cave Ice=Kaverna glacio
Apple Tree=Pomarbo Apple Tree=Pomarbo
Apple Wood Planks=Pomarbaj Lignaj Tabuloj Apple Wood Planks=Pomarbaj lignaj tabuloj
Apple Tree Sapling=Pomarba Arbido Apple Tree Sapling=Pomarba arbido
Apple Tree Leaves=Pomarbaj 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=Ĝangalaj Lignaj Tabuloj Jungle Wood Planks=Ĝangalaj lignaj tabuloj
Jungle Tree Leaves=Ĝangalaj Arbaj 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=Pino Pine Tree=Pino
Pine Wood Planks=Pinaj Lignaj Tabuloj Pine Wood Planks=Pinaj lignaj tabuloj
Pine Needles=Pinpingloj Pine Needles=Pinpingloj
Pine Tree Sapling=Pina Arbido Pine Tree Sapling=Pina arbido
Acacia Tree=Akacio Acacia Tree=Akacio
Acacia Wood Planks=Akaciaj Lignaj Tabuloj Acacia Wood Planks=Akaciaj lignaj tabuloj
Acacia Tree Leaves=Akaciaj Folioj Acacia Tree Leaves=Akaciaj folioj
Acacia Tree Sapling=Akacia Arbido Acacia Tree Sapling=Akacia arbido
Aspen Tree=Tremolo Aspen Tree=Tremolo
Aspen Wood Planks=Tremolaj Lignaj Tabuloj Aspen Wood Planks=Tremolaj lignaj tabuloj
Aspen Tree Leaves=Tremolaj Folioj Aspen Tree Leaves=Tremolaj folioj
Aspen Tree Sapling=Tremola Arbido Aspen Tree Sapling=Tremola arbido
Coal Ore=Karba Minaĵo Coal Ore=Karba minaĵo
Coal Block=Karba Bloko Coal Block=Karba bloko
Iron Ore=Fera Minaĵo Iron Ore=Fera minaĵo
Steel Block=Ŝtala Bloko Steel Block=Ŝtala bloko
Copper Ore=Kupra Minaĵo Copper Ore=Kupra minaĵo
Copper Block=Kupra Bloko Copper Block=Kupra bloko
Tin Ore=Stana Minaĵo Tin Ore=Stana minaĵo
Tin Block=Stana Bloko Tin Block=Stana bloko
Bronze Block=Bronza Bloko Bronze Block=Bronza bloko
Mese Ore=Mesea Minaĵo Mese Ore=Mesea minaĵo
Mese Block=Mesea Bloko Mese Block=Mesea bloko
Gold Ore=Ora Minaĵo Gold Ore=Ora minaĵo
Gold Block=Ora Bloko Gold Block=Ora bloko
Diamond Ore=Diamanta Minaĵo Diamond Ore=Diamanta minaĵo
Diamond Block=Diamanta Bloko 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
Dry Shrub=Seka Arbetaĵo Dry Shrub=Seka arbetaĵo
Jungle Grass=Ĝangala Herbo Jungle Grass=Ĝangala herbo
Grass=Herbo Grass=Herbo
Savanna Grass=Savana Herbo 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ĵaj Folioj Bush Leaves=Arbateĵaj folioj
Bush Sapling=Arbateĵa Arbido Bush Sapling=Arbateĵa arbido
Blueberry Bush Leaves with Berries=Mirtelaj Arbateĵaj Folioj kaj Beroj Blueberry Bush Leaves with Berries=Mirtelaj arbateĵaj folioj kaj beroj
Blueberry Bush Leaves=Mirtelaj Arbateĵaj 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=Akaciaj Arbateĵaj 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=Pinaj Arbateĵaj 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ĝkolora 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
River Water Source=Rivera Akva Fonto River Water Source=Rivera akva fonto
Flowing River Water=Flua Rivera Akvo 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(j), @2 malplena(j) libro(j)) Bookshelf (@1 written, @2 empty books)=Librobreto (@1 skriba(j), @2 malplena(j) libro(j))
Bookshelf=Librobreto Bookshelf=Librobreto
Text too long=Tro longa teksto Text too long=Tro longa teksto
"@1"= "@1"=
Wooden Sign=Ligna Signo Wooden Sign=Ligna signo
Steel Sign=Ŝtala Signo Steel Sign=Ŝtala signo
Wooden Ladder=Ligna Ŝtupetaro Wooden Ladder=Ligna ŝtupetaro
Steel Ladder=Ŝtala Ŝtupetaro Steel Ladder=Ŝtala ŝtupetaro
Apple Wood Fence=Poma Ligna Barilo Apple Wood Fence=Poma ligna barilo
Acacia Wood Fence=Akacia Ligna Barilo Acacia Wood Fence=Akacia ligna barilo
Jungle Wood Fence=Ĝangala Ligna Barilo Jungle Wood Fence=Ĝangala ligna barilo
Pine Wood Fence=Pina Ligna Barilo Pine Wood Fence=Pina ligna barilo
Aspen Wood Fence=Tremola Ligna Barilo Aspen Wood Fence=Tremola ligna barilo
Apple Wood Fence Rail=Poma Ligna Barila Relo Apple Wood Fence Rail=Poma ligna barila relo
Acacia Wood Fence Rail=Akacia Ligna Barila Relo Acacia Wood Fence Rail=Akacia ligna barila relo
Jungle Wood Fence Rail=Ĝangala Ligna Barila Relo Jungle Wood Fence Rail=Ĝangala ligna barila relo
Pine Wood Fence Rail=Pina Ligna Barila Relo 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 Bloko Brick Block=Brika bloko
Mese Lamp=Mesea Lampo Mese Lamp=Mesea lampo
Apple Wood Mese Post Light=Poma Ligna Mesea Fosta Lampo Apple Wood Mese Post Light=Poma ligna mesea fosta lampo
Acacia Wood Mese Post Light=Akacia Ligna Mesea Fosta Lampo Acacia Wood Mese Post Light=Akacia ligna mesea fosta lampo
Jungle Wood Mese Post Light=Ĝangala Ligna Mesea Fosta Lampo Jungle Wood Mese Post Light=Ĝangala ligna mesea fosta lampo
Pine Wood Mese Post Light=Pina Ligna Mesea Fosta Lampo Pine Wood Mese Post Light=Pina ligna mesea fosta lampo
Aspen Wood Mese Post Light=Tremola Ligna Mesea Fosta Lampo Aspen Wood Mese Post Light=Tremola ligna mesea fosta lampo
Cloud=Nubo Cloud=Nubo
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
Steel Pickaxe=Ŝtala Pioĉo Steel Pickaxe=Ŝtala pioĉo
Mese Pickaxe=Mesea Pioĉo Mese Pickaxe=Mesea pioĉo
Diamond Pickaxe=Diamanta Pioĉo Diamond Pickaxe=Diamanta pioĉo
Wooden Shovel=Ligna Fosilo Wooden Shovel=Ligna fosilo
Stone Shovel=Ŝtona Fosilo Stone Shovel=Ŝtona fosilo
Bronze Shovel=Bronza Fosilo Bronze Shovel=Bronza fosilo
Steel Shovel=Ŝtala Fosilo Steel Shovel=Ŝtala fosilo
Mese Shovel=Mesea Fosilo Mese Shovel=Mesea fosilo
Diamond Shovel=Diamanta Fosilo Diamond Shovel=Diamanta fosilo
Wooden Axe=Ligna Hakilo Wooden Axe=Ligna hakilo
Stone Axe=Ŝtona Hakilo Stone Axe=Ŝtona hakilo
Bronze Axe=Bronza Hakilo Bronze Axe=Bronza hakilo
Steel Axe=Ŝtala Hakilo Steel Axe=Ŝtala hakilo
Mese Axe=Mesea Hakilo Mese Axe=Mesea hakilo
Diamond Axe=Diamanta Hakilo Diamond Axe=Diamanta hakilo
Wooden Sword=Ligna Glavo Wooden Sword=Ligna glavo
Stone Sword=Ŝtona Glavo Stone Sword=Ŝtona glavo
Bronze Sword=Bronza Glavo 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
Torch=Torĉo Torch=Torĉo
@1 will intersect protection on growth.=@1 sekcos protekton dum kresko. @1 will intersect protection on growth.=@1 sekcos protekton dum kresko.
##### not used anymore ##### ##### not used anymore #####
Mese Post Light=Mesea Fosta Lampo Mese Post Light=Mesea fosta lampo

View file

@ -0,0 +1,215 @@
# textdomain: default
Locked Chest=Aizslēgta lāde
Locked Chest (owned by @1)=Aizslēgta lāde (Saimnieks: @1)
You do not own this chest.=Jums nepieder šī lāde.
a locked chest=aizslēgta lāde
Chest=Lāde
Write=Rakstīt
Read=Lasīt
Title:=Virsraksts:
Contents:=Saturs:
Save=Saglabāt
by @1=autors @1
Page @1 of @2=@1 lappuse no @2
The book you were writing to mysteriously disappeared.=Grāmata, kuru rakstījāt, pēkšņi pazuda.
"@1" by @2="@1" @2
Blueberries=Mellenes
Book=Grāmata
Book with Text=Grāmata ar tekstu
Bronze Ingot=Bronzas stienis
Clay Brick=Māla ķieģelis
Clay Lump=Māla pika
Coal Lump=Ogle
Copper Ingot=Vara stienis
Copper Lump=Vara rūdas gabals
Diamond=Dimants
Flint=Krams
Gold Ingot=Zelta stienis
Gold Lump=Zelta rūdas gabals
Iron Lump=Dzelzs rūdas gabals
Mese Crystal=Mēzes kristāls
Mese Crystal Fragment=Mēzes kristāla fragments
Obsidian Shard=Obsidiāna skaida
Paper=Papīrs
Steel Ingot=Tērauda stienis
Stick=Puļķis
Tin Ingot=Alvas stienis
Tin Lump=Alvas rūdas gabals
Furnace is empty=Krāsns ir tukša
100% (output full)=100% (izeja pilna)
@1%=@1%
Not cookable=Nav gatavojams
Empty=Tukšs
Furnace active=Krāsns kurās
Furnace inactive=Krāsns nekurās
(Item: @1; Fuel: @2)=(Priekšmets: @1; Degviela: @2)
Furnace=Krāsns
Stone=Akmens
Cobblestone=Mūrakmens
Stone Brick=Akmens ķieģeļi
Stone Block=Akmens bloks
Mossy Cobblestone=Apsūnojis mūrakmens
Desert Stone=Tuksneša akmens
Desert Cobblestone=Tuksneša mūrakmens
Desert Stone Brick=Tuksneša akmens ķieģeļi
Desert Stone Block=Tuksneša akmens bloks
Sandstone=Smilšakmens
Sandstone Brick=Smilšakmens ķieģeļi
Sandstone Block=Smilšakmens bloks
Desert Sandstone=Tuksnesa smilšakmens
Desert Sandstone Brick=Tuksneša smilšakmens ķieģeļi
Desert Sandstone Block=Tuksneša smilšakmens bloks
Silver Sandstone=Baltais smilšakmens
Silver Sandstone Brick=Baltā smilšakmens ķieģeļi
Silver Sandstone Block=Baltā smilšakmens bloks
Obsidian=Obsidiāns
Obsidian Brick=Obsidiāna ķieģeļi
Obsidian Block=Obsidiāna bloks
Dirt=Zeme
Dirt with Grass=Zeme ar zāli
Dirt with Grass and Footsteps=Pēdaina zeme ar zāli
Dirt with Savanna Grass=Zeme ar savannas zāli
Dirt with Snow=Zeme ar sniegu
Dirt with Rainforest Litter=Zeme ar lietusmeža zemsedzi
Dirt with Coniferous Litter=Zeme ar skujām
Savanna Dirt=Savannas zeme
Savanna Dirt with Savanna Grass=Savannas zeme ar savannas zāli
Permafrost=Mūžīgais sasalums
Permafrost with Stones=Mūžīgais sasalums ar akmentiņiem
Permafrost with Moss=Mūžīgais sasalums ar sūnām
Sand=Smilts
Desert Sand=Tuksneša smilts
Silver Sand=Baltā smilts
Gravel=Grants
Clay=Māla bloks
Snow=Sniegs
Snow Block=Sniega bloks
Ice=Ledus
Cave Ice=Alu ledus
Apple Tree=Ābele
Apple Wood Planks=Ābolkoka dēļi
Apple Tree Sapling=Ābeles dzinums
Apple Tree Leaves=Ābeles lapas
Apple=Ābols
Apple Marker=Ābola marķieris
Jungle Tree=Džungļu koks
Jungle Wood Planks=Džungļu koka dēļi
Jungle Tree Leaves=Džungļu koka lapas
Jungle Tree Sapling=Džungļu koka dzinums
Emergent Jungle Tree Sapling=Augsta džungļu koka dzinums
Pine Tree=Skujkoks
Pine Wood Planks=Skujkoka dēļi
Pine Needles=Skujas
Pine Tree Sapling=Skujkoka dzinums
Acacia Tree=Akācija
Acacia Wood Planks=Akācijas dēļi
Acacia Tree Leaves=Akācijas lapas
Acacia Tree Sapling=Akācijas dzinums
Aspen Tree=Apse
Aspen Wood Planks=Apses koka dēļi
Aspen Tree Leaves=Apses lapas
Aspen Tree Sapling=Apses dzinums
Coal Ore=Akmeņogļu rūda
Coal Block=Akmeņogļu bloks
Iron Ore=Dzelzs rūda
Steel Block=Tērauda bloks
Copper Ore=Vara rūda
Copper Block=Vara bloks
Tin Ore=Alvas rūda
Tin Block=Alvas bloks
Bronze Block=Bronzas bloks
Mese Ore=Mēzes rūda
Mese Block=Mēzes bloks
Gold Ore=Zelta rūda
Gold Block=Zelta bloks
Diamond Ore=Dimanta rūda
Diamond Block=Dimanta bloks
Cactus=Kaktuss
Large Cactus Seedling=Liela kaktusa dzinums
Papyrus=Papiruss
Dry Shrub=Izžuvis krūmiņš
Jungle Grass=Džungļu zāle
Grass=Zāle
Savanna Grass=Savannas zāle
Fern=Paparde
Marram Grass=Kāpu niedre
Bush Stem=Krūma stumbrājs
Bush Leaves=Krūma lapas
Bush Sapling=Krūma dzinums
Blueberry Bush Leaves with Berries=Melleņu krūms ar ogām
Blueberry Bush Leaves=Melleņu krūms
Blueberry Bush Sapling=Melleņu krūma dzinums
Acacia Bush Stem=Akācijas krūma stumbrājs
Acacia Bush Leaves=Akācijas krūma lapas
Acacia Bush Sapling=Akācijas krūma dzinums
Pine Bush Stem=Skujaina krūma stumbrājs
Pine Bush Needles=Skujaina krūma lapas
Pine Bush Sapling=Skujaina krūma dzinums
Kelp=Brūnaļģes
Green Coral=Zaļš korallis
Pink Coral=Rozā korallis
Cyan Coral=Ciānkrāsas korallis
Brown Coral=Brūns korallis
Orange Coral=Oranžs korallis
Coral Skeleton=Koraļļa skelets
Water Source=Ūdens avots
Flowing Water=Plūstošs ūdens
River Water Source=Upes ūdens avots
Flowing River Water=Tekošs upes ūdens
Lava Source=Lavas avots
Flowing Lava=Plūstoša lava
Empty Bookshelf=Tukss grāmatplaukts
Bookshelf (@1 written, @2 empty books)=Grāmatplauktā (@1 rakstītas, @2 tukšas grāmatas)
Bookshelf=Grāmatplaukts
Text too long=Teksts par garu
"@1"="@1"
Wooden Sign=Koka zīme
Steel Sign=Tērauda zīme
Wooden Ladder=Koka kāpnes
Steel Ladder=Tērauda kāpnes
Apple Wood Fence=Ābolkoka žogs
Acacia Wood Fence=Akācijas žogs
Jungle Wood Fence=Džungļu koka žogs
Pine Wood Fence=Skujkoka žogs
Aspen Wood Fence=Apses koka žogs
Apple Wood Fence Rail=Ābolkoka žoga margas
Acacia Wood Fence Rail=Akācijas žoga margas
Jungle Wood Fence Rail=Džungļu koka žoga margas
Pine Wood Fence Rail=Skujkoka žoga margas
Aspen Wood Fence Rail=Apses žoga margas
Glass=Stikls
Obsidian Glass=Obsidiāna stikls
Brick Block=Ķieģeļu bloks
Mese Lamp=Mēzes lampa
Apple Wood Mese Post Light=Ābolkoka mēzes lampa
Acacia Wood Mese Post Light=Akācijas mēzes lampa
Jungle Wood Mese Post Light=Džungļu koka mēzes lampa
Pine Wood Mese Post Light=Skujkoka mēzes lampa
Aspen Wood Mese Post Light=Apses koka mēzes lampa
Cloud=Mākonis
Wooden Pickaxe=Koka cērte
Stone Pickaxe=Akmens cērte
Bronze Pickaxe=Bronzas cērte
Steel Pickaxe=Tērauda cērte
Mese Pickaxe=Mēzes cērte
Diamond Pickaxe=Dimanta cērte
Wooden Shovel=Koka lāpsta
Stone Shovel=Akmens lāpsta
Bronze Shovel=Bronzas lāpsta
Steel Shovel=Tērauda lāpsta
Mese Shovel=Mēzes lāpsta
Diamond Shovel=Dimanta lāpsta
Wooden Axe=Koka cirvis
Stone Axe=Akmens cirvis
Bronze Axe=Bronzas cirvis
Steel Axe=Tērauda cirvis
Mese Axe=Mēzes cirvis
Diamond Axe=Dimanta cirvis
Wooden Sword=Koka zobens
Stone Sword=Akmens zobens
Bronze Sword=Bronzas zobens
Steel Sword=Tērauda zobens
Mese Sword=Mēzes zobens
Diamond Sword=Dimanta zobens
Torch=Lāpa
@1 will intersect protection on growth.=@1 augot krustos aisargājamo zonu.

View file

@ -0,0 +1,215 @@
# textdomain: default
Locked Chest=Baú Trancado
Locked Chest (owned by @1)=Baú Trancado (pertence a @1)
You do not own this chest.=Você não é dono deste baú.
a locked chest=um baú trancado
Chest=Baú
Write=
Read=
Title:=Título:
Contents:=Conteúdo:
Save=Salvar
by @1=por @1
Page @1 of @2=Página @1 de @2
The book you were writing to mysteriously disappeared.=
"@1" by @2="@1" por @2
Blueberries=Mirtilo
Book=Livro
Book with Text=Livro com Texto
Bronze Ingot=Lingote de Bronze
Clay Brick=Tijolo de Argila
Clay Lump=Pedaço de Argila
Coal Lump=Pedaço de Carvão
Copper Ingot=Lingote de Cobre
Copper Lump=Pedaço de Cobre
Diamond=Diamante
Flint=Rocha Sílex
Gold Ingot=Lingote de Ouro
Gold Lump=Pedaço de Ouro
Iron Lump=Pedaço de Ferro
Mese Crystal=Cristal de Mese
Mese Crystal Fragment=Fragmento de Cristal de Mese
Obsidian Shard=Caco de Obsidian
Paper=Papel
Steel Ingot=Lingote de Aço
Stick=Graveto
Tin Ingot=Lingote de Estanho
Tin Lump=Pedaço de Estanho
Furnace is empty=A fornalha está vazia
100% (output full)=100% (saída cheia)
@1%=@1%
Not cookable=Não pode cozinhar
Empty=Vazio
Furnace active=Fornalha ativa
Furnace inactive=Fornalha inativa
(Item: @1; Fuel: @2)=(Item: @1; Combustível: @2)
Furnace=Fornalha
Stone=Pedra
Cobblestone=Pedregulho
Stone Brick=Tijolo de Pedra
Stone Block=Bloco de Pedra
Mossy Cobblestone=Pedregulho Musgoso
Desert Stone=Pedra do Deserto
Desert Cobblestone=Pedregulho do Deserto
Desert Stone Brick=Tijolo de Pedra do Deserto
Desert Stone Block=Bloco de Pedra do Deserto
Sandstone=Arenito
Sandstone Brick=Tijolo de Arenito
Sandstone Block=Bloco de Arenito
Desert Sandstone=Bloco de Arenito do Deserto
Desert Sandstone Brick=Tijolo de Arenito do Deserto
Desert Sandstone Block=Bloco de Arenito do Deserto
Silver Sandstone=Arenito Prateado
Silver Sandstone Brick=Tijolo de Arenito Prateado
Silver Sandstone Block=Bloco de Arenito Prateado
Obsidian=Obsidiana
Obsidian Brick=Tijolo de Obsidiana
Obsidian Block=Bloco de Obsidiana
Dirt=Terra
Dirt with Grass=Terra com Grama
Dirt with Grass and Footsteps=Terra com Grama e Pegadas
Dirt with Savanna Grass=Terra com Grama da Savana
Dirt with Snow=Terra com Neve
Dirt with Rainforest Litter=Terra com Serrapilheira Tropical
Dirt with Coniferous Litter=Terra com Serrapilheira
Savanna Dirt=Terra da Savana
Savanna Dirt with Savanna Grass=Terra da Savana com Grama da Savana
Permafrost=Terra Congelada
Permafrost with Stones=Terra Congelada com Pedras
Permafrost with Moss=Terra Congelada com Musgo
Sand=Areia
Desert Sand=Areia do Deserto
Silver Sand=Areia Prateada
Gravel=Cascalho
Clay=Argila
Snow=Neve
Snow Block=Bloco de Neve
Ice=Gelo
Cave Ice=Caverna de Gelo
Apple Tree=Macieira
Apple Wood Planks=Tábuas de Macieira
Apple Tree Sapling=Muda de Macieira
Apple Tree Leaves=Folhas de Macieira
Apple=Maçã
Apple Marker=Marcador de Maçã
Jungle Tree=Árvore da Selva
Jungle Wood Planks=Tábuas de Árvore da Selva
Jungle Tree Leaves=Folhas de Árvore da Selva
Jungle Tree Sapling=Muda de Árvore da Selva
Emergent Jungle Tree Sapling=Muda Crescida de Árvore da Selva
Pine Tree=Pinheiro
Pine Wood Planks=Tábuas de Pinheiro
Pine Needles=Agulhas de Pinheiro
Pine Tree Sapling=Muda de Pinheiro
Acacia Tree=Acácia
Acacia Wood Planks=Tábuas de Acácia
Acacia Tree Leaves=Folhas de Acácia
Acacia Tree Sapling=Mudas de Acácia
Aspen Tree=Álamo
Aspen Wood Planks=Tábuas de Álamo
Aspen Tree Leaves=Folhas de Álamo
Aspen Tree Sapling=Muda de Álamo
Coal Ore=Minério de Carvão
Coal Block=Bloco de Carvão
Iron Ore=Minério de Ferro
Steel Block=Bloco de Aço
Copper Ore=Minério de Cobre
Copper Block=Bloco de Cobre
Tin Ore=Minério de Estanho
Tin Block=Bloco de Estanho
Bronze Block=Bloco de Bronze
Mese Ore=Minério de Mese
Mese Block=Bloco de Mese
Gold Ore=Minério de Ouro
Gold Block=Bloco de Ouro
Diamond Ore=Minério de Diamante
Diamond Block=Bloco de Diamante
Cactus=Cacto
Large Cactus Seedling=Grande Muda de Cacto
Papyrus=Papiro
Dry Shrub=Arbusto Seco
Jungle Grass=Grama da Selva
Grass=Grama
Savanna Grass=Grama da Savana
Fern=Samambaia
Marram Grass=Grama de Feno
Bush Stem=Caule de Arbusto
Bush Leaves=Folhas de Arbusto
Bush Sapling=Muda de Arbusto
Blueberry Bush Leaves with Berries=Folhas de Arbusto de Mirtilo com Bagas
Blueberry Bush Leaves=Folhas de Arbusto de Mirtilo
Blueberry Bush Sapling=Muda de Arbusto de Mirtilo
Acacia Bush Stem=Caule de Arbusto de Acácia
Acacia Bush Leaves=Folhas de Arbusto de Acácia
Acacia Bush Sapling=Muda de Arbusto de Acácia
Pine Bush Stem=Caule de Arbusto de Pinheiro
Pine Bush Needles=Agulha de Arbusto de Pinheiro
Pine Bush Sapling=Muda de Arbusto de Pinheiro
Kelp=Alga
Green Coral=Coral Verde
Pink Coral=Coral Rosa
Cyan Coral=Coral Ciano
Brown Coral=Coral Marrom
Orange Coral=Coral Laranja
Coral Skeleton=Esqueleto de Coral
Water Source=Fonte de Água
Flowing Water=Água Corrente
River Water Source=Fonte de Água do Rio
Flowing River Water=Água Corrente do Rio
Lava Source=Fonte de Lava
Flowing Lava=Lava Corrente
Empty Bookshelf=Estante de Livros Vazia
Bookshelf (@1 written, @2 empty books)=Estante de Livros (@1 livros escritos, @2 livros em branco)
Bookshelf=Estante de Livros
Text too long=Texto muito longo
"@1"="@1"
Wooden Sign=Placa de Madeira
Steel Sign=Placa de Aço
Wooden Ladder=Escada de Madeira
Steel Ladder=Escada de Aço
Apple Wood Fence=Cerca de Macieira
Acacia Wood Fence=Cerca de Acácia
Jungle Wood Fence=Cerca de Madeira da Selva
Pine Wood Fence=Cerca de Pinheiro
Aspen Wood Fence=Cerca de Álamo
Apple Wood Fence Rail=Trilho de Cerca de Macieira
Acacia Wood Fence Rail=Trilho de Cerca de Acácia
Jungle Wood Fence Rail=Trilho de Cerca de Madeira da Selva
Pine Wood Fence Rail=Trilho de Cerca de Pinheiro
Aspen Wood Fence Rail=Trilho de Cerca de Álamo
Glass=Vidro
Obsidian Glass=Vidro de Obsidiana
Brick Block=Bloco de Tijolos
Mese Lamp=Lâmpada de Mese
Apple Wood Mese Post Light=Poste de Lâmpada de Mese de Macieira
Acacia Wood Mese Post Light=Poste de Lâmpada de Mese de Acácia
Jungle Wood Mese Post Light=Poste de Lâmpada de Mese de Madeira da Selva
Pine Wood Mese Post Light=Poste de Lâmpada de Mese de Pinheiro
Aspen Wood Mese Post Light=Poste de Lâmpada de Mese de Aspen
Cloud=Nuvem
Wooden Pickaxe=Picareta de Madeira
Stone Pickaxe=Picareta de Pedra
Bronze Pickaxe=Picareta de Bronze
Steel Pickaxe=Picareta de Aço
Mese Pickaxe=Picareta de Mese
Diamond Pickaxe=Picareta de Diamante
Wooden Shovel=Pá de Madeira
Stone Shovel=Pá de Pedra
Bronze Shovel=Pá de Bronze
Steel Shovel=Pá de Aço
Mese Shovel=Pá de Mese
Diamond Shovel=Pá de Diamante
Wooden Axe=Machado de Madeira
Stone Axe=Machado de Pedra
Bronze Axe=Machado de Bronze
Steel Axe=Machado de Aço
Mese Axe=Machado de Mese
Diamond Axe=Machado de Diamante
Wooden Sword=Espada de Madeira
Stone Sword=Espada de Pedra
Bronze Sword=Espada de Bronze
Steel Sword=Espada de Aço
Mese Sword=Espada de Mese
Diamond Sword=Espada de Diamante
Torch=Tocha
@1 will intersect protection on growth.=@1 cruzará a proteção no crescimento.

View file

@ -23,7 +23,7 @@ Coal Lump=Pedaço de Carvão
Copper Ingot=Lingote de Cobre Copper Ingot=Lingote de Cobre
Copper Lump=Pedaço de Cobre Copper Lump=Pedaço de Cobre
Diamond=Diamante Diamond=Diamante
Flint=Sílex (Flint) Flint=Rocha Sílex
Gold Ingot=Lingote de Ouro Gold Ingot=Lingote de Ouro
Gold Lump=Pedaço de Ouro Gold Lump=Pedaço de Ouro
Iron Lump=Pedaço de Ferro Iron Lump=Pedaço de Ferro

View file

@ -1,42 +1,42 @@
# 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=Писать Write=Написать
Read=Читать 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.=Книга, в которую вы писали, загадочно исчезла. The book you were writing to mysteriously disappeared.=Книга, которую вы писали, загадочно исчезла.
"@1" by @2="@1" @2 "@1" by @2="@1" @2
Blueberries=Черника Blueberries=Черника
Book=Книга Book=Книга
Book with Text=Книга с Текстом Book with Text=Книга с текстом
Bronze Ingot=Бронзовый Слиток Bronze Ingot=Бронзовый слиток
Clay Brick=Глиняный Кирпич Clay Brick=Кирпич
Clay Lump=Ком Глины Clay Lump=Глина
Coal Lump=Кусок Угля Coal Lump=Уголь
Copper Ingot=Медный Слиток Copper Ingot=Медный слиток
Copper Lump=Кусок Меди Copper Lump=Кусок меди
Diamond=Алмаз Diamond=Алмаз
Flint=Кремень Flint=Кремень
Gold Ingot=Золотой Слиток Gold Ingot=Золотой слиток
Gold Lump=Кусок Золота Gold Lump=Кусок золота
Iron Lump=Кусок Железа Iron Lump=Кусок железа
Mese Crystal=Кристалл Месе Mese Crystal=Кристалл мезы
Mese Crystal Fragment=Осколок Кристалла Месе Mese Crystal Fragment=Осколок кристалла мезы
Obsidian Shard=Обсидиановый Осколок Obsidian Shard=Обсидиановый осколок
Paper=Бумага Paper=Бумага
Steel Ingot=Железный Слиток Steel Ingot=Стальной слиток
Stick=Палка Stick=Палка
Tin Ingot=Оловянный Слиток Tin Ingot=Оловянный слиток
Tin Lump=Кусок Олова Tin Lump=Кусок олова
Furnace is empty=Печь пуста Furnace is empty=Печь пуста
100% (output full)=100% (полное приготовление) 100% (output full)=100% (выход заполнен)
@1%=@1% @1%=@1%
Not cookable=Не может быть приготовлено Not cookable=Не может быть приготовлено
Empty=Пустое Empty=Пустое
@ -46,179 +46,170 @@ Furnace inactive=Печь не зажжена
Furnace=Печь Furnace=Печь
Stone=Камень Stone=Камень
Cobblestone=Булыжник Cobblestone=Булыжник
Stone Brick=Каменный Кирпич Stone Brick=Каменные кирпичи
Stone Block=Каменный Блок Stone Block=Каменный блок
Mossy Cobblestone=Мшистый Булыжник Mossy Cobblestone=Замшелый булыжник
Desert Stone=Пустынный Камень Desert Stone=Пустынный камень
Desert Cobblestone=Пустынный Булыжник Desert Cobblestone=Пустынный булыжник
Desert Stone Brick=Пустынный Каменный Кирпич Desert Stone Brick=Пустынный каменные кирпичи
Desert Stone Block=Пустынный Каменный Блок Desert Stone Block=Пустынный каменный блок
Sandstone=Песчаник Sandstone=Песчаник
Sandstone Brick=Песчаниковый Кирпич Sandstone Brick=Песчаниковые кирпичи
Sandstone Block=Песчаниковый Блок Sandstone Block=Песчаниковый блок
Desert Sandstone=Пустынный Песчаник Desert Sandstone=Пустынный песчаник
Desert Sandstone Brick=Пустынный Песчаниковый Кирпич Desert Sandstone Brick=Пустынные песчаниковые кирпичи
Desert Sandstone Block=Пустынный Песчаниковый Блок Desert Sandstone Block=Пустынный песчаниковый блок
Silver Sandstone=Серебряный Песчаник Silver Sandstone=Серебристый песчаник
Silver Sandstone Brick=Серебряный Песчаниковый Кирпич Silver Sandstone Brick=Серебристые песчаниковые кирпичи
Silver Sandstone Block=Серебряный Песчаниковый Блок Silver Sandstone Block=Серебристый песчаниковый блок
Obsidian=Обсидиан Obsidian=Обсидиан
Obsidian Brick=Обсидиановый Кирпич 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=Мёрзлая почва с мхом
Sand=Песок Sand=Песок
Desert Sand=Пустынный Песок Desert Sand=Пустынный песок
Silver Sand=Серебряный Песок Silver Sand=Серебристый песок
Gravel=Гравий Gravel=Гравий
Clay=Глиняный Блок Clay=Глиняный блок
Snow=Снег Snow=Снежок
Snow Block=Снежный Блок Snow Block=Снежный блок
Ice=Лёд Ice=Лёд
Cave Ice=Пещерный Лёд Cave Ice=Пещерный лёд
Apple Tree=Ствол Яблони Apple Tree=Яблоневая древесина
Apple Wood Planks=Яблоневые Доски Apple Wood Planks=Яблоневые доски
Apple Tree Sapling=Саженец Яблони Apple Tree Sapling=Саженец яблони
Apple Tree Leaves=Яблоневая Листва Apple Tree Leaves=Яблоневая листва
Apple=Яблоко Apple=Яблоко
Apple Marker=Яблочная Метка Apple Marker=Яблочная метка
Jungle Tree=Ствол Тропического Дерева 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=Сосновая хвоя
Pine Tree Sapling=Саженец Сосны Pine Tree Sapling=Саженец сосны
Acacia Tree=Ствол Акации Acacia Tree=Акациевая древесина
Acacia Wood Planks=Доски Акации Acacia Wood Planks=Акациевые доски
Acacia Tree Leaves=Листва Акации Acacia Tree Leaves=Акациевая листва
Acacia Tree Sapling=Саженец Акации Acacia Tree Sapling=Саженец акации
Aspen Tree=Ствол Осины Aspen Tree=Осиновая древесина
Aspen Wood Planks=Осиновые Доски Aspen Wood Planks=Осиновые доски
Aspen Tree Leaves=Осиновая Листва Aspen Tree Leaves=Осиновая листва
Aspen Tree Sapling=Саженец Осины Aspen Tree Sapling=Саженец осины
Coal Ore=Уголь Coal Ore=Угольная руда
Coal Block=Угольный Блок Coal Block=Угольный блок
Iron Ore=Железная Руда Iron Ore=Железная руда
Steel Block=Стальной Блок Steel Block=Стальной блок
Copper Ore=Медная Руда Copper Ore=Медная руда
Copper Block=Медный Блок Copper Block=Медный блок
Tin Ore=Оловянная Руда Tin Ore=Оловянная руда
Tin Block=Оловянный Блок Tin Block=Оловянный блок
Bronze Block=Бронзовый Блок Bronze Block=Бронзовый блок
Mese Ore=Месевая Руда Mese Ore=Мезовая руда
Mese Block=Месевый Блок Mese Block=Мезовый блок
Gold Ore=Золотая Руда Gold Ore=Золотая руда
Gold Block=Золотой Блок Gold Block=Золотой блок
Diamond Ore=Алмаз Diamond Ore=Алмазная руда
Diamond Block=Алмазный Блок Diamond Block=Алмазный блок
Cactus=Кактус Cactus=Кактус
Large Cactus Seedling=Саженец Кактуса Large Cactus Seedling=Саженец кактуса
Papyrus=Папирус 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=Стебель куста акации
Acacia Bush Leaves=Листья Куста Акации Acacia Bush Leaves=Листья куста акации
Acacia Bush Sapling=Саженец Куста Акации Acacia Bush Sapling=Саженец куста акации
Pine Bush Stem=Стебли Хвойного Куста Pine Bush Stem=Стебли хвойного куста
Pine Bush Needles=Хвоя Куста Pine Bush Needles=Хвоя куста
Pine Bush Sapling=Саженец Хвойного Куста Pine Bush Sapling=Саженец хвойного куста
Kelp=Ламинария Kelp=Ламинария
Green Coral=Зеленый Коралл Green Coral=Зелёный коралл
Pink Coral=Розовый Коралл Pink Coral=Розовый коралл
Cyan Coral=Голубой Коралл Cyan Coral=Бирюзовый коралл
Brown Coral=Коричневый Коралл Brown Coral=Коричневый коралл
Orange Coral=Оранжевый Коралл Orange Coral=Оранжевый коралл
Coral Skeleton=Коралловый Остов Coral Skeleton=Коралловый остов
Water Source=Водный Источник Water Source=Источник воды
Flowing Water=Текущая Вода Flowing Water=Текущая вода
River Water Source=Речной Водный Источник River Water Source=Источник речной воды
Flowing River Water=Текущая Речная Вода Flowing River Water=Текущая речная вода
Lava Source=Лавовый Источник Lava Source=Источник лавы
Flowing Lava=Текущая Лава Flowing Lava=Текущая лава
Empty Bookshelf=Пустая Книжная Полка Empty Bookshelf=Пустая книжная полка
Bookshelf (@1 written, @2 empty books)=Книжная Полка (@1 написано, @2 чистые книги) Bookshelf (@1 written, @2 empty books)=Книжная полка (@1 написано, @2 чистые книги)
Bookshelf=Книжная Полка Bookshelf=Книжная полка
Text too long=Текст слишком длинный Text too long=Текст слишком длинный
"@1"="@1" "@1"="@1"
Wooden Sign=Деревянная Табличка Wooden Sign=Деревянная табличка
Steel Sign=Стальная Табличка Steel Sign=Стальная табличка
Wooden Ladder=Деревянная Лестница Wooden Ladder=Деревянная лестница
Steel Ladder=Стальная Лестница Steel Ladder=Стальная лестница
Apple Wood Fence=Яблоневый Деревянный Забор Apple Wood Fence=Яблоневый забор
Acacia Wood Fence=Деревянный Забор Из Акации Acacia Wood Fence=Акациевый забор
Jungle Wood Fence=Деревянный Забор Из Тропического Дерева Jungle Wood Fence=Забор из тропического дерева
Pine Wood Fence=Сосновый Деревянный Забор Pine Wood Fence=Сосновый забор
Aspen Wood Fence=Осиновый Деревянный Забор Aspen Wood Fence=Осиновый забор
Apple Wood Fence Rail=Яблоневый Деревянный Реечный Забор Apple Wood Fence Rail=Яблоневый реечный забор
Acacia Wood Fence Rail=Деревянный Реечный Забор Из Акации Acacia Wood Fence Rail=Акациевый реечный забор
Jungle Wood Fence Rail=Деревянный Реечный Забор Из Тропического Дерева Jungle Wood Fence Rail=Реечный забор из тропического дерева
Pine Wood Fence Rail=Сосновый Деревянный Реечный Забор Pine Wood Fence Rail=Сосновый реечный забор
Aspen Wood Fence Rail=Осиновый Деревянный Реечный Забор Aspen Wood Fence Rail=Осиновый реечный забор
Glass=Стекло 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=Каменная кирка
Bronze Pickaxe=Бронзовая Кирка Bronze Pickaxe=Бронзовая кирка
Steel Pickaxe=Стальная Кирка Steel Pickaxe=Стальная кирка
Mese Pickaxe=Месе Кирка Mese Pickaxe=Мезовая кирка
Diamond Pickaxe=Алмазная Кирка Diamond Pickaxe=Алмазная кирка
Wooden Shovel=Деревянная Лопата Wooden Shovel=Деревянная лопата
Stone Shovel=Каменная Лопата Stone Shovel=Каменная лопата
Bronze Shovel=Бронзовая Лопата Bronze Shovel=Бронзовая лопата
Steel Shovel=Стальная Лопата Steel Shovel=Стальная лопата
Mese Shovel=Месе Лопата Mese Shovel=Мезовая лопата
Diamond Shovel=Алмазная Лопата Diamond Shovel=Алмазная лопата
Wooden Axe=Деревянный Топор Wooden Axe=Деревянный топор
Stone Axe=Каменный Топор Stone Axe=Каменный топор
Bronze Axe=Бронзовый Топор Bronze Axe=Бронзовый топор
Steel Axe=Стальной Топор Steel Axe=Стальной топор
Mese Axe=Месе Топор Mese Axe=Мезовый топор
Diamond Axe=Алмазный Топор Diamond Axe=Алмазный топор
Wooden Sword=Деревянный Меч Wooden Sword=Деревянный меч
Stone Sword=Каменный Меч Stone Sword=Каменный меч
Bronze Sword=Бронзовый Меч Bronze Sword=Бронзовый меч
Steel Sword=Стальной Меч Steel Sword=Стальной меч
Mese Sword=Месе Меч Mese Sword=Мезовый меч
Diamond Sword=Алмазный Меч Diamond Sword=Алмазный меч
Torch=Факел Torch=Факел
@1 will intersect protection on growth.=@1 пересечёт защиту по росту. @1 will intersect protection on growth.=@1 пересечет защищённую зону при вырастании.
##### not used anymore #####
Dirt with Dry Grass=Земля с Сухой Травой
Dry Dirt=Сухая Земля
Dry Dirt with Dry Grass=Сухая Земля с Сухой Травой
Dry Grass=Сухая Трава
Mese Post Light=Столб с Месе Фонарем

View file

@ -271,6 +271,7 @@ minetest.register_node("default:cobble", {
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, stone = 2}, groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
_tnt_loss = 4,
}) })
minetest.register_node("default:stonebrick", { minetest.register_node("default:stonebrick", {
@ -297,9 +298,9 @@ minetest.register_node("default:mossycobble", {
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, stone = 1}, groups = {cracky = 3, stone = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
_tnt_loss = 4,
}) })
minetest.register_node("default:desert_stone", { minetest.register_node("default:desert_stone", {
description = S("Desert Stone"), description = S("Desert Stone"),
tiles = {"default_desert_stone.png"}, tiles = {"default_desert_stone.png"},
@ -315,6 +316,7 @@ minetest.register_node("default:desert_cobble", {
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, stone = 2}, groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
_tnt_loss = 4,
}) })
minetest.register_node("default:desert_stonebrick", { minetest.register_node("default:desert_stonebrick", {
@ -444,6 +446,7 @@ minetest.register_node("default:dirt", {
tiles = {"default_dirt.png"}, tiles = {"default_dirt.png"},
groups = {crumbly = 3, soil = 1}, groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults(),
_tnt_loss = 3,
}) })
minetest.register_node("default:dirt_with_grass", { minetest.register_node("default:dirt_with_grass", {
@ -530,6 +533,7 @@ minetest.register_node("default:dry_dirt", {
tiles = {"default_dry_dirt.png"}, tiles = {"default_dry_dirt.png"},
groups = {crumbly = 3, soil = 1}, groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults(),
_tnt_loss = 3,
}) })
minetest.register_node("default:dry_dirt_with_dry_grass", { minetest.register_node("default:dry_dirt_with_dry_grass", {
@ -576,6 +580,7 @@ minetest.register_node("default:sand", {
tiles = {"default_sand.png"}, tiles = {"default_sand.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1}, groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(), sounds = default.node_sound_sand_defaults(),
_tnt_loss = 2,
}) })
minetest.register_node("default:desert_sand", { minetest.register_node("default:desert_sand", {
@ -583,6 +588,7 @@ minetest.register_node("default:desert_sand", {
tiles = {"default_desert_sand.png"}, tiles = {"default_desert_sand.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1}, groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(), sounds = default.node_sound_sand_defaults(),
_tnt_loss = 2,
}) })
minetest.register_node("default:silver_sand", { minetest.register_node("default:silver_sand", {
@ -590,6 +596,7 @@ minetest.register_node("default:silver_sand", {
tiles = {"default_silver_sand.png"}, tiles = {"default_silver_sand.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1}, groups = {crumbly = 3, falling_node = 1, sand = 1},
sounds = default.node_sound_sand_defaults(), sounds = default.node_sound_sand_defaults(),
_tnt_loss = 2,
}) })
@ -604,7 +611,8 @@ minetest.register_node("default:gravel", {
{items = {"default:flint"}, rarity = 16}, {items = {"default:flint"}, rarity = 16},
{items = {"default:gravel"}} {items = {"default:gravel"}}
} }
} },
_tnt_loss = 3,
}) })
minetest.register_node("default:clay", { minetest.register_node("default:clay", {
@ -639,6 +647,7 @@ minetest.register_node("default:snow", {
}, },
groups = {crumbly = 3, falling_node = 1, snowy = 1}, groups = {crumbly = 3, falling_node = 1, snowy = 1},
sounds = default.node_sound_snow_defaults(), sounds = default.node_sound_snow_defaults(),
_tnt_loss = 1, -- means it will disappear entirely
on_construct = function(pos) on_construct = function(pos)
pos.y = pos.y - 1 pos.y = pos.y - 1
@ -1985,8 +1994,8 @@ minetest.register_node("default:sand_with_kelp", {
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)
-- Call on_rightclick if the pointed node defines it -- Call on_rightclick if the pointed node defines it
if pointed_thing.type == "node" and placer and if pointed_thing.type == "node" and not (placer and placer:is_player()
not placer:get_player_control().sneak then and placer:get_player_control().sneak) then
local node_ptu = minetest.get_node(pointed_thing.under) local node_ptu = minetest.get_node(pointed_thing.under)
local def_ptu = minetest.registered_nodes[node_ptu.name] local def_ptu = minetest.registered_nodes[node_ptu.name]
if def_ptu and def_ptu.on_rightclick then if def_ptu and def_ptu.on_rightclick then
@ -2035,19 +2044,20 @@ minetest.register_node("default:sand_with_kelp", {
-- --
local function coral_on_place(itemstack, placer, pointed_thing) local function coral_on_place(itemstack, placer, pointed_thing)
if pointed_thing.type ~= "node" or not placer then if pointed_thing.type ~= "node" then
return itemstack return itemstack
end end
local player_name = placer:get_player_name() local player_name = placer and placer:get_player_name()
local pos_under = pointed_thing.under local pos_under = pointed_thing.under
local pos_above = pointed_thing.above local pos_above = pointed_thing.above
local node_under = minetest.get_node(pos_under) local node_under = minetest.get_node(pos_under)
local def_under = minetest.registered_nodes[node_under.name] local def_under = minetest.registered_nodes[node_under.name]
if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then if def_under and def_under.on_rightclick and not (
placer and placer:is_player() and placer:get_player_control().sneak) then
return def_under.on_rightclick(pos_under, node_under, return def_under.on_rightclick(pos_under, node_under,
placer, itemstack, pointed_thing) or itemstack placer, itemstack, pointed_thing)
end end
if node_under.name ~= "default:coral_skeleton" or if node_under.name ~= "default:coral_skeleton" or
@ -2057,9 +2067,6 @@ 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
default.log_player_action(placer,
"tried to place", itemstack:get_name(),
"at protected position", pos_under)
minetest.record_protection_violation(pos_under, player_name) minetest.record_protection_violation(pos_under, player_name)
return itemstack return itemstack
end end
@ -2809,6 +2816,7 @@ minetest.register_node("default:glass", {
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3}, groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
_tnt_loss = 2,
}) })
minetest.register_node("default:obsidian_glass", { minetest.register_node("default:obsidian_glass", {

View file

@ -488,16 +488,15 @@ function default.sapling_on_place(itemstack, placer, pointed_thing,
interval) then interval) then
minetest.record_protection_violation(pos, player_name) minetest.record_protection_violation(pos, player_name)
-- Print extra information to explain -- Print extra information to explain
-- minetest.chat_send_player(player_name,
-- itemstack:get_definition().description .. " will intersect protection " ..
-- "on growth")
minetest.chat_send_player(player_name, minetest.chat_send_player(player_name,
S("@1 will intersect protection on growth.", S("@1 will intersect protection on growth.",
itemstack:get_definition().description)) itemstack:get_definition().description))
return itemstack return itemstack
end end
default.log_player_action(placer, "places node", sapling_name, "at", pos) if placer then
default.log_player_action(placer, "places node", sapling_name, "at", pos)
end
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

@ -14,7 +14,7 @@ Re-implemented most of the door algorithms, added meshes, UV wrapped texture.
Added doors API to facilitate coding mods accessing and operating doors. Added doors API to facilitate coding mods accessing and operating doors.
Added Fence Gate model, code, and sounds. Added Fence Gate model, code, and sounds.
Various Minetest developers and contributors (MIT) Various Minetest Game developers and contributors (MIT)
Authors of media (textures) Authors of media (textures)

View file

@ -5,7 +5,7 @@ The MIT License (MIT)
Copyright (C) 2012-2016 PilzAdam Copyright (C) 2012-2016 PilzAdam
Copyright (C) 2014-2016 BlockMen Copyright (C) 2014-2016 BlockMen
Copyright (C) 2015-2016 sofar (sofar@foo-projects.org) Copyright (C) 2015-2016 sofar (sofar@foo-projects.org)
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software software and associated documentation files (the "Software"), to deal in the Software

18
mods/doors/locale/doors.bg.tr Executable file
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,18 +1,18 @@
# textdomain: doors # textdomain: doors
Hidden Door Segment=Kaŝita Porda Segmento Hidden Door Segment=Kaŝita porda segmento
Owned by @1=Posedita de @1 Owned by @1=Posedita de @1
You do not own this locked door.=Vi ne posedas ĉi tiun ŝlositan pordon. 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 tiun plankpordon. 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
Apple Wood Fence Gate=Poma Ligna Barila Pordo Apple Wood Fence Gate=Poma ligna barila pordo
Acacia Wood Fence Gate=Akacia Ligna Barila Pordo Acacia Wood Fence Gate=Akacia ligna barila pordo
Jungle Wood Fence Gate=Ĝangala Ligna Barila Pordo Jungle Wood Fence Gate=Ĝangala ligna barila pordo
Pine Wood Fence Gate=Pina Ligna Barila Pordo Pine Wood Fence Gate=Pina ligna barila pordo
Aspen Wood Fence Gate=Tremola Ligna Barila Pordo Aspen Wood Fence Gate=Tremola ligna barila pordo

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Palsēptais durvju segments
Owned by @1=Saimnieks: @1
You do not own this locked door.=Jums nepieder šīs aizslēgtās durvis.
a locked door=Aizslēgtas durvis
Wooden Door=Koka durvis
Steel Door=Tērauda durvis
Glass Door=Stikla durvis
Obsidian Glass Door=Obsidiānstikla durvis
You do not own this trapdoor.=Jums nepieder šī aizslēgtā lūka.
a locked trapdoor=Aizslēgta lūka
Wooden Trapdoor=Koka lūka
Steel Trapdoor=Tērauda lūka
Apple Wood Fence Gate=Ābolkoka žoga vārti
Acacia Wood Fence Gate=Akācijas žoga vārti
Jungle Wood Fence Gate=Džungļu koka žoga vārti
Pine Wood Fence Gate=Skujkoka žoga vārti
Aspen Wood Fence Gate=Apses žoga vārti

View file

@ -1,18 +1,18 @@
# 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=Стальной люк
Apple Wood Fence Gate=Яблоневая Деревянная Калитка Apple Wood Fence Gate=Яблоневая калитка
Acacia Wood Fence Gate=Деревянная Калитка Из Акации Acacia Wood Fence Gate=Акациевая калитка
Jungle Wood Fence Gate=Деревянная Калитка Из Тропического Дерева Jungle Wood Fence Gate=Калитка из тропического дерева
Pine Wood Fence Gate=Сосновая Деревянная Калитка Pine Wood Fence Gate=Сосновая калитка
Aspen Wood Fence Gate=Осиновая Деревянная Калитка Aspen Wood Fence Gate=Осиновая калитка

View file

@ -14,7 +14,7 @@ local function random_sample(rand, list, count)
return ret return ret
end end
local function find_walls(cpos) local function find_walls(cpos, is_temple)
local is_wall = function(node) local is_wall = function(node)
return node.name ~= "air" and node.name ~= "ignore" return node.name ~= "air" and node.name ~= "ignore"
end end
@ -55,7 +55,7 @@ local function find_walls(cpos)
local biome = minetest.get_biome_data(cpos) local biome = minetest.get_biome_data(cpos)
biome = biome and minetest.get_biome_name(biome.biome) or "" biome = biome and minetest.get_biome_name(biome.biome) or ""
local type = "normal" local type = "normal"
if biome:find("desert") == 1 then if is_temple or biome:find("desert") == 1 then
type = "desert" type = "desert"
elseif biome:find("sandstone_desert") == 1 then elseif biome:find("sandstone_desert") == 1 then
type = "sandstone" type = "sandstone"
@ -125,6 +125,8 @@ end
minetest.register_on_generated(function(minp, maxp, blockseed) minetest.register_on_generated(function(minp, maxp, blockseed)
local gennotify = minetest.get_mapgen_object("gennotify") local gennotify = minetest.get_mapgen_object("gennotify")
local poslist = gennotify["dungeon"] or {} local poslist = gennotify["dungeon"] or {}
local n_dungeons = #poslist
-- Add MGv6 desert temples to the list too
for _, entry in ipairs(gennotify["temple"] or {}) do for _, entry in ipairs(gennotify["temple"] or {}) do
table.insert(poslist, entry) table.insert(poslist, entry)
end end
@ -137,7 +139,7 @@ minetest.register_on_generated(function(minp, maxp, blockseed)
-- process at most 8 rooms to keep runtime of this predictable -- process at most 8 rooms to keep runtime of this predictable
local num_process = math.min(#poslist, 8) local num_process = math.min(#poslist, 8)
for i = 1, num_process do for i = 1, num_process do
local room = find_walls(poslist[i]) local room = find_walls(poslist[i], i > n_dungeons)
-- skip small rooms and everything that doesn't at least have 3 walls -- skip small rooms and everything that doesn't at least have 3 walls
if math.min(room.size.x, room.size.z) >= 4 and #room.walls >= 3 then if math.min(room.size.x, room.size.z) >= 4 and #room.walls >= 3 then
table.insert(candidates, room) table.insert(candidates, room)

View file

@ -6,7 +6,7 @@ See init.lua for documentation.
Authors of source code Authors of source code
---------------------- ----------------------
Originally by Perttu Ahola (celeron55) <celeron55@gmail.com> (MIT) Originally by Perttu Ahola (celeron55) <celeron55@gmail.com> (MIT)
Various Minetest developers and contributors (MIT) Various Minetest Game developers and contributors (MIT)
Authors of media (textures) Authors of media (textures)
--------------------------- ---------------------------

View file

@ -3,7 +3,7 @@ License of source code
The MIT License (MIT) The MIT License (MIT)
Copyright (C) 2012-2016 Perttu Ahola (celeron55) <celeron55@gmail.com> Copyright (C) 2012-2016 Perttu Ahola (celeron55) <celeron55@gmail.com>
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software software and associated documentation files (the "Software"), to deal in the Software

16
mods/dye/locale/dye.bg.tr Executable file
View file

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Бяло багрило
Grey Dye=Сиво багрило
Dark Grey Dye=Тъмносиво багрило
Black Dye=Черно багрило
Violet Dye=Лилаво багрило
Blue Dye=Синьо багрило
Cyan Dye=Синьо-зелено багрило
Dark Green Dye=Масленозелено багрило
Green Dye=Зелено багрило
Yellow Dye=Жълто багрило
Brown Dye=Кафяво багрило
Orange Dye=Оранжево багрило
Red Dye=Червено багрило
Magenta Dye=Пурпурно багрило
Pink Dye=Розово багрило

View file

@ -1,16 +1,16 @@
# textdomain: dye # textdomain: dye
White Dye=Blanka Tinkturo White Dye=Blanka tinkturo
Grey Dye=Griza Tinkturo Grey Dye=Griza tinkturo
Dark Grey Dye=Malhela Griza Tinkturo Dark Grey Dye=Malhela griza tinkturo
Black Dye=Nigra Tinkturo Black Dye=Nigra tinkturo
Violet Dye=Violkolora Tinkturo Violet Dye=Violkolora tinkturo
Blue Dye=Blua Tinkturo Blue Dye=Blua tinkturo
Cyan Dye=Bluverda Tinkturo Cyan Dye=Bluverda tinkturo
Dark Green Dye=Malhela Verda Tinkturo Dark Green Dye=Malhela verda tinkturo
Green Dye=Verda Tinkturo Green Dye=Verda tinkturo
Yellow Dye=Flava Tinkturo Yellow Dye=Flava tinkturo
Brown Dye=Bruna Tinkturo Brown Dye=Bruna tinkturo
Orange Dye=Oranĝkolora Tinkturo Orange Dye=Oranĝkolora tinkturo
Red Dye=Ruĝa Tinkturo Red Dye=Ruĝa tinkturo
Magenta Dye=Fiksina Tinkturo Magenta Dye=Fiksina tinkturo
Pink Dye=Rozkolora Tinkturo Pink Dye=Rozkolora tinkturo

16
mods/dye/locale/dye.lv.tr Normal file
View file

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Baltā krāsa
Grey Dye=Pelēkā krāsa
Dark Grey Dye=Tumšpelēkā krāsa
Black Dye=Melnā krāsa
Violet Dye=Violetā krāsa
Blue Dye=Zilā krāsa
Cyan Dye=Ciāna krāsa
Dark Green Dye=Tumšzaļā krāsa
Green Dye=Zaļā krāsa
Yellow Dye=Dzeltenā krāsa
Brown Dye=Brūnā krāsa
Orange Dye=Oranžā krāsa
Red Dye=Sarkanā krāsa
Magenta Dye=Fuksīna krāsa
Pink Dye=Rozā krāsa

View file

@ -1,16 +1,16 @@
# textdomain: dye # textdomain: dye
White Dye=Белая Краска White Dye=Белый краситель
Grey Dye=Серая Краска Grey Dye=Серый краситель
Dark Grey Dye=Тёмно-Серая Краска Dark Grey Dye=Тёмно-серый краситель
Black Dye=Черная Краска Black Dye=Черный краситель
Violet Dye=Фиолетовая Краска Violet Dye=Фиолетовый краситель
Blue Dye=Синяя Краска Blue Dye=Синий краситель
Cyan Dye=Голубая Краска Cyan Dye=Бирюзовый краситель
Dark Green Dye=Тёмно-Зелёная Краска Dark Green Dye=Тёмно-зелёный краситель
Green Dye=Зелёная Краска Green Dye=Зелёный краситель
Yellow Dye=Жёлтая Краска Yellow Dye=Жёлтый краситель
Brown Dye=Бурая Краска Brown Dye=Коричневый краситель
Orange Dye=Оранжевая Краска Orange Dye=Оранжевый краситель
Red Dye=Красная Краска Red Dye=Красный краситель
Magenta Dye=Пурпурная Краска Magenta Dye=Сиреневый краситель
Pink Dye=Розовая Краска Pink Dye=Розовый краситель

View file

@ -6,7 +6,7 @@ Authors of source code
---------------------- ----------------------
Originally by PilzAdam (MIT) Originally by PilzAdam (MIT)
webdesigner97 (MIT) webdesigner97 (MIT)
Various Minetest developers and contributors (MIT) Various Minetest Game developers and contributors (MIT)
Authors of media (textures) Authors of media (textures)
--------------------------- ---------------------------

View file

@ -178,7 +178,9 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
end end
-- add the node and remove 1 item from the itemstack -- add the node and remove 1 item from the itemstack
default.log_player_action(placer, "places node", plantname, "at", pt.above) if placer then
default.log_player_action(placer, "places node", plantname, "at", pt.above)
end
minetest.add_node(pt.above, {name = plantname, param2 = 1}) minetest.add_node(pt.above, {name = plantname, param2 = 1})
tick(pt.above) tick(pt.above)
if not minetest.is_creative_enabled(player_name) then if not minetest.is_creative_enabled(player_name) then
@ -187,6 +189,12 @@ farming.place_seed = function(itemstack, placer, pointed_thing, plantname)
return itemstack return itemstack
end end
-- check if on wet soil
farming.can_grow = function(pos)
local below = minetest.get_node(pos:offset(0, -1, 0))
return minetest.get_item_group(below.name, "soil") >= 3
end
farming.grow_plant = function(pos, elapsed) farming.grow_plant = function(pos, elapsed)
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
local name = node.name local name = node.name
@ -222,9 +230,7 @@ farming.grow_plant = function(pos, elapsed)
return return
end end
-- check if on wet soil if not (def.can_grow or farming.can_grow)(pos) then
local below = minetest.get_node({x = pos.x, y = pos.y - 1, z = pos.z})
if minetest.get_item_group(below.name, "soil") < 3 then
tick_again(pos) tick_again(pos)
return return
end end

View file

@ -4,7 +4,7 @@ License of source code
The MIT License (MIT) The MIT License (MIT)
Copyright (C) 2012-2016 PilzAdam Copyright (C) 2012-2016 PilzAdam
Copyright (C) 2014-2016 webdesigner97 Copyright (C) 2014-2016 webdesigner97
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
Permission is hereby granted, free of charge, to any person obtaining a copy of this Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software software and associated documentation files (the "Software"), to deal in the Software

View file

@ -0,0 +1,28 @@
# textdomain: farming
Hoe=Мотика
Seed=Семе
Wooden Hoe=Дървена мотика
Stone Hoe=Каменна мотика
Steel Hoe=Стоманена мотика
Bronze Hoe=Бронзова мотика
Mese Hoe=Мотика от кристала мезе
Diamond Hoe=Диамантена мотика
Wheat Seed=Пшеничено семе
Wheat=Пшеница
Flour=Брашно
Bread=Хляб
Cotton Seed=Памучено семе
Cotton=Памук
String=Връв
Soil=Почва
Wet Soil=Влажна почва
Savanna Soil=Почва от саваната
Wet Savanna Soil=Влажна почва от саваната
Desert Sand Soil=Пустинна пясъчна почва
Wet Desert Sand Soil=Влажна пустинна пясъчна почва
Straw=Слама
Straw Stair=Сламено стълбище
Inner Straw Stair=Вътрешно сламено стълбище
Outer Straw Stair=Външно сламено стълбище
Straw Slab=Сламена плоча
Wild Cotton=Див памук

View file

@ -1,28 +1,28 @@
# textdomain: farming # textdomain: farming
Hoe=Sarkilo Hoe=Sarkilo
Seed=Semo Seed=Semo
Wooden Hoe=Ligna Sarkilo Wooden Hoe=Ligna sarkilo
Stone Hoe=Ŝtona Sarkilo Stone Hoe=Ŝtona sarkilo
Steel Hoe=Ŝtala Sarkilo Steel Hoe=Ŝtala sarkilo
Bronze Hoe=Bronza Sarkilo Bronze Hoe=Bronza sarkilo
Mese Hoe=Mesea Sarkilo Mese Hoe=Mesea sarkilo
Diamond Hoe=Diamanta Sarkilo Diamond Hoe=Diamanta sarkilo
Wheat Seed=Tritika Semo Wheat Seed=Tritika semo
Wheat=Tritiko Wheat=Tritiko
Flour=Faruno Flour=Faruno
Bread=Pano Bread=Pano
Cotton Seed=Katuna Semo Cotton Seed=Katuna semo
Cotton=Katuno Cotton=Katuno
String=Ŝnuro String=Ŝnuro
Soil=Tero Soil=Tero
Wet Soil=Malseka Tero Wet Soil=Malseka tero
Savanna Soil=Savana Tero Savanna Soil=Savana tero
Wet Savanna Soil=Malseka Savana Tero Wet Savanna Soil=Malseka savana tero
Desert Sand Soil=Dezerta Sablo Tero Desert Sand Soil=Dezerta sablo tero
Wet Desert Sand Soil=Malseka Dezerta Sablo Tero Wet Desert Sand Soil=Malseka dezerta sablo tero
Straw=Pajlo Straw=Pajlo
Straw Stair=Pajla Ŝtupo Straw Stair=Pajla ŝtupo
Inner Straw Stair=Interna Pajla Ŝtupo Inner Straw Stair=Interna pajla ŝtupo
Outer Straw Stair=Ekstera Pajla Ŝtupo Outer Straw Stair=Ekstera pajla ŝtupo
Straw Slab=Pajla Plato Straw Slab=Pajla plato
Wild Cotton=Sovaĝa Kotonujo Wild Cotton=Sovaĝa kotonujo

View file

@ -0,0 +1,28 @@
# textdomain: farming
Hoe=Kaplis
Seed=Sēklas
Wooden Hoe=Koka kaplis
Stone Hoe=Akmens kaplis
Steel Hoe=Tērauda kaplis
Bronze Hoe=Bronzas kaplis
Mese Hoe=Mēzes kaplis
Diamond Hoe=Dimanta kaplis
Wheat Seed=Kviešu sēkla
Wheat=Kvieši
Flour=Milti
Bread=Maize
Cotton Seed=Kokvilnas sēklas
Cotton=Kokvilna
String=Stiegra
Soil=Augsne
Wet Soil=Slapja augsne
Savanna Soil=Savannas augsne
Wet Savanna Soil=Slapja savannas augsne
Desert Sand Soil=Tuksneša smilts augsne
Wet Desert Sand Soil=Slapja tuksneša smilts augsne
Straw=Salmi
Straw Stair=Salmu pakāpiens
Inner Straw Stair=Iekšējais salmu pakāpiens
Outer Straw Stair=Ārējais salmu pakāpiens
Straw Slab=Salmu plātne
Wild Cotton=Savvaļas kokvilna

View file

@ -0,0 +1,28 @@
# textdomain: farming
Hoe=Enxada
Seed=Semente
Wooden Hoe=Enxada de Madeira
Stone Hoe=Enxada de Pedra
Steel Hoe=Enxada de Aço
Bronze Hoe=Enxada de Bronze
Mese Hoe=Enxada de Mese
Diamond Hoe=Enxada de Diamante
Wheat Seed=Semente de Trigo
Wheat=Trigo
Flour=Farinha
Bread=Pão
Cotton Seed=Semente de Algodão
Cotton=Algodão
String=Fio
Soil=Solo
Wet Soil=Solo Molhado
Savanna Soil=Solo da Savana
Wet Savanna Soil=Solo da Savana Molhado
Desert Sand Soil=Solo Arenoso do Deserto
Wet Desert Sand Soil=Solo Arenoso do Deserto Molhado
Straw=Palha
Straw Stair=Escada de Palha
Inner Straw Stair=Escada de Palha Externa
Outer Straw Stair=Escada de Palha Interna
Straw Slab=Laje de Palha
Wild Cotton=Algodão Selvagem

View file

@ -1,34 +1,28 @@
# textdomain: farming # textdomain: farming
Hoe=Мотыга Hoe=Мотыга
Seed=Семя Seed=Семена
Wooden Hoe=Деревянная Мотыга Wooden Hoe=Деревянная мотыга
Stone Hoe=Каменная Мотыга Stone Hoe=Каменная мотыга
Steel Hoe=Стальная Мотыга Steel Hoe=Стальная мотыга
Bronze Hoe=Бронзовая Мотыга Bronze Hoe=Бронзовая мотыга
Mese Hoe=Месе Мотыга Mese Hoe=Мезовая мотыга
Diamond Hoe=Алмазная Мотыга Diamond Hoe=Алмазная мотыга
Wheat Seed=Семена Пшеницы Wheat Seed=Семена пшеницы
Wheat=Пшеница Wheat=Пшеница
Flour=Мука Flour=Мука
Bread=Хлеб Bread=Хлеб
Cotton Seed=Семена Хлопчатника Cotton Seed=Семена хлопчатника
Cotton=Хлопок Cotton=Хлопок
String=Нить String=Нить
Soil=Почва Soil=Почва
Wet Soil=Влажная Почва Wet Soil=Влажная почва
Savanna Soil=Саванная Почва Savanna Soil=Саванная почва
Wet Savanna Soil=Влажная Саванная Почва Wet Savanna Soil=Влажная саванная почва
Desert Sand Soil=Пустынная Песчаная Почва Desert Sand Soil=Пустынная песчаная почва
Wet Desert Sand Soil=Влажная Пустынная Песчаная Почва Wet Desert Sand Soil=Влажная пустынная песчаная почва
Straw=Солома Straw=Солома
Straw Stair=Соломенная Ступень Straw Stair=Соломенные ступени
Inner Straw Stair=Угловая Соломенная Ступень (Внутренний Угол) Inner Straw Stair=Внутренние соломенные ступени
Outer Straw Stair=Угловая Соломенная Ступень (Внешний Угол) Outer Straw Stair=Внешние соломенные ступени
Straw Slab=Соломенная Плита Straw Slab=Соломенная плита
Wild Cotton=Неокультуренный Хлопчатник Wild Cotton=Дикий хлопчатник
##### not used anymore #####
Dry Soil=Сухая Почва
Wet Dry Soil=Влажная Сухая Почва

View file

@ -5,7 +5,7 @@ See license.txt for license information.
Authors of source code Authors of source code
---------------------- ----------------------
Originally by Perttu Ahola (celeron55) <celeron55@gmail.com> (LGPLv2.1+) Originally by Perttu Ahola (celeron55) <celeron55@gmail.com> (LGPLv2.1+)
Various Minetest developers and contributors (LGPLv2.1+) Various Minetest Game developers and contributors (LGPLv2.1+)
Authors of media (textures and sounds) Authors of media (textures and sounds)
-------------------------------------- --------------------------------------

View file

@ -101,13 +101,18 @@ minetest.register_tool("fire:flint_and_steel", {
return return
end end
if minetest.is_protected(pointed_thing.under, player_name) then if minetest.is_protected(pointed_thing.under, player_name) then
minetest.chat_send_player(player_name, "This area is protected") minetest.record_protection_violation(pointed_thing.under, player_name)
return return
end end
if nodedef.on_ignite then if nodedef.on_ignite then
nodedef.on_ignite(pointed_thing.under, user) nodedef.on_ignite(pointed_thing.under, user)
elseif minetest.get_item_group(node_under, "flammable") >= 1 elseif minetest.get_item_group(node_under, "flammable") >= 1
and minetest.get_node(pointed_thing.above).name == "air" then and minetest.get_node(pointed_thing.above).name == "air" then
if minetest.is_protected(pointed_thing.above, player_name) then
minetest.record_protection_violation(pointed_thing.above, player_name)
return
end
minetest.set_node(pointed_thing.above, {name = "fire:basic_flame"}) minetest.set_node(pointed_thing.above, {name = "fire:basic_flame"})
end end
end end

View file

@ -3,7 +3,7 @@ License of source code
GNU Lesser General Public License, version 2.1 GNU Lesser General Public License, version 2.1
Copyright (C) 2012-2016 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2012-2016 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2012-2016 Various Minetest developers and contributors Copyright (C) 2012-2016 Various Minetest Game developers and contributors
This program is free software; you can redistribute it and/or modify it under the terms This program is free software; you can redistribute it and/or modify it under the terms
of the GNU Lesser General Public License as published by the Free Software Foundation; of the GNU Lesser General Public License as published by the Free Software Foundation;

4
mods/fire/locale/fire.bg.tr Executable file
View file

@ -0,0 +1,4 @@
# textdomain: fire
Fire=Огън
Permanent Fire=Вечен огън
Flint and Steel=Кремък и стомана

View file

@ -1,4 +1,4 @@
# textdomain: fire # textdomain: fire
Fire=Fajro Fire=Fajro
Permanent Fire=Ĉiama Fajro Permanent Fire=Ĉiama fajro
Flint and Steel=Siliko kaj Ŝtalo Flint and Steel=Siliko kaj ŝtalo

View file

@ -0,0 +1,4 @@
# textdomain: fire
Fire=Uguns
Permanent Fire=Mūžīgā uguns
Flint and Steel=Krams un zāģītis

View file

@ -0,0 +1,4 @@
# textdomain: fire
Fire=Fogo
Permanent Fire=Fogo Permanente
Flint and Steel=Pederneira Primitiva

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