Upgrade up to minetest/minetest_game state

This commit is contained in:
Andrey2470T 2020-01-30 21:31:31 +03:00
commit 7d2809a522
144 changed files with 2988 additions and 865 deletions

View file

@ -3,7 +3,7 @@ allow_defined_top = true
read_globals = { read_globals = {
"DIR_DELIM", "DIR_DELIM",
"minetest", "core", "minetest",
"dump", "dump",
"vector", "vector",
"VoxelManip", "VoxelArea", "VoxelManip", "VoxelArea",
@ -12,7 +12,9 @@ read_globals = {
"Settings", "Settings",
"unpack", "unpack",
-- Silence errors about custom table methods. -- Silence errors about custom table methods.
table = { fields = { "copy", "indexof" } } table = { fields = { "copy", "indexof" } },
-- Silence warnings about accessing undefined fields of global 'math'
math = { fields = { "sign" } }
} }
-- Overwrites minetest.handle_node_drops -- Overwrites minetest.handle_node_drops

View file

@ -2,8 +2,10 @@
The default game bundled in the Minetest engine. 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). For further information, check
Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) for more information. [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 ## Installation
@ -13,8 +15,7 @@ place it in .. minetest/games/
- GNU/Linux: If you use a system-wide installation place - GNU/Linux: If you use a system-wide installation place
it in ~/.minetest/games/. it in ~/.minetest/games/.
The Minetest engine can be found at The Minetest engine can be found at [GitHub](https://github.com/minetest/minetest).
[GitHub](https://github.com/minetest/minetest).
For further information or help, see: For further information or help, see:
https://wiki.minetest.net/Installing_Mods https://wiki.minetest.net/Installing_Mods
@ -26,8 +27,8 @@ master HEAD of the Minetest engine.
Additionally, when the Minetest engine is tagged to be a certain version (e.g. Additionally, when the Minetest engine is tagged to be a certain version (e.g.
0.4.10), Minetest Game is tagged with the version too. 0.4.10), Minetest Game is tagged with the version too.
When stable releases are made, Minetest Game and the Minetest engine is packaged and made available at When stable releases are made, Minetest Game and the Minetest engine is packaged
https://minetest.net/downloads/ and made available at [www.minetest.net](https://www.minetest.net/downloads/).
## Licensing ## Licensing

View file

@ -1055,3 +1055,11 @@ for the wielded skeleton key.
if `nil` is returned, it is assumed that the wielder did not have if `nil` is returned, it is assumed that the wielder did not have
permissions to create a key for this node, and no key is created. permissions to create a key for this node, and no key is created.
`default.register_craft_metadata_copy(ingredient, result)`
----------------------------------------------------------
This function registers a shapeless recipe that takes `ingredient`
and `result` as input and outputs `result`.
The metadata of the input `result` is copied to the output `result`.

View file

@ -71,3 +71,7 @@ default:torch 99,default:cobble 99
# Whether river water source nodes create flowing sounds. # Whether river water source nodes create flowing sounds.
# Helps rivers create more sound, especially on level sections. # Helps rivers create more sound, especially on level sections.
#river_source_sounds = false #river_source_sounds = false
# Enable cloud variation by the 'weather' mod.
# Non-functional in V6 or Singlenode mapgens.
#enable_weather = true

View file

@ -17,6 +17,8 @@ local function destruct_bed(pos, n)
reverse = not reverse reverse = not reverse
minetest.remove_node(other) minetest.remove_node(other)
minetest.check_for_falling(other) minetest.check_for_falling(other)
beds.remove_spawns_at(pos)
beds.remove_spawns_at(other)
else else
reverse = not reverse reverse = not reverse
end end

View file

@ -2,7 +2,7 @@
-- Load support for MT game translation. -- Load support for MT game translation.
local S = minetest.get_translator("beds") local S = minetest.get_translator("beds")
local esc = minetest.formspec_escape
beds = {} beds = {}
beds.player = {} beds.player = {}
@ -14,7 +14,7 @@ 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;" .. S("Leave Bed") .. "]" "button_exit[2,10;4,0.75;leave;" .. esc(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=Katil Beragam
Simple Bed=Katil Biasa
Leave Bed=Bangun
Good morning.=Selamat pagi.
@1 of @2 players are in bed=@1 daripada @2 pemain sedang tidur
Force night skip=Paksa langkau malam
You can only sleep at night.=Anda hanya boleh tidur pada waktu malam.

View file

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=Детализированная Кровать
Simple Bed=Обычная Кровать
Leave Bed=Встать с кровати
Good morning.=Доброе утро.
@1 of @2 players are in bed=@1 из @2 игроков в кровати
Force night skip=Пропустить ночь
You can only sleep at night.=Вы можете спать только ночью.

View file

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

View file

@ -0,0 +1,8 @@
# textdomain: beds
Fancy Bed=花式床
Simple Bed=简易床
Leave Bed=离开床
Good morning.=早安!
@1 of @2 players are in bed=@2位玩家中的@1位在床上
Force night skip=强制跳过夜晚
You can only sleep at night.=你只能在晚上睡觉。

View file

@ -61,3 +61,12 @@ function beds.set_spawns()
end end
beds.save_spawns() beds.save_spawns()
end end
function beds.remove_spawns_at(pos)
for name, p in pairs(beds.spawn) do
if vector.equals(vector.round(p), pos) then
beds.spawn[name] = nil
end
end
beds.save_spawns()
end

View file

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=Binokular
Use with 'Zoom' key=Guna dengan kekunci 'Zum'

View file

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

View file

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

View file

@ -0,0 +1,3 @@
# textdomain: binoculars
Binoculars=望远镜
Use with 'Zoom' key=与“缩放”键一起使用

View file

@ -13,15 +13,6 @@ local function is_water(pos)
end end
local function get_sign(i)
if i == 0 then
return 0
else
return i / math.abs(i)
end
end
local function get_velocity(v, yaw, y) local function get_velocity(v, yaw, y)
local x = -math.sin(yaw) * v local x = -math.sin(yaw) * v
local z = math.cos(yaw) * v local z = math.cos(yaw) * v
@ -146,7 +137,7 @@ end
function boat.on_step(self, dtime) function boat.on_step(self, dtime)
self.v = get_v(self.object:get_velocity()) * get_sign(self.v) self.v = get_v(self.object:get_velocity()) * math.sign(self.v)
if self.driver then if self.driver then
local driver_objref = minetest.get_player_by_name(self.driver) local driver_objref = minetest.get_player_by_name(self.driver)
if driver_objref then if driver_objref then
@ -157,13 +148,13 @@ function boat.on_step(self, dtime)
minetest.chat_send_player(self.driver, S("Boat cruise mode 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 * 2.0
if self.auto then if self.auto then
self.auto = false self.auto = false
minetest.chat_send_player(self.driver, S("Boat cruise mode 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 * 2.0
end end
if ctrl.left then if ctrl.left then
if self.v < -0.001 then if self.v < -0.001 then
@ -185,15 +176,14 @@ function boat.on_step(self, dtime)
self.object:set_pos(self.object:get_pos()) self.object:set_pos(self.object:get_pos())
return return
end end
local s = get_sign(self.v) -- We need to preserve velocity sign to properly apply drag force
self.v = self.v - dtime * 0.6 * s -- while moving backward
if s ~= get_sign(self.v) then local drag = dtime * math.sign(self.v) * (0.01 + 0.0796 * self.v * self.v)
self.object:set_velocity({x = 0, y = 0, z = 0}) -- If drag is larger than velocity, then stop horizontal movement
if math.abs(self.v) <= math.abs(drag) then
self.v = 0 self.v = 0
return else
end self.v = self.v - drag
if math.abs(self.v) > 5 then
self.v = 5 * get_sign(self.v)
end end
local p = self.object:get_pos() local p = self.object:get_pos()

View file

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Mod bot layar makan angin dibolehkan
Boat cruise mode off=Mod bot layar makan angin dilumpuhkan
Boat=Bot

View file

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

View file

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Båtkryssningsläge på
Boat cruise mode off=Båtkryssningsläge av
Boat=Båt

View file

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=船巡航模式开
Boat cruise mode off=船巡航模式关
Boat=船

View file

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Tulang
@1's old bones=Tulang lama @1
@1 died at @2.=@1 mati di @2.
@1 died at @2, and dropped their inventory.=@1 mati di @2, dan menjatuhkan inventorinya.
@1 died at @2, and bones were placed.=@1 mati di @2, dan tulang diletakkan.
@1's fresh bones=Tulang segar @1
@1's bones=Tulang @1

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=空桶
Water Bucket=水桶
River Water Bucket=河水桶
Lava Bucket=熔岩桶

View file

@ -102,7 +102,7 @@ minetest.register_decoration({
place_offset_y = 2, place_offset_y = 2,
sidelen = 80, sidelen = 80,
fill_ratio = 0.005, fill_ratio = 0.005,
biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, biomes = {"grassland", "deciduous_forest"},
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
decoration = { decoration = {

View file

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

View file

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

View file

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=Vit fjäril
Red Butterfly=Röd fjäril
Violet Butterfly=Violett fjäril

View file

@ -0,0 +1,4 @@
# textdomain: butterflies
White Butterfly=白蝴蝶
Red Butterfly=红蝴蝶
Violet Butterfly=紫蝴蝶

View file

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Pedati
(Sneak+Click to pick up)=(Selinap+Klik untuk ambil balik)
Rail=Landasan
Powered Rail=Landasan Berkuasa
Brake Rail=Landasan Brek

View file

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

View file

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Vagn
(Sneak+Click to pick up)=(Shift+Klicka för att plocka upp)
Rail=Räls
Powered Rail=Aktiverad räls
Brake Rail=Broms räls

View file

@ -0,0 +1,6 @@
# textdomain: carts
Cart=矿车
(Sneak+Click to pick up)=(潜行+单击以捡起)
Rail=铁路
Powered Rail=动力铁路
Brake Rail=制动铁路

View file

@ -59,22 +59,36 @@ function creative.init_creative_inventory(player)
return player_inventory[player_name] return player_inventory[player_name]
end end
local function match(s, filter)
if filter == "" then
return 0
end
if s:lower():find(filter, 1, true) then
return #s - #filter
end
return nil
end
function creative.update_creative_inventory(player_name, tab_content) function creative.update_creative_inventory(player_name, tab_content)
local creative_list = {}
local inv = player_inventory[player_name] or local inv = player_inventory[player_name] or
creative.init_creative_inventory(minetest.get_player_by_name(player_name)) creative.init_creative_inventory(minetest.get_player_by_name(player_name))
local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name}) local player_inv = minetest.get_inventory({type = "detached", name = "creative_" .. player_name})
local items = inventory_cache[tab_content] or init_creative_cache(tab_content) local items = inventory_cache[tab_content] or init_creative_cache(tab_content)
local creative_list = {}
local order = {}
for name, def in pairs(items) do for name, def in pairs(items) do
if def.name:find(inv.filter, 1, true) or local m = match(def.description, inv.filter) or match(def.name, inv.filter)
def.description:lower():find(inv.filter, 1, true) then if m then
creative_list[#creative_list+1] = name creative_list[#creative_list+1] = name
-- Sort by description length first so closer matches appear earlier
order[name] = string.format("%02d", m) .. name
end end
end end
table.sort(creative_list) table.sort(creative_list, function(a, b) return order[a] < order[b] end)
player_inv:set_size("main", #creative_list) player_inv:set_size("main", #creative_list)
player_inv:set_list("main", creative_list) player_inv:set_list("main", creative_list)
inv.size = #creative_list inv.size = #creative_list
@ -106,20 +120,20 @@ function creative.register_tab(name, title, items)
creative.update_creative_inventory(player_name, items) creative.update_creative_inventory(player_name, items)
local inv = player_inventory[player_name] local inv = player_inventory[player_name]
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 / (4*8) + 1)
local pagemax = math.ceil(inv.size / (3*8)) local pagemax = math.ceil(inv.size / (4*8))
local esc = minetest.formspec_escape 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[5.8,4.15;" .. minetest.colorize("#FFFF00", tostring(pagenum)) .. " / " .. tostring(pagemax) .. "]" ..
[[ [[
image[4.06,3.4;0.8,0.8;creative_trash_icon.png] image[4.08,4.2;0.8,0.8;creative_trash_icon.png]
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF]
list[detached:creative_trash;main;4,3.3;1,1;] list[detached:creative_trash;main;4.02,4.1;1,1;]
listring[] listring[]
image_button[5.4,3.25;0.8,0.8;creative_prev_icon.png;creative_prev;] image_button[5,4.05;0.8,0.8;creative_prev_icon.png;creative_prev;]
image_button[7.2,3.25;0.8,0.8;creative_next_icon.png;creative_next;] image_button[7.2,4.05;0.8,0.8;creative_next_icon.png;creative_next;]
image_button[2.1,3.25;0.8,0.8;creative_search_icon.png;creative_search;] image_button[2.63,4.05;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[3.25,4.05;0.8,0.8;creative_clear_icon.png;creative_clear;]
]] .. ]] ..
"tooltip[creative_search;" .. esc(S("Search")) .. "]" .. "tooltip[creative_search;" .. esc(S("Search")) .. "]" ..
"tooltip[creative_clear;" .. esc(S("Reset")) .. "]" .. "tooltip[creative_clear;" .. esc(S("Reset")) .. "]" ..
@ -127,9 +141,9 @@ function creative.register_tab(name, title, items)
"tooltip[creative_next;" .. esc(S("Next page")) .. "]" .. "tooltip[creative_next;" .. esc(S("Next page")) .. "]" ..
"listring[current_player;main]" .. "listring[current_player;main]" ..
"field_close_on_enter[creative_filter;false]" .. "field_close_on_enter[creative_filter;false]" ..
"field[0.3,3.5;2.2,1;creative_filter;;" .. esc(inv.filter) .. "]" .. "field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" ..
"listring[detached:creative_" .. player_name .. ";main]" .. "listring[detached:creative_" .. player_name .. ";main]" ..
"list[detached:creative_" .. player_name .. ";main;0,0;8,3;" .. tostring(start_i) .. "]" .. "list[detached:creative_" .. player_name .. ";main;0,0;8,4;" .. tostring(start_i) .. "]" ..
creative.formspec_add, true) creative.formspec_add, true)
end, end,
on_enter = function(self, player, context) on_enter = function(self, player, context)
@ -159,15 +173,15 @@ function creative.register_tab(name, title, items)
local start_i = inv.start_i or 0 local start_i = inv.start_i or 0
if fields.creative_prev then if fields.creative_prev then
start_i = start_i - 3*8 start_i = start_i - 4*8
if start_i < 0 then if start_i < 0 then
start_i = inv.size - (inv.size % (3*8)) start_i = inv.size - (inv.size % (4*8))
if inv.size == start_i then if inv.size == start_i then
start_i = math.max(0, inv.size - (3*8)) start_i = math.max(0, inv.size - (4*8))
end end
end end
elseif fields.creative_next then elseif fields.creative_next then
start_i = start_i + 3*8 start_i = start_i + 4*8
if start_i >= inv.size then if start_i >= inv.size then
start_i = 0 start_i = 0
end end

View file

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=Benarkan pemain menggunakan inventori kreatif
Search=Cari
Reset=Set semula
Previous page=Halaman sebelumnya
Next page=Halaman seterusnya
All=Semua
Nodes=Nod
Tools=Alatan
Items=Item

View file

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

View file

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

View file

@ -0,0 +1,10 @@
# textdomain: creative
Allow player to use creative inventory=允许玩家使用创造模式物品栏
Search=搜索
Reset=重置
Previous page=上一页
Next page=下一页
All=所有
Nodes=节点
Tools=工具
Items=物品

View file

@ -123,6 +123,8 @@ paramat (CC BY-SA 3.0):
default_fence_rail_junglewood default_fence_rail_junglewood
default_fence_rail_pine_wood default_fence_rail_pine_wood
default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0) default_fence_rail_wood -- Derived from a texture by BlockMen (CC BY-SA 3.0)
gui_hotbar.png
gui_hotbar_selected.png
TumeniNodes (CC BY-SA 3.0): 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)
@ -150,7 +152,10 @@ BlockMen (CC BY-SA 3.0):
default_mineral_mese.png default_mineral_mese.png
default_meselamp.png default_meselamp.png
bubble.png bubble.png
gui_*.png gui_formbg.png
gui_furnace_arrow_bg.png
gui_furnace_arrow_fg.png
gui_hb_bg.png
sofar (CC BY-SA 3.0): sofar (CC BY-SA 3.0):
default_aspen_sapling default_aspen_sapling
@ -330,6 +335,10 @@ http://freesound.org/people/Ryding/sounds/94337/
Ferk (CC0 1.0): Ferk (CC0 1.0):
default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart default_item_smoke.ogg, based on a sound by http://opengameart.org/users/bart
sonictechtonic (CC BY 3.0):
https://www.freesound.org/people/sonictechtonic/sounds/241872/
player_damage.ogg
Models Models
------ ------

View file

@ -318,3 +318,39 @@ default.chest.register_chest("chest_locked", {
groups = {choppy = 2, oddly_breakable_by_hand = 2}, groups = {choppy = 2, oddly_breakable_by_hand = 2},
protected = true, protected = true,
}) })
minetest.register_craft({
output = "default:chest",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft({
output = "default:chest_locked",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "default:steel_ingot", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft( {
type = "shapeless",
output = "default:chest_locked",
recipe = {"default:chest", "default:steel_ingot"},
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest_locked",
burntime = 30,
})

View file

@ -56,13 +56,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:stick 4",
recipe = {
{"group:wood"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:sign_wall_steel 3", output = "default:sign_wall_steel 3",
recipe = { recipe = {
@ -81,273 +74,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:torch 4",
recipe = {
{"default:coal_lump"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:pick_wood",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_stone",
recipe = {
{"group:stone", "group:stone", "group:stone"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot", "default:steel_ingot"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_bronze",
recipe = {
{"default:bronze_ingot", "default:bronze_ingot", "default:bronze_ingot"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_mese",
recipe = {
{"default:mese_crystal", "default:mese_crystal", "default:mese_crystal"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:pick_diamond",
recipe = {
{"default:diamond", "default:diamond", "default:diamond"},
{"", "group:stick", ""},
{"", "group:stick", ""},
}
})
minetest.register_craft({
output = "default:shovel_wood",
recipe = {
{"group:wood"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_stone",
recipe = {
{"group:stone"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_steel",
recipe = {
{"default:steel_ingot"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_bronze",
recipe = {
{"default:bronze_ingot"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_mese",
recipe = {
{"default:mese_crystal"},
{"group:stick"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:shovel_diamond",
recipe = {
{"default:diamond"},
{"group:stick"},
{"group:stick"},
}
})
-- Axes
-- Recipes face left to match appearence in textures and inventory
minetest.register_craft({
output = "default:axe_wood",
recipe = {
{"group:wood", "group:wood"},
{"group:wood", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_stone",
recipe = {
{"group:stone", "group:stone"},
{"group:stone", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_steel",
recipe = {
{"default:steel_ingot", "default:steel_ingot"},
{"default:steel_ingot", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_bronze",
recipe = {
{"default:bronze_ingot", "default:bronze_ingot"},
{"default:bronze_ingot", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_mese",
recipe = {
{"default:mese_crystal", "default:mese_crystal"},
{"default:mese_crystal", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:axe_diamond",
recipe = {
{"default:diamond", "default:diamond"},
{"default:diamond", "group:stick"},
{"", "group:stick"},
}
})
minetest.register_craft({
output = "default:sword_wood",
recipe = {
{"group:wood"},
{"group:wood"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_stone",
recipe = {
{"group:stone"},
{"group:stone"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_steel",
recipe = {
{"default:steel_ingot"},
{"default:steel_ingot"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_bronze",
recipe = {
{"default:bronze_ingot"},
{"default:bronze_ingot"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_mese",
recipe = {
{"default:mese_crystal"},
{"default:mese_crystal"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:sword_diamond",
recipe = {
{"default:diamond"},
{"default:diamond"},
{"group:stick"},
}
})
minetest.register_craft({
output = "default:skeleton_key",
recipe = {
{"default:gold_ingot"},
}
})
minetest.register_craft({
output = "default:chest",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft({
output = "default:chest_locked",
recipe = {
{"group:wood", "group:wood", "group:wood"},
{"group:wood", "default:steel_ingot", "group:wood"},
{"group:wood", "group:wood", "group:wood"},
}
})
minetest.register_craft( {
type = "shapeless",
output = "default:chest_locked",
recipe = {"default:chest", "default:steel_ingot"},
})
minetest.register_craft({
output = "default:furnace",
recipe = {
{"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 = {
@ -357,13 +83,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:coal_lump 9",
recipe = {
{"default:coalblock"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:steelblock", output = "default:steelblock",
recipe = { recipe = {
@ -373,13 +92,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:steel_ingot 9",
recipe = {
{"default:steelblock"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:copperblock", output = "default:copperblock",
recipe = { recipe = {
@ -389,13 +101,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:copper_ingot 9",
recipe = {
{"default:copperblock"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:tinblock", output = "default:tinblock",
recipe = { recipe = {
@ -405,22 +110,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:tin_ingot 9",
recipe = {
{"default:tinblock"},
}
})
minetest.register_craft({
output = "default:bronze_ingot 9",
recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:bronzeblock", output = "default:bronzeblock",
recipe = { recipe = {
@ -446,13 +135,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:gold_ingot 9",
recipe = {
{"default:goldblock"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:diamondblock", output = "default:diamondblock",
recipe = { recipe = {
@ -462,13 +144,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:diamond 9",
recipe = {
{"default:diamondblock"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:sandstone", output = "default:sandstone",
recipe = { recipe = {
@ -573,13 +248,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:clay_lump 4",
recipe = {
{"default:clay"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:brick", output = "default:brick",
recipe = { recipe = {
@ -588,29 +256,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:clay_brick 4",
recipe = {
{"default:brick"},
}
})
minetest.register_craft({
output = "default:paper",
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"},
}
})
minetest.register_craft({
output = "default:book",
recipe = {
{"default:paper"},
{"default:paper"},
{"default:paper"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:bookshelf", output = "default:bookshelf",
recipe = { recipe = {
@ -647,29 +292,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:mese_crystal 9",
recipe = {
{"default:mese"},
}
})
minetest.register_craft({
output = "default:mese_crystal_fragment 9",
recipe = {
{"default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:meselamp", output = "default:meselamp",
recipe = { recipe = {
@ -687,13 +309,6 @@ minetest.register_craft({
} }
}) })
minetest.register_craft({
output = "default:obsidian_shard 9",
recipe = {
{"default:obsidian"}
}
})
minetest.register_craft({ minetest.register_craft({
output = "default:obsidian", output = "default:obsidian",
recipe = { recipe = {
@ -833,50 +448,6 @@ minetest.register_craft({
recipe = "default:desert_cobble", recipe = "default:desert_cobble",
}) })
minetest.register_craft({
type = "cooking",
output = "default:steel_ingot",
recipe = "default:iron_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:copper_ingot",
recipe = "default:copper_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:tin_ingot",
recipe = "default:tin_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:gold_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:clay_brick",
recipe = "default:clay_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:skeleton_key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:key",
cooktime = 5,
})
-- --
-- Fuels -- Fuels
@ -1005,7 +576,6 @@ minetest.register_craft({
burntime = 7, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:fence_aspen_wood", recipe = "default:fence_aspen_wood",
@ -1067,7 +637,6 @@ minetest.register_craft({
burntime = 7, burntime = 7,
}) })
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:bush_stem", recipe = "default:bush_stem",
@ -1134,36 +703,12 @@ minetest.register_craft({
burntime = 60, burntime = 60,
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:torch",
burntime = 4,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:sign_wall_wood", recipe = "default:sign_wall_wood",
burntime = 10, burntime = 10,
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:chest",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "default:chest_locked",
burntime = 30,
})
minetest.register_craft({
type = "fuel",
recipe = "default:coal_lump",
burntime = 40,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:coalblock", recipe = "default:coalblock",
@ -1194,57 +739,8 @@ minetest.register_craft({
burntime = 2, burntime = 2,
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:paper",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "default:book",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:book_written",
burntime = 3,
})
minetest.register_craft({ minetest.register_craft({
type = "fuel", type = "fuel",
recipe = "default:dry_shrub", recipe = "default:dry_shrub",
burntime = 2, burntime = 2,
}) })
minetest.register_craft({
type = "fuel",
recipe = "group:stick",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "default:pick_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:shovel_wood",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:axe_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:sword_wood",
burntime = 5,
})

View file

@ -3,19 +3,6 @@
-- support for MT game translation. -- support for MT game translation.
local S = default.get_translator local S = default.get_translator
minetest.register_craftitem("default:stick", {
description = S("Stick"),
inventory_image = "default_stick.png",
groups = {stick = 1, flammable = 2},
})
minetest.register_craftitem("default:paper", {
description = S("Paper"),
inventory_image = "default_paper.png",
groups = {flammable = 3},
})
local lpp = 14 -- Lines per book's page local lpp = 14 -- Lines per book's page
local function book_on_use(itemstack, user) local function book_on_use(itemstack, user)
local player_name = user:get_player_name() local player_name = user:get_player_name()
@ -158,54 +145,9 @@ minetest.register_on_player_receive_fields(function(player, formname, fields)
player:set_wielded_item(stack) player:set_wielded_item(stack)
end) end)
minetest.register_craftitem("default:book", {
description = S("Book"),
inventory_image = "default_book.png",
groups = {book = 1, flammable = 3},
on_use = book_on_use,
})
minetest.register_craftitem("default:book_written", {
description = S("Book with Text"),
inventory_image = "default_book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1,
on_use = book_on_use,
})
minetest.register_craft({
type = "shapeless",
output = "default:book_written",
recipe = {"default:book", "default:book_written"}
})
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name() ~= "default:book_written" then
return
end
local original
local index
for i = 1, player:get_inventory():get_size("craft") do
if old_craft_grid[i]:get_name() == "default:book_written" then
original = old_craft_grid[i]
index = i
end
end
if not original then
return
end
local copymeta = original:get_meta():to_table()
-- copy of the book held by player's mouse cursor
itemstack:get_meta():from_table(copymeta)
-- put the book with metadata back in the craft grid
craft_inv:set_stack("craft", index, original)
end)
minetest.register_craftitem("default:skeleton_key", { minetest.register_craftitem("default:skeleton_key", {
description = S("Skeleton Key"), description = S("Skeleton Key"),
inventory_image = "default_key_skeleton.png", inventory_image = "default_key_skeleton.png",
groups = {key = 1},
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
if pointed_thing.type ~= "node" then if pointed_thing.type ~= "node" then
return itemstack return itemstack
@ -258,91 +200,9 @@ minetest.register_craftitem("default:skeleton_key", {
end end
}) })
minetest.register_craftitem("default:coal_lump", { --
description = S("Coal Lump"), -- Craftitem registry
inventory_image = "default_coal_lump.png", --
groups = {coal = 1, flammable = 1}
})
minetest.register_craftitem("default:iron_lump", {
description = S("Iron Lump"),
inventory_image = "default_iron_lump.png"
})
minetest.register_craftitem("default:copper_lump", {
description = S("Copper Lump"),
inventory_image = "default_copper_lump.png"
})
minetest.register_craftitem("default:tin_lump", {
description = S("Tin Lump"),
inventory_image = "default_tin_lump.png"
})
minetest.register_craftitem("default:mese_crystal", {
description = S("Mese Crystal"),
inventory_image = "default_mese_crystal.png",
})
minetest.register_craftitem("default:gold_lump", {
description = S("Gold Lump"),
inventory_image = "default_gold_lump.png"
})
minetest.register_craftitem("default:diamond", {
description = S("Diamond"),
inventory_image = "default_diamond.png",
})
minetest.register_craftitem("default:clay_lump", {
description = S("Clay Lump"),
inventory_image = "default_clay_lump.png",
})
minetest.register_craftitem("default:steel_ingot", {
description = S("Steel Ingot"),
inventory_image = "default_steel_ingot.png"
})
minetest.register_craftitem("default:copper_ingot", {
description = S("Copper Ingot"),
inventory_image = "default_copper_ingot.png"
})
minetest.register_craftitem("default:tin_ingot", {
description = S("Tin Ingot"),
inventory_image = "default_tin_ingot.png"
})
minetest.register_craftitem("default:bronze_ingot", {
description = S("Bronze Ingot"),
inventory_image = "default_bronze_ingot.png"
})
minetest.register_craftitem("default:gold_ingot", {
description = S("Gold Ingot"),
inventory_image = "default_gold_ingot.png"
})
minetest.register_craftitem("default:mese_crystal_fragment", {
description = S("Mese Crystal Fragment"),
inventory_image = "default_mese_crystal_fragment.png",
})
minetest.register_craftitem("default:clay_brick", {
description = S("Clay Brick"),
inventory_image = "default_clay_brick.png",
})
minetest.register_craftitem("default:obsidian_shard", {
description = S("Obsidian Shard"),
inventory_image = "default_obsidian_shard.png",
})
minetest.register_craftitem("default:flint", {
description = S("Flint"),
inventory_image = "default_flint.png"
})
minetest.register_craftitem("default:blueberries", { minetest.register_craftitem("default:blueberries", {
description = S("Blueberries"), description = S("Blueberries"),
@ -350,3 +210,329 @@ minetest.register_craftitem("default:blueberries", {
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),
}) })
minetest.register_craftitem("default:book", {
description = S("Book"),
inventory_image = "default_book.png",
groups = {book = 1, flammable = 3},
on_use = book_on_use,
})
minetest.register_craftitem("default:book_written", {
description = S("Book with Text"),
inventory_image = "default_book_written.png",
groups = {book = 1, not_in_creative_inventory = 1, flammable = 3},
stack_max = 1,
on_use = book_on_use,
})
minetest.register_craftitem("default:bronze_ingot", {
description = S("Bronze Ingot"),
inventory_image = "default_bronze_ingot.png"
})
minetest.register_craftitem("default:clay_brick", {
description = S("Clay Brick"),
inventory_image = "default_clay_brick.png",
})
minetest.register_craftitem("default:clay_lump", {
description = S("Clay Lump"),
inventory_image = "default_clay_lump.png",
})
minetest.register_craftitem("default:coal_lump", {
description = S("Coal Lump"),
inventory_image = "default_coal_lump.png",
groups = {coal = 1, flammable = 1}
})
minetest.register_craftitem("default:copper_ingot", {
description = S("Copper Ingot"),
inventory_image = "default_copper_ingot.png"
})
minetest.register_craftitem("default:copper_lump", {
description = S("Copper Lump"),
inventory_image = "default_copper_lump.png"
})
minetest.register_craftitem("default:diamond", {
description = S("Diamond"),
inventory_image = "default_diamond.png",
})
minetest.register_craftitem("default:flint", {
description = S("Flint"),
inventory_image = "default_flint.png"
})
minetest.register_craftitem("default:gold_ingot", {
description = S("Gold Ingot"),
inventory_image = "default_gold_ingot.png"
})
minetest.register_craftitem("default:gold_lump", {
description = S("Gold Lump"),
inventory_image = "default_gold_lump.png"
})
minetest.register_craftitem("default:iron_lump", {
description = S("Iron Lump"),
inventory_image = "default_iron_lump.png"
})
minetest.register_craftitem("default:mese_crystal", {
description = S("Mese Crystal"),
inventory_image = "default_mese_crystal.png",
})
minetest.register_craftitem("default:mese_crystal_fragment", {
description = S("Mese Crystal Fragment"),
inventory_image = "default_mese_crystal_fragment.png",
})
minetest.register_craftitem("default:obsidian_shard", {
description = S("Obsidian Shard"),
inventory_image = "default_obsidian_shard.png",
})
minetest.register_craftitem("default:paper", {
description = S("Paper"),
inventory_image = "default_paper.png",
groups = {flammable = 3},
})
minetest.register_craftitem("default:steel_ingot", {
description = S("Steel Ingot"),
inventory_image = "default_steel_ingot.png"
})
minetest.register_craftitem("default:stick", {
description = S("Stick"),
inventory_image = "default_stick.png",
groups = {stick = 1, flammable = 2},
})
minetest.register_craftitem("default:tin_ingot", {
description = S("Tin Ingot"),
inventory_image = "default_tin_ingot.png"
})
minetest.register_craftitem("default:tin_lump", {
description = S("Tin Lump"),
inventory_image = "default_tin_lump.png"
})
--
-- Crafting recipes
--
minetest.register_craft({
output = "default:book",
recipe = {
{"default:paper"},
{"default:paper"},
{"default:paper"},
}
})
default.register_craft_metadata_copy("default:book", "default:book_written")
minetest.register_craft({
output = "default:bronze_ingot 9",
recipe = {
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:tin_ingot", "default:copper_ingot"},
{"default:copper_ingot", "default:copper_ingot", "default:copper_ingot"},
}
})
minetest.register_craft({
output = "default:clay_brick 4",
recipe = {
{"default:brick"},
}
})
minetest.register_craft({
output = "default:clay_lump 4",
recipe = {
{"default:clay"},
}
})
minetest.register_craft({
output = "default:coal_lump 9",
recipe = {
{"default:coalblock"},
}
})
minetest.register_craft({
output = "default:copper_ingot 9",
recipe = {
{"default:copperblock"},
}
})
minetest.register_craft({
output = "default:diamond 9",
recipe = {
{"default:diamondblock"},
}
})
minetest.register_craft({
output = "default:gold_ingot 9",
recipe = {
{"default:goldblock"},
}
})
minetest.register_craft({
output = "default:mese_crystal",
recipe = {
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
{"default:mese_crystal_fragment", "default:mese_crystal_fragment", "default:mese_crystal_fragment"},
}
})
minetest.register_craft({
output = "default:mese_crystal 9",
recipe = {
{"default:mese"},
}
})
minetest.register_craft({
output = "default:mese_crystal_fragment 9",
recipe = {
{"default:mese_crystal"},
}
})
minetest.register_craft({
output = "default:obsidian_shard 9",
recipe = {
{"default:obsidian"}
}
})
minetest.register_craft({
output = "default:paper",
recipe = {
{"default:papyrus", "default:papyrus", "default:papyrus"},
}
})
minetest.register_craft({
output = "default:skeleton_key",
recipe = {
{"default:gold_ingot"},
}
})
minetest.register_craft({
output = "default:steel_ingot 9",
recipe = {
{"default:steelblock"},
}
})
minetest.register_craft({
output = "default:stick 4",
recipe = {
{"group:wood"},
}
})
minetest.register_craft({
output = "default:tin_ingot 9",
recipe = {
{"default:tinblock"},
}
})
--
-- Cooking recipes
--
minetest.register_craft({
type = "cooking",
output = "default:clay_brick",
recipe = "default:clay_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:copper_ingot",
recipe = "default:copper_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:gold_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:gold_ingot",
recipe = "default:skeleton_key",
cooktime = 5,
})
minetest.register_craft({
type = "cooking",
output = "default:steel_ingot",
recipe = "default:iron_lump",
})
minetest.register_craft({
type = "cooking",
output = "default:tin_ingot",
recipe = "default:tin_lump",
})
--
-- Fuels
--
minetest.register_craft({
type = "fuel",
recipe = "default:book",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:book_written",
burntime = 3,
})
minetest.register_craft({
type = "fuel",
recipe = "default:coal_lump",
burntime = 40,
})
minetest.register_craft({
type = "fuel",
recipe = "default:paper",
burntime = 1,
})
minetest.register_craft({
type = "fuel",
recipe = "group:stick",
burntime = 1,
})

View file

@ -581,6 +581,40 @@ minetest.register_abm({
end end
}) })
--
-- Register a craft to copy the metadata of items
--
function default.register_craft_metadata_copy(ingredient, result)
minetest.register_craft({
type = "shapeless",
output = result,
recipe = {ingredient, result}
})
minetest.register_on_craft(function(itemstack, player, old_craft_grid, craft_inv)
if itemstack:get_name() ~= result then
return
end
local original
local index
for i = 1, #old_craft_grid do
if old_craft_grid[i]:get_name() == result then
original = old_craft_grid[i]
index = i
end
end
if not original then
return
end
local copymeta = original:get_meta():to_table()
itemstack:get_meta():from_table(copymeta)
-- put the book with metadata back in the craft grid
craft_inv:set_stack("craft", index, original)
end)
end
-- --
-- NOTICE: This method is not an official part of the API yet. -- NOTICE: This method is not an official part of the API yet.
@ -605,7 +639,7 @@ function default.can_interact_with_node(player, pos)
-- Is player wielding the right key? -- Is player wielding the right key?
local item = player:get_wielded_item() local item = player:get_wielded_item()
if item:get_name() == "default:key" then if minetest.get_item_group(item:get_name(), "key") == 1 then
local key_meta = item:get_meta() local key_meta = item:get_meta()
if key_meta:get_string("secret") == "" then if key_meta:get_string("secret") == "" then

View file

@ -352,3 +352,12 @@ minetest.register_node("default:furnace_active", {
allow_metadata_inventory_move = allow_metadata_inventory_move, allow_metadata_inventory_move = allow_metadata_inventory_move,
allow_metadata_inventory_take = allow_metadata_inventory_take, allow_metadata_inventory_take = allow_metadata_inventory_take,
}) })
minetest.register_craft({
output = "default:furnace",
recipe = {
{"group:stone", "group:stone", "group:stone"},
{"group:stone", "", "group:stone"},
{"group:stone", "group:stone", "group:stone"},
}
})

View file

@ -14,11 +14,22 @@ 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([[ -- Set formspec prepend
local formspec = [[
bgcolor[#080808BB;true] bgcolor[#080808BB;true]
background[5,5;1,1;gui_formbg.png;true] listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]
background9[5,5;1,1;gui_formbg.png;true;10] local name = player:get_player_name()
listcolors[#00000069;#5A5A5A;#141318;#30434C;#FFF] ]]) local info = minetest.get_player_information(name)
if info.formspec_version > 1 then
formspec = formspec .. "background9[5,5;1,1;gui_formbg.png;true;10]"
else
formspec = formspec .. "background[5,5;1,1;gui_formbg.png;true]"
end
player:set_formspec_prepend(formspec)
-- Set hotbar textures
player:hud_set_hotbar_image("gui_hotbar.png")
player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
end) end)
function default.get_hotbar_bg(x,y) function default.get_hotbar_bg(x,y)

View file

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=Peti Berkunci
Locked Chest (owned by @1)=Peti Berkunci (milik @1)
You do not own this chest.=Ini bukan peti milik anda.
a locked chest=peti berkunci
Chest=Peti
Stick=Serpihan Kayu
Paper=Kertas
"@1" by @2="@1" oleh @2
Book=Buku
Book with Text=Buku Bertulisan
Skeleton Key=Kunci Induk
Key to @1's @2=Kunci @2 milik @1
Coal Lump=Longgokan Batu Arang
Iron Lump=Longgokan Besi
Copper Lump=Longgokan Tembaga
Tin Lump=Longgokan Timah
Mese Crystal=Kristal Mese
Gold Lump=Longgokan Emas
Diamond=Berlian
Clay Lump=Longgokan Tanah Liat
Steel Ingot=Jongkong Keluli
Copper Ingot=Jongkong Tembaga
Tin Ingot=Jongkong Timah
Bronze Ingot=Jongkong Gangsa
Gold Ingot=Jongkong Emas
Mese Crystal Fragment=Serpihan Mese
Clay Brick=Bata Tanah Liat
Obsidian Shard=Serpihan Obsidia
Flint=Batu Api
Blueberries=Beri Biru
Furnace is empty=Relau masih kosong
100% (output full)=100% (keluaran penuh)
@1%=@1%
Empty=Kosong
Not cookable=Tidak boleh dimasak
Furnace active=Relau aktif
Furnace inactive=Relau tidak aktif
(Item: @1; Fuel: @2)=(Item: @1; Bahan api: @2)
Furnace=Relau
Stone=Batu
Cobblestone=Batu Buntar
Stone Brick=Bata Batu
Stone Block=Bongkah Batu
Mossy Cobblestone=Batu Buntar Berlumut
Desert Stone=Batu Gurun
Desert Cobblestone=Batu Buntar Gurun
Desert Stone Brick=Bata Batu Gurun
Desert Stone Block=Bongkah Batu Gurun
Sandstone=Batu Pasir
Sandstone Brick=Bata Batu Pasir
Sandstone Block=Bongkah Batu Pasir
Desert Sandstone=Batu Pasir Gurun
Desert Sandstone Brick=Bata Batu Pasir Gurun
Desert Sandstone Block=Bongkah Batu Pasir Gurun
Silver Sandstone=Batu Pasir Perak
Silver Sandstone Brick=Bata Batu Pasir Perak
Silver Sandstone Block=Bongkah Batu Pasir Perak
Obsidian=Obsidia
Obsidian Brick=Bata Obsidia
Obsidian Block=Bongkah Obsidia
Dirt=Tanah
Dirt with Grass=Tanah Berumput
Dirt with Grass and Footsteps=Tanah Berumput dan Tapak Kaki
Dirt with Dry Grass=Tanah Berumput Kering
Dirt with Snow=Tanah Bersalji
Dirt with Rainforest Litter=Tanah Bersarap Hutan Hujan
Dirt with Coniferous Litter=Tanah Bersarap Hutan Konifer
Dry Dirt=Tanah Kering
Dry Dirt with Dry Grass=Tanah Kering Berumput Kering
Permafrost=Ibun Abadi
Permafrost with Stones=Ibun Abadi Berbatu
Permafrost with Moss=Ibun Abadi Berlumut
Sand=Pasir
Desert Sand=Pasir Gurun
Silver Sand=Pasir Perak
Gravel=Kelikir
Clay=Tanah Liat
Snow=Salji
Snow Block=Bongkah Salji
Ice=Ais
Cave Ice=Ais Gua
Apple Tree=Kayu Pokok Epal
Apple Wood Planks=Papan Kayu Epal
Apple Tree Sapling=Anak Pokok Epal
Apple Tree Leaves=Daun Pokok Epal
Apple=Epal
Apple Marker=Penanda Epal
Jungle Tree=Kayu Pokok Hutan
Jungle Wood Planks=Papan Kayu Hutan
Jungle Tree Leaves=Daun Pokok Hutan
Jungle Tree Sapling=Anak Pokok Hutan
Emergent Jungle Tree Sapling=Anak Pokok Hutan Kembang
Pine Tree=Kayu Pokok Pain
Pine Wood Planks=Papan Kayu Pain
Pine Needles=Daun Pokok Pain
Pine Tree Sapling=Anak Pokok Pain
Acacia Tree=Kayu Pokok Akasia
Acacia Wood Planks=Papan Kayu Akasia
Acacia Tree Leaves=Daun Pokok Akasia
Acacia Tree Sapling=Anak Pokok Akasia
Aspen Tree=Kayu Pokok Aspen
Aspen Wood Planks=Papan Kayu Aspen
Aspen Tree Leaves=Daun Pokok Aspen
Aspen Tree Sapling=Anak Pokok Aspen
Coal Ore=Bijih Batu Arang
Coal Block=Bongkah Batu Arang
Iron Ore=Bijih Besi
Steel Block=Bongkah Keluli
Copper Ore=Bijih Tembaga
Copper Block=Bongkah Tembaga
Tin Ore=Bijih Timah
Tin Block=Bongkah Timah
Bronze Block=Bongkah Gangsa
Mese Ore=Bijih Mese
Mese Block=Bongkah Mese
Gold Ore=Bijih Emas
Gold Block=Bongkah Emas
Diamond Ore=Bijih Intan
Diamond Block=Bongkah Intan
Cactus=Kaktus
Large Cactus Seedling=Benih Kaktus Besar
Papyrus=Papirus
Dry Shrub=Pokok Renek Kering
Jungle Grass=Rumput Hutan
Grass=Rumput
Dry Grass=Rumput Kering
Fern=Paku Pakis
Marram Grass=Rumput Maram
Bush Stem=Batang Belukar
Bush Leaves=Daun Belukar
Bush Sapling=Anak Belukar
Blueberry Bush Leaves with Berries=Daun Belukar Beri Biru Berberi
Blueberry Bush Leaves=Daun Belukar Beri Biru
Blueberry Bush Sapling=Anak Belukar Beri Biru
Acacia Bush Stem=Batang Belukar Akasia
Acacia Bush Leaves=Daun Belukar Akasia
Acacia Bush Sapling=Anak Belukar Akasia
Pine Bush Stem=Batang Belukar Pain
Pine Bush Needles=Daun Belukar Pain
Pine Bush Sapling=Anak Belukar Pain
Kelp=Kelpa
Green Coral=Batu Karang Hijau
Pink Coral=Batu Karang Merah Jambu
Cyan Coral=Batu Karang Biru Kehijauan
Brown Coral=Batu Karang Perang
Orange Coral=Batu Karang Jingga
Coral Skeleton= Rangka Karang
Water Source=Sumber Air
Flowing Water=Air Mengalir
River Water Source=Sumber Air Sungai
Flowing River Water=Air Sungai Mengalir
Lava Source=Sumber Lava
Flowing Lava=Lava Mengalir
Empty Bookshelf=Rak Buku Kosong
Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku bertulis, @2 buku kosong)
Bookshelf=Rak Buku
Text too long=Tulisan terlalu panjang
Wooden Sign=Papan Tanda Kayu
Steel Sign=Papan Tanda Keluli
Wooden Ladder=Tangga Panjat Kayu
Steel Ladder=Tangga Panjat Keluli
Apple Wood Fence=Pagar Kayu Epal
Acacia Wood Fence=Pagar Kayu Akasia
Jungle Wood Fence=Pagar Kayu Hutan
Pine Wood Fence=Pagar Kayu Pain
Aspen Wood Fence=Pagar Kayu Aspen
Apple Wood Fence Rail=Pagar Rel Kayu Epal
Acacia Wood Fence Rail=Pagar Rel Kayu Akasia
Jungle Wood Fence Rail=Pagar Rel Kayu Hutan
Pine Wood Fence Rail=Pagar Rel Kayu Pain
Aspen Wood Fence Rail=Pagar Rel Kayu Aspen
Glass=Kaca
Obsidian Glass=Kaca Obsidia
Brick Block=Bongkah Bata
Mese Lamp=Lampu Mese
Mese Post Light=Lampu Tiang Mese
Cloud=Awan
Wooden Pickaxe=Beliung Kayu
Stone Pickaxe=Beliung Batu
Bronze Pickaxe=Beliung Gangsa
Steel Pickaxe=Beliung Keluli
Mese Pickaxe=Beliung Mese
Diamond Pickaxe=Beliung Intan
Wooden Shovel=Penyodok Kayu
Stone Shovel=Penyodok Batu
Bronze Shovel=Penyodok Gangsa
Steel Shovel=Penyodok Keluli
Mese Shovel=Penyodok Mese
Diamond Shovel=Penyodok Intan
Wooden Axe=Kapak Kayu
Stone Axe=Kapak Batu
Bronze Axe=Kapak Gangsa
Steel Axe=Kapak Keluli
Mese Axe=Kapak Mese
Diamond Axe=Kapak Intan
Wooden Sword=Pedang Kayu
Stone Sword=Pedang Batu
Bronze Sword=Pedang Gangsa
Steel Sword=Pedang Keluli
Mese Sword=Pedang Mese
Diamond Sword=Pedang Intan
Key=Kunci
Torch=Obor
@1 will intersect protection on growth.=@1 akan masuk kawasan perlindungan lain apabila ia tumbuh.
Title:=Tajuk:
Contents:=Kandungan:
Save=Simpan
by @1=oleh @1
Page @1 of @2=Ms. @1 / @2
"@1"="@1"

View file

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=Заблокированный Сундук
Locked Chest (owned by @1)=Заблокированный Сундук (владелец: @1)
You do not own this chest.=Вы не владелец этого сундука.
a locked chest=заблокированный сундук
Chest=Сундук
Stick=Палка
Paper=Бумага
"@1" by @2="@1" @2
Book=Книга
Book with Text=Книга с Текстом
Skeleton Key=Ключ Скелета
Key to @1's @2=Ключ к @2 от @1
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)=100% (полное приготовление)
@1%=@1%
Empty=Пустое
Not cookable=Не может быть приготовлено
Furnace active=Печь зажжена
Furnace inactive=Печь не зажжена
(Item: @1; Fuel: @2)=(Предмет: @1; Топливо: @2)
Furnace=Печь
Stone=Камень
Cobblestone=Булыжник
Stone Brick=Каменный Кирпич
Stone Block=Каменный Блок
Mossy Cobblestone=Мшистый Булыжник
Desert Stone=Пустынный Камень
Desert Cobblestone=Пустынный Булыжник
Desert Stone Brick=Пустынный Каменный Кирпич
Desert Stone Block=Пустынный Каменный Блок
Sandstone=Песчаник
Sandstone Brick=Песчаниковый Кирпич
Sandstone Block=Песчаниковый Блок
Desert Sandstone=Пустынный Песчаник
Desert Sandstone Brick=Пустынный Песчаниковый Кирпич
Desert Sandstone Block=Пустынный Песчаниковый Блок
Silver Sandstone=Серебряный Песчаник
Silver Sandstone Brick=Серебряный Песчаниковый Кирпич
Silver Sandstone Block=Серебряный Песчаниковый Блок
Obsidian=Обсидиан
Obsidian Brick=Обсидиановый Кирпич
Obsidian Block=Обсидиановый Блок
Dirt=Земля
Dirt with Grass=Земля с Травой
Dirt with Grass and Footsteps=Земля с Травой и Следами
Dirt with 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)=Книжная Полка (@1 написано, @2 чистые книги)
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.=@1 пересечёт защиту по росту.
Title:=Заголовок:
Contents:=Содержимое:
Save=Сохранить
by @1=@1
Page @1 of @2=Страница @1 из @2
"@1"="@1"

View file

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

View file

@ -0,0 +1,211 @@
# textdomain: default
Locked Chest=锁着的箱子
Locked Chest (owned by @1)=锁着的箱子(由@1拥有
You do not own this chest.=您不拥有该箱子。
a locked chest=一个锁着的箱子
Chest=箱子
Stick=棒
Paper=纸
"@1" by @2="@1" by @2
Book=书
Book with Text=带文字的书
Skeleton Key=万能钥匙
Key to @1's @2=@1的@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)=100输出已满
@1%=@1%
Empty=空
Not cookable=不可烹饪
Furnace active=熔炉活跃
Furnace inactive=熔炉非活跃
(Item: @1; Fuel: @2)=(项目:@1;燃料:@2
Furnace=熔炉
Stone=石
Cobblestone=鹅卵石
Stone Brick=石砖
Stone Block=石块
Mossy Cobblestone=生苔的鹅卵石
Desert Stone=沙漠石
Desert Cobblestone=沙漠鹅卵石
Desert Stone Brick=沙漠鹅卵石砖
Desert Stone Block=沙漠鹅卵石块
Sandstone=砂岩
Sandstone Brick=砂岩砖
Sandstone Block=砂岩块
Desert Sandstone=沙漠砂岩
Desert Sandstone Brick=沙漠砂岩砖
Desert Sandstone Block=沙漠砂岩块
Silver Sandstone=银砂岩
Silver Sandstone Brick=银砂岩砖
Silver Sandstone Block=银砂岩块
Obsidian=黑曜石
Obsidian Brick=黑曜石砖
Obsidian Block=黑曜石块
Dirt=土
Dirt with Grass=带草的土
Dirt with Grass and Footsteps=带草的土及脚印
Dirt with 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)=书架(@1本有字的书@2本空书
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.=@1将与增长的保护相交。
Title:=标题:
Contents:=内容:
Save=保存
by @1=由@1
Page @1 of @2=第@1页共@2页。
"@1"="@1"

View file

@ -576,7 +576,7 @@ function default.register_ores()
-- Only where default:dirt is present as surface material -- 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", "rainforest", "deciduous_forest", "deciduous_forest_shore", "rainforest",
"rainforest_swamp", "floatland_coniferous_forest"} "rainforest_swamp"}
}) })
-- Gravel -- Gravel
@ -890,7 +890,7 @@ end
-- All mapgens except mgv6 -- All mapgens except mgv6
function default.register_biomes(upper_limit) function default.register_biomes()
-- Icesheet -- Icesheet
@ -909,7 +909,7 @@ function default.register_biomes(upper_limit)
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:ice", node_dungeon = "default:ice",
node_dungeon_stair = "stairs:stair_ice", node_dungeon_stair = "stairs:stair_ice",
y_max = upper_limit, y_max = 31000,
y_min = -8, y_min = -8,
heat_point = 0, heat_point = 0,
humidity_point = 73, humidity_point = 73,
@ -956,7 +956,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 47, y_min = 47,
heat_point = 0, heat_point = 0,
humidity_point = 40, humidity_point = 40,
@ -1043,7 +1043,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 4, y_min = 4,
heat_point = 25, heat_point = 25,
humidity_point = 70, humidity_point = 70,
@ -1095,7 +1095,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 4, y_min = 4,
heat_point = 20, heat_point = 20,
humidity_point = 35, humidity_point = 35,
@ -1146,7 +1146,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 6, y_min = 6,
heat_point = 50, heat_point = 50,
humidity_point = 35, humidity_point = 35,
@ -1213,7 +1213,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 6, y_min = 6,
heat_point = 45, heat_point = 45,
humidity_point = 70, humidity_point = 70,
@ -1280,7 +1280,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 1, y_min = 1,
heat_point = 60, heat_point = 60,
humidity_point = 68, humidity_point = 68,
@ -1347,7 +1347,7 @@ function default.register_biomes(upper_limit)
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:desert_stone", node_dungeon = "default:desert_stone",
node_dungeon_stair = "stairs:stair_desert_stone", node_dungeon_stair = "stairs:stair_desert_stone",
y_max = upper_limit, y_max = 31000,
y_min = 4, y_min = 4,
heat_point = 92, heat_point = 92,
humidity_point = 16, humidity_point = 16,
@ -1397,7 +1397,7 @@ function default.register_biomes(upper_limit)
depth_riverbed = 2, depth_riverbed = 2,
node_dungeon = "default:sandstonebrick", node_dungeon = "default:sandstonebrick",
node_dungeon_stair = "stairs:stair_sandstone_block", node_dungeon_stair = "stairs:stair_sandstone_block",
y_max = upper_limit, y_max = 31000,
y_min = 4, y_min = 4,
heat_point = 60, heat_point = 60,
humidity_point = 0, humidity_point = 0,
@ -1446,7 +1446,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 4, y_min = 4,
heat_point = 40, heat_point = 40,
humidity_point = 0, humidity_point = 0,
@ -1496,7 +1496,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 1, y_min = 1,
heat_point = 89, heat_point = 89,
humidity_point = 42, humidity_point = 42,
@ -1563,7 +1563,7 @@ function default.register_biomes(upper_limit)
node_dungeon = "default:cobble", node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble", node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble", node_dungeon_stair = "stairs:stair_cobble",
y_max = upper_limit, y_max = 31000,
y_min = 1, y_min = 1,
heat_point = 86, heat_point = 86,
humidity_point = 65, humidity_point = 65,
@ -1619,59 +1619,6 @@ function default.register_biomes(upper_limit)
end end
-- Biomes for floatlands
-- TODO Temporary simple biomes to be replaced by special floatland biomes later.
function default.register_floatland_biomes(floatland_level, shadow_limit)
minetest.register_biome({
name = "floatland_grassland",
node_top = "default:dirt_with_grass",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 1,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = floatland_level + 2,
heat_point = 50,
humidity_point = 25,
})
minetest.register_biome({
name = "floatland_coniferous_forest",
node_top = "default:dirt_with_coniferous_litter",
depth_top = 1,
node_filler = "default:dirt",
depth_filler = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = 31000,
y_min = floatland_level + 2,
heat_point = 50,
humidity_point = 75,
})
minetest.register_biome({
name = "floatland_ocean",
node_top = "default:sand",
depth_top = 1,
node_filler = "default:sand",
depth_filler = 3,
node_dungeon = "default:cobble",
node_dungeon_alt = "default:mossycobble",
node_dungeon_stair = "stairs:stair_cobble",
y_max = floatland_level + 1,
y_min = shadow_limit,
heat_point = 50,
humidity_point = 50,
})
end
-- --
-- Register decorations -- Register decorations
-- --
@ -1787,7 +1734,7 @@ local function register_grass_decoration(offset, scale, length)
octaves = 3, octaves = 3,
persist = 0.6 persist = 0.6
}, },
biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, biomes = {"grassland", "deciduous_forest"},
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
decoration = "default:grass_" .. length, decoration = "default:grass_" .. length,
@ -1829,7 +1776,7 @@ local function register_fern_decoration(seed, length)
octaves = 3, octaves = 3,
persist = 0.7 persist = 0.7
}, },
biomes = {"coniferous_forest", "floatland_coniferous_forest"}, biomes = {"coniferous_forest"},
y_max = 31000, y_max = 31000,
y_min = 6, y_min = 6,
decoration = "default:fern_" .. length, decoration = "default:fern_" .. length,
@ -1944,11 +1891,35 @@ function default.register_decorations()
minetest.register_decoration({ minetest.register_decoration({
name = "default:jungle_tree", name = "default:jungle_tree",
deco_type = "schematic", deco_type = "schematic",
place_on = {"default:dirt_with_rainforest_litter", "default:dirt"}, place_on = {"default:dirt_with_rainforest_litter"},
sidelen = 80, sidelen = 80,
fill_ratio = 0.1, fill_ratio = 0.1,
biomes = {"rainforest", "rainforest_swamp"}, biomes = {"rainforest"},
y_max = 31000, y_max = 31000,
y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z",
rotation = "random",
})
-- Swamp jungle trees
minetest.register_decoration({
name = "default:jungle_tree(swamp)",
deco_type = "schematic",
place_on = {"default:dirt"},
sidelen = 16,
-- Noise tuned to place swamp trees where papyrus is absent
noise_params = {
offset = 0.0,
scale = -0.1,
spread = {x = 200, y = 200, z = 200},
seed = 354,
octaves = 1,
persist = 0.5
},
biomes = {"rainforest_swamp"},
y_max = 0,
y_min = -1, y_min = -1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts", schematic = minetest.get_modpath("default") .. "/schematics/jungle_tree.mts",
flags = "place_center_x, place_center_z", flags = "place_center_x, place_center_z",
@ -1962,7 +1933,7 @@ function default.register_decorations()
place_offset_y = 1, place_offset_y = 1,
sidelen = 80, sidelen = 80,
fill_ratio = 0.005, fill_ratio = 0.005,
biomes = {"rainforest", "rainforest_swamp"}, biomes = {"rainforest"},
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts", schematic = minetest.get_modpath("default") .. "/schematics/jungle_log.mts",
@ -1987,7 +1958,7 @@ function default.register_decorations()
octaves = 3, octaves = 3,
persist = 0.66 persist = 0.66
}, },
biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, biomes = {"taiga", "coniferous_forest"},
y_max = 31000, y_max = 31000,
y_min = 4, y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts", schematic = minetest.get_modpath("default") .. "/schematics/pine_tree.mts",
@ -2007,7 +1978,7 @@ function default.register_decorations()
octaves = 3, octaves = 3,
persist = 0.66 persist = 0.66
}, },
biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, biomes = {"taiga", "coniferous_forest"},
y_max = 31000, y_max = 31000,
y_min = 4, y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts", schematic = minetest.get_modpath("default") .. "/schematics/small_pine_tree.mts",
@ -2021,7 +1992,7 @@ function default.register_decorations()
place_offset_y = 1, place_offset_y = 1,
sidelen = 80, sidelen = 80,
fill_ratio = 0.0018, fill_ratio = 0.0018,
biomes = {"taiga", "coniferous_forest", "floatland_coniferous_forest"}, biomes = {"taiga", "coniferous_forest"},
y_max = 31000, y_max = 31000,
y_min = 4, y_min = 4,
schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts", schematic = minetest.get_modpath("default") .. "/schematics/pine_log.mts",
@ -2185,7 +2156,7 @@ function default.register_decorations()
octaves = 3, octaves = 3,
persist = 0.7 persist = 0.7
}, },
biomes = {"savanna_shore"}, biomes = {"savanna_shore", "rainforest_swamp"},
y_max = 0, y_max = 0,
y_min = 0, y_min = 0,
schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts", schematic = minetest.get_modpath("default") .. "/schematics/papyrus.mts",
@ -2206,8 +2177,7 @@ function default.register_decorations()
octaves = 3, octaves = 3,
persist = 0.7, persist = 0.7,
}, },
biomes = {"grassland", "deciduous_forest", biomes = {"grassland", "deciduous_forest"},
"floatland_grassland"},
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
schematic = minetest.get_modpath("default") .. "/schematics/bush.mts", schematic = minetest.get_modpath("default") .. "/schematics/bush.mts",
@ -2479,22 +2449,9 @@ end
-- --
-- Detect mapgen, flags and parameters to select functions -- Detect mapgen to select functions
-- --
-- Get setting or default
local mgv7_spflags = minetest.get_mapgen_setting("mgv7_spflags") or
"mountains, ridges, nofloatlands, caverns"
local captures_float = string.match(mgv7_spflags, "floatlands")
local captures_nofloat = string.match(mgv7_spflags, "nofloatlands")
-- Get setting or default
-- Make global for mods to use to register floatland biomes
default.mgv7_floatland_level =
minetest.get_mapgen_setting("mgv7_floatland_level") or 1280
default.mgv7_shadow_limit =
minetest.get_mapgen_setting("mgv7_shadow_limit") or 1024
minetest.clear_registered_biomes() minetest.clear_registered_biomes()
minetest.clear_registered_ores() minetest.clear_registered_ores()
minetest.clear_registered_decorations() minetest.clear_registered_decorations()
@ -2504,19 +2461,8 @@ local mg_name = minetest.get_mapgen_setting("mg_name")
if mg_name == "v6" then if mg_name == "v6" then
default.register_mgv6_ores() default.register_mgv6_ores()
default.register_mgv6_decorations() default.register_mgv6_decorations()
-- Need to check for 'nofloatlands' because that contains
-- 'floatlands' which makes the second condition true.
elseif mg_name == "v7" and
captures_float == "floatlands" and
captures_nofloat ~= "nofloatlands" then
-- Mgv7 with floatlands and floatland biomes
default.register_biomes(default.mgv7_shadow_limit - 1)
default.register_floatland_biomes(
default.mgv7_floatland_level, default.mgv7_shadow_limit)
default.register_ores()
default.register_decorations()
else else
default.register_biomes(31000) default.register_biomes()
default.register_ores() default.register_ores()
default.register_decorations() default.register_decorations()
end end

View file

@ -2031,7 +2031,7 @@ local function coral_on_place(itemstack, placer, pointed_thing)
local def_under = minetest.registered_nodes[node_under.name] local def_under = minetest.registered_nodes[node_under.name]
if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then if def_under and def_under.on_rightclick and not placer:get_player_control().sneak then
return def_under.on_rightclick(pos_under, node_under.name, return def_under.on_rightclick(pos_under, node_under,
placer, itemstack, pointed_thing) or itemstack placer, itemstack, pointed_thing) or itemstack
end end

View file

Before

Width:  |  Height:  |  Size: 411 B

After

Width:  |  Height:  |  Size: 411 B

View file

Before

Width:  |  Height:  |  Size: 175 B

After

Width:  |  Height:  |  Size: 175 B

View file

@ -402,6 +402,57 @@ minetest.register_tool("default:sword_diamond", {
groups = {sword = 1} groups = {sword = 1}
}) })
--
-- Register Craft Recipies
--
local craft_ingreds = {
wood = "group:wood",
stone = "group:stone",
steel = "default:steel_ingot",
bronze = "default:bronze_ingot",
mese = "default:mese_crystal",
diamond = "default:diamond"
}
for name, mat in pairs(craft_ingreds) do
minetest.register_craft({
output = "default:pick_".. name,
recipe = {
{mat, mat, mat},
{"", "group:stick", ""},
{"", "group:stick", ""}
}
})
minetest.register_craft({
output = "default:shovel_".. name,
recipe = {
{mat},
{"group:stick"},
{"group:stick"}
}
})
minetest.register_craft({
output = "default:axe_".. name,
recipe = {
{mat, mat},
{mat, "group:stick"},
{"", "group:stick"}
}
})
minetest.register_craft({
output = "default:sword_".. name,
recipe = {
{mat},
{mat},
{"group:stick"}
}
})
end
minetest.register_tool("default:key", { minetest.register_tool("default:key", {
description = S("Key"), description = S("Key"),
inventory_image = "default_key.png", inventory_image = "default_key.png",
@ -441,3 +492,27 @@ minetest.register_tool("default:key", {
return nil return nil
end end
}) })
minetest.register_craft({
type = "fuel",
recipe = "default:pick_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:shovel_wood",
burntime = 4,
})
minetest.register_craft({
type = "fuel",
recipe = "default:axe_wood",
burntime = 6,
})
minetest.register_craft({
type = "fuel",
recipe = "default:sword_wood",
burntime = 5,
})

View file

@ -134,3 +134,17 @@ minetest.register_lbm({
end end
end end
}) })
minetest.register_craft({
output = "default:torch 4",
recipe = {
{"default:coal_lump"},
{"group:stick"},
}
})
minetest.register_craft({
type = "fuel",
recipe = "default:torch",
burntime = 4,
})

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Segmen Pintu Tersembunyi
Owned by @1=Milik @1
You do not own this locked door.=Anda bukan pemilik pintu berkunci ini.
a locked door=pintu berkunci
Wooden Door=Pintu Kayu
Steel Door=Pintu Keluli
Glass Door=Pintu Kaca
Obsidian Glass Door=Pintu Kaca Obsidia
You do not own this trapdoor.=Anda bukan pemilik pintu kolong ini.
a locked trapdoor=pintu kolong berkunci
Wooden Trapdoor=Pintu Kolong Kayu
Steel Trapdoor=Pintu Kolong Keluli
Apple Wood Fence Gate=Pintu Pagar Kayu Epal
Acacia Wood Fence Gate=Pintu Pagar Kayu Akasia
Jungle Wood Fence Gate=Pintu Pagar Kayu Hutan
Pine Wood Fence Gate=Pintu Pagar Kayu Pain
Aspen Wood Fence Gate=Pintu Pagar Kayu Aspen

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Спрятанная Часть Двери
Owned by @1=Владелец: @1
You do not own this locked door.=Вы не владелец этой заблокированной двери.
a locked door=заблокированная дверь
Wooden Door=Деревянная Дверь
Steel Door=Стальная Дверь
Glass Door=Стеклянная Дверь
Obsidian Glass Door=Дверь Из Обсидианового Стекла
You do not own this trapdoor.=Вы не владелец этого люка.
a locked trapdoor=заблокированный люк
Wooden Trapdoor=Деревянный Люк
Steel Trapdoor=Стальной Люк
Apple Wood Fence Gate=Яблоневая Деревянная Калитка
Acacia Wood Fence Gate=Деревянная Калитка Из Акации
Jungle Wood Fence Gate=Деревянная Калитка Из Тропического Дерева
Pine Wood Fence Gate=Сосновая Деревянная Калитка
Aspen Wood Fence Gate=Осиновая Деревянная Калитка

View file

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

View file

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=隐藏门段
Owned by @1=由@1拥有
You do not own this locked door.=您不拥有此锁着的门。
a locked door=一扇锁着的门
Wooden Door=木门
Steel Door=铁门
Glass Door=玻璃门
Obsidian Glass Door=黑曜石玻璃门
You do not own this trapdoor.=您不拥有此活板门。
a locked trapdoor=一扇上锁的活板门
Wooden Trapdoor=木活板门
Steel Trapdoor=铁活板门
Apple Wood Fence Gate=用苹果树做的木栅栏门
Acacia Wood Fence Gate=相思木栅栏门
Jungle Wood Fence Gate=丛林木栅栏门
Pine Wood Fence Gate=松木栅栏门
Aspen Wood Fence Gate=白杨木栅栏门

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

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Pewarna Putih
Grey Dye=Pewarna Kelabu
Dark Grey Dye=Pewarna Kelabu Gelap
Black Dye=Pewarna Hitam
Violet Dye=Pewarna Ungu
Blue Dye=Pewarna Biru
Cyan Dye=Pewarna Biru Kehijauan
Dark Green Dye=Pewarna Hijau Gelap
Green Dye=Pewarna Hijau
Yellow Dye=Pewarna Kuning
Brown Dye=Pewarna Perang
Orange Dye=Pewarna Jingga
Red Dye=Pewarna Merah
Magenta Dye=Pewarna Merah Lembayung
Pink Dye=Pewarna Merah Jambu

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

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

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

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Vit Färg
Grey Dye=Grå Färg
Dark Grey Dye=Mörk Grå Färg
Black Dye=Svart Färg
Violet Dye=Violett Färg
Blue Dye=Blå Färg
Cyan Dye=Cyan Färg
Dark Green Dye=Mörk Grön Färg
Green Dye=Grön Färg
Yellow Dye=Gul Färg
Brown Dye=Brun Färg
Orange Dye=Orange Färg
Red Dye=Röd Färg
Magenta Dye=Magenta Färg
Pink Dye=Rosa Färg

View file

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=白染料
Grey Dye=灰染料
Dark Grey Dye=暗灰染料
Black Dye=染料
Violet Dye=染料
Blue Dye=蓝染料
Cyan Dye=青染料
Dark Green Dye=暗绿染料
Green Dye=绿染料
Yellow Dye=黄染料
Brown Dye=棕染料
Orange Dye=橙染料
Red Dye=红染料
Magenta Dye=品红染料
Pink Dye=淡红染料

View file

@ -0,0 +1,25 @@
# textdomain: farming
Wooden Hoe=Cangkul Kayu
Stone Hoe=Cangkul Batu
Steel Hoe=Cangkul Keluli
Bronze Hoe=Cangkul Gangsa
Mese Hoe=Cangkul Mese
Diamond Hoe=Cangkul Intan
Wheat Seed=Benih Gandum
Flour=Tepung
Bread=Roti
Cotton Seed=Benih Kapas
String=Benang
Soil=Tanih
Wet Soil=Tanih Lembap
Dry Soil=Tanih Kering
Wet Dry Soil=Tanih Kering Lembap
Desert Sand Soil=Tanih Pasir Gurun
Wet Desert Sand Soil=Tanih Pasir Gurun Lembap
Straw=Jerami
Straw Stair=Tangga Jerami
Inner Straw Stair=Tangga Jerami Dalaman
Outer Straw Stair=Tangga Jerami Luaran
Straw Slab=Papak Jerami
Wheat=Gandum
Cotton=Kapas

View file

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

View file

@ -0,0 +1,25 @@
# textdomain: farming
Wooden Hoe=Träsko
Stone Hoe=Stensko
Steel Hoe=Stålsko
Bronze Hoe=Bronssko
Mese Hoe=Mesesko
Diamond Hoe=Diamantsko
Wheat Seed=Vetefrö
Flour=Mjöl
Bread=Bröd
Cotton Seed=Bollumsfrö
String=Snöra
Soil=Odlningsmark
Wet Soil=Våt Odlningsmark
Dry Soil=Torr Odlningsmark
Wet Dry Soil=Våt Torr Odlningsmark
Desert Sand Soil=Öken Sand Odlningsmark
Wet Desert Sand Soil=Våt Öken Sand Odlningsmark
Straw=Halm
Straw Stair=Halmstrappa
Inner Straw Stair=Inre Halmstrappa
Outer Straw Stair=Yttre Halmstrappa
Straw Slab=Halmplatta
Wheat=Vete
Cotton=Bomull

View file

@ -0,0 +1,25 @@
# textdomain: farming
Wooden Hoe=木锄
Stone Hoe=石锄
Steel Hoe=铁锄
Bronze Hoe=青铜锄
Mese Hoe=Mese锄
Diamond Hoe=钻石锄
Wheat Seed=小麦种子
Flour=面粉
Bread=面包
Cotton Seed=棉花种子
String=线
Soil=土
Wet Soil=湿土
Dry Soil=干土
Wet Dry Soil=湿干土
Desert Sand Soil=沙漠沙土
Wet Desert Sand Soil=湿沙漠沙土
Straw=稻草
Straw Stair=稻草台阶
Inner Straw Stair=稻草内楼梯
Outer Straw Stair=稻草外楼梯
Straw Slab=稻草板
Wheat=小麦
Cotton=棉

View file

@ -0,0 +1,3 @@
# textdomain: fire
Permanent Flame=Api Abadi
Flint and Steel=Pemetik Api

View file

@ -0,0 +1,3 @@
# textdomain: fire
Permanent Flame=Вечный Огонь
Flint and Steel=Огниво и Сталь

View file

@ -0,0 +1,3 @@
# textdomain: fire
Permanent Flame=Permanent Eld
Flint and Steel=Flinta och Stål

View file

@ -0,0 +1,3 @@
# textdomain: fire
Permanent Flame=永久火焰
Flint and Steel=火石和钢

View file

@ -0,0 +1,5 @@
# textdomain: fireflies
Firefly=Kelip-Kelip
Hidden Firefly=Kelip-Kelip Tersembunyi
Bug Net=Jaring Pepijat
Firefly in a Bottle=Kelip-Kelip dalam Botol

View file

@ -0,0 +1,5 @@
# textdomain: fireflies
Firefly=Светлячок
Hidden Firefly=Притаившийся Светлячок
Bug Net=Сачок Для Ловли Насекомых
Firefly in a Bottle=Светлячок в Бутылке

View file

@ -0,0 +1,5 @@
# textdomain: fireflies
Firefly=Eldfluga
Hidden Firefly=Gömd Eldfluga
Bug Net=Buggernät
Firefly in a Bottle=Eldfluga i en flaska

View file

@ -0,0 +1,5 @@
# textdomain: fireflies
Firefly=萤火虫
Hidden Firefly=隐藏的萤火虫
Bug Net=虫网
Firefly in a Bottle=瓶中的萤火虫

View file

@ -0,0 +1,12 @@
# textdomain: flowers
Red Rose=Ros Merah
Orange Tulip=Tulip Jingga
Yellow Dandelion=Dandelion Kuning
Green Chrysanthemum=Kekwa Hijau
Blue Geranium=Geranium Biru
Viola=Violet
White Dandelion=Dandelion Putih
Black Tulip=Tulip Hitam
Red Mushroom=Cendawan Merah
Brown Mushroom=Cendawan Perang
Waterlily=Teratai

View file

@ -0,0 +1,12 @@
# textdomain: flowers
Red Rose=Красная Роза
Orange Tulip=Оранжевый Тюльпан
Yellow Dandelion=Желтый Одуванчик
Green Chrysanthemum=Зелёная Хризантема
Blue Geranium=Синяя Герань
Viola=Фиалка
White Dandelion=Белый Одуванчик
Black Tulip=Черный Тюльпан
Red Mushroom=Мухомор
Brown Mushroom=Коричневый Гриб
Waterlily=Кувшинка

View file

@ -0,0 +1,12 @@
# textdomain: flowers
Red Rose=Röd ros
Orange Tulip=Orange Tulpan
Yellow Dandelion=Gul Maskros
Green Chrysanthemum=Grön Krysantemum
Blue Geranium=Blå Geranium
Viola=Violett Viola
White Dandelion=Vit Maskros
Black Tulip=Svart Tulpan
Red Mushroom=Röd Svamp
Brown Mushroom=Brun Svamp
Waterlily=Näckros

View file

@ -0,0 +1,12 @@
# textdomain: flowers
Red Rose=红玫瑰
Orange Tulip=橙郁金香
Yellow Dandelion=黄蒲公英
Green Chrysanthemum=绿菊花
Blue Geranium=蓝天竺葵
Viola=堇菜
White Dandelion=白蒲公英
Black Tulip=黑郁金香
Red Mushroom=红蘑菇
Brown Mushroom=棕蘑菇
Waterlily=荷花

View file

@ -100,7 +100,7 @@ local function register_flower(seed, flower_name)
octaves = 3, octaves = 3,
persist = 0.6 persist = 0.6
}, },
biomes = {"grassland", "deciduous_forest", "floatland_grassland"}, biomes = {"grassland", "deciduous_forest"},
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
decoration = "flowers:"..flower_name, decoration = "flowers:"..flower_name,
@ -121,8 +121,7 @@ local function register_mushroom(mushroom_name)
octaves = 3, octaves = 3,
persist = 0.66 persist = 0.66
}, },
biomes = {"deciduous_forest", "coniferous_forest", biomes = {"deciduous_forest", "coniferous_forest"},
"floatland_coniferous_forest"},
y_max = 31000, y_max = 31000,
y_min = 1, y_min = 1,
decoration = "flowers:"..mushroom_name, decoration = "flowers:"..mushroom_name,

View file

@ -13,7 +13,7 @@ minetest.register_chatcommand("killme", {
player:set_hp(0) player:set_hp(0)
return true return true
else else
for _, callback in pairs(core.registered_on_respawnplayers) do for _, callback in pairs(minetest.registered_on_respawnplayers) do
if callback(player) then if callback(player) then
return true return true
end end

View file

@ -0,0 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=Bunuh diri anda untuk lahir semula
No static_spawnpoint defined=Tiada titik permulaan statik (tetapan static_spawnpoint) ditakrifkan
You need to be online to be killed!=Anda mesti berada dalam talian untuk dibunuh!

View file

@ -0,0 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=Убейте себя, чтобы возродиться
No static_spawnpoint defined=static_spawnpoint не определён
You need to be online to be killed!=Вы должны быть онлайн, чтобы убить себя!

View file

@ -0,0 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=Döda dig själv för att respawna
No static_spawnpoint defined=Ingen static_spawnpoint definierat
You need to be online to be killed!=Du måsta vara online för att bli dödad!

View file

@ -0,0 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=杀死自己并重生
No static_spawnpoint defined=static_spawnpoint未定义
You need to be online to be killed!=您需要在线才能被杀死!

View file

@ -0,0 +1,3 @@
# textdomain: map
Mapping Kit=Alat Pemetaan
Use with 'Minimap' key=Guna dengan kekunci 'Peta Mini'

View file

@ -0,0 +1,3 @@
# textdomain: map
Mapping Kit=Картографический комплект
Use with 'Minimap' key=Используйте с ключом 'Minimap'

View file

@ -0,0 +1,3 @@
# textdomain: map
Mapping Kit=Kartläggningssats
Use with 'Minimap' key=Använd med 'Minimap' tangent

View file

@ -0,0 +1,3 @@
# textdomain: map
Mapping Kit=制地图套件
Use with 'Minimap' key=与“小地图”键一起使用

View file

@ -4,6 +4,7 @@ See license.txt for license information.
Provides an API to allow multiple mods to set player models and textures. Provides an API to allow multiple mods to set player models and textures.
Also sets the default model, texture, and player flags. Also sets the default model, texture, and player flags.
This mod is only for content related to the Player API and the player object.
Authors of source code Authors of source code
---------------------- ----------------------
@ -16,17 +17,13 @@ stujones11 (CC BY-SA 3.0):
character.b3d character.b3d
character.blend -- Both derived from a model by MirceaKitsune (CC BY-SA 3.0) character.blend -- Both derived from a model by MirceaKitsune (CC BY-SA 3.0)
An0n3m0us (CC BY-SA 3.0):
character.b3d
character.blend -- Player animation improvement
Jordach (CC BY-SA 3.0): Jordach (CC BY-SA 3.0):
character.png character.png
paramat (CC BY-SA 3.0):
gui_hotbar.png
gui_hotbar_selected.png
celeron55, Perttu Ahola <celeron55@gmail.com> (CC BY-SA 3.0): celeron55, Perttu Ahola <celeron55@gmail.com> (CC BY-SA 3.0):
player.png player.png
player_back.png player_back.png
sonictechtonic (CC BY 3.0):
https://www.freesound.org/people/sonictechtonic/sounds/241872/
player_damage.ogg

View file

@ -31,6 +31,4 @@ minetest.register_on_joinplayer(function(player)
{x = 200, y = 219}, {x = 200, y = 219},
30 30
) )
player:hud_set_hotbar_image("gui_hotbar.png")
player:hud_set_hotbar_selected_image("gui_hotbar_selected.png")
end) end)

View file

@ -22,7 +22,7 @@ Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
Copyright (C) 2011-2018 celeron55, Perttu Ahola <celeron55@gmail.com> Copyright (C) 2011-2018 celeron55, Perttu Ahola <celeron55@gmail.com>
Copyright (C) 2012-2018 Jordach Copyright (C) 2012-2018 Jordach
Copyright (C) 2018 stujones11 Copyright (C) 2018 stujones11
Copyright (C) 2018 paramat Copyright (C) 2019 An0n3m0us
You are free to: You are free to:
Share — copy and redistribute the material in any medium or format. Share — copy and redistribute the material in any medium or format.
@ -51,34 +51,3 @@ rights may limit how you use the material.
For more details: For more details:
http://creativecommons.org/licenses/by-sa/3.0/ http://creativecommons.org/licenses/by-sa/3.0/
------------------------------------
Attribution 3.0 Unported (CC BY 3.0)
Copyright (C) 2014-2018 sonictechtonic
You are free to:
Share — copy and redistribute the material in any medium or format.
Adapt — remix, transform, and build upon the material for any purpose, even commercially.
The licensor cannot revoke these freedoms as long as you follow the license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license, and
indicate if changes were made. You may do so in any reasonable manner, but not in any way
that suggests the licensor endorses you or your use.
No additional restrictions — You may not apply legal terms or technological measures that
legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in the public
domain or where your use is permitted by an applicable exception or limitation.
No warranties are given. The license may not give you all of the permissions necessary
for your intended use. For example, other rights such as publicity, privacy, or moral
rights may limit how you use the material.
For more details:
http://creativecommons.org/licenses/by/3.0/

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