Merge remote-tracking branch 'upstream/master' into dev
@ -38,16 +38,23 @@ function default.chest.chest_lid_close(pn)
|
||||
|
||||
default.chest.open_chests[pn] = nil
|
||||
for k, v in pairs(default.chest.open_chests) do
|
||||
if v.pos.x == pos.x and v.pos.y == pos.y and v.pos.z == pos.z then
|
||||
if vector.equals(v.pos, pos) then
|
||||
-- another player is also looking at the chest
|
||||
return true
|
||||
end
|
||||
end
|
||||
|
||||
local node = minetest.get_node(pos)
|
||||
minetest.after(0.2, minetest.swap_node, pos, { name = swap,
|
||||
param2 = node.param2 })
|
||||
minetest.sound_play(sound, {gain = 0.3, pos = pos,
|
||||
max_hear_distance = 10}, true)
|
||||
minetest.after(0.2, function()
|
||||
local current_node = minetest.get_node(pos)
|
||||
if current_node.name ~= swap .. "_open" then
|
||||
-- the chest has already been replaced, don't try to replace what's there.
|
||||
return
|
||||
end
|
||||
minetest.swap_node(pos, {name = swap, param2 = node.param2})
|
||||
minetest.sound_play(sound, {gain = 0.3, pos = pos,
|
||||
max_hear_distance = 10}, true)
|
||||
end)
|
||||
end
|
||||
|
||||
default.chest.open_chests = {}
|
||||
|
@ -744,16 +744,23 @@ function default.log_player_action(player, ...)
|
||||
minetest.log("action", msg)
|
||||
end
|
||||
|
||||
local nop = function() end
|
||||
function default.set_inventory_action_loggers(def, name)
|
||||
local on_move = def.on_metadata_inventory_move or nop
|
||||
def.on_metadata_inventory_move = function(pos, from_list, from_index,
|
||||
to_list, to_index, count, player)
|
||||
default.log_player_action(player, "moves stuff in", name, "at", pos)
|
||||
return on_move(pos, from_list, from_index, to_list, to_index, count, player)
|
||||
end
|
||||
local on_put = def.on_metadata_inventory_put or nop
|
||||
def.on_metadata_inventory_put = function(pos, listname, index, stack, player)
|
||||
default.log_player_action(player, "moves", stack:get_name(), "to", name, "at", pos)
|
||||
default.log_player_action(player, "moves", stack:get_name(), stack:get_count(), "to", name, "at", pos)
|
||||
return on_put(pos, listname, index, stack, player)
|
||||
end
|
||||
local on_take = def.on_metadata_inventory_take or nop
|
||||
def.on_metadata_inventory_take = function(pos, listname, index, stack, player)
|
||||
default.log_player_action(player, "takes", stack:get_name(), "from", name, "at", pos)
|
||||
default.log_player_action(player, "takes", stack:get_name(), stack:get_count(), "from", name, "at", pos)
|
||||
return on_take(pos, listname, index, stack, player)
|
||||
end
|
||||
end
|
||||
|
||||
|
@ -19,7 +19,7 @@ Licenses of media (textures, models and sounds)
|
||||
-----------------------------------------------
|
||||
|
||||
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
|
||||
Copyright (C) 2010-2018:
|
||||
Copyright (C) 2010-2023:
|
||||
|
||||
celeron55, Perttu Ahola <celeron55@gmail.com>
|
||||
Cisoun
|
||||
@ -52,6 +52,7 @@ Copyright (C) 2010-2018:
|
||||
random-geek
|
||||
Extex101
|
||||
An0n3m0us
|
||||
Lopano
|
||||
|
||||
You are free to:
|
||||
Share — copy and redistribute the material in any medium or format.
|
||||
|
@ -108,7 +108,7 @@ Acacia Tree Sapling=Akazienbaumsetzling
|
||||
Aspen Tree=Espenbaum
|
||||
Aspen Wood Planks=Espenholzplanken
|
||||
Aspen Tree Leaves=Espenbaumblätter
|
||||
Aspen Tree Sapling=Esepenbaumsetzling
|
||||
Aspen Tree Sapling=Espenbaumsetzling
|
||||
Coal Ore=Kohleerz
|
||||
Coal Block=Kohleblock
|
||||
Iron Ore=Eisenerz
|
||||
|
@ -111,7 +111,7 @@ Aspen Tree Leaves=Feuilles de tremble
|
||||
Aspen Tree Sapling=Pousse de tremble
|
||||
Coal Ore=Minerai de charbon
|
||||
Coal Block=Bloc de charbon
|
||||
Iron Ore=Bloc de fer
|
||||
Iron Ore=Minerai de fer
|
||||
Steel Block=Bloc d'acier
|
||||
Copper Ore=Minerai de cuivre
|
||||
Copper Block=Bloc de cuivre
|
||||
|
@ -1,44 +1,44 @@
|
||||
# textdomain: default
|
||||
Locked Chest=Заблокована Скриня
|
||||
Locked Chest (owned by @1)=Заблокована Скриня (власник: @1)
|
||||
You do not own this chest.=Ви не власник цієї скрині.
|
||||
a locked chest=заблокована скриня
|
||||
Locked Chest=Замкнена скриня
|
||||
Locked Chest (owned by @1)=Замкнена скриня (власник — @1)
|
||||
You do not own this chest.=Ви — не власник цієї скрині.
|
||||
a locked chest=замкнена скриня
|
||||
Chest=Скриня
|
||||
Write=Писати
|
||||
Read=Читати
|
||||
Title:=Заголовок:
|
||||
Contents:=Вміст:
|
||||
Save=Зберегти
|
||||
by @1=@1
|
||||
by @1=Автор: @1
|
||||
Page @1 of @2=Сторінка @1 з @2
|
||||
The book you were writing to mysteriously disappeared.=
|
||||
"@1" by @2="@1" @2
|
||||
The book you were writing to mysteriously disappeared.=Книга, в яку ви писали, загадковим чином зникла.
|
||||
"@1" by @2=@2 — "@1"
|
||||
Blueberries=Чорниці
|
||||
Book=Книга
|
||||
Book with Text=Книга З Текстом
|
||||
Bronze Ingot=Бронзовий Злиток
|
||||
Clay Brick=Глиняна Цегла
|
||||
Clay Lump=Шматок Глини
|
||||
Coal Lump=Шматок Вугілля
|
||||
Copper Ingot=Мідний Злиток
|
||||
Copper Lump=Шматок Меді
|
||||
Diamond=Алмаз
|
||||
Book with Text=Книга з текстом
|
||||
Bronze Ingot=Бронзовий злиток
|
||||
Clay Brick=Глиняна цегла
|
||||
Clay Lump=Шматок глини
|
||||
Coal Lump=Шматок вугілля
|
||||
Copper Ingot=Мідний злиток
|
||||
Copper Lump=Шматок міді
|
||||
Diamond=Діамант
|
||||
Flint=Кремінь
|
||||
Gold Ingot=Золотий Злиток
|
||||
Gold Lump=Шматок Золота
|
||||
Iron Lump=Шматок Заліза
|
||||
Gold Ingot=Золотий злиток
|
||||
Gold Lump=Шматок золота
|
||||
Iron Lump=Шматок заліза
|
||||
Mese Crystal=Кристал Месе
|
||||
Mese Crystal Fragment=Уламок Кристалу Месе
|
||||
Obsidian Shard=Обсидіановий Уламок
|
||||
Mese Crystal Fragment=Уламок кристалу Месе
|
||||
Obsidian Shard=Обсидіановий уламок
|
||||
Paper=Папір
|
||||
Steel Ingot=Залізний Злиток
|
||||
Stick=Палка
|
||||
Tin Ingot=Шматок Олова
|
||||
Tin Lump=Уламок Олова
|
||||
Furnace is empty=Пічка Порожня
|
||||
100% (output full)=100% (повне приготування)
|
||||
Steel Ingot=Сталевий злиток
|
||||
Stick=Палиця
|
||||
Tin Ingot=Олов'яний злиток
|
||||
Tin Lump=Шматок олова
|
||||
Furnace is empty=Піч порожня
|
||||
100% (output full)=100% (піч переповнена)
|
||||
@1%=@1%
|
||||
Not cookable=Не може бути приготовлено
|
||||
Not cookable=Не може бути приготовано
|
||||
Empty=Порожньо
|
||||
Furnace active=Піч запалена
|
||||
Furnace inactive=Піч не запалена
|
||||
@ -46,170 +46,170 @@ Furnace inactive=Піч не запалена
|
||||
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=Блок Із Срібного Піщанику
|
||||
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=Обсидіановий Блок
|
||||
Obsidian Brick=Обсидіанова цегла
|
||||
Obsidian Block=Блок обсидіану
|
||||
Dirt=Земля
|
||||
Dirt with Grass=Земля З Травою
|
||||
Dirt with Grass and Footsteps=Земля З Травою Та Слідами
|
||||
Dirt with Savanna Grass=Земля Із Саванною Травою
|
||||
Dirt with Snow=Земля Зі Снігом
|
||||
Dirt with Rainforest Litter=Земля Із Тропічною Підстилкою
|
||||
Dirt with Coniferous Litter=Земля Із Сосновою Підстилкою
|
||||
Savanna Dirt=Саваннова Земля
|
||||
Savanna Dirt with Savanna Grass=Саваннова Земля Із Травою
|
||||
Permafrost=Заморожений Ґрунт
|
||||
Permafrost with Stones=Заморожений Ґрунт Із Камінням
|
||||
Permafrost with Moss=Заморожений Ґрунт Із Мохом
|
||||
Dirt with Grass=Земля з травою
|
||||
Dirt with Grass and Footsteps=Земля з травою та слідами
|
||||
Dirt with Savanna Grass=Земля із саванною травою
|
||||
Dirt with Snow=Земля зі снігом
|
||||
Dirt with Rainforest Litter=Земля з тропічно-лісовою підстилкою
|
||||
Dirt with Coniferous Litter=Земля з хвойно-лісовою підстилкою
|
||||
Savanna Dirt=Саванна земля
|
||||
Savanna Dirt with Savanna Grass=Саванна земля із саванною травою
|
||||
Permafrost=Вічна мерзлота
|
||||
Permafrost with Stones=Вічна мерзлота з камінням
|
||||
Permafrost with Moss=Вічна мерзлота з мохом
|
||||
Sand=Пісок
|
||||
Desert Sand=Пустельний Пісок
|
||||
Silver Sand=Срібний Пісок
|
||||
Desert Sand=Пустельний пісок
|
||||
Silver Sand=Срібний пісок
|
||||
Gravel=Гравій
|
||||
Clay=Глиняний Блок
|
||||
Clay=Глина
|
||||
Snow=Сніг
|
||||
Snow Block=Сніговий Блок
|
||||
Ice=Лід
|
||||
Cave Ice=Печерний Лід
|
||||
Apple Tree=Стовбур Яблуні
|
||||
Apple Wood Planks=Яблуневі Дошки
|
||||
Apple Tree Sapling=Саджанець Яблуні
|
||||
Apple Tree Leaves=Яблуневе Листя
|
||||
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=Алмазний Блок
|
||||
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=Саджанець Кактуса
|
||||
Large Cactus Seedling=Великий саджанець кактуса
|
||||
Papyrus=Папірус
|
||||
Dry Shrub=Сухий Кущ
|
||||
Jungle Grass=Тропічна Трава
|
||||
Dry Shrub=Сухий кущ
|
||||
Jungle Grass=Тропічна трава
|
||||
Grass=Трава
|
||||
Savanna Grass=Саваннова Трава
|
||||
Savanna Grass=Саванна трава
|
||||
Fern=Папороть
|
||||
Marram Grass=Пісколюб
|
||||
Bush Stem=Стебла Куща
|
||||
Bush Leaves=Листя Куща
|
||||
Bush Sapling=Саджанець Куща
|
||||
Blueberry Bush Leaves with Berries=Кущ Чорниці З Ягодами
|
||||
Blueberry Bush Leaves=Кущ Чорниці
|
||||
Blueberry Bush Sapling=Саджанець Куща Чорниці
|
||||
Acacia Bush Stem=Стебла Куща Акації
|
||||
Acacia Bush Leaves=Листя Куща Акації
|
||||
Acacia Bush Sapling=Саджанець Куща Акації
|
||||
Pine Bush Stem=Стебла Хвойного Куща
|
||||
Pine Bush Needles=Хвоя Куща
|
||||
Pine Bush Sapling=Саджанець Хвойного Куща
|
||||
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=Текст надто довгий
|
||||
Green Coral=Зелений корал
|
||||
Pink Coral=Рожевий корал
|
||||
Cyan Coral=Блакитний корал
|
||||
Brown Coral=Коричневий корал
|
||||
Orange Coral=Помаранчевий корал
|
||||
Coral Skeleton=Скелет корала
|
||||
Water Source=Водне джерело
|
||||
Flowing Water=Проточна вода
|
||||
River Water Source=Річкове водне джерело
|
||||
Flowing River Water=Проточна річкова вода
|
||||
Lava Source=Лавове джерело
|
||||
Flowing Lava=Проточна лава
|
||||
Empty Bookshelf=Порожня книжкова полиця
|
||||
Bookshelf (@1 written, @2 empty books)=Книжкова полиця (книги: @1 з текстом, @2 без тексту)
|
||||
Bookshelf=Книжкова полиця
|
||||
Text too long=Текст занадто довгий
|
||||
"@1"="@1"
|
||||
Wooden Sign=Дерев'яна Табличка
|
||||
Steel Sign=Сталева Табличка
|
||||
Wooden Ladder=Дерев'яна Драбина
|
||||
Steel Ladder=Сталеві Сходи
|
||||
Apple Wood Fence=Яблуневий Дерев'яний Паркан
|
||||
Acacia Wood Fence=Дерев'яний Паркан З Акації
|
||||
Jungle Wood Fence=Дерев'яний Паркан З Тропічного Дерева
|
||||
Pine Wood Fence=Сосновий Дерев'яний Паркан
|
||||
Aspen Wood Fence=Осиковий Дерев'яний Паркан
|
||||
Apple Wood Fence Rail=Яблуневий Дерев'яний Рейковий Паркан
|
||||
Acacia Wood Fence Rail=Дерев'яний Рейковий Паркан З Акації
|
||||
Jungle Wood Fence Rail=Дерев'яний Рейковий Паркан З Тропічного Дерева
|
||||
Pine Wood Fence Rail=Сосновий Дерев'яний Рейковий Паркан
|
||||
Aspen Wood Fence Rail=Осиковий Дерев'яний Рейковий Паркан
|
||||
Wooden Sign=Дерев'яна табличка
|
||||
Steel Sign=Сталева табличка
|
||||
Wooden Ladder=Дерев'яна драбина
|
||||
Steel Ladder=Сталева драбина
|
||||
Apple Wood Fence=Яблуневий паркан
|
||||
Acacia Wood Fence=Акацієвий паркан
|
||||
Jungle Wood Fence=Паркан із тропічного дерева
|
||||
Pine Wood Fence=Сосновий паркан
|
||||
Aspen Wood Fence=Осиковий паркан
|
||||
Apple Wood Fence Rail=Яблуневий рейковий паркан
|
||||
Acacia Wood Fence Rail=Акацієвий рейковий паркан
|
||||
Jungle Wood Fence Rail=Рейковий паркан з тропічного дерева
|
||||
Pine Wood Fence Rail=Сосновий рейковий паркан
|
||||
Aspen Wood Fence Rail=Осиковий рейковий паркан
|
||||
Glass=Скло
|
||||
Obsidian Glass=Обсидіанове Скло
|
||||
Brick Block=Цегляний Блок
|
||||
Mese Lamp=Месе Лампа
|
||||
Apple Wood Mese Post Light=Стовповий Месе Світильник З Яблуні
|
||||
Acacia Wood Mese Post Light=Стовповий Месе Світильник З Акації
|
||||
Jungle Wood Mese Post Light=Стовповий Месе Світильник Із Тропічного Дерева
|
||||
Pine Wood Mese Post Light=Стовповий Месе Світильник Із Сосни
|
||||
Aspen Wood Mese Post Light=Стовповий Месе Світильник З Осики
|
||||
Obsidian Glass=Обсидіанове скло
|
||||
Brick Block=Цегляний блок
|
||||
Mese Lamp=Месе-лампа
|
||||
Apple Wood Mese Post Light=Яблуневий стовповий Месе-світильник
|
||||
Acacia Wood Mese Post Light=Акацієвий стовповий Месе-світильник
|
||||
Jungle Wood Mese Post Light=Стовповий Месе-світильник із тропічного дерева
|
||||
Pine Wood Mese Post Light=Сосновий стовповий Месе-світильник
|
||||
Aspen Wood Mese Post Light=Осиковий стовповий Месе-світильник
|
||||
Cloud=Хмара
|
||||
Wooden Pickaxe=Дерев'яна Кірка
|
||||
Stone Pickaxe=Кам'яна Кірка
|
||||
Bronze Pickaxe=Бронзова Кірка
|
||||
Steel Pickaxe=Сталева Кірка
|
||||
Mese Pickaxe=Месе Кірка
|
||||
Diamond Pickaxe=Алмазна Кірка
|
||||
Wooden Shovel=Дерев'янна Лопата
|
||||
Stone Shovel=Кам'яна Лопата
|
||||
Bronze Shovel=Бронзова Лопата
|
||||
Steel Shovel=Сталева Лопата
|
||||
Mese Shovel=Месе Лопата
|
||||
Diamond Shovel=Алмазна Лопата
|
||||
Wooden Axe=Дерев'яна Сокира
|
||||
Stone Axe=Кам'яна Сокира
|
||||
Bronze Axe=Бронзова Сокира
|
||||
Steel Axe=Сталева Сокира
|
||||
Mese Axe=Месе Сокира
|
||||
Diamond Axe=Алмазна Сокира
|
||||
Wooden Sword=Дерев'яний Меч
|
||||
Stone Sword=Кам'яний Меч
|
||||
Bronze Sword=Бронзовий Меч
|
||||
Steel Sword=Сталевий Меч
|
||||
Mese Sword=Месе Меч
|
||||
Diamond Sword=Алмазний Меч
|
||||
Torch=Факел
|
||||
@1 will intersect protection on growth.=@1 перетне захист за зростанням.
|
||||
Wooden Pickaxe=Дерев'яне кайло
|
||||
Stone Pickaxe=Кам'яне кайло
|
||||
Bronze Pickaxe=Бронзове кайло
|
||||
Steel Pickaxe=Сталеве кайло
|
||||
Mese Pickaxe=Месе-кайло
|
||||
Diamond Pickaxe=Діамантове кайло
|
||||
Wooden Shovel=Дерев'яна лопата
|
||||
Stone Shovel=Кам'яна лопата
|
||||
Bronze Shovel=Бронзова лопата
|
||||
Steel Shovel=Сталева лопата
|
||||
Mese Shovel=Месе-лопата
|
||||
Diamond Shovel=Діамантова лопата
|
||||
Wooden Axe=Дерев'яна сокира
|
||||
Stone Axe=Кам'яна сокира
|
||||
Bronze Axe=Бронзова сокира
|
||||
Steel Axe=Сталева сокира
|
||||
Mese Axe=Месе-сокира
|
||||
Diamond Axe=Діамантова сокира
|
||||
Wooden Sword=Дерев'яний меч
|
||||
Stone Sword=Кам'яний меч
|
||||
Bronze Sword=Бронзовий меч
|
||||
Steel Sword=Сталевий меч
|
||||
Mese Sword=Месе-меч
|
||||
Diamond Sword=Діамантовий меч
|
||||
Torch=Смолоскип
|
||||
@1 will intersect protection on growth.=@1 перетне захист коли виросте.
|
||||
|
@ -2024,7 +2024,7 @@ minetest.register_node("default:sand_with_kelp", {
|
||||
return itemstack
|
||||
end,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
minetest.set_node(pos, {name = "default:sand"})
|
||||
end
|
||||
})
|
||||
@ -2099,7 +2099,7 @@ minetest.register_node("default:coral_green", {
|
||||
|
||||
on_place = coral_on_place,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
minetest.set_node(pos, {name = "default:coral_skeleton"})
|
||||
end,
|
||||
})
|
||||
@ -2130,7 +2130,7 @@ minetest.register_node("default:coral_pink", {
|
||||
|
||||
on_place = coral_on_place,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
minetest.set_node(pos, {name = "default:coral_skeleton"})
|
||||
end,
|
||||
})
|
||||
@ -2161,7 +2161,7 @@ minetest.register_node("default:coral_cyan", {
|
||||
|
||||
on_place = coral_on_place,
|
||||
|
||||
after_destruct = function(pos, oldnode)
|
||||
after_dig_node = function(pos, oldnode, oldmetadata, digger)
|
||||
minetest.set_node(pos, {name = "default:coral_skeleton"})
|
||||
end,
|
||||
})
|
||||
@ -2549,6 +2549,15 @@ local default_bookshelf_def = {
|
||||
end
|
||||
return 0
|
||||
end,
|
||||
on_metadata_inventory_put = function(pos)
|
||||
update_bookshelf(pos)
|
||||
end,
|
||||
on_metadata_inventory_take = function(pos)
|
||||
update_bookshelf(pos)
|
||||
end,
|
||||
on_metadata_inventory_move = function(pos)
|
||||
update_bookshelf(pos)
|
||||
end,
|
||||
on_blast = function(pos)
|
||||
local drops = {}
|
||||
default.get_inventory_drops(pos, "books", drops)
|
||||
|
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 312 B |
Before Width: | Height: | Size: 327 B After Width: | Height: | Size: 336 B |
Before Width: | Height: | Size: 514 B After Width: | Height: | Size: 610 B |
Before Width: | Height: | Size: 449 B After Width: | Height: | Size: 463 B |
Before Width: | Height: | Size: 135 B After Width: | Height: | Size: 388 B |
Before Width: | Height: | Size: 238 B After Width: | Height: | Size: 224 B |
Before Width: | Height: | Size: 236 B After Width: | Height: | Size: 221 B |
Before Width: | Height: | Size: 398 B After Width: | Height: | Size: 447 B |
Before Width: | Height: | Size: 426 B After Width: | Height: | Size: 481 B |
Before Width: | Height: | Size: 676 B After Width: | Height: | Size: 641 B |
Before Width: | Height: | Size: 590 B After Width: | Height: | Size: 630 B |
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 253 B After Width: | Height: | Size: 560 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.5 KiB |
@ -26,6 +26,10 @@ function default.can_grow(pos)
|
||||
return true
|
||||
end
|
||||
|
||||
function default.on_grow_failed(pos)
|
||||
minetest.get_node_timer(pos):start(300)
|
||||
end
|
||||
|
||||
|
||||
-- 'is snow nearby' function
|
||||
|
||||
@ -34,84 +38,6 @@ local function is_snow_nearby(pos)
|
||||
end
|
||||
|
||||
|
||||
-- Grow sapling
|
||||
|
||||
function default.grow_sapling(pos)
|
||||
if not default.can_grow(pos) then
|
||||
-- try again 5 min later
|
||||
minetest.get_node_timer(pos):start(300)
|
||||
return
|
||||
end
|
||||
|
||||
local mg_name = minetest.get_mapgen_setting("mg_name")
|
||||
local node = minetest.get_node(pos)
|
||||
if node.name == "default:sapling" then
|
||||
minetest.log("action", "A sapling grows into a tree at "..
|
||||
minetest.pos_to_string(pos))
|
||||
if mg_name == "v6" then
|
||||
default.grow_tree(pos, random(1, 4) == 1)
|
||||
else
|
||||
default.grow_new_apple_tree(pos)
|
||||
end
|
||||
elseif node.name == "default:junglesapling" then
|
||||
minetest.log("action", "A jungle sapling grows into a tree at "..
|
||||
minetest.pos_to_string(pos))
|
||||
if mg_name == "v6" then
|
||||
default.grow_jungle_tree(pos)
|
||||
else
|
||||
default.grow_new_jungle_tree(pos)
|
||||
end
|
||||
elseif node.name == "default:pine_sapling" then
|
||||
minetest.log("action", "A pine sapling grows into a tree at "..
|
||||
minetest.pos_to_string(pos))
|
||||
local snow = is_snow_nearby(pos)
|
||||
if mg_name == "v6" then
|
||||
default.grow_pine_tree(pos, snow)
|
||||
elseif snow then
|
||||
default.grow_new_snowy_pine_tree(pos)
|
||||
else
|
||||
default.grow_new_pine_tree(pos)
|
||||
end
|
||||
elseif node.name == "default:acacia_sapling" then
|
||||
minetest.log("action", "An acacia sapling grows into a tree at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_new_acacia_tree(pos)
|
||||
elseif node.name == "default:aspen_sapling" then
|
||||
minetest.log("action", "An aspen sapling grows into a tree at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_new_aspen_tree(pos)
|
||||
elseif node.name == "default:bush_sapling" then
|
||||
minetest.log("action", "A bush sapling grows into a bush at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_bush(pos)
|
||||
elseif node.name == "default:blueberry_bush_sapling" then
|
||||
minetest.log("action", "A blueberry bush sapling grows into a bush at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_blueberry_bush(pos)
|
||||
elseif node.name == "default:acacia_bush_sapling" then
|
||||
minetest.log("action", "An acacia bush sapling grows into a bush at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_acacia_bush(pos)
|
||||
elseif node.name == "default:pine_bush_sapling" then
|
||||
minetest.log("action", "A pine bush sapling grows into a bush at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_pine_bush(pos)
|
||||
elseif node.name == "default:emergent_jungle_sapling" then
|
||||
minetest.log("action", "An emergent jungle sapling grows into a tree at "..
|
||||
minetest.pos_to_string(pos))
|
||||
default.grow_new_emergent_jungle_tree(pos)
|
||||
end
|
||||
end
|
||||
|
||||
minetest.register_lbm({
|
||||
name = "default:convert_saplings_to_node_timer",
|
||||
nodenames = {"default:sapling", "default:junglesapling",
|
||||
"default:pine_sapling", "default:acacia_sapling",
|
||||
"default:aspen_sapling"},
|
||||
action = function(pos)
|
||||
minetest.get_node_timer(pos):start(math.random(300, 1500))
|
||||
end
|
||||
})
|
||||
|
||||
--
|
||||
-- Tree generation
|
||||
@ -209,7 +135,6 @@ function default.grow_tree(pos, is_apple_tree, bad)
|
||||
vm:update_map()
|
||||
end
|
||||
|
||||
|
||||
-- Jungle tree
|
||||
|
||||
function default.grow_jungle_tree(pos, bad)
|
||||
@ -604,3 +529,78 @@ function default.sapling_on_place(itemstack, placer, pointed_thing,
|
||||
|
||||
return itemstack
|
||||
end
|
||||
|
||||
-- Grow sapling
|
||||
|
||||
default.sapling_growth_defs = {}
|
||||
|
||||
function default.register_sapling_growth(name, def)
|
||||
default.sapling_growth_defs[name] = {
|
||||
can_grow = def.can_grow or default.can_grow,
|
||||
on_grow_failed = def.on_grow_failed or default.on_grow_failed,
|
||||
grow = assert(def.grow)
|
||||
}
|
||||
end
|
||||
|
||||
function default.grow_sapling(pos)
|
||||
local node = minetest.get_node(pos)
|
||||
local sapling_def = default.sapling_growth_defs[node.name]
|
||||
|
||||
if not sapling_def then
|
||||
minetest.log("warning", "default.grow_sapling called on undefined sapling " .. node.name)
|
||||
return
|
||||
end
|
||||
|
||||
if not sapling_def.can_grow(pos) then
|
||||
sapling_def.on_grow_failed(pos)
|
||||
return
|
||||
end
|
||||
|
||||
minetest.log("action", "Growing sapling " .. node.name .. " at " .. minetest.pos_to_string(pos))
|
||||
sapling_def.grow(pos)
|
||||
end
|
||||
|
||||
local function register_sapling_growth(nodename, grow)
|
||||
default.register_sapling_growth("default:" .. nodename, {grow = grow})
|
||||
end
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") == "v6" then
|
||||
register_sapling_growth("sapling", function(pos)
|
||||
default.grow_tree(pos, random(1, 4) == 1)
|
||||
end)
|
||||
register_sapling_growth("junglesapling", default.grow_jungle_tree)
|
||||
register_sapling_growth("pine_sapling", function(pos)
|
||||
local snow = is_snow_nearby(pos)
|
||||
default.grow_pine_tree(pos, snow)
|
||||
end)
|
||||
else
|
||||
register_sapling_growth("sapling", default.grow_new_apple_tree)
|
||||
register_sapling_growth("junglesapling", default.grow_new_jungle_tree)
|
||||
register_sapling_growth("pine_sapling", function(pos)
|
||||
local snow = is_snow_nearby(pos)
|
||||
if snow then
|
||||
default.grow_new_snowy_pine_tree(pos)
|
||||
else
|
||||
default.grow_new_pine_tree(pos)
|
||||
end
|
||||
end)
|
||||
end
|
||||
|
||||
register_sapling_growth("acacia_sapling", default.grow_new_acacia_tree)
|
||||
register_sapling_growth("aspen_sapling", default.grow_new_aspen_tree)
|
||||
register_sapling_growth("bush_sapling", default.grow_bush)
|
||||
register_sapling_growth("blueberry_bush_sapling", default.grow_blueberry_bush)
|
||||
register_sapling_growth("acacia_bush_sapling", default.grow_acacia_bush)
|
||||
register_sapling_growth("pine_bush_sapling", default.grow_pine_bush)
|
||||
register_sapling_growth("emergent_jungle_sapling", default.grow_new_emergent_jungle_tree)
|
||||
|
||||
-- Backwards compatibility for saplings that used to use ABMs; does not need to include newer saplings.
|
||||
minetest.register_lbm({
|
||||
name = "default:convert_saplings_to_node_timer",
|
||||
nodenames = {"default:sapling", "default:junglesapling",
|
||||
"default:pine_sapling", "default:acacia_sapling",
|
||||
"default:aspen_sapling"},
|
||||
action = function(pos)
|
||||
minetest.get_node_timer(pos):start(math.random(300, 1500))
|
||||
end
|
||||
})
|
||||
|