Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/master' into fork-20240403-bucke…
Browse files Browse the repository at this point in the history
…t-log
  • Loading branch information
Emojigit committed Apr 2, 2024
2 parents 393fe64 + 16c663f commit de9c6b5
Show file tree
Hide file tree
Showing 71 changed files with 1,016 additions and 950 deletions.
16 changes: 0 additions & 16 deletions .github/workflows/build.yml

This file was deleted.

13 changes: 13 additions & 0 deletions .github/workflows/luacheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
name: luacheck
on: [push, pull_request]

jobs:
luacheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Luacheck
uses: lunarmodules/luacheck@master
with:
args: mods
11 changes: 11 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
name: test
on: [push, pull_request]

jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4

- run: ./utils/test/run.sh
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,27 @@
# Minetest Game

The default game bundled in the Minetest engine.
[![ContentDB](https://content.minetest.net/packages/Minetest/minetest_game/shields/title/)](https://content.minetest.net/packages/Minetest/minetest_game/)

For further information, check [this forum topic](https://forum.minetest.net/viewtopic.php?f=15&t=9724).
Minetest Game (abbreviated MTG) is a simple and peaceful sandbox game, with no
real goals or built-in enemy mobs.

Also see the [Minetest Wiki](https://wiki.minetest.net/Subgames/Minetest_Game) for more information.
While it provides a basic gameplay experience out of the box, it is best played
with mods.

Minetest Game is currently in maintenance-only mode, meaning it will not see new
gameplay features or anything else that breaks compatibility (See
[#2710](https://github.com/minetest/minetest_game/issues/2710)).

## Installation

### ContentDB

* Content > Browse Online Content
* Search for Minetest Game
* Click Install

### Manually

- Unzip the archive, rename the folder to `minetest_game` and
place it in .. `minetest/games/`

Expand All @@ -25,7 +39,7 @@ The Minetest Game GitHub `master` `HEAD` is generally compatible with the GitHub
Additionally, when the Minetest engine is tagged to be a certain version (e.g.
`0.4.10`), Minetest Game is tagged with the version, too.

When stable releases are made, Minetest Game and the Minetest engine is packaged
When stable releases are made, Minetest Game and the Minetest engine is packaged
and made available at [www.minetest.net](https://www.minetest.net/downloads/).

## Licensing
Expand Down
19 changes: 8 additions & 11 deletions mods/beds/api.lua
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@

local reverse = true

local function destruct_bed(pos, n)
local node = minetest.get_node(pos)
local other
Expand All @@ -12,15 +10,14 @@ local function destruct_bed(pos, n)
local dir = minetest.facedir_to_dir(node.param2)
other = vector.add(pos, dir)
end

if reverse then
reverse = not reverse
minetest.remove_node(other)
minetest.check_for_falling(other)
beds.remove_spawns_at(pos)
beds.remove_spawns_at(other)
else
reverse = not reverse
local oname = minetest.get_node(other).name
if minetest.get_item_group(oname, "bed") ~= 0 then
-- Swap node leaves meta, but doesn't call destruct_bed again
minetest.swap_node(other, {name = "air"})
minetest.remove_node(other) -- Now clear the meta
minetest.check_for_falling(other)
beds.remove_spawns_at(pos)
beds.remove_spawns_at(other)
end
end

Expand Down
4 changes: 2 additions & 2 deletions mods/beds/beds.lua
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ beds.register_bed("beds:bed", {
"beds_bed_under.png",
"beds_bed_side_bottom_r.png",
"beds_bed_side_bottom_r.png^[transformFX",
"beds_transparent.png",
"blank.png",
"beds_bed_side_bottom.png"
},
top = {
Expand All @@ -75,7 +75,7 @@ beds.register_bed("beds:bed", {
"beds_bed_side_top_r.png",
"beds_bed_side_top_r.png^[transformFX",
"beds_bed_side_top.png",
"beds_transparent.png",
"blank.png",
}
},
nodebox = {
Expand Down
4 changes: 2 additions & 2 deletions mods/beds/locale/beds.eo.tr
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# textdomain: beds
Fancy Bed=Luksa Lito
Simple Bed=Simpla Lito
Fancy Bed=Luksa lito
Simple Bed=Simpla lito
This bed is already occupied!=Tiu lito jam estas okupata!
You have to stop moving before going to bed!=Vi ĉesu moviĝi por enlitiĝi!
Good morning.=Bonan matenon.
Expand Down
6 changes: 3 additions & 3 deletions mods/beds/locale/beds.ru.tr
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# textdomain: beds
Fancy Bed=Детализированная Кровать
Simple Bed=Обычная Кровать
Fancy Bed=Красивая кровать
Simple Bed=Простая кровать
This bed is already occupied!=Эта кровать уже занята!
You have to stop moving before going to bed!=Нельзя воспользоваться кроватью на ходу!
You have to stop moving before going to bed!=Вам нужно перестать двигаться чтобы лечь!
Good morning.=Доброе утро.
@1 of @2 players are in bed=@1 из @2 игроков в кровати
Force night skip=Пропустить ночь
Expand Down
Binary file removed mods/beds/textures/beds_transparent.png
Binary file not shown.
2 changes: 1 addition & 1 deletion mods/binoculars/locale/binoculars.ru.tr
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
# textdomain: binoculars
Binoculars=Бинокль
Use with 'Zoom' key=Используется с привилегией 'Zoom'
Use with 'Zoom' key=Используется клавишей 'Приближение'
10 changes: 5 additions & 5 deletions mods/bones/locale/bones.ru.tr
Original file line number Diff line number Diff line change
@@ -1,8 +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
@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
8 changes: 4 additions & 4 deletions mods/bucket/locale/bucket.eo.tr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# textdomain: bucket
Empty Bucket=Malplena Sitelo
Water Bucket=Sitelo da Akvo
River Water Bucket=Sitelo da Rivera Akvo
Lava Bucket=Sitelo da Lafo
Empty Bucket=Malplena sitelo
Water Bucket=Sitelo da akvo
River Water Bucket=Sitelo da rivera akvo
Lava Bucket=Sitelo da lafo
8 changes: 4 additions & 4 deletions mods/bucket/locale/bucket.ru.tr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# textdomain: bucket
Empty Bucket=Пустое Ведро
Water Bucket=Ведро с Водой
River Water Bucket=Ведро с Речной Водой
Lava Bucket=Ведро с Лавой
Empty Bucket=Пустое ведро
Water Bucket=Ведро с водой
River Water Bucket=Ведро с речной водой
Lava Bucket=Ведро с лавой
8 changes: 6 additions & 2 deletions mods/butterflies/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@
-- Load support for MT game translation.
local S = minetest.get_translator("butterflies")

-- Legacy compatibility, when pointabilities don't exist, pointable is set to true.
local pointable_compat = not minetest.features.item_specific_pointabilities

-- register butterflies
local butter_list = {
{"white", S("White Butterfly")},
Expand Down Expand Up @@ -33,14 +36,15 @@ for i in ipairs (butter_list) do
sunlight_propagates = true,
buildable_to = true,
walkable = false,
pointable = pointable_compat,
groups = {catchable = 1},
selection_box = {
type = "fixed",
fixed = {-0.1, -0.1, -0.1, 0.1, 0.1, 0.1},
},
floodable = true,
on_place = function(itemstack, placer, pointed_thing)
local player_name = placer:get_player_name()
local player_name = placer and placer:get_player_name() or ""
local pos = pointed_thing.above

if not minetest.is_protected(pos, player_name) and
Expand Down Expand Up @@ -73,7 +77,7 @@ for i in ipairs (butter_list) do
groups = {not_in_creative_inventory = 1},
floodable = true,
on_place = function(itemstack, placer, pointed_thing)
local player_name = placer:get_player_name()
local player_name = placer and placer:get_player_name() or ""
local pos = pointed_thing.above

if not minetest.is_protected(pos, player_name) and
Expand Down
6 changes: 3 additions & 3 deletions mods/butterflies/locale/butterflies.eo.tr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# textdomain: butterflies
White Butterfly=Blanka Papilio
Red Butterfly=Ruĝa Papilio
Violet Butterfly=Violkolora Papilio
White Butterfly=Blanka papilio
Red Butterfly=Ruĝa papilio
Violet Butterfly=Violkolora papilio
6 changes: 3 additions & 3 deletions mods/butterflies/locale/butterflies.pt_BR.tr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# textdomain: butterflies
White Butterfly=
Red Butterfly=
Violet Butterfly=
White Butterfly=Borboleta Branca
Red Butterfly=Borboleta Vermelha
Violet Butterfly=Borboleta Violeta
6 changes: 3 additions & 3 deletions mods/butterflies/locale/butterflies.ru.tr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# textdomain: butterflies
White Butterfly=Белая Бабочка
Red Butterfly=Красная Бабочка
Violet Butterfly=Фиолетовая Бабочка
White Butterfly=Белая бабочка
Red Butterfly=Красная бабочка
Violet Butterfly=Фиолетовая бабочка
3 changes: 2 additions & 1 deletion mods/carts/cart_entity.lua
Original file line number Diff line number Diff line change
Expand Up @@ -413,7 +413,8 @@ minetest.register_craftitem("carts:cart", {
minetest.sound_play({name = "default_place_node_metal", gain = 0.5},
{pos = pointed_thing.above}, true)

if not minetest.is_creative_enabled(placer:get_player_name()) then
local player_name = placer and placer:get_player_name() or ""
if not minetest.is_creative_enabled(player_name) then
itemstack:take_item()
end
return itemstack
Expand Down
4 changes: 2 additions & 2 deletions mods/carts/locale/carts.eo.tr
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
Cart=Ĉaro
(Sneak+Click to pick up)=(Ŝteliri+Alklaki por reprini)
Rail=Relo
Powered Rail=Elektra Relo
Brake Rail=Bremsa Relo
Powered Rail=Elektra relo
Brake Rail=Bremsa relo
2 changes: 1 addition & 1 deletion mods/carts/locale/carts.ru.tr
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,5 @@
Cart=Вагонетка
(Sneak+Click to pick up)=(Пригнитесь и кликните по вагонетке, чтобы забрать)
Rail=Рельсы
Powered Rail=Запитанные рельсы
Powered Rail=Ускоряющие рельсы
Brake Rail=Тормозящие рельсы
1 change: 1 addition & 0 deletions mods/creative/inventory.lua
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ function creative.register_tab(name, title, items)
"tooltip[creative_prev;" .. esc(S("Previous page")) .. "]" ..
"tooltip[creative_next;" .. esc(S("Next page")) .. "]" ..
"listring[current_player;main]" ..
"field_enter_after_edit[creative_filter;true]" ..
"field_close_on_enter[creative_filter;false]" ..
"field[0.3,4.2;2.8,1.2;creative_filter;;" .. esc(inv.filter) .. "]" ..
"listring[detached:creative_" .. player_name .. ";main]" ..
Expand Down
2 changes: 1 addition & 1 deletion mods/creative/locale/creative.ru.tr
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# textdomain: creative
Allow player to use creative inventory=Разрешить игроку использовать творческий инвентарь
No items to show.=
No items to show.=Нет предметов.
Search=Поиск
Reset=Сброс
Previous page=Предыдущая страница
Expand Down
16 changes: 16 additions & 0 deletions mods/default/init.lua
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,19 @@ dofile(default_path.."/crafting.lua")
dofile(default_path.."/mapgen.lua")
dofile(default_path.."/aliases.lua")
dofile(default_path.."/legacy.lua")

-- Smoke test that is run via ./util/test/run.sh
if minetest.settings:get_bool("minetest_game_smoke_test") then
minetest.after(0, function()
minetest.emerge_area(vector.new(0, 0, 0), vector.new(32, 32, 32))
local pos = vector.new(9, 9, 9)
local function check()
if minetest.get_node(pos).name ~= "ignore" then
minetest.request_shutdown()
return
end
minetest.after(0, check)
end
check()
end)
end
Loading

0 comments on commit de9c6b5

Please sign in to comment.