Merge branch 'stable-5' of yunohost.local:minetest/minetest_game into nalc-dev

This commit is contained in:
Sys Quatre 2019-12-23 19:08:11 +01:00
commit 721c598fbd
281 changed files with 5096 additions and 1177 deletions

View File

@ -1,5 +1,4 @@
language: generic language: generic
sudo: false
addons: addons:
apt: apt:
packages: packages:
@ -7,6 +6,6 @@ addons:
before_install: before_install:
- luarocks install --local luacheck - luarocks install --local luacheck
script: script:
- $HOME/.luarocks/bin/luacheck --no-color ./mods - $HOME/.luarocks/bin/luacheck ./mods
notifications: notifications:
email: false email: false

34
README.md Normal file
View File

@ -0,0 +1,34 @@
# Minetest Game
The default game bundled in the Minetest engine.
For further information, check [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724).
Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) for more information.
## Installation
- Unzip the archive, rename the folder to minetest_game and
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).
For further information or help, see:
https://wiki.minetest.net/Installing_Mods
## Compatibility
The Minetest Game GitHub master HEAD is generally compatible with the GitHub
master HEAD of the Minetest engine.
Additionally, when the Minetest engine is tagged to be a certain version (e.g.
0.4.10), Minetest Game is tagged with the version too.
When stable releases are made, Minetest Game and the Minetest engine is packaged and made available at
https://minetest.net/downloads/
## Licensing
See `LICENSE.txt`

View File

@ -1,28 +0,0 @@
Minetest Game [minetest_game]
=============================
The main game for the Minetest engine
=====================================
To use this game with the Minetest engine, insert this repository as
/games/minetest_game
The Minetest engine can be found in:
https://github.com/minetest/minetest/
Compatibility
--------------
The Minetest Game github master HEAD is generally compatible with the github
master HEAD of the Minetest engine.
Additionally, when the Minetest engine is tagged to be a certain version (eg.
0.4.10), Minetest Game is tagged with the version too.
When stable releases are made, Minetest Game is packaged and made available in
http://minetest.net/downloads/
and in case the repository has grown too much, it may be reset. In that sense,
this is not a "real" git repository. (Package maintainers please note!)
Licensing
---------
See LICENSE.txt

View File

@ -1,3 +1,3 @@
name = Notre Ami Le Cube 1.1 name = Notre Ami Le Cube 1.2
author = minetest and sys4 author = Minetest and Sys4
description = Minetest game modified by sys4 description = Minetest game slightly modified by Sys4

View File

@ -214,6 +214,8 @@ The doors mod allows modders to register custom doors and trapdoors.
inventory_image = "mod_door_inv.png", inventory_image = "mod_door_inv.png",
groups = {choppy = 2}, groups = {choppy = 2},
tiles = {"mod_door.png"}, -- UV map. tiles = {"mod_door.png"}, -- UV map.
-- The front and back of the door must be identical in appearence as they swap on
-- open/close.
recipe = craftrecipe, recipe = craftrecipe,
sounds = default.node_sound_wood_defaults(), -- optional sounds = default.node_sound_wood_defaults(), -- optional
sound_open = sound play for open door, -- optional sound_open = sound play for open door, -- optional
@ -228,7 +230,12 @@ The doors mod allows modders to register custom doors and trapdoors.
inventory_image = "mod_trapdoor_inv.png", inventory_image = "mod_trapdoor_inv.png",
groups = {choppy = 2}, groups = {choppy = 2},
tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor tile_front = "doors_trapdoor.png", -- the texture for the front and back of the trapdoor
tile_side = "doors_trapdoor_side.png", -- the tiles of the four side parts of the trapdoor tile_side = "doors_trapdoor_side.png",
-- The texture for the four sides of the trapdoor.
-- The texture should have the trapdoor side drawn twice, in the lowest and highest
-- 1/8ths of the texture, both upright. The area between is not used.
-- The lower 1/8th will be used for the closed trapdoor, the higher 1/8th will be used
-- for the open trapdoor.
sounds = default.node_sound_wood_defaults(), -- optional sounds = default.node_sound_wood_defaults(), -- optional
sound_open = sound play for open door, -- optional sound_open = sound play for open door, -- optional
sound_close = sound play for close door, -- optional sound_close = sound play for close door, -- optional
@ -269,7 +276,7 @@ The mod that places chests with loot in dungeons provides an API to register add
name = "item:name", name = "item:name",
chance = 0.5, chance = 0.5,
-- ^ chance value from 0.0 to 1.0 that the item will appear in the chest when chosen -- ^ chance value from 0.0 to 1.0 that the item will appear in the chest when chosen
-- due to an extra step in the selection process, 0.5 does not(!) mean that -- Due to an extra step in the selection process, 0.5 does not(!) mean that
-- on average every second chest will have this item -- on average every second chest will have this item
count = {1, 4}, count = {1, 4},
-- ^ table with minimum and maximum amounts of this item -- ^ table with minimum and maximum amounts of this item
@ -279,7 +286,8 @@ The mod that places chests with loot in dungeons provides an API to register add
-- optional, defaults to no height restrictions -- optional, defaults to no height restrictions
types = {"desert"}, types = {"desert"},
-- ^ table with types of dungeons this item can be found in -- ^ table with types of dungeons this item can be found in
-- supported types: "normal" (the cobble/mossycobble one), "sandstone", "desert" -- supported types: "normal" (the cobble/mossycobble one), "sandstone"
-- "desert" and "ice"
-- optional, defaults to no type restrictions -- optional, defaults to no type restrictions
@ -351,6 +359,8 @@ The farming API allows you to easily register plants and hoes.
{ {
description = "", -- Description of seed item description = "", -- Description of seed item
harvest_description = "", -- Description of harvest item
-- (optional, derived automatically if not provided)
inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image inventory_image = "unknown_item.png", -- Image to be used as seed's wield- and inventory image
steps = 8, -- How many steps the plant has to grow, until it can be harvested steps = 8, -- How many steps the plant has to grow, until it can be harvested
-- ^ 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)
@ -362,6 +372,8 @@ The farming API allows you to easily register plants and hoes.
Fire API Fire API
-------- --------
Add group flammable when registering a node to make fire seek for it.
Add it to an item to make it burn up when dropped in lava or fire.
New node def property: New node def property:
`on_burn(pos)` `on_burn(pos)`
@ -716,27 +728,29 @@ delivered with Minetest Game, to keep them compatible with other mods.
* `sounds`: See [#Default sounds] * `sounds`: See [#Default sounds]
* `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition]
`stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex)` `stairs.register_stair_inner(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description)`
* Registers an inner corner stair * Registers an inner corner stair
* `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_inner_subname" * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_inner_subname"
* `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil` * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil`
* `groups`: See [Known damage and digging time defining groups] * `groups`: See [Known damage and digging time defining groups]
* `images`: See [Tile definition] * `images`: See [Tile definition]
* `description`: Used for the description field in the stair's definition * `description`: Used for the description field in the stair's definition with "Inner" prepended
* `sounds`: See [#Default sounds] * `sounds`: See [#Default sounds]
* `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition]
* `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional)
`stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex)` `stairs.register_stair_outer(subname, recipeitem, groups, images, description, sounds, worldaligntex, full_description)`
* Registers an outer corner stair * Registers an outer corner stair
* `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_outer_subname" * `subname`: Basically the material name (e.g. cobble) used for the stair name. Nodename pattern: "stairs:stair_outer_subname"
* `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil` * `recipeitem`: Item used in the craft recipe, e.g. "default:cobble", may be `nil`
* `groups`: See [Known damage and digging time defining groups] * `groups`: See [Known damage and digging time defining groups]
* `images`: See [Tile definition] * `images`: See [Tile definition]
* `description`: Used for the description field in the stair's definition * `description`: Used for the description field in the stair's definition with "Outer" prepended
* `sounds`: See [#Default sounds] * `sounds`: See [#Default sounds]
* `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition] * `worldaligntex`: A bool to set all textures world-aligned. Default false. See [Tile definition]
* `full_description`: Overrides the description, bypassing string concatenation. This is useful for translation. (optional)
`stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds, worldaligntex)` `stairs.register_stair_and_slab(subname, recipeitem, groups, images, desc_stair, desc_slab, sounds, worldaligntex)`
@ -759,7 +773,11 @@ Creates panes that automatically connect to each other
### Pane definition ### Pane definition
{ {
textures = {"texture for sides", (unused), "texture for top and bottom"}, -- More tiles aren't supported textures = {
"texture for front and back",
(unused),
"texture for the 4 edges"
}, -- More tiles aren't supported
groups = {group = rating}, -- Uses the known node groups, see [Known damage and digging time defining groups] groups = {group = rating}, -- Uses the known node groups, see [Known damage and digging time defining groups]
sounds = SoundSpec, -- See [#Default sounds] sounds = SoundSpec, -- See [#Default sounds]
recipe = {{"","","","","","","","",""}}, -- Recipe field only recipe = {{"","","","","","","","",""}}, -- Recipe field only

View File

@ -60,7 +60,14 @@ default:torch 99,default:cobble 99
# Default value is true. # Default value is true.
#enable_bed_night_skip = true #enable_bed_night_skip = true
# If enabled, fences and walls cannot be jumped over.
#enable_fence_tall = false
# Whether the engine's spawn search, which does not check for a suitable # Whether the engine's spawn search, which does not check for a suitable
# starting biome, is used. # starting biome, is used.
# Default value is false. # Default value is false.
#engine_spawn = false #engine_spawn = false
# Whether river water source nodes create flowing sounds.
# Helps rivers create more sound, especially on level sections.
#river_source_sounds = false

View File

@ -15,11 +15,11 @@ 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 to skip the night. This mod adds a bed to Minetest which allows players to skip the night.
To sleep, rightclick 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
than 50% of the players are lying in bed and use this option. than half of the players are lying in bed and use this option.
Another feature is a controlled respawning. If you have slept in bed (not just lying in Another feature is a controlled respawning. If you have slept in bed (not just lying in
it) your respawn point is set to the beds location and you will respawn there after it) your respawn point is set to the beds location and you will respawn there after

View File

@ -1,7 +1,12 @@
-- beds/beds.lua
-- support for MT game translation.
local S = beds.get_translator
-- Fancy shaped bed -- Fancy shaped bed
beds.register_bed("beds:fancy_bed", { beds.register_bed("beds:fancy_bed", {
description = "Fancy Bed", description = S("Fancy Bed"),
inventory_image = "beds_bed_fancy.png", inventory_image = "beds_bed_fancy.png",
wield_image = "beds_bed_fancy.png", wield_image = "beds_bed_fancy.png",
tiles = { tiles = {
@ -52,7 +57,7 @@ beds.register_bed("beds:fancy_bed", {
-- Simple shaped bed -- Simple shaped bed
beds.register_bed("beds:bed", { beds.register_bed("beds:bed", {
description = "Simple Bed", description = S("Simple Bed"),
inventory_image = "beds_bed.png", inventory_image = "beds_bed.png",
wield_image = "beds_bed.png", wield_image = "beds_bed.png",
tiles = { tiles = {

View File

@ -1,2 +0,0 @@
default
wool

View File

@ -1,11 +1,13 @@
local pi = math.pi local pi = math.pi
local player_in_bed = 0
local is_sp = minetest.is_singleplayer() local is_sp = minetest.is_singleplayer()
local enable_respawn = minetest.settings:get_bool("enable_bed_respawn") local enable_respawn = minetest.settings:get_bool("enable_bed_respawn")
if enable_respawn == nil then if enable_respawn == nil then
enable_respawn = true enable_respawn = true
end end
-- support for MT game translation.
local S = beds.get_translator
-- Helper functions -- Helper functions
local function get_look_yaw(pos) local function get_look_yaw(pos)
@ -59,11 +61,8 @@ local function lay_down(player, pos, bed_pos, state, skip)
-- stand up -- stand up
if state ~= nil and not state then if state ~= nil and not state then
local p = beds.pos[name] or nil local p = beds.pos[name] or nil
if beds.player[name] ~= nil then
beds.player[name] = nil beds.player[name] = nil
beds.bed_position[name] = nil beds.bed_position[name] = nil
player_in_bed = player_in_bed - 1
end
-- skip here to prevent sending player specific changes (used for leaving players) -- skip here to prevent sending player specific changes (used for leaving players)
if skip then if skip then
return return
@ -82,10 +81,9 @@ local function lay_down(player, pos, bed_pos, state, skip)
-- lay down -- lay down
else else
beds.player[name] = 1
beds.pos[name] = pos beds.pos[name] = pos
beds.bed_position[name] = bed_pos beds.bed_position[name] = bed_pos
player_in_bed = player_in_bed + 1 beds.player[name] = 1
-- physics, eye_offset, etc -- physics, eye_offset, etc
player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0}) player:set_eye_offset({x = 0, y = -13, z = 0}, {x = 0, y = 0, z = 0})
@ -103,18 +101,29 @@ local function lay_down(player, pos, bed_pos, state, skip)
player:hud_set_flags(hud_flags) player:hud_set_flags(hud_flags)
end end
local function get_player_in_bed_count()
local c = 0
for _, _ in pairs(beds.player) do
c = c + 1
end
return c
end
local function update_formspecs(finished) local function update_formspecs(finished)
local ges = #minetest.get_connected_players() local ges = #minetest.get_connected_players()
local form_n local player_in_bed = get_player_in_bed_count()
local is_majority = (ges / 2) < player_in_bed local is_majority = (ges / 2) < player_in_bed
local form_n
local esc = minetest.formspec_escape
if finished then if finished then
form_n = beds.formspec .. "label[2.7,9; Good morning.]" form_n = beds.formspec .. "label[2.7,9;" .. esc(S("Good morning.")) .. "]"
else else
form_n = beds.formspec .. "label[2.2,9;" .. tostring(player_in_bed) .. form_n = beds.formspec .. "label[2.2,9;" ..
" of " .. tostring(ges) .. " players are in bed]" esc(S("@1 of @2 players are in bed", player_in_bed, ges)) .. "]"
if is_majority and is_night_skip_enabled() then if is_majority and is_night_skip_enabled() then
form_n = form_n .. "button_exit[2,6;4,0.75;force;Force night skip]" form_n = form_n .. "button_exit[2,6;4,0.75;force;" ..
esc(S("Force night skip")) .. "]"
end end
end end
@ -146,7 +155,7 @@ function beds.on_rightclick(pos, player)
if beds.player[name] then if beds.player[name] then
lay_down(player, nil, nil, false) lay_down(player, nil, nil, false)
end end
minetest.chat_send_player(name, "You can only sleep at night.") minetest.chat_send_player(name, S("You can only sleep at night."))
return return
end end
@ -223,7 +232,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
-- Because "Force night skip" button is a button_exit, it will set fields.quit -- Because "Force night skip" button is a button_exit, it will set fields.quit
-- and lay_down call will change value of player_in_bed, so it must be taken -- and lay_down call will change value of player_in_bed, so it must be taken
-- earlier. -- earlier.
local last_player_in_bed = player_in_bed local last_player_in_bed = get_player_in_bed_count()
if fields.quit or fields.leave then if fields.quit or fields.leave then
lay_down(player, nil, nil, false) lay_down(player, nil, nil, false)

View File

@ -1,13 +1,20 @@
-- beds/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("beds")
beds = {} beds = {}
beds.player = {} beds.player = {}
beds.bed_position = {} beds.bed_position = {}
beds.pos = {} beds.pos = {}
beds.spawn = {} beds.spawn = {}
beds.get_translator = S
beds.formspec = "size[8,11;true]" .. beds.formspec = "size[8,11;true]" ..
"no_prepend[]" .. "no_prepend[]" ..
"bgcolor[#080808BB;true]" .. "bgcolor[#080808BB;true]" ..
"button_exit[2,10;4,0.75;leave;Leave Bed]" "button_exit[2,10;4,0.75;leave;" .. S("Leave Bed") .. "]"
local modpath = minetest.get_modpath("beds") local modpath = minetest.get_modpath("beds")

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Schickes Bett
Simple Bed=Schlichtes Bett
Leave Bed=Bett verlassen
Good morning.=Guten Morgen.
@1 of @2 players are in bed=@1 von @2 Spielern sind im Bett
Force night skip=Überspringen der Nacht erzwingen
You can only sleep at night.=Sie können nur nachts schlafen.

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Cama de lujo
Simple Bed=Cama sencilla
Leave Bed=Abandonar cama
Good morning.=Buenos días.
@1 of @2 players are in bed=@1 de @2 jugadores están en cama
Force night skip=Forzar evitar noche
You can only sleep at night.=Sólo puedes dormir por la noche.

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Lit chic
Simple Bed=Lit simple
Leave Bed=Se lever du lit
Good morning.=Bonjour.
@1 of @2 players are in bed=@1 joueur(s) sur @2 sont au lit
Force night skip=Forcer le passage de la nuit
You can only sleep at night.=Vous ne pouvez dormir que la nuit.

View File

@ -0,0 +1,4 @@
# textdomain: beds
Fancy Bed=Letto decorato
Simple Bed=Letto semplice
Leave Bed=Alzati dal letto

View File

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=
Simple Bed=
Leave Bed=
Good morning.=
@1 of @2 players are in bed=
Force night skip=
You can only sleep at night.=

3
mods/beds/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = beds
description = Minetest Game mod: beds
depends = default, wool

View File

@ -1,2 +0,0 @@
default
creative?

View File

@ -1,7 +1,12 @@
-- binoculars/init.lua
-- Mod global namespace -- Mod global namespace
binoculars = {} binoculars = {}
-- Load support for MT game translation.
local S = minetest.get_translator("binoculars")
-- Detect creative mod -- Detect creative mod
local creative_mod = minetest.get_modpath("creative") local creative_mod = minetest.get_modpath("creative")
@ -54,7 +59,7 @@ minetest.after(4.7, cyclic_update)
-- Binoculars item -- Binoculars item
minetest.register_craftitem("binoculars:binoculars", { minetest.register_craftitem("binoculars:binoculars", {
description = "Binoculars\nUse with 'Zoom' key", description = S("Binoculars") .. "\n" .. S("Use with 'Zoom' key"),
inventory_image = "binoculars_binoculars.png", inventory_image = "binoculars_binoculars.png",
stack_max = 1, stack_max = 1,

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Fernglas
Use with 'Zoom' key=Mit „Zoom“-Taste benutzen

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Prismáticos
Use with 'Zoom' key=Usar con la tecla 'Zoom'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Jumelles
Use with 'Zoom' key=Utiliser avec le bouton « Zoom »

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binocolo
Use with 'Zoom' key=Usalo col tasto 'Ingrandimento'

View File

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=
Use with 'Zoom' key=

4
mods/binoculars/mod.conf Normal file
View File

@ -0,0 +1,4 @@
name = binoculars
description = Minetest Game mod: binoculars
depends = default
optional_depends = creative

View File

@ -1,2 +0,0 @@
default
player_api

View File

@ -1,3 +1,8 @@
-- boats/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("boats")
-- --
-- Helper functions -- Helper functions
-- --
@ -149,13 +154,13 @@ function boat.on_step(self, dtime)
if ctrl.up and ctrl.down then if ctrl.up and ctrl.down then
if not self.auto then if not self.auto then
self.auto = true self.auto = true
minetest.chat_send_player(self.driver, "[boats] Cruise on") minetest.chat_send_player(self.driver, S("Boat cruise mode on"))
end end
elseif ctrl.down then elseif ctrl.down then
self.v = self.v - dtime * 1.8 self.v = self.v - dtime * 1.8
if self.auto then if self.auto then
self.auto = false self.auto = false
minetest.chat_send_player(self.driver, "[boats] Cruise off") minetest.chat_send_player(self.driver, S("Boat cruise mode off"))
end end
elseif ctrl.up or self.auto then elseif ctrl.up or self.auto then
self.v = self.v + dtime * 1.8 self.v = self.v + dtime * 1.8
@ -242,7 +247,7 @@ minetest.register_entity("boats:boat", boat)
minetest.register_craftitem("boats:boat", { minetest.register_craftitem("boats:boat", {
description = "Boat", description = S("Boat"),
inventory_image = "boats_inventory.png", inventory_image = "boats_inventory.png",
wield_image = "boats_wield.png", wield_image = "boats_wield.png",
wield_scale = {x = 2, y = 2, z = 1}, wield_scale = {x = 2, y = 2, z = 1},

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Schneller Bootsmodus an
Boat cruise mode off=Schneller Bootsmodus aus
Boat=Boot

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Modo crucero en bote activado
Boat cruise mode off=Modo crucero en bote desactivado
Boat=Bote

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Bateau mode rapide activé
Boat cruise mode off=Bateau mode rapide désactivé
Boat=Bateau

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Modalità movimento automatico barca attivata
Boat cruise mode off=Modalità movimento automatico barca disattivata
Boat=Barca

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=
Boat cruise mode off=
Boat=

3
mods/boats/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = boats
description = Minetest Game mod: boats
depends = default, player_api

View File

@ -1 +0,0 @@
default

View File

@ -1,6 +1,11 @@
-- bones/init.lua
-- Minetest 0.4 mod: bones -- Minetest 0.4 mod: bones
-- See README.txt for licensing and other information. -- See README.txt for licensing and other information.
-- Load support for MT game translation.
local S = minetest.get_translator("bones")
bones = {} bones = {}
local function is_owner(pos, name) local function is_owner(pos, name)
@ -24,7 +29,7 @@ local share_bones_time = tonumber(minetest.settings:get("share_bones_time")) or
local share_bones_time_early = tonumber(minetest.settings:get("share_bones_time_early")) or share_bones_time / 4 local share_bones_time_early = tonumber(minetest.settings:get("share_bones_time_early")) or share_bones_time / 4
minetest.register_node("bones:bones", { minetest.register_node("bones:bones", {
description = "Bones", description = S("Bones"),
tiles = { tiles = {
"bones_top.png^[transform2", "bones_top.png^[transform2",
"bones_bottom.png", "bones_bottom.png",
@ -116,7 +121,7 @@ minetest.register_node("bones:bones", {
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local time = meta:get_int("time") + elapsed local time = meta:get_int("time") + elapsed
if time >= share_bones_time then if time >= share_bones_time then
meta:set_string("infotext", meta:get_string("owner") .. "'s old bones") meta:set_string("infotext", S("@1's old bones", meta:get_string("owner")))
meta:set_string("owner", "") meta:set_string("owner", "")
else else
meta:set_int("time", time) meta:set_int("time", time)
@ -194,7 +199,7 @@ minetest.register_on_dieplayer(function(player)
minetest.log("action", player_name .. " dies at " .. pos_string .. minetest.log("action", player_name .. " dies at " .. pos_string ..
". No bones placed") ". No bones placed")
if bones_position_message then if bones_position_message then
minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. ".") minetest.chat_send_player(player_name, S("@1 died at @2.", player_name, pos_string))
end end
return return
end end
@ -204,7 +209,7 @@ minetest.register_on_dieplayer(function(player)
minetest.log("action", player_name .. " dies at " .. pos_string .. minetest.log("action", player_name .. " dies at " .. pos_string ..
". No bones placed") ". No bones placed")
if bones_position_message then if bones_position_message then
minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. ".") minetest.chat_send_player(player_name, S("@1 died at @2.", player_name, pos_string))
end end
return return
end end
@ -230,8 +235,7 @@ minetest.register_on_dieplayer(function(player)
minetest.log("action", player_name .. " dies at " .. pos_string .. minetest.log("action", player_name .. " dies at " .. pos_string ..
". Inventory dropped") ". Inventory dropped")
if bones_position_message then if bones_position_message then
minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. minetest.chat_send_player(player_name, S("@1 died at @2, and dropped their inventory.", player_name, pos_string))
", and dropped their inventory.")
end end
return return
end end
@ -242,8 +246,7 @@ minetest.register_on_dieplayer(function(player)
minetest.log("action", player_name .. " dies at " .. pos_string .. minetest.log("action", player_name .. " dies at " .. pos_string ..
". Bones placed") ". Bones placed")
if bones_position_message then if bones_position_message then
minetest.chat_send_player(player_name, player_name .. " died at " .. pos_string .. minetest.chat_send_player(player_name, S("@1 died at @2, and bones were placed.", player_name, pos_string))
", and bones were placed.")
end end
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
@ -266,7 +269,7 @@ minetest.register_on_dieplayer(function(player)
meta:set_string("owner", player_name) meta:set_string("owner", player_name)
if share_bones_time ~= 0 then if share_bones_time ~= 0 then
meta:set_string("infotext", player_name .. "'s fresh bones") meta:set_string("infotext", S("@1's fresh bones", player_name))
if share_bones_time_early == 0 or not minetest.is_protected(pos, player_name) then if share_bones_time_early == 0 or not minetest.is_protected(pos, player_name) then
meta:set_int("time", 0) meta:set_int("time", 0)
@ -276,6 +279,6 @@ minetest.register_on_dieplayer(function(player)
minetest.get_node_timer(pos):start(10) minetest.get_node_timer(pos):start(10)
else else
meta:set_string("infotext", player_name.."'s bones") meta:set_string("infotext", S("@1's bones", player_name))
end end
end) end)

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Knochen
@1's old bones=Alte Knochen von @1
@1 died at @2.=@1 starb bei @2.
@1 died at @2, and dropped their inventory.=@1 starb bei @2 und ließ das Inventar fallen.
@1 died at @2, and bones were placed.=@1 starb bei @2 und Knochen wurden platziert.
@1's fresh bones=Frische Knochen von @1
@1's bones=Knochen von @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Huesos
@1's old bones=Huesos antiguos de @1
@1 died at @2.=@1 murió en @2.
@1 died at @2, and dropped their inventory.=@1 murió en @2, y su inventario se desprendió.
@1 died at @2, and bones were placed.=@1 murió en @2, y sus huesos fueron depositados.
@1's fresh bones=Huesos recientes de @1
@1's bones=Huesos de @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Os
@1's old bones=Vieux os de @1
@1 died at @2.=@1 est mort à @2.
@1 died at @2, and dropped their inventory.=@1 est mort à @2 et a laissé tomber son inventaire.
@1 died at @2, and bones were placed.=@1 est mort à @2 et ses os ont été placés.
@1's fresh bones=Os frais de @1
@1's bones=Os de @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Ossa
@1's old bones=Ossa vecchie di @1
@1 died at @2.=@1 è morto alla posizione @2.
@1 died at @2, and dropped their inventory.=@1 è morto alla posizione @2, e ha lasciato a terra il contenuto del suo inventario.
@1 died at @2, and bones were placed.=@1 è morto alla posizione @2, e vi sono state posizionate delle ossa.
@1's fresh bones=Ossa fresche di @1
@1's bones=Ossa di @1

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=
@1's old bones=
@1 died at @2.=
@1 died at @2, and dropped their inventory.=
@1 died at @2, and bones were placed.=
@1's fresh bones=
@1's bones=

3
mods/bones/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = bones
description = Minetest Game mod: bones
depends = default

View File

@ -1,2 +0,0 @@
default

View File

@ -1,15 +1,19 @@
-- Minetest 0.4 mod: bucket -- Minetest 0.4 mod: bucket
-- See README.txt for licensing and other information. -- See README.txt for licensing and other information.
-- Load support for MT game translation.
local S = minetest.get_translator("bucket")
minetest.register_alias("bucket", "bucket:bucket_empty") minetest.register_alias("bucket", "bucket:bucket_empty")
minetest.register_alias("bucket_water", "bucket:bucket_water") minetest.register_alias("bucket_water", "bucket:bucket_water")
minetest.register_alias("bucket_lava", "bucket:bucket_lava") minetest.register_alias("bucket_lava", "bucket:bucket_lava")
minetest.register_craft({ minetest.register_craft({
output = 'bucket:bucket_empty 1', output = "bucket:bucket_empty 1",
recipe = { recipe = {
{'default:steel_ingot', '', 'default:steel_ingot'}, {"default:steel_ingot", "", "default:steel_ingot"},
{'', 'default:steel_ingot', ''}, {"", "default:steel_ingot", ""},
} }
}) })
@ -111,9 +115,9 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
end end
minetest.register_craftitem("bucket:bucket_empty", { minetest.register_craftitem("bucket:bucket_empty", {
description = "Empty Bucket", description = S("Empty Bucket"),
inventory_image = "bucket.png", inventory_image = "bucket.png",
stack_max = 99, groups = {tool = 1},
liquids_pointable = true, liquids_pointable = true,
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type == "object" then if pointed_thing.type == "object" then
@ -185,8 +189,8 @@ bucket.register_liquid(
"default:water_flowing", "default:water_flowing",
"bucket:bucket_water", "bucket:bucket_water",
"bucket_water.png", "bucket_water.png",
"Water Bucket", S("Water Bucket"),
{water_bucket = 1} {tool = 1, water_bucket = 1}
) )
-- River water source is 'liquid_renewable = false' to avoid horizontal spread -- River water source is 'liquid_renewable = false' to avoid horizontal spread
@ -200,8 +204,8 @@ bucket.register_liquid(
"default:river_water_flowing", "default:river_water_flowing",
"bucket:bucket_river_water", "bucket:bucket_river_water",
"bucket_river_water.png", "bucket_river_water.png",
"River Water Bucket", S("River Water Bucket"),
{water_bucket = 1}, {tool = 1, water_bucket = 1},
true true
) )
@ -210,7 +214,8 @@ bucket.register_liquid(
"default:lava_flowing", "default:lava_flowing",
"bucket:bucket_lava", "bucket:bucket_lava",
"bucket_lava.png", "bucket_lava.png",
"Lava Bucket" S("Lava Bucket"),
{tool = 1}
) )
minetest.register_craft({ minetest.register_craft({

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Leerer Eimer
Water Bucket=Wassereimer
River Water Bucket=Flusswassereimer
Lava Bucket=Lavaeimer

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Cubo vacío
Water Bucket=Cubo con agua
River Water Bucket=Cubo con agua de río
Lava Bucket=Cubo con lava

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Seau vide
Water Bucket=Seau d'eau
River Water Bucket=Seau d'eau de rivière
Lava Bucket=Seau de lave

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Secchio vuoto
Water Bucket=Secchio d'acqua
River Water Bucket=Secchio d'acqua di fiume
Lava Bucket=Secchio di lava

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=
Water Bucket=
River Water Bucket=
Lava Bucket=

3
mods/bucket/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = bucket
description = Minetest Game mod: bucket
depends = default

View File

@ -1,2 +0,0 @@
default
flowers

View File

@ -1,8 +1,13 @@
-- butterflies/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("butterflies")
-- register butterflies -- register butterflies
local butter_list = { local butter_list = {
{"white", "White"}, {"white", S("White Butterfly")},
{"red", "Red"}, {"red", S("Red Butterfly")},
{"violet", "Violet"} {"violet", S("Violet Butterfly")}
} }
for i in ipairs (butter_list) do for i in ipairs (butter_list) do
@ -10,7 +15,7 @@ for i in ipairs (butter_list) do
local desc = butter_list[i][2] local desc = butter_list[i][2]
minetest.register_node("butterflies:butterfly_"..name, { minetest.register_node("butterflies:butterfly_"..name, {
description = desc.." Butterfly", description = desc,
drawtype = "plantlike", drawtype = "plantlike",
tiles = {{ tiles = {{
name = "butterflies_butterfly_"..name.."_animated.png", name = "butterflies_butterfly_"..name.."_animated.png",
@ -56,10 +61,9 @@ for i in ipairs (butter_list) do
}) })
minetest.register_node("butterflies:hidden_butterfly_"..name, { minetest.register_node("butterflies:hidden_butterfly_"..name, {
description = "Hidden "..desc.." Butterfly",
drawtype = "airlike", drawtype = "airlike",
inventory_image = "insects_butterfly_"..name..".png", inventory_image = "butterflies_butterfly_"..name..".png",
wield_image = "insects_butterfly_"..name..".png", wield_image = "butterflies_butterfly_"..name..".png",
paramtype = "light", paramtype = "light",
sunlight_propagates = true, sunlight_propagates = true,
walkable = false, walkable = false,

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Weißer Schmetterling
Red Butterfly=Roter Schmetterling
Violet Butterfly=Violetter Schmetterling

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Mariposa blanca
Red Butterfly=Mariposa roja
Violet Butterfly=Mariposa violeta

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Papillon blanc
Red Butterfly=Papillon rouge
Violet Butterfly=Papillon violet

View File

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Farfalla bianca
Red Butterfly=Farfalla rossa
Violet Butterfly=Farfalla viola

View File

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

View File

@ -0,0 +1,3 @@
name = butterflies
description = Minetest Game mod: Butterflies
depends = default, flowers

View File

@ -1,3 +1,8 @@
-- carts/cart_entity.lua
-- support for MT game translation.
local S = carts.get_translator
local cart_entity = { local cart_entity = {
initial_properties = { initial_properties = {
physical = false, -- otherwise going uphill breaks physical = false, -- otherwise going uphill breaks
@ -383,7 +388,7 @@ end
minetest.register_entity("carts:cart", cart_entity) minetest.register_entity("carts:cart", cart_entity)
minetest.register_craftitem("carts:cart", { minetest.register_craftitem("carts:cart", {
description = "Cart (Sneak+Click to pick up)", description = S("Cart") .. "\n" .. S("(Sneak+Click to pick up)"),
inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_side.png", "carts_cart_side.png"), inventory_image = minetest.inventorycube("carts_cart_top.png", "carts_cart_side.png", "carts_cart_side.png"),
wield_image = "carts_cart_side.png", wield_image = "carts_cart_side.png",
on_place = function(itemstack, placer, pointed_thing) on_place = function(itemstack, placer, pointed_thing)

View File

@ -1,2 +0,0 @@
default
player_api

View File

@ -1,7 +1,12 @@
-- carts/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("carts")
carts = {} carts = {}
carts.modpath = minetest.get_modpath("carts") carts.modpath = minetest.get_modpath("carts")
carts.railparams = {} carts.railparams = {}
carts.get_translator = S
-- Maximal speed of the cart in m/s (min = -1) -- Maximal speed of the cart in m/s (min = -1)
carts.speed_max = 7 carts.speed_max = 7

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Lore
(Sneak+Click to pick up)=(Schleichen u. Klicken zum Aufheben)
Rail=Schiene
Powered Rail=Antriebsschiene
Brake Rail=Bremsschiene

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Vagoneta
(Sneak+Click to pick up)=(Agacharse+Clic para recoger)
Rail=Raíl
Powered Rail=Raíl energizado
Brake Rail=Raíl de frenado

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Chariot
(Sneak+Click to pick up)=(Se baisser + clic pour ramasser)
Rail=Rail
Powered Rail=Rail de traction
Brake Rail=Rail de freinage

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Vagone
(Sneak+Click to pick up)=(Strisciare+Click per raccoglierlo)
Rail=Binario
Powered Rail=Binario alimentato
Brake Rail=Binario freno

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=
(Sneak+Click to pick up)=
Rail=
Powered Rail=
Brake Rail=

3
mods/carts/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = carts
description = Carts (formerly boost_cart)
depends = default, player_api

View File

@ -1,5 +1,10 @@
-- carts/rails.lua
-- support for MT game translation.
local S = carts.get_translator
carts:register_rail("carts:rail", { carts:register_rail("carts:rail", {
description = "Rail", description = S("Rail"),
tiles = { tiles = {
"carts_rail_straight.png", "carts_rail_curved.png", "carts_rail_straight.png", "carts_rail_curved.png",
"carts_rail_t_junction.png", "carts_rail_crossing.png" "carts_rail_t_junction.png", "carts_rail_crossing.png"
@ -22,7 +27,7 @@ minetest.register_alias("default:rail", "carts:rail")
carts:register_rail("carts:powerrail", { carts:register_rail("carts:powerrail", {
description = "Powered Rail", description = S("Powered Rail"),
tiles = { tiles = {
"carts_rail_straight_pwr.png", "carts_rail_curved_pwr.png", "carts_rail_straight_pwr.png", "carts_rail_curved_pwr.png",
"carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png" "carts_rail_t_junction_pwr.png", "carts_rail_crossing_pwr.png"
@ -41,7 +46,7 @@ minetest.register_craft({
carts:register_rail("carts:brakerail", { carts:register_rail("carts:brakerail", {
description = "Brake Rail", description = S("Brake Rail"),
tiles = { tiles = {
"carts_rail_straight_brk.png", "carts_rail_curved_brk.png", "carts_rail_straight_brk.png", "carts_rail_curved_brk.png",
"carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png" "carts_rail_t_junction_brk.png", "carts_rail_crossing_brk.png"

View File

@ -1,2 +0,0 @@
default
sfinv

View File

@ -1,4 +1,10 @@
-- creative/init.lua
-- Load support for MT game translation.
local S = minetest.get_translator("creative")
creative = {} creative = {}
creative.get_translator = S
local function update_sfinv(name) local function update_sfinv(name)
minetest.after(0, function() minetest.after(0, function()
@ -14,7 +20,7 @@ local function update_sfinv(name)
end end
minetest.register_privilege("creative", { minetest.register_privilege("creative", {
description = "Allow player to use creative inventory", description = S("Allow player to use creative inventory"),
give_to_singleplayer = false, give_to_singleplayer = false,
give_to_admin = false, give_to_admin = false,
on_grant = update_sfinv, on_grant = update_sfinv,
@ -40,10 +46,8 @@ if creative_mode_cache then
local digtime = 42 local digtime = 42
local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256} local caps = {times = {digtime, digtime, digtime}, uses = 0, maxlevel = 256}
minetest.register_item(":", { -- Override the hand tool
type = "none", minetest.override_item("", {
wield_image = "wieldhand.png",
wield_scale = {x = 1, y = 1, z = 2.5},
range = 10, range = 10,
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.5, full_punch_interval = 0.5,
@ -54,6 +58,9 @@ if creative_mode_cache then
snappy = caps, snappy = caps,
choppy = caps, choppy = caps,
oddly_breakable_by_hand = caps, oddly_breakable_by_hand = caps,
-- dig_immediate group doesn't use value 1. Value 3 is instant dig
dig_immediate =
{times = {[2] = digtime, [3] = 0}, uses = 0, maxlevel = 256},
}, },
damage_groups = {fleshy = 10}, damage_groups = {fleshy = 10},
} }

View File

@ -1,3 +1,8 @@
-- creative/inventory.lua
-- support for MT game translation.
local S = creative.get_translator
local player_inventory = {} local player_inventory = {}
local inventory_cache = {} local inventory_cache = {}
@ -103,30 +108,29 @@ function creative.register_tab(name, title, items)
local start_i = inv.start_i or 0 local start_i = inv.start_i or 0
local pagenum = math.floor(start_i / (3*8) + 1) local pagenum = math.floor(start_i / (3*8) + 1)
local pagemax = math.ceil(inv.size / (3*8)) local pagemax = math.ceil(inv.size / (3*8))
local esc = minetest.formspec_escape
return sfinv.make_formspec(player, context, return sfinv.make_formspec(player, context,
"label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" .. "label[6.2,3.35;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" ..
[[ [[
image[4.06,3.4;0.8,0.8;creative_trash_icon.png] image[4.06,3.4;0.8,0.8;creative_trash_icon.png]
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]
list[current_player;main;0,4.7;8,1;]
list[current_player;main;0,5.85;8,3;8]
list[detached:creative_trash;main;4,3.3;1,1;] list[detached:creative_trash;main;4,3.3;1,1;]
listring[] listring[]
image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;] image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;]
image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;] image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;]
image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;] image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;]
image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;] image_button[2.75,3.25;0.8,0.8;creative_clear_icon.png;creative_clear;]
tooltip[creative_search;Search]
tooltip[creative_clear;Reset]
tooltip[creative_prev;Previous page]
tooltip[creative_next;Next page]
listring[current_player;main]
field_close_on_enter[creative_filter;false]
]] .. ]] ..
"field[0.3,3.5;2.2,1;creative_filter;;" .. minetest.formspec_escape(inv.filter) .. "]" .. "tooltip[creative_search;" .. esc(S("Search")) .. "]" ..
"tooltip[creative_clear;" .. esc(S("Reset")) .. "]" ..
"tooltip[creative_prev;" .. esc(S("Previous page")) .. "]" ..
"tooltip[creative_next;" .. esc(S("Next page")) .. "]" ..
"listring[current_player;main]" ..
"field_close_on_enter[creative_filter;false]" ..
"field[0.3,3.5;2.2,1;creative_filter;;" .. esc(inv.filter) .. "]" ..
"listring[detached:creative_" .. player_name .. ";main]" .. "listring[detached:creative_" .. player_name .. ";main]" ..
"list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. "list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" ..
default.get_hotbar_bg(0,4.7) .. creative.formspec_add, false) creative.formspec_add, true)
end, end,
on_enter = function(self, player, context) on_enter = function(self, player, context)
local player_name = player:get_player_name() local player_name = player:get_player_name()
@ -176,10 +180,10 @@ function creative.register_tab(name, title, items)
}) })
end end
creative.register_tab("all", "All", minetest.registered_items) creative.register_tab("all", S("All"), minetest.registered_items)
creative.register_tab("nodes", "Nodes", minetest.registered_nodes) creative.register_tab("nodes", S("Nodes"), minetest.registered_nodes)
creative.register_tab("tools", "Tools", minetest.registered_tools) creative.register_tab("tools", S("Tools"), minetest.registered_tools)
creative.register_tab("craftitems", "Items", minetest.registered_craftitems) creative.register_tab("craftitems", S("Items"), minetest.registered_craftitems)
local old_homepage_name = sfinv.get_homepage_name local old_homepage_name = sfinv.get_homepage_name
function sfinv.get_homepage_name(player) function sfinv.get_homepage_name(player)

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Spieler erlauben, das Kreativinventar zu benutzen
Search=Suchen
Reset=Zurücksetzen
Previous page=Vorherige Seite
Next page=Nächste Seite
All=Alles
Nodes=Blöcke
Tools=Werkzeuge
Items=Gegenstände

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Permitir al jugador usar el inventario creativo
Search=Buscar
Reset=Resetear
Previous page=Pág. siguiente
Next page=Pág. anterior
All=Todos
Nodes=Nodos
Tools=Herramientas
Items=Objetos

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Permettre aux joueurs d'utiliser l'inventaire du mode créatif
Search=Rechercher
Reset=Réinitialiser
Previous page=Page précédente
Next page=Page suivante
All=Tout
Nodes=Nœuds
Tools=Outils
Items=Article

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Permette al giocatore di usare l'inventario creativo
Search=Cerca
Reset=Azzera
Previous page=Pagina precedente
Next page=Pagina successiva
All=Tutto
Nodes=Nodi
Tools=Strumenti
Items=Oggetti

View File

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=
Search=
Reset=
Previous page=
Next page=
All=
Nodes=
Tools=
Items=

3
mods/creative/mod.conf Normal file
View File

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

View File

@ -101,8 +101,7 @@ paramat (CC BY-SA 3.0):
default_dry_grass.png default_dry_grass.png
default_dry_grass_side.png default_dry_grass_side.png
default_dry_grass_*.png default_dry_grass_*.png
default_grass.png default_grass_side.png -- Derived from a texture by TumeniNodes (CC-BY-SA 3.0)
default_grass_side.png
default_mese_block.png default_mese_block.png
default_silver_sand.png default_silver_sand.png
default_mese_post_light_side.png default_mese_post_light_side.png
@ -129,6 +128,8 @@ TumeniNodes (CC BY-SA 3.0):
default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0) default_desert_cobble.png -- Derived from a texture by brunob.santos (CC BY-SA 3.0)
default_coniferous_litter.png default_coniferous_litter.png
default_coniferous_litter_side.png default_coniferous_litter_side.png
default_grass.png
default_dry_dirt.png
BlockMen (CC BY-SA 3.0): BlockMen (CC BY-SA 3.0):
default_aspen_leaves.png -- Derived from Sofar's texture default_aspen_leaves.png -- Derived from Sofar's texture

View File

@ -1,5 +1,8 @@
default.chest = {} default.chest = {}
-- support for MT game translation.
local S = default.get_translator
function default.chest.get_chest_formspec(pos) function default.chest.get_chest_formspec(pos)
local spos = pos.x .. "," .. pos.y .. "," .. pos.z local spos = pos.x .. "," .. pos.y .. "," .. pos.z
local formspec = local formspec =
@ -84,7 +87,7 @@ function default.chest.register_chest(name, d)
if def.protected then if def.protected then
def.on_construct = function(pos) def.on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Locked Chest") meta:set_string("infotext", S("Locked Chest"))
meta:set_string("owner", "") meta:set_string("owner", "")
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size("main", 8*4) inv:set_size("main", 8*4)
@ -92,8 +95,7 @@ function default.chest.register_chest(name, d)
def.after_place_node = function(pos, placer) def.after_place_node = function(pos, placer)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("owner", placer:get_player_name() or "") meta:set_string("owner", placer:get_player_name() or "")
meta:set_string("infotext", "Locked Chest (owned by " .. meta:set_string("infotext", S("Locked Chest (owned by @1)", meta:get_string("owner")))
meta:get_string("owner") .. ")")
end end
def.can_dig = function(pos,player) def.can_dig = function(pos,player)
local meta = minetest.get_meta(pos); local meta = minetest.get_meta(pos);
@ -171,7 +173,7 @@ function default.chest.register_chest(name, d)
-- verify placer is owner of lockable chest -- verify placer is owner of lockable chest
if owner ~= pn then if owner ~= pn then
minetest.record_protection_violation(pos, pn) minetest.record_protection_violation(pos, pn)
minetest.chat_send_player(pn, "You do not own this chest.") minetest.chat_send_player(pn, S("You do not own this chest."))
return nil return nil
end end
@ -181,12 +183,12 @@ function default.chest.register_chest(name, d)
meta:set_string("key_lock_secret", secret) meta:set_string("key_lock_secret", secret)
end end
return secret, "a locked chest", owner return secret, S("a locked chest"), owner
end end
else else
def.on_construct = function(pos) def.on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("infotext", "Chest") meta:set_string("infotext", S("Chest"))
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size("main", 8*4) inv:set_size("main", 8*4)
end end
@ -285,7 +287,7 @@ function default.chest.register_chest(name, d)
end end
default.chest.register_chest("chest", { default.chest.register_chest("chest", {
description = "Chest", description = S("Chest"),
tiles = { tiles = {
"default_chest_top.png", "default_chest_top.png",
"default_chest_top.png", "default_chest_top.png",
@ -301,7 +303,7 @@ default.chest.register_chest("chest", {
}) })
default.chest.register_chest("chest_locked", { default.chest.register_chest("chest_locked", {
description = "Locked Chest", description = S("Locked Chest"),
tiles = { tiles = {
"default_chest_top.png", "default_chest_top.png",
"default_chest_top.png", "default_chest_top.png",

View File

@ -1,51 +1,51 @@
-- mods/default/crafting.lua -- mods/default/crafting.lua
minetest.register_craft({ minetest.register_craft({
output = 'default:wood 4', output = "default:wood 4",
recipe = { recipe = {
{'default:tree'}, {"default:tree"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:junglewood 4', output = "default:junglewood 4",
recipe = { recipe = {
{'default:jungletree'}, {"default:jungletree"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pine_wood 4', output = "default:pine_wood 4",
recipe = { recipe = {
{'default:pine_tree'}, {"default:pine_tree"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:acacia_wood 4', output = "default:acacia_wood 4",
recipe = { recipe = {
{'default:acacia_tree'}, {"default:acacia_tree"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:aspen_wood 4', output = "default:aspen_wood 4",
recipe = { recipe = {
{'default:aspen_tree'}, {"default:aspen_tree"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:wood', output = "default:wood",
recipe = { recipe = {
{'default:bush_stem'}, {"default:bush_stem"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:acacia_wood', output = "default:acacia_wood",
recipe = { recipe = {
{'default:acacia_bush_stem'}, {"default:acacia_bush_stem"},
} }
}) })
@ -57,143 +57,143 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:stick 4', output = "default:stick 4",
recipe = { recipe = {
{'group:wood'}, {"group:wood"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sign_wall_steel 3', output = "default:sign_wall_steel 3",
recipe = { recipe = {
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sign_wall_wood 3', output = "default:sign_wall_wood 3",
recipe = { recipe = {
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:torch 4', output = "default:torch 4",
recipe = { recipe = {
{'default:coal_lump'}, {"default:coal_lump"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pick_wood', output = "default:pick_wood",
recipe = { recipe = {
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pick_stone', output = "default:pick_stone",
recipe = { recipe = {
{'group:stone', 'group:stone', 'group:stone'}, {"group:stone", "group:stone", "group:stone"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pick_steel', output = "default:pick_steel",
recipe = { recipe = {
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pick_bronze', output = "default:pick_bronze",
recipe = { recipe = {
{'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pick_mese', output = "default:pick_mese",
recipe = { recipe = {
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:pick_diamond', output = "default:pick_diamond",
recipe = { recipe = {
{'default:diamond', 'default:diamond', 'default:diamond'}, {"default:diamond", "default:diamond", "default:diamond"},
{'', 'group:stick', ''}, {"", "group:stick", ""},
{'', 'group:stick', ''}, {"", "group:stick", ""},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:shovel_wood', output = "default:shovel_wood",
recipe = { recipe = {
{'group:wood'}, {"group:wood"},
{'group:stick'}, {"group:stick"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:shovel_stone', output = "default:shovel_stone",
recipe = { recipe = {
{'group:stone'}, {"group:stone"},
{'group:stick'}, {"group:stick"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:shovel_steel', output = "default:shovel_steel",
recipe = { recipe = {
{'default:steel_ingot'}, {"default:steel_ingot"},
{'group:stick'}, {"group:stick"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:shovel_bronze', output = "default:shovel_bronze",
recipe = { recipe = {
{'default:bronze_ingot'}, {"default:bronze_ingot"},
{'group:stick'}, {"group:stick"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:shovel_mese', output = "default:shovel_mese",
recipe = { recipe = {
{'default:mese_crystal'}, {"default:mese_crystal"},
{'group:stick'}, {"group:stick"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:shovel_diamond', output = "default:shovel_diamond",
recipe = { recipe = {
{'default:diamond'}, {"default:diamond"},
{'group:stick'}, {"group:stick"},
{'group:stick'}, {"group:stick"},
} }
}) })
@ -201,135 +201,135 @@ minetest.register_craft({
-- Recipes face left to match appearence in textures and inventory -- Recipes face left to match appearence in textures and inventory
minetest.register_craft({ minetest.register_craft({
output = 'default:axe_wood', output = "default:axe_wood",
recipe = { recipe = {
{'group:wood', 'group:wood'}, {"group:wood", "group:wood"},
{'group:wood', 'group:stick'}, {"group:wood", "group:stick"},
{'', 'group:stick'}, {"", "group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:axe_stone', output = "default:axe_stone",
recipe = { recipe = {
{'group:stone', 'group:stone'}, {"group:stone", "group:stone"},
{'group:stone', 'group:stick'}, {"group:stone", "group:stick"},
{'', 'group:stick'}, {"", "group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:axe_steel', output = "default:axe_steel",
recipe = { recipe = {
{'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot"},
{'default:steel_ingot', 'group:stick'}, {"default:steel_ingot", "group:stick"},
{'', 'group:stick'}, {"", "group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:axe_bronze', output = "default:axe_bronze",
recipe = { recipe = {
{'default:bronze_ingot', 'default:bronze_ingot'}, {"default:bronze_ingot", "default:bronze_ingot"},
{'default:bronze_ingot', 'group:stick'}, {"default:bronze_ingot", "group:stick"},
{'', 'group:stick'}, {"", "group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:axe_mese', output = "default:axe_mese",
recipe = { recipe = {
{'default:mese_crystal', 'default:mese_crystal'}, {"default:mese_crystal", "default:mese_crystal"},
{'default:mese_crystal', 'group:stick'}, {"default:mese_crystal", "group:stick"},
{'', 'group:stick'}, {"", "group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:axe_diamond', output = "default:axe_diamond",
recipe = { recipe = {
{'default:diamond', 'default:diamond'}, {"default:diamond", "default:diamond"},
{'default:diamond', 'group:stick'}, {"default:diamond", "group:stick"},
{'', 'group:stick'}, {"", "group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sword_wood', output = "default:sword_wood",
recipe = { recipe = {
{'group:wood'}, {"group:wood"},
{'group:wood'}, {"group:wood"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sword_stone', output = "default:sword_stone",
recipe = { recipe = {
{'group:stone'}, {"group:stone"},
{'group:stone'}, {"group:stone"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sword_steel', output = "default:sword_steel",
recipe = { recipe = {
{'default:steel_ingot'}, {"default:steel_ingot"},
{'default:steel_ingot'}, {"default:steel_ingot"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sword_bronze', output = "default:sword_bronze",
recipe = { recipe = {
{'default:bronze_ingot'}, {"default:bronze_ingot"},
{'default:bronze_ingot'}, {"default:bronze_ingot"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sword_mese', output = "default:sword_mese",
recipe = { recipe = {
{'default:mese_crystal'}, {"default:mese_crystal"},
{'default:mese_crystal'}, {"default:mese_crystal"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:sword_diamond', output = "default:sword_diamond",
recipe = { recipe = {
{'default:diamond'}, {"default:diamond"},
{'default:diamond'}, {"default:diamond"},
{'group:stick'}, {"group:stick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:skeleton_key', output = "default:skeleton_key",
recipe = { recipe = {
{'default:gold_ingot'}, {"default:gold_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:chest', output = "default:chest",
recipe = { recipe = {
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'group:wood', '', 'group:wood'}, {"group:wood", "", "group:wood"},
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:chest_locked', output = "default:chest_locked",
recipe = { recipe = {
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'group:wood', 'default:steel_ingot', 'group:wood'}, {"group:wood", "default:steel_ingot", "group:wood"},
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
} }
}) })
@ -340,59 +340,59 @@ minetest.register_craft( {
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:furnace', output = "default:furnace",
recipe = { recipe = {
{'group:stone', 'group:stone', 'group:stone'}, {"group:stone", "group:stone", "group:stone"},
{'group:stone', '', 'group:stone'}, {"group:stone", "", "group:stone"},
{'group:stone', 'group:stone', 'group:stone'}, {"group:stone", "group:stone", "group:stone"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:coalblock', output = "default:coalblock",
recipe = { recipe = {
{'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
{'default:coal_lump', 'default:coal_lump', 'default:coal_lump'}, {"default:coal_lump", "default:coal_lump", "default:coal_lump"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:coal_lump 9', output = "default:coal_lump 9",
recipe = { recipe = {
{'default:coalblock'}, {"default:coalblock"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:steelblock', output = "default:steelblock",
recipe = { recipe = {
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:steel_ingot 9', output = "default:steel_ingot 9",
recipe = { recipe = {
{'default:steelblock'}, {"default:steelblock"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:copperblock', output = "default:copperblock",
recipe = { recipe = {
{'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{'default:copper_ingot', 'default:copper_ingot', 'default:copper_ingot'}, {"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:copper_ingot 9', output = "default:copper_ingot 9",
recipe = { recipe = {
{'default:copperblock'}, {"default:copperblock"},
} }
}) })
@ -422,50 +422,50 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:bronzeblock', output = "default:bronzeblock",
recipe = { recipe = {
{'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{'default:bronze_ingot', 'default:bronze_ingot', 'default:bronze_ingot'}, {"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:bronze_ingot 9', output = "default:bronze_ingot 9",
recipe = { recipe = {
{'default:bronzeblock'}, {"default:bronzeblock"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:goldblock', output = "default:goldblock",
recipe = { recipe = {
{'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{'default:gold_ingot', 'default:gold_ingot', 'default:gold_ingot'}, {"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:gold_ingot 9', output = "default:gold_ingot 9",
recipe = { recipe = {
{'default:goldblock'}, {"default:goldblock"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:diamondblock', output = "default:diamondblock",
recipe = { recipe = {
{'default:diamond', 'default:diamond', 'default:diamond'}, {"default:diamond", "default:diamond", "default:diamond"},
{'default:diamond', 'default:diamond', 'default:diamond'}, {"default:diamond", "default:diamond", "default:diamond"},
{'default:diamond', 'default:diamond', 'default:diamond'}, {"default:diamond", "default:diamond", "default:diamond"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:diamond 9', output = "default:diamond 9",
recipe = { recipe = {
{'default:diamondblock'}, {"default:diamondblock"},
} }
}) })
@ -566,57 +566,57 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:clay', output = "default:clay",
recipe = { recipe = {
{'default:clay_lump', 'default:clay_lump'}, {"default:clay_lump", "default:clay_lump"},
{'default:clay_lump', 'default:clay_lump'}, {"default:clay_lump", "default:clay_lump"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:clay_lump 4', output = "default:clay_lump 4",
recipe = { recipe = {
{'default:clay'}, {"default:clay"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:brick', output = "default:brick",
recipe = { recipe = {
{'default:clay_brick', 'default:clay_brick'}, {"default:clay_brick", "default:clay_brick"},
{'default:clay_brick', 'default:clay_brick'}, {"default:clay_brick", "default:clay_brick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:clay_brick 4', output = "default:clay_brick 4",
recipe = { recipe = {
{'default:brick'}, {"default:brick"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:paper', output = "default:paper",
recipe = { recipe = {
{'default:papyrus', 'default:papyrus', 'default:papyrus'}, {"default:papyrus", "default:papyrus", "default:papyrus"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:book', output = "default:book",
recipe = { recipe = {
{'default:paper'}, {"default:paper"},
{'default:paper'}, {"default:paper"},
{'default:paper'}, {"default:paper"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:bookshelf', output = "default:bookshelf",
recipe = { recipe = {
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
{'default:book', 'default:book', 'default:book'}, {"default:book", "default:book", "default:book"},
{'group:wood', 'group:wood', 'group:wood'}, {"group:wood", "group:wood", "group:wood"},
} }
}) })
@ -630,34 +630,34 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:ladder_steel 15', output = "default:ladder_steel 15",
recipe = { recipe = {
{'default:steel_ingot', '', 'default:steel_ingot'}, {"default:steel_ingot", "", "default:steel_ingot"},
{'default:steel_ingot', 'default:steel_ingot', 'default:steel_ingot'}, {"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{'default:steel_ingot', '', 'default:steel_ingot'}, {"default:steel_ingot", "", "default:steel_ingot"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:mese', output = "default:mese",
recipe = { recipe = {
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{'default:mese_crystal', 'default:mese_crystal', 'default:mese_crystal'}, {"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:mese_crystal 9', output = "default:mese_crystal 9",
recipe = { recipe = {
{'default:mese'}, {"default:mese"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:mese_crystal_fragment 9', output = "default:mese_crystal_fragment 9",
recipe = { recipe = {
{'default:mese_crystal'}, {"default:mese_crystal"},
} }
}) })
@ -671,10 +671,10 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:meselamp', output = "default:meselamp",
recipe = { recipe = {
{'default:glass'}, {"default:glass"},
{'default:mese_crystal'}, {"default:mese_crystal"},
} }
}) })
@ -688,85 +688,85 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:obsidian_shard 9', output = "default:obsidian_shard 9",
recipe = { recipe = {
{'default:obsidian'} {"default:obsidian"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:obsidian', output = "default:obsidian",
recipe = { recipe = {
{'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, {"default:obsidian_shard", "default:obsidian_shard", "default:obsidian_shard"},
{'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, {"default:obsidian_shard", "default:obsidian_shard", "default:obsidian_shard"},
{'default:obsidian_shard', 'default:obsidian_shard', 'default:obsidian_shard'}, {"default:obsidian_shard", "default:obsidian_shard", "default:obsidian_shard"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:obsidianbrick 4', output = "default:obsidianbrick 4",
recipe = { recipe = {
{'default:obsidian', 'default:obsidian'}, {"default:obsidian", "default:obsidian"},
{'default:obsidian', 'default:obsidian'} {"default:obsidian", "default:obsidian"}
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:obsidian_block 9', output = "default:obsidian_block 9",
recipe = { recipe = {
{'default:obsidian', 'default:obsidian', 'default:obsidian'}, {"default:obsidian", "default:obsidian", "default:obsidian"},
{'default:obsidian', 'default:obsidian', 'default:obsidian'}, {"default:obsidian", "default:obsidian", "default:obsidian"},
{'default:obsidian', 'default:obsidian', 'default:obsidian'}, {"default:obsidian", "default:obsidian", "default:obsidian"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:stonebrick 4', output = "default:stonebrick 4",
recipe = { recipe = {
{'default:stone', 'default:stone'}, {"default:stone", "default:stone"},
{'default:stone', 'default:stone'}, {"default:stone", "default:stone"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:stone_block 9', output = "default:stone_block 9",
recipe = { recipe = {
{'default:stone', 'default:stone', 'default:stone'}, {"default:stone", "default:stone", "default:stone"},
{'default:stone', 'default:stone', 'default:stone'}, {"default:stone", "default:stone", "default:stone"},
{'default:stone', 'default:stone', 'default:stone'}, {"default:stone", "default:stone", "default:stone"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:desert_stonebrick 4', output = "default:desert_stonebrick 4",
recipe = { recipe = {
{'default:desert_stone', 'default:desert_stone'}, {"default:desert_stone", "default:desert_stone"},
{'default:desert_stone', 'default:desert_stone'}, {"default:desert_stone", "default:desert_stone"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:desert_stone_block 9', output = "default:desert_stone_block 9",
recipe = { recipe = {
{'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, {"default:desert_stone", "default:desert_stone", "default:desert_stone"},
{'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, {"default:desert_stone", "default:desert_stone", "default:desert_stone"},
{'default:desert_stone', 'default:desert_stone', 'default:desert_stone'}, {"default:desert_stone", "default:desert_stone", "default:desert_stone"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:snowblock', output = "default:snowblock",
recipe = { recipe = {
{'default:snow', 'default:snow', 'default:snow'}, {"default:snow", "default:snow", "default:snow"},
{'default:snow', 'default:snow', 'default:snow'}, {"default:snow", "default:snow", "default:snow"},
{'default:snow', 'default:snow', 'default:snow'}, {"default:snow", "default:snow", "default:snow"},
} }
}) })
minetest.register_craft({ minetest.register_craft({
output = 'default:snow 9', output = "default:snow 9",
recipe = { recipe = {
{'default:snowblock'}, {"default:snowblock"},
} }
}) })
@ -864,16 +864,16 @@ minetest.register_craft({
}) })
minetest.register_craft({ minetest.register_craft({
type = 'cooking', type = "cooking",
output = 'default:gold_ingot', output = "default:gold_ingot",
recipe = 'default:skeleton_key', recipe = "default:skeleton_key",
cooktime = 5, cooktime = 5,
}) })
minetest.register_craft({ minetest.register_craft({
type = 'cooking', type = "cooking",
output = 'default:gold_ingot', output = "default:gold_ingot",
recipe = 'default:key', recipe = "default:key",
cooktime = 5, cooktime = 5,
}) })

View File

@ -1,13 +1,16 @@
-- mods/default/craftitems.lua -- mods/default/craftitems.lua
-- support for MT game translation.
local S = default.get_translator
minetest.register_craftitem("default:stick", { minetest.register_craftitem("default:stick", {
description = "Stick", description = S("Stick"),
inventory_image = "default_stick.png", inventory_image = "default_stick.png",
groups = {stick = 1, flammable = 2}, groups = {stick = 1, flammable = 2},
}) })
minetest.register_craftitem("default:paper", { minetest.register_craftitem("default:paper", {
description = "Paper", description = S("Paper"),
inventory_image = "default_paper.png", inventory_image = "default_paper.png",
groups = {flammable = 3}, groups = {flammable = 3},
}) })
@ -49,23 +52,24 @@ local function book_on_use(itemstack, user)
end end
local formspec local formspec
local esc = minetest.formspec_escape
if owner == player_name then if owner == player_name then
formspec = "size[8,8]" .. formspec = "size[8,8]" ..
"field[0.5,1;7.5,0;title;Title:;" .. "field[0.5,1;7.5,0;title;" .. esc(S("Title:")) .. ";" ..
minetest.formspec_escape(title) .. "]" .. esc(title) .. "]" ..
"textarea[0.5,1.5;7.5,7;text;Contents:;" .. "textarea[0.5,1.5;7.5,7;text;" .. esc(S("Contents:")) .. ";" ..
minetest.formspec_escape(text) .. "]" .. esc(text) .. "]" ..
"button_exit[2.5,7.5;3,1;save;Save]" "button_exit[2.5,7.5;3,1;save;" .. esc(S("Save")) .. "]"
else else
formspec = "size[8,8]" .. formspec = "size[8,8]" ..
"label[0.5,0.5;by " .. owner .. "]" .. "label[0.5,0.5;" .. esc(S("by @1", owner)) .. "]" ..
"tablecolumns[color;text]" .. "tablecolumns[color;text]" ..
"tableoptions[background=#00000000;highlight=#00000000;border=false]" .. "tableoptions[background=#00000000;highlight=#00000000;border=false]" ..
"table[0.4,0;7,0.5;title;#FFFF00," .. minetest.formspec_escape(title) .. "]" .. "table[0.4,0;7,0.5;title;#FFFF00," .. esc(title) .. "]" ..
"textarea[0.5,1.5;7.5,7;;" .. "textarea[0.5,1.5;7.5,7;;" ..
minetest.formspec_escape(string ~= "" and string or text) .. ";]" .. minetest.formspec_escape(string ~= "" and string or text) .. ";]" ..
"button[2.4,7.6;0.8,0.8;book_prev;<]" .. "button[2.4,7.6;0.8,0.8;book_prev;<]" ..
"label[3.2,7.7;Page " .. page .. " of " .. page_max .. "]" .. "label[3.2,7.7;" .. esc(S("Page @1 of @2", page, page_max)) .. "]" ..
"button[4.9,7.6;0.8,0.8;book_next;>]" "button[4.9,7.6;0.8,0.8;book_next;>]"
end end
@ -108,7 +112,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
if #short_title > short_title_size + 3 then if #short_title > short_title_size + 3 then
short_title = short_title:sub(1, short_title_size) .. "..." short_title = short_title:sub(1, short_title_size) .. "..."
end end
data.description = "\""..short_title.."\" by "..data.owner data.description = S("\"@1\" by @2", short_title, data.owner)
data.text = fields.text:sub(1, max_text_size) data.text = fields.text:sub(1, max_text_size)
data.text = data.text:gsub("\r\n", "\n"):gsub("\r", "\n") data.text = data.text:gsub("\r\n", "\n"):gsub("\r", "\n")
data.page = 1 data.page = 1
@ -155,14 +159,14 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
end) end)
minetest.register_craftitem("default:book", { minetest.register_craftitem("default:book", {
description = "Book", description = S("Book"),
inventory_image = "default_book.png", inventory_image = "default_book.png",
groups = {book = 1, flammable = 3}, groups = {book = 1, flammable = 3},
on_use = book_on_use, on_use = book_on_use,
}) })
minetest.register_craftitem("default:book_written", { minetest.register_craftitem("default:book_written", {
description = "Book With Text", description = S("Book with Text"),
inventory_image = "default_book_written.png", inventory_image = "default_book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3}, groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1, stack_max = 1,
@ -199,7 +203,7 @@ minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv
end) end)
minetest.register_craftitem("default:skeleton_key", { minetest.register_craftitem("default:skeleton_key", {
description = "Skeleton Key", description = S("Skeleton Key"),
inventory_image = "default_key_skeleton.png", inventory_image = "default_key_skeleton.png",
groups = {key = 1}, groups = {key = 1},
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
@ -238,8 +242,8 @@ minetest.register_craftitem("default:skeleton_key", {
local new_stack = ItemStack("default:key") local new_stack = ItemStack("default:key")
local meta = new_stack:get_meta() local meta = new_stack:get_meta()
meta:set_string("secret", secret) meta:set_string("secret", secret)
meta:set_string("description", "Key to "..user:get_player_name().."'s " meta:set_string("description", S("Key to @1's @2", user:get_player_name(),
..minetest.registered_nodes[node.name].description) minetest.registered_nodes[node.name].description))
if itemstack:get_count() == 0 then if itemstack:get_count() == 0 then
itemstack = new_stack itemstack = new_stack
@ -255,93 +259,93 @@ minetest.register_craftitem("default:skeleton_key", {
}) })
minetest.register_craftitem("default:coal_lump", { minetest.register_craftitem("default:coal_lump", {
description = "Coal Lump", description = S("Coal Lump"),
inventory_image = "default_coal_lump.png", inventory_image = "default_coal_lump.png",
groups = {coal = 1, flammable = 1} groups = {coal = 1, flammable = 1}
}) })
minetest.register_craftitem("default:iron_lump", { minetest.register_craftitem("default:iron_lump", {
description = "Iron Lump", description = S("Iron Lump"),
inventory_image = "default_iron_lump.png", inventory_image = "default_iron_lump.png"
}) })
minetest.register_craftitem("default:copper_lump", { minetest.register_craftitem("default:copper_lump", {
description = "Copper Lump", description = S("Copper Lump"),
inventory_image = "default_copper_lump.png", inventory_image = "default_copper_lump.png"
}) })
minetest.register_craftitem("default:tin_lump", { minetest.register_craftitem("default:tin_lump", {
description = "Tin Lump", description = S("Tin Lump"),
inventory_image = "default_tin_lump.png", inventory_image = "default_tin_lump.png"
}) })
minetest.register_craftitem("default:mese_crystal", { minetest.register_craftitem("default:mese_crystal", {
description = "Mese Crystal", description = S("Mese Crystal"),
inventory_image = "default_mese_crystal.png", inventory_image = "default_mese_crystal.png",
}) })
minetest.register_craftitem("default:gold_lump", { minetest.register_craftitem("default:gold_lump", {
description = "Gold Lump", description = S("Gold Lump"),
inventory_image = "default_gold_lump.png", inventory_image = "default_gold_lump.png"
}) })
minetest.register_craftitem("default:diamond", { minetest.register_craftitem("default:diamond", {
description = "Diamond", description = S("Diamond"),
inventory_image = "default_diamond.png", inventory_image = "default_diamond.png",
}) })
minetest.register_craftitem("default:clay_lump", { minetest.register_craftitem("default:clay_lump", {
description = "Clay Lump", description = S("Clay Lump"),
inventory_image = "default_clay_lump.png", inventory_image = "default_clay_lump.png",
}) })
minetest.register_craftitem("default:steel_ingot", { minetest.register_craftitem("default:steel_ingot", {
description = "Steel Ingot", description = S("Steel Ingot"),
inventory_image = "default_steel_ingot.png", inventory_image = "default_steel_ingot.png"
}) })
minetest.register_craftitem("default:copper_ingot", { minetest.register_craftitem("default:copper_ingot", {
description = "Copper Ingot", description = S("Copper Ingot"),
inventory_image = "default_copper_ingot.png", inventory_image = "default_copper_ingot.png"
}) })
minetest.register_craftitem("default:tin_ingot", { minetest.register_craftitem("default:tin_ingot", {
description = "Tin Ingot", description = S("Tin Ingot"),
inventory_image = "default_tin_ingot.png", inventory_image = "default_tin_ingot.png"
}) })
minetest.register_craftitem("default:bronze_ingot", { minetest.register_craftitem("default:bronze_ingot", {
description = "Bronze Ingot", description = S("Bronze Ingot"),
inventory_image = "default_bronze_ingot.png", inventory_image = "default_bronze_ingot.png"
}) })
minetest.register_craftitem("default:gold_ingot", { minetest.register_craftitem("default:gold_ingot", {
description = "Gold Ingot", description = S("Gold Ingot"),
inventory_image = "default_gold_ingot.png" inventory_image = "default_gold_ingot.png"
}) })
minetest.register_craftitem("default:mese_crystal_fragment", { minetest.register_craftitem("default:mese_crystal_fragment", {
description = "Mese Crystal Fragment", description = S("Mese Crystal Fragment"),
inventory_image = "default_mese_crystal_fragment.png", inventory_image = "default_mese_crystal_fragment.png",
}) })
minetest.register_craftitem("default:clay_brick", { minetest.register_craftitem("default:clay_brick", {
description = "Clay Brick", description = S("Clay Brick"),
inventory_image = "default_clay_brick.png", inventory_image = "default_clay_brick.png",
}) })
minetest.register_craftitem("default:obsidian_shard", { minetest.register_craftitem("default:obsidian_shard", {
description = "Obsidian Shard", description = S("Obsidian Shard"),
inventory_image = "default_obsidian_shard.png", inventory_image = "default_obsidian_shard.png",
}) })
minetest.register_craftitem("default:flint", { minetest.register_craftitem("default:flint", {
description = "Flint", description = S("Flint"),
inventory_image = "default_flint.png" inventory_image = "default_flint.png"
}) })
minetest.register_craftitem("default:blueberries", { minetest.register_craftitem("default:blueberries", {
description = "Blueberries", description = S("Blueberries"),
inventory_image = "default_blueberries.png", inventory_image = "default_blueberries.png",
groups = {food_blueberries = 1, food_berry = 1}, groups = {food_blueberries = 1, food_berry = 1},
on_use = minetest.item_eat(2), on_use = minetest.item_eat(2),

View File

@ -1 +0,0 @@
player_api?

View File

@ -273,6 +273,7 @@ end
-- --
-- Fence registration helper -- Fence registration helper
-- --
local fence_collision_extra = minetest.settings:get_bool("enable_fence_tall") and 3/8 or 0
function default.register_fence(name, def) function default.register_fence(name, def)
minetest.register_craft({ minetest.register_craft({
@ -291,7 +292,7 @@ function default.register_fence(name, def)
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "connected", type = "connected",
fixed = {{-1/8, -1/2, -1/8, 1/8, 1/2, 1/8}}, fixed = {-1/8, -1/2, -1/8, 1/8, 1/2, 1/8},
-- connect_top = -- connect_top =
-- connect_bottom = -- connect_bottom =
connect_front = {{-1/16, 3/16, -1/2, 1/16, 5/16, -1/8 }, connect_front = {{-1/16, 3/16, -1/2, 1/16, 5/16, -1/8 },
@ -301,7 +302,17 @@ function default.register_fence(name, def)
connect_back = {{-1/16, 3/16, 1/8, 1/16, 5/16, 1/2 }, connect_back = {{-1/16, 3/16, 1/8, 1/16, 5/16, 1/2 },
{-1/16, -5/16, 1/8, 1/16, -3/16, 1/2 }}, {-1/16, -5/16, 1/8, 1/16, -3/16, 1/2 }},
connect_right = {{ 1/8, 3/16, -1/16, 1/2, 5/16, 1/16}, connect_right = {{ 1/8, 3/16, -1/16, 1/2, 5/16, 1/16},
{1/8,-5/16,-1/16,1/2,-3/16,1/16}}, { 1/8, -5/16, -1/16, 1/2, -3/16, 1/16}}
},
collision_box = {
type = "connected",
fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8},
-- connect_top =
-- connect_bottom =
connect_front = {-1/8, -1/2, -1/2, 1/8, 1/2 + fence_collision_extra, -1/8},
connect_left = {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra, 1/8},
connect_back = {-1/8, -1/2, 1/8, 1/8, 1/2 + fence_collision_extra, 1/2},
connect_right = { 1/8, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8}
}, },
connects_to = {"group:fence", "group:wood", "group:tree", "group:wall"}, connects_to = {"group:fence", "group:wood", "group:tree", "group:wall"},
inventory_image = fence_texture, inventory_image = fence_texture,
@ -349,24 +360,28 @@ function default.register_fence_rail(name, def)
drawtype = "nodebox", drawtype = "nodebox",
node_box = { node_box = {
type = "connected", type = "connected",
fixed = { fixed = {{-1/16, 3/16, -1/16, 1/16, 5/16, 1/16},
{-1/16, 3/16, -1/16, 1/16, 5/16, 1/16}, {-1/16, -3/16, -1/16, 1/16, -5/16, 1/16}},
{-1/16, -3/16, -1/16, 1/16, -5/16, 1/16}
},
-- connect_top = -- connect_top =
-- connect_bottom = -- connect_bottom =
connect_front = { connect_front = {{-1/16, 3/16, -1/2, 1/16, 5/16, -1/16},
{-1/16, 3/16, -1/2, 1/16, 5/16, -1/16},
{-1/16, -5/16, -1/2, 1/16, -3/16, -1/16}}, {-1/16, -5/16, -1/2, 1/16, -3/16, -1/16}},
connect_left = { connect_left = {{-1/2, 3/16, -1/16, -1/16, 5/16, 1/16},
{-1/2, 3/16, -1/16, -1/16, 5/16, 1/16},
{-1/2, -5/16, -1/16, -1/16, -3/16, 1/16}}, {-1/2, -5/16, -1/16, -1/16, -3/16, 1/16}},
connect_back = { connect_back = {{-1/16, 3/16, 1/16, 1/16, 5/16, 1/2 },
{-1/16, 3/16, 1/16, 1/16, 5/16, 1/2},
{-1/16, -5/16, 1/16, 1/16, -3/16, 1/2 }}, {-1/16, -5/16, 1/16, 1/16, -3/16, 1/2 }},
connect_right = { connect_right = {{ 1/16, 3/16, -1/16, 1/2, 5/16, 1/16},
{1/16, 3/16, -1/16, 1/2, 5/16, 1/16}, { 1/16, -5/16, -1/16, 1/2, -3/16, 1/16}}
{1/16, -5/16, -1/16, 1/2, -3/16, 1/16}}, },
collision_box = {
type = "connected",
fixed = {-1/8, -1/2, -1/8, 1/8, 1/2 + fence_collision_extra, 1/8},
-- connect_top =
-- connect_bottom =
connect_front = {-1/8, -1/2, -1/2, 1/8, 1/2 + fence_collision_extra, -1/8},
connect_left = {-1/2, -1/2, -1/8, -1/8, 1/2 + fence_collision_extra, 1/8},
connect_back = {-1/8, -1/2, 1/8, 1/8, 1/2 + fence_collision_extra, 1/2},
connect_right = { 1/8, -1/2, -1/8, 1/2, 1/2 + fence_collision_extra, 1/8}
}, },
connects_to = {"group:fence", "group:wall"}, connects_to = {"group:fence", "group:wall"},
inventory_image = fence_rail_texture, inventory_image = fence_rail_texture,
@ -399,7 +414,7 @@ end
-- Prevent decay of placed leaves -- Prevent decay of placed leaves
default.after_place_leaves = function(pos, placer, itemstack, pointed_thing) default.after_place_leaves = function(pos, placer, itemstack, pointed_thing)
if placer and placer:is_player() and not placer:get_player_control().sneak then if placer and placer:is_player() then
local node = minetest.get_node(pos) local node = minetest.get_node(pos)
node.param2 = 1 node.param2 = 1
minetest.set_node(pos, node) minetest.set_node(pos, node)
@ -412,7 +427,7 @@ local function leafdecay_after_destruct(pos, oldnode, def)
vector.add(pos, def.radius), def.leaves)) do vector.add(pos, def.radius), def.leaves)) do
local node = minetest.get_node(v) local node = minetest.get_node(v)
local timer = minetest.get_node_timer(v) local timer = minetest.get_node_timer(v)
if node.param2 == 0 and not timer:is_started() then if node.param2 ~= 1 and not timer:is_started() then
timer:start(math.random(20, 120) / 10) timer:start(math.random(20, 120) / 10)
end end
end end
@ -477,7 +492,6 @@ minetest.register_abm({
neighbors = { neighbors = {
"air", "air",
"group:grass", "group:grass",
"group:dry_grass",
"default:snow", "default:snow",
}, },
interval = 6, interval = 6,
@ -504,11 +518,8 @@ 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"})
-- Most likely case first
elseif minetest.get_item_group(name, "grass") ~= 0 then elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_grass"}) minetest.set_node(pos, {name = "default:dirt_with_grass"})
elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_dry_grass"})
end end
end end
}) })
@ -520,7 +531,7 @@ minetest.register_abm({
minetest.register_abm({ minetest.register_abm({
label = "Grass covered", label = "Grass covered",
nodenames = {"group:spreading_dirt_type"}, nodenames = {"group:spreading_dirt_type", "default:dry_dirt_with_dry_grass"},
interval = 8, interval = 8,
chance = 50, chance = 50,
catch_up = false, catch_up = false,
@ -531,9 +542,13 @@ minetest.register_abm({
if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or if name ~= "ignore" and nodedef and not ((nodedef.sunlight_propagates or
nodedef.paramtype == "light") and nodedef.paramtype == "light") and
nodedef.liquidtype == "none") then nodedef.liquidtype == "none") then
if node.name == "default:dry_dirt_with_dry_grass" then
minetest.set_node(pos, {name = "default:dry_dirt"})
else
minetest.set_node(pos, {name = "default:dirt"}) minetest.set_node(pos, {name = "default:dirt"})
end end
end end
end
}) })
@ -541,22 +556,27 @@ minetest.register_abm({
-- Moss growth on cobble near water -- Moss growth on cobble near water
-- --
local moss_correspondences = {
["default:cobble"] = "default:mossycobble",
["stairs:slab_cobble"] = "stairs:slab_mossycobble",
["stairs:stair_cobble"] = "stairs:stair_mossycobble",
["stairs:stair_inner_cobble"] = "stairs:stair_inner_mossycobble",
["stairs:stair_outer_cobble"] = "stairs:stair_outer_mossycobble",
["walls:cobble"] = "walls:mossycobble",
}
minetest.register_abm({ minetest.register_abm({
label = "Moss growth", label = "Moss growth",
nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble", "walls:cobble"}, nodenames = {"default:cobble", "stairs:slab_cobble", "stairs:stair_cobble",
"stairs:stair_inner_cobble", "stairs:stair_outer_cobble",
"walls:cobble"},
neighbors = {"group:water"}, neighbors = {"group:water"},
interval = 16, interval = 16,
chance = 200, chance = 200,
catch_up = false, catch_up = false,
action = function(pos, node) action = function(pos, node)
if node.name == "default:cobble" then node.name = moss_correspondences[node.name]
minetest.set_node(pos, {name = "default:mossycobble"}) if node.name then
elseif node.name == "stairs:slab_cobble" then minetest.set_node(pos, node)
minetest.set_node(pos, {name = "stairs:slab_mossycobble", param2 = node.param2})
elseif node.name == "stairs:stair_cobble" then
minetest.set_node(pos, {name = "stairs:stair_mossycobble", param2 = node.param2})
elseif node.name == "walls:cobble" then
minetest.set_node(pos, {name = "walls:mossycobble", param2 = node.param2})
end end
end end
}) })
@ -568,7 +588,7 @@ minetest.register_abm({
-- --
function default.can_interact_with_node(player, pos) function default.can_interact_with_node(player, pos)
if player then if player and player:is_player() then
if minetest.check_player_privs(player, "protection_bypass") then if minetest.check_player_privs(player, "protection_bypass") then
return true return true
end end

View File

@ -1,3 +1,7 @@
-- default/furnace.lua
-- support for MT game translation.
local S = default.get_translator
-- --
-- Formspecs -- Formspecs
@ -8,7 +12,7 @@ function default.get_furnace_active_formspec(fuel_percent, item_percent)
"list[context;src;2.75,0.5;1,1;]".. "list[context;src;2.75,0.5;1,1;]"..
"list[context;fuel;2.75,2.5;1,1;]".. "list[context;fuel;2.75,2.5;1,1;]"..
"image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:".. "image[2.75,1.5;1,1;default_furnace_fire_bg.png^[lowpart:"..
(100-fuel_percent)..":default_furnace_fire_fg.png]".. (fuel_percent)..":default_furnace_fire_fg.png]"..
"image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:".. "image[3.75,1.5;1,1;gui_furnace_arrow_bg.png^[lowpart:"..
(item_percent)..":gui_furnace_arrow_fg.png^[transformR270]".. (item_percent)..":gui_furnace_arrow_fg.png^[transformR270]"..
"list[context;dst;4.75,0.96;2,2;]".. "list[context;dst;4.75,0.96;2,2;]"..
@ -60,7 +64,7 @@ local function allow_metadata_inventory_put(pos, listname, index, stack, player)
if listname == "fuel" then if listname == "fuel" then
if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then if minetest.get_craft_result({method="fuel", width=1, items={stack}}).time ~= 0 then
if inv:is_empty("src") then if inv:is_empty("src") then
meta:set_string("infotext", "Furnace is empty") meta:set_string("infotext", S("Furnace is empty"))
end end
return stack:get_count() return stack:get_count()
else else
@ -98,7 +102,7 @@ end
local function furnace_node_timer(pos, elapsed) local function furnace_node_timer(pos, elapsed)
-- --
-- Inizialize metadata -- Initialize metadata
-- --
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
local fuel_time = meta:get_float("fuel_time") or 0 local fuel_time = meta:get_float("fuel_time") or 0
@ -107,6 +111,7 @@ local function furnace_node_timer(pos, elapsed)
local inv = meta:get_inventory() local inv = meta:get_inventory()
local srclist, fuellist local srclist, fuellist
local dst_full = false
local cookable, cooked local cookable, cooked
local fuel local fuel
@ -146,6 +151,8 @@ local function furnace_node_timer(pos, elapsed)
inv:set_stack("src", 1, aftercooked.items[1]) inv:set_stack("src", 1, aftercooked.items[1])
src_time = src_time - cooked.time src_time = src_time - cooked.time
update = true update = true
else
dst_full = true
end end
else else
-- Item could not be cooked: probably missing fuel -- Item could not be cooked: probably missing fuel
@ -166,6 +173,16 @@ local function furnace_node_timer(pos, elapsed)
else else
-- Take fuel from fuel list -- Take fuel from fuel list
inv:set_stack("fuel", 1, afterfuel.items[1]) inv:set_stack("fuel", 1, afterfuel.items[1])
-- Put replacements in dst list or drop them on the furnace.
local replacements = fuel.replacements
if replacements[1] then
local leftover = inv:add_item("dst", replacements[1])
if not leftover:is_empty() then
local above = vector.new(pos.x, pos.y + 1, pos.z)
local drop_pos = minetest.find_node_near(above, 1, {"air"}) or above
minetest.item_drop(replacements[1], nil, drop_pos)
end
end
update = true update = true
fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time) fuel_totaltime = fuel.time + (fuel_totaltime - fuel_time)
end end
@ -183,7 +200,7 @@ local function furnace_node_timer(pos, elapsed)
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
if srclist[1]:is_empty() then if srclist and srclist[1]:is_empty() then
src_time = 0 src_time = 0
end end
@ -195,34 +212,34 @@ local function furnace_node_timer(pos, elapsed)
local item_percent = 0 local item_percent = 0
if cookable then if cookable then
item_percent = math.floor(src_time / cooked.time * 100) item_percent = math.floor(src_time / cooked.time * 100)
if item_percent > 100 then if dst_full then
item_state = "100% (output full)" item_state = S("100% (output full)")
else else
item_state = item_percent .. "%" item_state = S("@1%", item_percent)
end end
else else
if srclist[1]:is_empty() then if srclist and not srclist[1]:is_empty() then
item_state = "Empty" item_state = S("Not cookable")
else else
item_state = "Not cookable" item_state = S("Empty")
end end
end end
local fuel_state = "Empty" local fuel_state = S("Empty")
local active = "inactive" local active = false
local result = false local result = false
if fuel_totaltime ~= 0 then if fuel_totaltime ~= 0 then
active = "active" active = true
local fuel_percent = math.floor(fuel_time / fuel_totaltime * 100) local fuel_percent = 100 - math.floor(fuel_time / fuel_totaltime * 100)
fuel_state = fuel_percent .. "%" fuel_state = S("@1%", fuel_percent)
formspec = default.get_furnace_active_formspec(fuel_percent, item_percent) formspec = default.get_furnace_active_formspec(fuel_percent, item_percent)
swap_node(pos, "default:furnace_active") swap_node(pos, "default:furnace_active")
-- make sure timer restarts automatically -- make sure timer restarts automatically
result = true result = true
else else
if not fuellist[1]:is_empty() then if fuellist and not fuellist[1]:is_empty() then
fuel_state = "0%" fuel_state = S("@1%", 0)
end end
formspec = default.get_furnace_inactive_formspec() formspec = default.get_furnace_inactive_formspec()
swap_node(pos, "default:furnace") swap_node(pos, "default:furnace")
@ -230,8 +247,14 @@ local function furnace_node_timer(pos, elapsed)
minetest.get_node_timer(pos):stop() minetest.get_node_timer(pos):stop()
end end
local infotext = "Furnace " .. active .. "\n(Item: " .. item_state ..
"; Fuel: " .. fuel_state .. ")" local infotext
if active then
infotext = S("Furnace active")
else
infotext = S("Furnace inactive")
end
infotext = infotext .. "\n" .. S("(Item: @1; Fuel: @2)", item_state, fuel_state)
-- --
-- Set meta values -- Set meta values
@ -250,7 +273,7 @@ end
-- --
minetest.register_node("default:furnace", { minetest.register_node("default:furnace", {
description = "Furnace", description = S("Furnace"),
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_top.png", "default_furnace_bottom.png",
"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png",
@ -268,11 +291,11 @@ minetest.register_node("default:furnace", {
on_construct = function(pos) on_construct = function(pos)
local meta = minetest.get_meta(pos) local meta = minetest.get_meta(pos)
meta:set_string("formspec", default.get_furnace_inactive_formspec())
local inv = meta:get_inventory() local inv = meta:get_inventory()
inv:set_size('src', 1) inv:set_size('src', 1)
inv:set_size('fuel', 1) inv:set_size('fuel', 1)
inv:set_size('dst', 4) inv:set_size('dst', 4)
furnace_node_timer(pos, 0)
end, end,
on_metadata_inventory_move = function(pos) on_metadata_inventory_move = function(pos)
@ -298,7 +321,7 @@ minetest.register_node("default:furnace", {
}) })
minetest.register_node("default:furnace_active", { minetest.register_node("default:furnace_active", {
description = "Furnace", description = S("Furnace"),
tiles = { tiles = {
"default_furnace_top.png", "default_furnace_bottom.png", "default_furnace_top.png", "default_furnace_bottom.png",
"default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png", "default_furnace_side.png",

View File

@ -3,16 +3,21 @@
-- The API documentation in here was moved into game_api.txt -- The API documentation in here was moved into game_api.txt
-- Load support for MT game translation.
local S = minetest.get_translator("default")
-- Definitions made by this mod that other mods can use too -- Definitions made by this mod that other mods can use too
default = {} default = {}
default.LIGHT_MAX = 14 default.LIGHT_MAX = 14
default.get_translator = S
-- GUI related stuff -- GUI related stuff
minetest.register_on_joinplayer(function(player) minetest.register_on_joinplayer(function(player)
player:set_formspec_prepend([[ player:set_formspec_prepend([[
bgcolor[#080808BB;true] bgcolor[#080808BB;true]
background[5,5;1,1;gui_formbg.png;true] background[5,5;1,1;gui_formbg.png;true]
background9[5,5;1,1;gui_formbg.png;true;10]
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]) listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]])
end) end)

View File

@ -45,5 +45,5 @@ default.register_chest = default.chest.register_chest
function default.intersects_protection(minp, maxp, player_name, interval) function default.intersects_protection(minp, maxp, player_name, interval)
minetest.log("warning", "default.intersects_protection() is " .. minetest.log("warning", "default.intersects_protection() is " ..
"deprecated, use minetest.is_area_protected() instead.") "deprecated, use minetest.is_area_protected() instead.")
minetest.is_area_protected(minp, maxp, player_name, interval) return minetest.is_area_protected(minp, maxp, player_name, interval)
end end

View File

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

View File

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

View File

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

View File

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

View File

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=
Locked Chest (owned by @1)=
You do not own this chest.=
a locked chest=
Chest=
Stick=
Paper=
"@1" by @2=
Book=
Book with Text=
Skeleton Key=
Key to @1's @2=
Coal Lump=
Iron Lump=
Copper Lump=
Tin Lump=
Mese Crystal=
Gold Lump=
Diamond=
Clay Lump=
Steel Ingot=
Copper Ingot=
Tin Ingot=
Bronze Ingot=
Gold Ingot=
Mese Crystal Fragment=
Clay Brick=
Obsidian Shard=
Flint=
Blueberries=
Furnace is empty=
100% (output full)=
@1%=
Empty=
Not cookable=
Furnace active=
Furnace inactive=
(Item: @1; Fuel: @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 Dry Grass=
Dirt with Snow=
Dirt with Rainforest Litter=
Dirt with Coniferous Litter=
Dry Dirt=
Dry Dirt with Dry 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=
Dry 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)=
Bookshelf=
Text too long=
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=
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=
Key=
Torch=
@1 will intersect protection on growth.=
Title:=
Contents:=
Save=
by @1=
Page @1 of @2=
"@1"=

View File

@ -2,13 +2,18 @@
-- Aliases for map generators -- Aliases for map generators
-- --
-- All mapgens
minetest.register_alias("mapgen_stone", "default:stone") minetest.register_alias("mapgen_stone", "default:stone")
minetest.register_alias("mapgen_water_source", "default:water_source")
minetest.register_alias("mapgen_river_water_source", "default:river_water_source")
-- Additional aliases needed for mapgen v6
minetest.register_alias("mapgen_lava_source", "default:lava_source")
minetest.register_alias("mapgen_dirt", "default:dirt") minetest.register_alias("mapgen_dirt", "default:dirt")
minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass") minetest.register_alias("mapgen_dirt_with_grass", "default:dirt_with_grass")
minetest.register_alias("mapgen_sand", "default:sand") minetest.register_alias("mapgen_sand", "default:sand")
minetest.register_alias("mapgen_water_source", "default:water_source")
minetest.register_alias("mapgen_river_water_source", "default:river_water_source")
minetest.register_alias("mapgen_lava_source", "default:lava_source")
minetest.register_alias("mapgen_gravel", "default:gravel") minetest.register_alias("mapgen_gravel", "default:gravel")
minetest.register_alias("mapgen_desert_stone", "default:desert_stone") minetest.register_alias("mapgen_desert_stone", "default:desert_stone")
minetest.register_alias("mapgen_desert_sand", "default:desert_sand") minetest.register_alias("mapgen_desert_sand", "default:desert_sand")
@ -16,9 +21,6 @@ minetest.register_alias("mapgen_dirt_with_snow", "default:dirt_with_snow")
minetest.register_alias("mapgen_snowblock", "default:snowblock") minetest.register_alias("mapgen_snowblock", "default:snowblock")
minetest.register_alias("mapgen_snow", "default:snow") minetest.register_alias("mapgen_snow", "default:snow")
minetest.register_alias("mapgen_ice", "default:ice") minetest.register_alias("mapgen_ice", "default:ice")
minetest.register_alias("mapgen_sandstone", "default:sandstone")
-- Flora
minetest.register_alias("mapgen_tree", "default:tree") minetest.register_alias("mapgen_tree", "default:tree")
minetest.register_alias("mapgen_leaves", "default:leaves") minetest.register_alias("mapgen_leaves", "default:leaves")
@ -29,14 +31,10 @@ minetest.register_alias("mapgen_junglegrass", "default:junglegrass")
minetest.register_alias("mapgen_pine_tree", "default:pine_tree") minetest.register_alias("mapgen_pine_tree", "default:pine_tree")
minetest.register_alias("mapgen_pine_needles", "default:pine_needles") minetest.register_alias("mapgen_pine_needles", "default:pine_needles")
-- Dungeons
minetest.register_alias("mapgen_cobble", "default:cobble") minetest.register_alias("mapgen_cobble", "default:cobble")
minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble") minetest.register_alias("mapgen_stair_cobble", "stairs:stair_cobble")
minetest.register_alias("mapgen_mossycobble", "default:mossycobble") minetest.register_alias("mapgen_mossycobble", "default:mossycobble")
minetest.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone") minetest.register_alias("mapgen_stair_desert_stone", "stairs:stair_desert_stone")
minetest.register_alias("mapgen_sandstonebrick", "default:sandstonebrick")
minetest.register_alias("mapgen_stair_sandstone_block", "stairs:stair_sandstone_block")
-- --
@ -554,14 +552,6 @@ function default.register_ores()
octaves = 1, octaves = 1,
persist = 0.0 persist = 0.0
}, },
biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean",
"taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean",
"grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest",
"coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest",
"deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert",
"cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean",
"rainforest", "rainforest_swamp", "rainforest_ocean", "underground",
"floatland_coniferous_forest", "floatland_coniferous_forest_ocean"}
}) })
-- Dirt -- Dirt
@ -583,9 +573,10 @@ function default.register_ores()
octaves = 1, octaves = 1,
persist = 0.0 persist = 0.0
}, },
-- Only where default:dirt is present as surface material
biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest", biomes = {"taiga", "snowy_grassland", "grassland", "coniferous_forest",
"deciduous_forest", "deciduous_forest_shore", "savanna", "savanna_shore", "deciduous_forest", "deciduous_forest_shore", "rainforest",
"rainforest", "rainforest_swamp", "floatland_coniferous_forest"} "rainforest_swamp", "floatland_coniferous_forest"}
}) })
-- Gravel -- Gravel
@ -607,14 +598,6 @@ function default.register_ores()
octaves = 1, octaves = 1,
persist = 0.0 persist = 0.0
}, },
biomes = {"icesheet_ocean", "tundra", "tundra_beach", "tundra_ocean",
"taiga", "taiga_ocean", "snowy_grassland", "snowy_grassland_ocean",
"grassland", "grassland_dunes", "grassland_ocean", "coniferous_forest",
"coniferous_forest_dunes", "coniferous_forest_ocean", "deciduous_forest",
"deciduous_forest_shore", "deciduous_forest_ocean", "cold_desert",
"cold_desert_ocean", "savanna", "savanna_shore", "savanna_ocean",
"rainforest", "rainforest_swamp", "rainforest_ocean", "underground",
"floatland_coniferous_forest", "floatland_coniferous_forest_ocean"}
}) })
-- Scatter ores -- Scatter ores
@ -924,6 +907,8 @@ function default.register_biomes(upper_limit)
node_river_water = "default:ice", node_river_water = "default:ice",
node_riverbed = "default:gravel", node_riverbed = "default:gravel",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:ice",
node_dungeon_stair = "stairs:stair_ice",
y_max = upper_limit, y_max = upper_limit,
y_min = -8, y_min = -8,
heat_point = 0, heat_point = 0,
@ -939,8 +924,24 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_water_top = "default:ice", node_water_top = "default:ice",
depth_water_top = 10, depth_water_top = 10,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -9, y_max = -9,
y_min = -112, y_min = -255,
heat_point = 0,
humidity_point = 73,
})
minetest.register_biome({
name = "icesheet_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 0, heat_point = 0,
humidity_point = 73, humidity_point = 73,
}) })
@ -952,6 +953,9 @@ function default.register_biomes(upper_limit)
node_dust = "default:snow", node_dust = "default:snow",
node_riverbed = "default:gravel", node_riverbed = "default:gravel",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 47, y_min = 47,
heat_point = 0, heat_point = 0,
@ -966,6 +970,9 @@ function default.register_biomes(upper_limit)
depth_filler = 1, depth_filler = 1,
node_riverbed = "default:gravel", node_riverbed = "default:gravel",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 4, vertical_blend = 4,
y_max = 46, y_max = 46,
y_min = 2, y_min = 2,
@ -981,6 +988,9 @@ function default.register_biomes(upper_limit)
depth_filler = 2, depth_filler = 2,
node_riverbed = "default:gravel", node_riverbed = "default:gravel",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = 1, y_max = 1,
y_min = -3, y_min = -3,
@ -996,9 +1006,25 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:gravel", node_riverbed = "default:gravel",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = -4, y_max = -4,
y_min = -112, y_min = -255,
heat_point = 0,
humidity_point = 40,
})
minetest.register_biome({
name = "tundra_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 0, heat_point = 0,
humidity_point = 40, humidity_point = 40,
}) })
@ -1014,6 +1040,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 4, y_min = 4,
heat_point = 25, heat_point = 25,
@ -1029,9 +1058,25 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 25,
humidity_point = 70,
})
minetest.register_biome({
name = "taiga_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 25, heat_point = 25,
humidity_point = 70, humidity_point = 70,
}) })
@ -1047,6 +1092,9 @@ function default.register_biomes(upper_limit)
depth_filler = 1, depth_filler = 1,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 4, y_min = 4,
heat_point = 20, heat_point = 20,
@ -1062,9 +1110,25 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 20,
humidity_point = 35,
})
minetest.register_biome({
name = "snowy_grassland_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 20, heat_point = 20,
humidity_point = 35, humidity_point = 35,
}) })
@ -1079,6 +1143,9 @@ function default.register_biomes(upper_limit)
depth_filler = 1, depth_filler = 1,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 6, y_min = 6,
heat_point = 50, heat_point = 50,
@ -1093,6 +1160,9 @@ function default.register_biomes(upper_limit)
depth_filler = 2, depth_filler = 2,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = 5, y_max = 5,
y_min = 4, y_min = 4,
@ -1108,8 +1178,24 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 50,
humidity_point = 35,
})
minetest.register_biome({
name = "grassland_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 50, heat_point = 50,
humidity_point = 35, humidity_point = 35,
}) })
@ -1124,6 +1210,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 6, y_min = 6,
heat_point = 45, heat_point = 45,
@ -1138,6 +1227,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = 5, y_max = 5,
y_min = 4, y_min = 4,
@ -1153,8 +1245,24 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 45,
humidity_point = 70,
})
minetest.register_biome({
name = "coniferous_forest_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 45, heat_point = 45,
humidity_point = 70, humidity_point = 70,
}) })
@ -1169,6 +1277,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 1, y_min = 1,
heat_point = 60, heat_point = 60,
@ -1183,6 +1294,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 0, y_max = 0,
y_min = -1, y_min = -1,
heat_point = 60, heat_point = 60,
@ -1197,9 +1311,25 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = -2, y_max = -2,
y_min = -112, y_min = -255,
heat_point = 60,
humidity_point = 68,
})
minetest.register_biome({
name = "deciduous_forest_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 60, heat_point = 60,
humidity_point = 68, humidity_point = 68,
}) })
@ -1215,6 +1345,8 @@ function default.register_biomes(upper_limit)
node_stone = "default:desert_stone", node_stone = "default:desert_stone",
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:desert_stone",
node_dungeon_stair = "stairs:stair_desert_stone",
y_max = upper_limit, y_max = upper_limit,
y_min = 4, y_min = 4,
heat_point = 92, heat_point = 92,
@ -1230,9 +1362,24 @@ function default.register_biomes(upper_limit)
node_stone = "default:desert_stone", node_stone = "default:desert_stone",
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:desert_stone",
node_dungeon_stair = "stairs:stair_desert_stone",
vertical_blend = 1, vertical_blend = 1,
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 92,
humidity_point = 16,
})
minetest.register_biome({
name = "desert_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 92, heat_point = 92,
humidity_point = 16, humidity_point = 16,
}) })
@ -1248,6 +1395,8 @@ function default.register_biomes(upper_limit)
node_stone = "default:sandstone", node_stone = "default:sandstone",
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:sandstonebrick",
node_dungeon_stair = "stairs:stair_sandstone_block",
y_max = upper_limit, y_max = upper_limit,
y_min = 4, y_min = 4,
heat_point = 60, heat_point = 60,
@ -1263,8 +1412,23 @@ function default.register_biomes(upper_limit)
node_stone = "default:sandstone", node_stone = "default:sandstone",
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:sandstonebrick",
node_dungeon_stair = "stairs:stair_sandstone_block",
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 60,
humidity_point = 0,
})
minetest.register_biome({
name = "sandstone_desert_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 60, heat_point = 60,
humidity_point = 0, humidity_point = 0,
}) })
@ -1279,6 +1443,9 @@ function default.register_biomes(upper_limit)
depth_filler = 1, depth_filler = 1,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 4, y_min = 4,
heat_point = 40, heat_point = 40,
@ -1293,9 +1460,25 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = 3, y_max = 3,
y_min = -112, y_min = -255,
heat_point = 40,
humidity_point = 0,
})
minetest.register_biome({
name = "cold_desert_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 40, heat_point = 40,
humidity_point = 0, humidity_point = 0,
}) })
@ -1304,12 +1487,15 @@ function default.register_biomes(upper_limit)
minetest.register_biome({ minetest.register_biome({
name = "savanna", name = "savanna",
node_top = "default:dirt_with_dry_grass", node_top = "default:dry_dirt_with_dry_grass",
depth_top = 1, depth_top = 1,
node_filler = "default:dirt", node_filler = "default:dry_dirt",
depth_filler = 1, depth_filler = 1,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 1, y_min = 1,
heat_point = 89, heat_point = 89,
@ -1318,12 +1504,15 @@ function default.register_biomes(upper_limit)
minetest.register_biome({ minetest.register_biome({
name = "savanna_shore", name = "savanna_shore",
node_top = "default:dirt", node_top = "default:dry_dirt",
depth_top = 1, depth_top = 1,
node_filler = "default:dirt", node_filler = "default:dry_dirt",
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 0, y_max = 0,
y_min = -1, y_min = -1,
heat_point = 89, heat_point = 89,
@ -1338,9 +1527,25 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = -2, y_max = -2,
y_min = -112, y_min = -255,
heat_point = 89,
humidity_point = 42,
})
minetest.register_biome({
name = "savanna_under",
node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000,
heat_point = 89, heat_point = 89,
humidity_point = 42, humidity_point = 42,
}) })
@ -1355,6 +1560,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = upper_limit,
y_min = 1, y_min = 1,
heat_point = 86, heat_point = 86,
@ -1369,6 +1577,9 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 0, y_max = 0,
y_min = -1, y_min = -1,
heat_point = 86, heat_point = 86,
@ -1383,21 +1594,27 @@ function default.register_biomes(upper_limit)
depth_filler = 3, depth_filler = 3,
node_riverbed = "default:sand", node_riverbed = "default:sand",
depth_riverbed = 2, depth_riverbed = 2,
node_cave_liquid = "default:water_source",
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
vertical_blend = 1, vertical_blend = 1,
y_max = -2, y_max = -2,
y_min = -112, y_min = -255,
heat_point = 86, heat_point = 86,
humidity_point = 65, humidity_point = 65,
}) })
-- Underground
minetest.register_biome({ minetest.register_biome({
name = "underground", name = "rainforest_under",
y_max = -113, node_cave_liquid = {"default:water_source", "default:lava_source"},
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = -256,
y_min = -31000, y_min = -31000,
heat_point = 50, heat_point = 86,
humidity_point = 50, humidity_point = 65,
}) })
end end
@ -1414,6 +1631,9 @@ function default.register_floatland_biomes(floatland_level, shadow_limit)
depth_top = 1, depth_top = 1,
node_filler = "default:dirt", node_filler = "default:dirt",
depth_filler = 1, depth_filler = 1,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000, y_max = 31000,
y_min = floatland_level + 2, y_min = floatland_level + 2,
heat_point = 50, heat_point = 50,
@ -1426,6 +1646,9 @@ function default.register_floatland_biomes(floatland_level, shadow_limit)
depth_top = 1, depth_top = 1,
node_filler = "default:dirt", node_filler = "default:dirt",
depth_filler = 3, depth_filler = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000, y_max = 31000,
y_min = floatland_level + 2, y_min = floatland_level + 2,
heat_point = 50, heat_point = 50,
@ -1438,6 +1661,9 @@ function default.register_floatland_biomes(floatland_level, shadow_limit)
depth_top = 1, depth_top = 1,
node_filler = "default:sand", node_filler = "default:sand",
depth_filler = 3, depth_filler = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = floatland_level + 1, y_max = floatland_level + 1,
y_min = shadow_limit, y_min = shadow_limit,
heat_point = 50, heat_point = 50,
@ -1572,7 +1798,7 @@ local function register_dry_grass_decoration(offset, scale, length)
minetest.register_decoration({ minetest.register_decoration({
name = "default:dry_grass_" .. length, name = "default:dry_grass_" .. length,
deco_type = "simple", deco_type = "simple",
place_on = {"default:dirt_with_dry_grass"}, place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = offset, offset = offset,
@ -1612,6 +1838,30 @@ end
function default.register_decorations() function default.register_decorations()
-- Savanna bare dirt patches.
-- Must come before all savanna decorations that are placed on dry grass.
-- Noise is similar to long dry grass noise, but scale inverted, to appear
-- where long dry grass is least dense and shortest.
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 4,
noise_params = {
offset = -1.5,
scale = -1.5,
spread = {x = 200, y = 200, z = 200},
seed = 329,
octaves = 4,
persist = 1.0
},
biomes = {"savanna"},
y_max = 31000,
y_min = 1,
decoration = "default:dry_dirt",
place_offset_y = -1,
flags = "force_placement",
})
-- Apple tree and log -- Apple tree and log
@ -1786,7 +2036,7 @@ function default.register_decorations()
minetest.register_decoration({ minetest.register_decoration({
name = "default:acacia_tree", name = "default:acacia_tree",
deco_type = "schematic", deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"}, place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = 0, offset = 0,
@ -1807,7 +2057,7 @@ function default.register_decorations()
minetest.register_decoration({ minetest.register_decoration({
name = "default:acacia_log", name = "default:acacia_log",
deco_type = "schematic", deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"}, place_on = {"default:dry_dirt_with_dry_grass"},
place_offset_y = 1, place_offset_y = 1,
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
@ -1824,7 +2074,7 @@ function default.register_decorations()
schematic = minetest.get_modpath("default") .. "/schematics/acacia_log.mts", schematic = minetest.get_modpath("default") .. "/schematics/acacia_log.mts",
flags = "place_center_x", flags = "place_center_x",
rotation = "random", rotation = "random",
spawn_by = "default:dirt_with_dry_grass", spawn_by = "default:dry_dirt_with_dry_grass",
num_spawn_by = 8, num_spawn_by = 8,
}) })
@ -1992,7 +2242,7 @@ function default.register_decorations()
minetest.register_decoration({ minetest.register_decoration({
name = "default:acacia_bush", name = "default:acacia_bush",
deco_type = "schematic", deco_type = "schematic",
place_on = {"default:dirt_with_dry_grass"}, place_on = {"default:dry_dirt_with_dry_grass"},
sidelen = 16, sidelen = 16,
noise_params = { noise_params = {
offset = -0.004, offset = -0.004,
@ -2098,13 +2348,13 @@ function default.register_decorations()
place_on = {"default:sand"}, place_on = {"default:sand"},
sidelen = 4, sidelen = 4,
noise_params = { noise_params = {
offset = -0.4, offset = -0.7,
scale = 3.0, scale = 4.0,
spread = {x = 16, y = 16, z = 16}, spread = {x = 16, y = 16, z = 16},
seed = 513337, seed = 513337,
octaves = 1, octaves = 1,
persist = 0.5, persist = 0.0,
flags = "absvalue" flags = "absvalue, eased"
}, },
biomes = {"coniferous_forest_dunes", "grassland_dunes"}, biomes = {"coniferous_forest_dunes", "grassland_dunes"},
y_max = 6, y_max = 6,

3
mods/default/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = default
description = Minetest Game mod: default
optional_depends = player_api

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 377 B

After

Width:  |  Height:  |  Size: 461 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 779 B

After

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 269 B

View File

@ -1,5 +1,8 @@
-- mods/default/tools.lua -- mods/default/tools.lua
-- support for MT game translation.
local S = default.get_translator
-- The hand -- The hand
minetest.register_item(":", { minetest.register_item(":", {
type = "none", type = "none",
@ -22,7 +25,7 @@ minetest.register_item(":", {
-- --
minetest.register_tool("default:pick_wood", { minetest.register_tool("default:pick_wood", {
description = "Wooden Pickaxe", description = S("Wooden Pickaxe"),
inventory_image = "default_tool_woodpick.png", inventory_image = "default_tool_woodpick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
@ -32,12 +35,12 @@ minetest.register_tool("default:pick_wood", {
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy=2},
}, },
groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1, flammable = 2}
}) })
minetest.register_tool("default:pick_stone", { minetest.register_tool("default:pick_stone", {
description = "Stone Pickaxe", description = S("Stone Pickaxe"),
inventory_image = "default_tool_stonepick.png", inventory_image = "default_tool_stonepick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.3, full_punch_interval = 1.3,
@ -48,10 +51,11 @@ minetest.register_tool("default:pick_stone", {
damage_groups = {fleshy=3}, damage_groups = {fleshy=3},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
}) })
minetest.register_tool("default:pick_bronze", { minetest.register_tool("default:pick_bronze", {
description = "Bronze Pickaxe", description = S("Bronze Pickaxe"),
inventory_image = "default_tool_bronzepick.png", inventory_image = "default_tool_bronzepick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
@ -62,10 +66,11 @@ minetest.register_tool("default:pick_bronze", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
}) })
minetest.register_tool("default:pick_steel", { minetest.register_tool("default:pick_steel", {
description = "Steel Pickaxe", description = S("Steel Pickaxe"),
inventory_image = "default_tool_steelpick.png", inventory_image = "default_tool_steelpick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
@ -76,10 +81,11 @@ minetest.register_tool("default:pick_steel", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
}) })
minetest.register_tool("default:pick_mese", { minetest.register_tool("default:pick_mese", {
description = "Mese Pickaxe", description = S("Mese Pickaxe"),
inventory_image = "default_tool_mesepick.png", inventory_image = "default_tool_mesepick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
@ -90,10 +96,11 @@ minetest.register_tool("default:pick_mese", {
damage_groups = {fleshy=5}, damage_groups = {fleshy=5},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
}) })
minetest.register_tool("default:pick_diamond", { minetest.register_tool("default:pick_diamond", {
description = "Diamond Pickaxe", description = S("Diamond Pickaxe"),
inventory_image = "default_tool_diamondpick.png", inventory_image = "default_tool_diamondpick.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
@ -104,6 +111,7 @@ minetest.register_tool("default:pick_diamond", {
damage_groups = {fleshy=5}, damage_groups = {fleshy=5},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {pickaxe = 1}
}) })
-- --
@ -111,7 +119,7 @@ minetest.register_tool("default:pick_diamond", {
-- --
minetest.register_tool("default:shovel_wood", { minetest.register_tool("default:shovel_wood", {
description = "Wooden Shovel", description = S("Wooden Shovel"),
inventory_image = "default_tool_woodshovel.png", inventory_image = "default_tool_woodshovel.png",
wield_image = "default_tool_woodshovel.png^[transformR90", wield_image = "default_tool_woodshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
@ -122,12 +130,12 @@ minetest.register_tool("default:shovel_wood", {
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy=2},
}, },
groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {shovel = 1, flammable = 2}
}) })
minetest.register_tool("default:shovel_stone", { minetest.register_tool("default:shovel_stone", {
description = "Stone Shovel", description = S("Stone Shovel"),
inventory_image = "default_tool_stoneshovel.png", inventory_image = "default_tool_stoneshovel.png",
wield_image = "default_tool_stoneshovel.png^[transformR90", wield_image = "default_tool_stoneshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
@ -139,10 +147,11 @@ minetest.register_tool("default:shovel_stone", {
damage_groups = {fleshy=2}, damage_groups = {fleshy=2},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {shovel = 1}
}) })
minetest.register_tool("default:shovel_bronze", { minetest.register_tool("default:shovel_bronze", {
description = "Bronze Shovel", description = S("Bronze Shovel"),
inventory_image = "default_tool_bronzeshovel.png", inventory_image = "default_tool_bronzeshovel.png",
wield_image = "default_tool_bronzeshovel.png^[transformR90", wield_image = "default_tool_bronzeshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
@ -154,10 +163,11 @@ minetest.register_tool("default:shovel_bronze", {
damage_groups = {fleshy=3}, damage_groups = {fleshy=3},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {shovel = 1}
}) })
minetest.register_tool("default:shovel_steel", { minetest.register_tool("default:shovel_steel", {
description = "Steel Shovel", description = S("Steel Shovel"),
inventory_image = "default_tool_steelshovel.png", inventory_image = "default_tool_steelshovel.png",
wield_image = "default_tool_steelshovel.png^[transformR90", wield_image = "default_tool_steelshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
@ -169,10 +179,11 @@ minetest.register_tool("default:shovel_steel", {
damage_groups = {fleshy=3}, damage_groups = {fleshy=3},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {shovel = 1}
}) })
minetest.register_tool("default:shovel_mese", { minetest.register_tool("default:shovel_mese", {
description = "Mese Shovel", description = S("Mese Shovel"),
inventory_image = "default_tool_meseshovel.png", inventory_image = "default_tool_meseshovel.png",
wield_image = "default_tool_meseshovel.png^[transformR90", wield_image = "default_tool_meseshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
@ -184,10 +195,11 @@ minetest.register_tool("default:shovel_mese", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {shovel = 1}
}) })
minetest.register_tool("default:shovel_diamond", { minetest.register_tool("default:shovel_diamond", {
description = "Diamond Shovel", description = S("Diamond Shovel"),
inventory_image = "default_tool_diamondshovel.png", inventory_image = "default_tool_diamondshovel.png",
wield_image = "default_tool_diamondshovel.png^[transformR90", wield_image = "default_tool_diamondshovel.png^[transformR90",
tool_capabilities = { tool_capabilities = {
@ -199,6 +211,7 @@ minetest.register_tool("default:shovel_diamond", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {shovel = 1}
}) })
-- --
@ -206,7 +219,7 @@ minetest.register_tool("default:shovel_diamond", {
-- --
minetest.register_tool("default:axe_wood", { minetest.register_tool("default:axe_wood", {
description = "Wooden Axe", description = S("Wooden Axe"),
inventory_image = "default_tool_woodaxe.png", inventory_image = "default_tool_woodaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
@ -216,12 +229,12 @@ minetest.register_tool("default:axe_wood", {
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy=2},
}, },
groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {axe = 1, flammable = 2}
}) })
minetest.register_tool("default:axe_stone", { minetest.register_tool("default:axe_stone", {
description = "Stone Axe", description = S("Stone Axe"),
inventory_image = "default_tool_stoneaxe.png", inventory_image = "default_tool_stoneaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
@ -232,10 +245,11 @@ minetest.register_tool("default:axe_stone", {
damage_groups = {fleshy=3}, damage_groups = {fleshy=3},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {axe = 1}
}) })
minetest.register_tool("default:axe_bronze", { minetest.register_tool("default:axe_bronze", {
description = "Bronze Axe", description = S("Bronze Axe"),
inventory_image = "default_tool_bronzeaxe.png", inventory_image = "default_tool_bronzeaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
@ -246,10 +260,11 @@ minetest.register_tool("default:axe_bronze", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {axe = 1}
}) })
minetest.register_tool("default:axe_steel", { minetest.register_tool("default:axe_steel", {
description = "Steel Axe", description = S("Steel Axe"),
inventory_image = "default_tool_steelaxe.png", inventory_image = "default_tool_steelaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.0, full_punch_interval = 1.0,
@ -260,10 +275,11 @@ minetest.register_tool("default:axe_steel", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {axe = 1}
}) })
minetest.register_tool("default:axe_mese", { minetest.register_tool("default:axe_mese", {
description = "Mese Axe", description = S("Mese Axe"),
inventory_image = "default_tool_meseaxe.png", inventory_image = "default_tool_meseaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
@ -274,10 +290,11 @@ minetest.register_tool("default:axe_mese", {
damage_groups = {fleshy=6}, damage_groups = {fleshy=6},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {axe = 1}
}) })
minetest.register_tool("default:axe_diamond", { minetest.register_tool("default:axe_diamond", {
description = "Diamond Axe", description = S("Diamond Axe"),
inventory_image = "default_tool_diamondaxe.png", inventory_image = "default_tool_diamondaxe.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.9, full_punch_interval = 0.9,
@ -288,6 +305,7 @@ minetest.register_tool("default:axe_diamond", {
damage_groups = {fleshy=7}, damage_groups = {fleshy=7},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {axe = 1}
}) })
-- --
@ -295,7 +313,7 @@ minetest.register_tool("default:axe_diamond", {
-- --
minetest.register_tool("default:sword_wood", { minetest.register_tool("default:sword_wood", {
description = "Wooden Sword", description = S("Wooden Sword"),
inventory_image = "default_tool_woodsword.png", inventory_image = "default_tool_woodsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1, full_punch_interval = 1,
@ -305,12 +323,12 @@ minetest.register_tool("default:sword_wood", {
}, },
damage_groups = {fleshy=2}, damage_groups = {fleshy=2},
}, },
groups = {flammable = 2},
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {sword = 1, flammable = 2}
}) })
minetest.register_tool("default:sword_stone", { minetest.register_tool("default:sword_stone", {
description = "Stone Sword", description = S("Stone Sword"),
inventory_image = "default_tool_stonesword.png", inventory_image = "default_tool_stonesword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 1.2, full_punch_interval = 1.2,
@ -321,10 +339,11 @@ minetest.register_tool("default:sword_stone", {
damage_groups = {fleshy=4}, damage_groups = {fleshy=4},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {sword = 1}
}) })
minetest.register_tool("default:sword_bronze", { minetest.register_tool("default:sword_bronze", {
description = "Bronze Sword", description = S("Bronze Sword"),
inventory_image = "default_tool_bronzesword.png", inventory_image = "default_tool_bronzesword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.8, full_punch_interval = 0.8,
@ -335,10 +354,11 @@ minetest.register_tool("default:sword_bronze", {
damage_groups = {fleshy=6}, damage_groups = {fleshy=6},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {sword = 1}
}) })
minetest.register_tool("default:sword_steel", { minetest.register_tool("default:sword_steel", {
description = "Steel Sword", description = S("Steel Sword"),
inventory_image = "default_tool_steelsword.png", inventory_image = "default_tool_steelsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.8, full_punch_interval = 0.8,
@ -349,10 +369,11 @@ minetest.register_tool("default:sword_steel", {
damage_groups = {fleshy=6}, damage_groups = {fleshy=6},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {sword = 1}
}) })
minetest.register_tool("default:sword_mese", { minetest.register_tool("default:sword_mese", {
description = "Mese Sword", description = S("Mese Sword"),
inventory_image = "default_tool_mesesword.png", inventory_image = "default_tool_mesesword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.7, full_punch_interval = 0.7,
@ -363,10 +384,11 @@ minetest.register_tool("default:sword_mese", {
damage_groups = {fleshy=7}, damage_groups = {fleshy=7},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {sword = 1}
}) })
minetest.register_tool("default:sword_diamond", { minetest.register_tool("default:sword_diamond", {
description = "Diamond Sword", description = S("Diamond Sword"),
inventory_image = "default_tool_diamondsword.png", inventory_image = "default_tool_diamondsword.png",
tool_capabilities = { tool_capabilities = {
full_punch_interval = 0.7, full_punch_interval = 0.7,
@ -377,10 +399,11 @@ minetest.register_tool("default:sword_diamond", {
damage_groups = {fleshy=8}, damage_groups = {fleshy=8},
}, },
sound = {breaks = "default_tool_breaks"}, sound = {breaks = "default_tool_breaks"},
groups = {sword = 1}
}) })
minetest.register_tool("default:key", { minetest.register_tool("default:key", {
description = "Key", description = S("Key"),
inventory_image = "default_key.png", inventory_image = "default_key.png",
groups = {key = 1, not_in_creative_inventory = 1}, groups = {key = 1, not_in_creative_inventory = 1},
stack_max = 1, stack_max = 1,

View File

@ -1,3 +1,8 @@
-- default/torch.lua
-- support for MT game translation.
local S = default.get_translator
local function on_flood(pos, oldnode, newnode) local function on_flood(pos, oldnode, newnode)
minetest.add_item(pos, ItemStack("default:torch 1")) minetest.add_item(pos, ItemStack("default:torch 1"))
-- Play flame-extinguish sound if liquid is not an 'igniter' -- Play flame-extinguish sound if liquid is not an 'igniter'
@ -14,7 +19,7 @@ local function on_flood(pos, oldnode, newnode)
end end
minetest.register_node("default:torch", { minetest.register_node("default:torch", {
description = "Torch", description = S("Torch"),
drawtype = "mesh", drawtype = "mesh",
mesh = "torch_floor.obj", mesh = "torch_floor.obj",
inventory_image = "default_torch_on_floor.png", inventory_image = "default_torch_on_floor.png",

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