Compare commits

...

12 Commits
dev ... master

Author SHA1 Message Date
8fbfc14c3f Avoid parsing mapgen 'chunksize' by hand 2025-07-01 18:39:36 +02:00
6ed522b5fc Added Basque translation (#3195)
Co-authored-by: bilbao_iban <bilbao_iban@eitb.eus>
2025-06-29 15:33:14 +02:00
defa781d60 Fix registering buckets in foreign mod namespaces 2025-06-29 15:32:38 +02:00
69b2fb7a32 Revert "Fix registering beds in other mods namespace"
This reverts commit 9321c265b6.
Note: the commit actually touched buckets, not beds
2025-06-20 11:23:02 +02:00
407087977c Beds: Add support for pova and player_monoids (#3200) 2025-06-17 12:24:17 +02:00
844216cbb8 Fix TileDef deprecation warning 2025-06-13 12:11:19 +02:00
05d5461a41 Fix Docker CI test to run on new/old engine versions 2025-06-13 11:57:55 +02:00
9321c265b6 Fix registering beds in other mods namespace 2025-06-13 11:26:05 +02:00
0351c66915 Use new VoxelManip cleanup API 2025-05-31 10:00:04 +02:00
a6bf9dd526 Workaround for sign regression with 5.12.0
---------

Co-authored-by: sfan5 <sfan5@live.de>
Co-authored-by: Lars Müller <34514239+appgurueu@users.noreply.github.com>
2025-05-28 18:53:44 +02:00
838ad60ad0 Fix dry_grass_N on dirt producing dirt_with_grass
`dry_grass_N` has groups `grass` and `dry_grass`, so if the check for `grass` is done first, having dry_grass on it makes it turn into `dirt_with_grass` instead of `dirt_with_dry_grass`. Changing the order fixes this.
2025-04-19 19:19:12 +02:00
c6fabe4734 Creative: release memory when player leaves 2025-04-12 12:35:21 +02:00
44 changed files with 741 additions and 39 deletions

View File

@ -1,11 +1,19 @@
name: test
name: Test
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 5
strategy:
matrix:
cfg:
- { image: 'ghcr.io/minetest/minetest:5.9.0' }
- { image: 'ghcr.io/minetest/minetest:5.10.0' }
- { image: 'ghcr.io/luanti-org/luanti:master' } # latest git
steps:
- uses: actions/checkout@v4
- run: ./utils/test/run.sh
env:
DOCKER_IMAGE: "${{ matrix.cfg.image }}"

View File

@ -19,7 +19,10 @@ read_globals = {
-- Silence errors about custom table methods.
table = { fields = { "copy", "indexof" } },
-- Silence warnings about accessing undefined fields of global 'math'
math = { fields = { "sign" } }
math = { fields = { "sign" } },
-- Mod support
"player_monoids",
"pova",
}
-- Overwrites minetest.handle_node_drops

View File

@ -35,6 +35,7 @@ The bucket API allows registering new types of buckets for non-default liquids.
The filled bucket item is returned to the player that uses an empty bucket pointing to the given liquid source.
When punching with an empty bucket pointing to an entity or a non-liquid node, the on_punch of the entity or node will be triggered.
The bucket API also allows registering buckets in other namespace using colon-prefixed itemname (i.e. ":cows:bucket_milk").
Beds API

View File

@ -5,6 +5,16 @@ if enable_respawn == nil then
enable_respawn = true
end
-- Physics override management mods (shadow the global variable)
local player_monoids = core.get_modpath("player_monoids") and player_monoids
local pova = core.get_modpath("pova") and pova
if player_monoids and not player_monoids.speed.checkout_branch then
-- This function exists since 2025-05-17
core.log("warning", "[beds] player_monoids is too old, thus not supported.")
player_monoids = nil
end
-- support for MT game translation.
local S = beds.get_translator
@ -50,6 +60,51 @@ local function check_in_beds(players)
return #players > 0
end
local function set_physics_override(player, put_to_bed)
local IDENTIFIER = "beds:lie"
local OVERRIDES = {speed = 0, jump = 0, gravity = 0}
local name = player:get_player_name()
local pdata = beds.player[name]
if put_to_bed then -- Freeze player
if player_monoids then
for k, v in pairs(OVERRIDES) do
local monoid = player_monoids[k]
pdata["monoid_branch_" .. k] = monoid:get_active_branch(player)
-- Change the "context" of the physics overrides
local branch = monoid:checkout_branch(player, IDENTIFIER)
branch:add_change(player, v)
end
elseif pova then
pova.add_override(name, "force", OVERRIDES)
pova.do_override(player)
else
-- Directly use engine API. May conflict with other mods.
pdata.physics_override = player:get_physics_override()
player:set_physics_override(OVERRIDES)
end
else -- Unfreeze player
if player_monoids then
for k, _ in pairs(OVERRIDES) do
local monoid = player_monoids[k]
monoid:checkout_branch(player, pdata["monoid_branch_" .. k])
monoid:get_branch(IDENTIFIER):delete(player)
end
elseif pova then
pova.del_override(name, "force")
pova.do_override(player)
else
-- Restore the changed fields
player:set_physics_override({
speed = pdata.physics_override.speed,
jump = pdata.physics_override.jump,
gravity = pdata.physics_override.gravity
})
end
end
end
local function lay_down(player, pos, bed_pos, state, skip)
local name = player:get_player_name()
local hud_flags = player:hud_get_flags()
@ -72,13 +127,8 @@ local function lay_down(player, pos, bed_pos, state, skip)
player:set_pos(beds.pos[name])
-- physics, eye_offset, etc
local physics_override = beds.player[name].physics_override
set_physics_override(player, false)
beds.player[name] = nil
player:set_physics_override({
speed = physics_override.speed,
jump = physics_override.jump,
gravity = physics_override.gravity
})
player:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0})
player:set_look_horizontal(math.random(1, 180) / 100)
player_api.player_attached[name] = false
@ -112,9 +162,9 @@ local function lay_down(player, pos, bed_pos, state, skip)
return false
end
beds.player[name] = {}
beds.pos[name] = pos
beds.bed_position[name] = bed_pos
beds.player[name] = {physics_override = player:get_physics_override()}
local yaw, param2 = get_look_yaw(bed_pos)
player:set_look_horizontal(yaw)
@ -126,7 +176,7 @@ local function lay_down(player, pos, bed_pos, state, skip)
y = bed_pos.y + 0.07,
z = bed_pos.z + dir.z / 2
}
player:set_physics_override({speed = 0, jump = 0, gravity = 0})
set_physics_override(player, true)
player:set_pos(p)
player_api.player_attached[name] = true
hud_flags.wielditem = false

View File

@ -0,0 +1,10 @@
# textdomain: beds
Fancy Bed=Luxuzko ohea
Simple Bed=Ohe arrunta
This bed is already occupied!=Ohe hau okupatuta dago
You have to stop moving before going to bed!=Utzi mugitzeari edo ezingo zara oheratu!
Good morning.=Egun on.
@1 of @2 players are in bed=@2 jokalaritik @1 lo daude
Force night skip=Behartu egunez egitera
You can only sleep at night.=Gauez bakarrik egin dezakezu lo.
Leave Bed=Jaiki

View File

@ -1,3 +1,4 @@
name = beds
description = Minetest Game mod: beds
depends = default, wool, spawn
optional_depends = player_monoids, pova

View File

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

View File

@ -0,0 +1,4 @@
# textdomain: boats
Boat cruise mode on=Gurutzaldi-abiadura gaituta
Boat cruise mode off=Gurutzaldi-abiadura desgaituta
Boat=Ontzia

View File

@ -0,0 +1,8 @@
# textdomain: bones
Bones=Hezurrak
@1's old bones=@1-en hezur zaharrak
@1 died at @2.=@1 @2-n hil da.
@1 died at @2, and dropped their inventory.=@1 @2-n hil da, inbentarioa bertan utziz.
@1 died at @2, and bones were placed.=@1 @2-n hil da, eta hezurrak bertan geratu dira.
@1's fresh bones= @1-en hezur freskoak
@1's bones=@1-en hezurrak

View File

@ -51,6 +51,8 @@ end
-- This function can be called from any mod (that depends on bucket).
function bucket.register_liquid(source, flowing, itemname, inventory_image, name,
groups, force_renew)
local itemname_raw = itemname
itemname = itemname and itemname:match("^:(.+)") or itemname
bucket.liquids[source] = {
source = source,
flowing = flowing,
@ -60,7 +62,7 @@ function bucket.register_liquid(source, flowing, itemname, inventory_image, name
bucket.liquids[flowing] = bucket.liquids[source]
if itemname ~= nil then
minetest.register_craftitem(itemname, {
minetest.register_craftitem(itemname_raw, {
description = name,
inventory_image = inventory_image,
stack_max = 1,

View File

@ -0,0 +1,5 @@
# textdomain: bucket
Empty Bucket=Ontzi hutsa
Water Bucket=Ura duen ontzia
River Water Bucket=Ibai-ura duen ontzia
Lava Bucket=Labadun ontzia

View File

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

View File

@ -41,15 +41,9 @@ end
function carts:is_rail(pos, railtype)
local node = minetest.get_node(pos).name
if node == "ignore" then
local vm = minetest.get_voxel_manip()
local emin, emax = vm:read_from_map(pos, pos)
local area = VoxelArea:new{
MinEdge = emin,
MaxEdge = emax,
}
local data = vm:get_data()
local vi = area:indexp(pos)
node = minetest.get_name_from_content_id(data[vi])
-- we really need to know, so load it
minetest.load_area(pos)
node = minetest.get_node(pos).name
end
if minetest.get_item_group(node, "rail") == 0 then
return false

View File

@ -0,0 +1,6 @@
# textdomain: carts
Cart=Bagoneta
(Sneak+Click to pick up)=(Makurtzea + Klik jasotzeko)
Rail=Erraila
Powered Rail=Errail energizatua
Brake Rail=Balaztatze-erraila

View File

@ -124,6 +124,11 @@ function creative.update_creative_inventory(player_name, tab_content)
inv.size = #creative_list
end
minetest.register_on_leaveplayer(function(player)
local name = player:get_player_name()
player_inventory[name] = nil
end)
-- Create the trash field
local trash = minetest.create_detached_inventory("trash", {
-- Allow the stack to be placed and remove it in on_put()

View File

@ -0,0 +1,11 @@
# textdomain: creative
Allow player to use creative inventory=Jokalariari sormen-inbentarioa erabiltzen utzi
No items to show.=Erakusteko objekturik ez.
Search=Bilatu
Reset=Berriz hasi
Previous page=Aurreko orria
Next page=Hurrengo orria
All=Guztiak
Nodes=Nodoak
Tools=Tresnak
Items=Objektuak

View File

@ -645,10 +645,11 @@ minetest.register_abm({
-- Snow check is cheapest, so comes first
if name == "default:snow" then
minetest.set_node(pos, {name = "default:dirt_with_snow"})
elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_grass"})
-- The group grass is also present in dry grass, so check dry grass first
elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_dry_grass"})
elseif minetest.get_item_group(name, "grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_grass"})
end
end
})

View File

@ -397,7 +397,7 @@ minetest.register_node("default:furnace_active", apply_logger({
"default_furnace_side.png", "default_furnace_side.png",
"default_furnace_side.png",
{
image = "default_furnace_front_active.png",
name = "default_furnace_front_active.png",
backface_culling = false,
animation = {
type = "vertical_frames",

View File

@ -0,0 +1,224 @@
# textdomain: default
Locked Chest=Itxitako kutxa
Locked Chest (owned by @1)=Itxitako kutxa (jabea: @1)
You do not own this chest.=Kutxa hau ez da zurea.
a locked chest=kutxa itxi bat
Chest=Kutxa
Write=Idatzi
Read=Irakurri
Title:=Izenburua:
Contents:=Edukiak:
Save=Gorde
by @1=@1 bidez
Page @1 of @2=@2 orritik @1a
The book you were writing to mysteriously disappeared.=Idazten ari zinen liburua modu misteriotsuan desagertu da.
"@1" by @2="@1" @2 bidez
Blueberries=Ahabiak
Book=Liburua
Book with Text=Liburu idatzia
Bronze Ingot=Brontzezko lingotea
Clay Brick=Buztinezko Adreilua
Clay Lump=Buztin zatia
Coal Lump=Ikatz zatia
Copper Ingot=Kobrezko lingotea
Copper Lump=Kobrezko zatia
Diamond=Diamantea
Flint=Suharria
Gold Ingot=Urrezko lingotea
Gold Lump=Urrezko zatia
Iron Lump=Burdinazko zatia
Mese Crystal=Mese kristala
Mese Crystal Fragment=Mese kristalaren zatia
Obsidian Shard=Obsidiana-eskirla
Paper=Papera
Steel Ingot=Altzairuzko lingotea
Stick=Makila
Tin Ingot=Eztainuzko lingotea
Tin Lump=Eztainuzko zatia
Furnace is empty=Labea hutsik dago
100% (output full)=% 100 (irteera osoa)
@1%=%@1
Not cookable=Ezin da kozinatu
Empty=Hutsa
Furnace active=Labea aktibatuta
Furnace inactive=Labea desaktibatuta
(Item: @1; Fuel: @2)=(Objektua: @1; Erregaia: @2)
Furnace=Labea
Stone=Harria
Cobblestone=Galtzada-harria
Stone Brick=Harrizko Adreilua
Stone Block=Harrizko Blokea
Mossy Cobblestone=Goroldiodun Galtzada-harria
Desert Stone=Basamortuko harria
Desert Cobblestone=Basamortuko galtzada-harria
Desert Stone Brick=Basamortuko harrizko Adreilua
Desert Stone Block=Basamortuko harrizko Blokea
Sandstone=Hareharria
Sandstone Brick=Hareharrizko Adreilua
Sandstone Block=Hareharrizko Blokea
Desert Sandstone=Basamortuko Hareharria
Desert Sandstone Brick=Basamortuko hareharrizko Adreilua
Desert Sandstone Block=Basamortuko hareharrizko Blokea
Silver Sandstone=Zilar-koloreko Hareharria
Silver Sandstone Brick=Zilar koloreko hareharrizko Adreilua
Silver Sandstone Block=Zilar koloreko hareharrizko Blokea
Obsidian=Obsidiana
Obsidian Brick=Obsidianazko Adreilua
Obsidian Block=Obsidiana-Blokea
Dirt=Lurra
Dirt with Grass=Lurra belarrarekin
Dirt with Grass and Footsteps=Lurra belar eta oinatzekin
Dirt with Savanna Grass=Lurra sabana-belarrarekin
Dirt with Snow=Lurra elurrarekin
Dirt with Rainforest Litter=Lurra oihan tropikaleko orbelarekin
Dirt with Coniferous Litter=Lurra koniferoen orbelarekin
Savanna Dirt=Sabana-lurra
Savanna Dirt with Savanna Grass=Sabana-lurra sabana-belarrarekin
Permafrost=Permafrost
Permafrost with Stones=Permafrost harritsua
Permafrost with Moss=Goroldioa duen Permafrosta
Sand=Harea
Desert Sand=Basamortuko harea
Silver Sand=Zilar koloreko harea
Gravel=Legarra
Clay=Buztina
Snow=Elurra
Snow Block=Elur-Blokea
Ice=Izotza
Cave Ice=Haitzuloko Izotza
Apple Tree=Sagarrondo-zura
Apple Wood Planks=Sagarrondo-oholak
Apple Tree Sapling=Sagarrondo-kimua
Apple Tree Leaves=Sagarrondo-hostoak
Apple=Sagarra
Apple Marker=Sagarrondo-markatzailea
Jungle Tree=Zuhaitz tropikaleko egurra
Jungle Wood Planks=Egur tropikaleko oholak
Jungle Tree Leaves=Zuhaitz tropikaleko hostoak
Jungle Tree Sapling=Zuhaitz tropikalaren kimua
Emergent Jungle Tree Sapling=Zuhaitz tropikalaren kimua
Pine Tree=Pinu-zura
Pine Wood Planks=Pinu taulak
Pine Needles=Pinu-orratzak
Pine Tree Sapling=Pinu-kimua
Acacia Tree=Akaziako zura
Acacia Wood Planks=Akazia-taulak
Acacia Tree Leaves=Akazia-hostoak
Acacia Tree Sapling=Akaziazko kimua
Aspen Tree=Makalaren zura
Aspen Wood Planks=Makalaren taulak
Aspen Tree Leaves=Makal-hostoak
Aspen Tree Sapling=Makalaren kimua
Coal Ore=Ikatz-minerala
Coal Block=Ikatz-Blokea
Iron Ore=Burdin minerala
Steel Block=Altzairuzko Blokea
Copper Ore=Kobre-minerala
Copper Block=Kobrezko Blokea
Tin Ore=Eztainuzko minerala
Tin Block=Eztainu-Blokea
Bronze Block=Brontzezko Blokea
Mese Ore=Mineral-minerala
Mese Block=Hileko Blokea
Gold Ore=Urrezko minerala
Gold Block=Urrezko Blokea
Diamond Ore=Diamantezko minerala
Diamond Block=Diamante-Blokea
Cactus=Kaktusa
Large Cactus Seedling=Kaktusen zurtoin handia
Papyrus=Papiroa
Dry Shrub=Zuhaixka lehorra
Jungle Grass=Oihan-belarra
Grass=Belarra
Savanna Grass=Sabana-belarra
Fern=Iratzea
Marram Grass=Lezka
Bush Stem=Zuhaixka-zurtoina
Bush Leaves=Zuhaixka-hostoak
Bush Sapling=Zuhaixka-kimua
Blueberry Bush Leaves with Berries=Ahabizko zuhaixka-hostoak baiekin
Blueberry Bush Leaves=Ahabi-zuhaixkaren hostoak
Blueberry Bush Sapling=Ahabi-zuhaixkaren kimua
Acacia Bush Stem=Akaziako zuhaixka-zurtoina
Acacia Bush Leaves=Akaziazko zuhaixka-hostoak
Acacia Bush Sapling=Akaziazko zuhaixka-kimua
Pine Bush Stem=Pinu-zuhaixkaren zurtoina
Pine Bush Needles=Pinu-zuhaixken orratzak
Pine Bush Sapling=Pinu-zuhaixkaren kimua
Kelp=Itsas alga
Green Coral=Koral berdea
Pink Coral=Koral arrosa
Cyan Coral=Koral ziana
Brown Coral=Kafe-korala
Orange Coral=Koral laranja
Coral Skeleton=Koralezko eskeletoa
Water Source=Ur-iturria
Flowing Water=Ur-fluidoa
River Water Source=Ibaiko ur-iturria
Flowing River Water=Ibai-uraren fluidoa
Lava Source=Laba-iturria
Flowing Lava=Laba-fluidoa
Empty Bookshelf=Liburu-denda hutsik
Bookshelf (@1 written, @2 empty books)=Apalategia(@1 idatziak, @2 liburu zurian)
Bookshelf=Liburutegia
Text too long=Testu luzeegia
"@1"="@1"
Wooden Sign=Egurrezko kartela
Steel Sign=Altzairuzko kartela
Wooden Ladder=Egurrezko eskailera
Steel Ladder=Altzairuzko eskailera
Apple Wood Fence=Sagarrondotik gertu
Acacia Wood Fence=Akaziatik gertu
Jungle Wood Fence=Zur tropikaleko hesia
Pine Wood Fence=Pinutik gertu
Aspen Wood Fence=Alamotik gertu
Apple Wood Fence Rail=Sagarrondo-listoiak hurbilerako
Acacia Wood Fence Rail=Akazia-listoiak hurbilerako
Jungle Wood Fence Rail=Zur tropikaleko listoiak hurbilerako
Pine Wood Fence Rail=Hurbileko pinu-listoiak
Aspen Wood Fence Rail=Alamo-listoiak hurbilerako
Glass=Beira
Obsidian Glass=Obsidianazko beira
Brick Block=Adreiluzko Blokea
Mese Lamp=Su-lanpara
Apple Wood Mese Post Light=Sagarrondo-egurrezko argi-zutoina
Acacia Wood Mese Post Light=Akaziaren egurrezko argi-zutoina
Jungle Wood Mese Post Light=Oihan-egurrezko argi-zutoina
Pine Wood Mese Post Light=Pinu-egurrezko argi-zutoina
Aspen Wood Mese Post Light=Makalaren egurrezko argi-zutoina
Cloud=Hodeia
Wooden Pickaxe=Egurrezko Pikotxa
Stone Pickaxe=Harrizko Pikotxa
Bronze Pickaxe=Brontzezko Pikotxa
Steel Pickaxe=Altzairuzko Pikotxa
Mese Pickaxe=Mese Pikotxa
Diamond Pickaxe=Diamantezko Pikotxa
Wooden Shovel=Egurrezko pala
Stone Shovel=Harrizko pala
Bronze Shovel=Brontzezko pala
Steel Shovel=Altzairuzko pala
Mese Shovel=Mese pala
Diamond Shovel=Diamantezko pala
Wooden Axe=Egurrezko aizkora
Stone Axe=Harrizko aizkora
Bronze Axe=Brontzezko aizkora
Steel Axe=Altzairuzko aizkora
Mese Axe=Mese aizkora
Diamond Axe=Diamantezko aizkora
Wooden Sword=Egurrezko ezpata
Stone Sword=Harrizko ezpata
Bronze Sword=Brontzezko ezpata
Steel Sword=Altzairuzko ezpata
Mese Sword=Hileko ezpata
Diamond Sword=Diamantezko ezpata
Torch=Lastargia
@1 will intersect protection on growth.=@1 hazkundearen babesa gurutzatuko du.
##### not used anymore #####
Dirt with Dry Grass=Lurra belar lehorrarekin
Dry Dirt=Lur lehorra
Dry Dirt with Dry Grass=Lur lehorra belar lehorrarekin
Dry Grass=Belar lehorra
Mese Post Light=Mese Argi-zutoia

View File

@ -1860,7 +1860,13 @@ function default.register_decorations()
-- Emergent jungle tree
-- Due to 32 node height, altitude is limited and prescence depends on chunksize
local chunksize = tonumber(minetest.get_mapgen_setting("chunksize"))
local chunksize
if core.get_mapgen_chunksize then
local v = core.get_mapgen_chunksize()
chunksize = math.max(v.x, v.y, v.z)
else
chunksize = tonumber(core.get_mapgen_setting("chunksize"))
end
if chunksize >= 5 then
minetest.register_decoration({
name = "default:emergent_jungle_tree",

View File

@ -2604,6 +2604,9 @@ local function register_sign(material, desc, def)
meta:set_string("formspec", "field[text;;${text}]")
end,
on_receive_fields = function(pos, formname, fields, sender)
if not fields.quit then
return -- workaround for https://github.com/luanti-org/luanti/issues/16187
end
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) then
minetest.record_protection_violation(pos, player_name)

View File

@ -132,7 +132,9 @@ function default.grow_tree(pos, is_apple_tree, bad)
vm:set_data(data)
vm:write_to_map()
vm:update_map()
if vm.close ~= nil then
vm:close()
end
end
-- Jungle tree
@ -184,7 +186,9 @@ function default.grow_jungle_tree(pos, bad)
vm:set_data(data)
vm:write_to_map()
vm:update_map()
if vm.close ~= nil then
vm:close()
end
end
@ -310,7 +314,9 @@ function default.grow_pine_tree(pos, snow)
vm:set_data(data)
vm:write_to_map()
vm:update_map()
if vm.close ~= nil then
vm:close()
end
end

View File

@ -0,0 +1,18 @@
# textdomain: doors
Hidden Door Segment=Ezkutuko atearen segmentua
Owned by @1=Jabea: @1
You do not own this locked door.=Ate itxi hau ez da zurea.
a locked door=ate itxi bat
Wooden Door=Zurezko atea
Steel Door=Altzairuzko atea
Glass Door=Beirazko atea
Obsidian Glass Door=Obsidianazko beirazko atea
You do not own this trapdoor.=Tranpola hau ez da zurea.
a locked trapdoor=Tranpola itxi bat
Wooden Trapdoor=Zurezko tranpola
Steel Trapdoor=Altzairuzko tranpola
Apple Wood Fence Gate=Sagarrondo-inguruko atea
Acacia Wood Fence Gate=Akaziatik hurbil dagoen atea
Jungle Wood Fence Gate=Zur tropikaleko ate hurbila
Pine Wood Fence Gate=Pinu inguruko atea
Aspen Wood Fence Gate=Makalaren inguruko atea

16
mods/dye/locale/dye.eu.tr Normal file
View File

@ -0,0 +1,16 @@
# textdomain: dye
White Dye=Tindagai zuria
Grey Dye=Tindagai grisa
Dark Grey Dye=Tindagai gris iluna
Black Dye=Tindagai beltza
Violet Dye=Tindagai morea
Blue Dye=Tindagai urdina
Cyan Dye=Tindaketa ziana
Dark Green Dye=Tindagai berde iluna
Green Dye=Tindagai berdea
Yellow Dye=Tindagai horia
Brown Dye=Tindaketa marroia
Orange Dye=Tindagai laranja
Red Dye=Tindagai gorria
Magenta Dye=Tindagai magenta
Pink Dye=Tindagai arrosa

View File

@ -0,0 +1,34 @@
# textdomain: farming
Hoe=Aitzurra
Seed=Hazia
Wooden Hoe=Zurezko aitzurra
Stone Hoe=Harrizko aitzurra
Steel Hoe=Altzairuzko aitzurra
Bronze Hoe=Brontzezko aitzurra
Mese Hoe=Hileko aitzurra
Diamond Hoe=Diamantezko aitzurra
Wheat Seed=Gari-hazia
Wheat=Garia
Flour=Irina
Bread=Ogia
Cotton Seed=Kotoi-hazia
Cotton=Kotoia
String=Haria
Soil=Laborantza-lurra
Wet Soil=Labore-lur ketsua
Savanna Soil=Sabanako lurra
Wet Savanna Soil=Sabanako lur hezea
Desert Sand Soil=Basamortuko harea lantzeko lurra
Wet Desert Sand Soil=Basamortuko harea lantzeko lur hezea
Straw=Lastoa
Straw Stair=Lastozko eskailera
Inner Straw Stair=Barruko lastozko eskailera
Outer Straw Stair=Kanpoko lastozko eskailera
Straw Slab=Lastozko lauza
Wild Cotton=Basa-kotoia
##### not used anymore #####
Dry Soil=Labore lehorreko lurra
Wet Dry Soil=Lehor-ke laborantzako lurra

View File

@ -0,0 +1,4 @@
# textdomain: fire
Fire=Sua
Permanent Fire=Su iraunkorra
Flint and Steel=Suharria eta Altzairua

View File

@ -0,0 +1,5 @@
# textdomain: fireflies
Firefly=Ipurtargia
Hidden Firefly=Ezkutuk ipurtargi
Bug Net=Intsektu-sarea
Firefly in a Bottle=Ipurtargia botilan

View File

@ -0,0 +1,12 @@
# textdomain: flowers
Red Rose=Arrosa gorria
Orange Tulip=Tulipan laranja
Yellow Dandelion=Txikoria-belar horia
Green Chrysanthemum=Krisantemo berdea
Blue Geranium=Geranio urdina
Viola=Pentsamendua
White Dandelion=Txikoria-belar zuria
Black Tulip=Tulipan beltza
Red Mushroom=Perretxiko gorria
Brown Mushroom=Perretxiko marroia
Waterlily=Nenufarra

View File

@ -0,0 +1,4 @@
# textdomain: game_commands
Kill yourself to respawn=Suizida zaitez berriro agertzeko
No static_spawnpoint defined=Ez da zehaztu agerpen-punturik
You need to be online to be killed!=Linean egon behar duzu hil zaitzaten!

View File

@ -0,0 +1,4 @@
# textdomain: keys
Key=Giltza
Key to @1's @2=@1-erako @2 giltza
Skeleton Key=Eskeleto-giltza

View File

@ -0,0 +1,3 @@
# textdomain: map
Mapping Kit=Mapak egiteko kita
Use with 'Minimap' key='Minimapa' teklarekin erabili

View File

@ -0,0 +1,53 @@
# textdomain: mtg_craftguide
Any coal=Edozein ikatz
Any sand=Edozein hare
Any wool=Edozein artile
Any stick=Edozein makilatxo
Any vessel=Edozein ontzi
Any wood planks=Zurezko edozein taula
Any kind of stone block=Edozein motako harrizko blokea
Any red flower=Edozein lore gorri
Any blue flower=Edozein lore urdin
Any black flower=Edozein lore beltz
Any green flower=Edozein lore berde
Any white flower=Edozein lore zuri
Any orange flower=Edozein lore laranja
Any violet flower=Edozein lore more
Any yellow flower=Edozein lore hori
Any red dye=Edozein tindagai gorri
Any blue dye=Edozein tindagai urdin
Any cyan dye=Edozein tindagai zian
Any grey dye=Edozein tindagai gris
Any pink dye=Edozein tindagai arros
Any black dye=Edozein tindagai beltz
Any brown dye=Edozein tindagai marroi
Any green dye=Edozein tindagai berde
Any white dye=Edozein tindagai zuri
Any orange dye=Edozein tindagai laranja
Any violet dye=Edozein tindagai more
Any yellow dye=Edozein tindagai hori
Any magenta dye=Edozein tindagai magenta
Any dark grey dye=Edozein tindagai gris ilun
Any dark green dye=Edozein tindagai berde ilun
# Label for group ingredients
G=G
Any item belonging to the group(s): @1=@1 taldearen a den edozein objektu
Unknown Item=Objektu ezezaguna
Fuel=Erregaia
Usage @1 of @2=Erabilera @2tik @1
Recipe @1 of @2=Errezeta @2tik @1
Previous recipe=Aurreko errezeta
Next recipe=Hurrengo errezeta
Recipe is too big to be displayed.=Errezeta erakusteko handiegia da.
Shapeless=Formarik gabe
Cooking time: @1=Kozinatze denbora: @1
Search=Bilatu
Reset=Berriz hasi
Previous page=Aurreko orria
Next page=Hurrengo orria
No items to show.=Ez dago erakusteko objekturik.
No usages.=Erabilerarik ez.
Click again to show recipes.=Klikatu berriro errezetak erakusteko.
No recipes.=Ez dago errezetarik.
Click again to show usages.=Klikatu berriro erabilerak erakusteko.
Recipes=Errezetak

View File

@ -0,0 +1,3 @@
# textdomain: screwdriver
Screwdriver=Bihurkina
(left-click rotates face, right-click rotates axis)=(ezkerra-klik aurpegia biratzeko, eskuina-klik ardatza biratzeko)

View File

@ -0,0 +1,9 @@
# textdomain: sethome
This command can only be executed in-game!=Komando hau jokaldian zehar bakarrik exekuta daiteke!
Can use /sethome and /home=/sethome eta /home erabil ditzakezu
Teleport you to your home point=Zure etxe-puntura telegarraiatzen zaitu
Teleported to home!=Etxera telegarraiatua!
Set a home using /sethome=Ezarri zure etxea /sethome erabiliz
Set your home point=Ezarri zure etxe-puntua
Home set!=Etxea ezarrita!
Player not found!=Jokalaria ez da aurkitu!

View File

@ -0,0 +1,2 @@
# textdomain: sfinv
Crafting=Artisautza

View File

@ -66,15 +66,6 @@ local success = false
local spawn_pos = {}
-- Get world 'mapgen_limit' and 'chunksize' to calculate 'spawn_limit'.
-- This accounts for how mapchunks are not generated if they or their shell exceed
-- 'mapgen_limit'.
local mapgen_limit = tonumber(minetest.get_mapgen_setting("mapgen_limit"))
local chunksize = tonumber(minetest.get_mapgen_setting("chunksize"))
local spawn_limit = math.max(mapgen_limit - (chunksize + 1) * 16, 0)
-- Functions
------------
@ -103,6 +94,7 @@ end
-- Spawn position search
local function search()
local edge1, edge2 = core.get_mapgen_edges()
for iter = 1, checks do
local biome_data = minetest.get_biome_data(pos)
-- Sometimes biome_data is nil
@ -116,7 +108,7 @@ local function search()
pos = next_pos()
-- Check for position being outside world edge
if math.abs(pos.x) > spawn_limit or math.abs(pos.z) > spawn_limit then
if pos.x < edge1.x or pos.z < edge1.z or pos.x > edge2.x or pos.z > edge2.z then
return false
end
end

View File

@ -0,0 +1,145 @@
# textdomain: stairs
Glass Stair=Beirazko eskailera
Glass Slab=Beirazko lauza
Inner Glass Stair=Beirazko barne-eskailera
Outer Glass Stair=Beirazko kanpo-eskailera
Obsidian Glass Stair=Obsidianazko beirazko eskailera
Obsidian Glass Slab=Obsidianazko beirazko lauza
Inner Obsidian Glass Stair=Obsidianazko beirazko barne-eskailera
Outer Obsidian Glass Stair=Obsidianazko beirazko kanpo-eskailera
Wooden Stair=Zurezko eskailera
Inner Wooden Stair=Zurezko barne-eskailera
Outer Wooden Stair=Zurezko kanpo-eskailera
Wooden Slab=Zurezko lauza
Jungle Wood Stair=Baso-egurrezko eskailera
Inner Jungle Wood Stair=Baso-egurrezko barne-eskailera
Outer Jungle Wood Stair=Baso-egurrezko kanpo-eskailera
Jungle Wood Slab=Baso-egurrezko lauza
Pine Wood Stair=Pinu-eskailera
Inner Pine Wood Stair=Pinuzko barne-eskailera
Outer Pine Wood Stair=Pinuzko kanpo-eskailera
Pine Wood Slab=Pinu-lauza
Acacia Wood Stair=Akaziako eskailera
Inner Acacia Wood Stair=Akaziako barne-eskailera
Outer Acacia Wood Stair=Akaziako kanpo-eskailera
Acacia Wood Slab=Akaziako lauza
Aspen Wood Stair=Makalezko eskailera
Inner Aspen Wood Stair=Makalezko barne-eskailera
Outer Aspen Wood Stair=Makalezko kanpo-eskailera
Aspen Wood Slab=Makal-lauza
Stone Stair=Harrizko eskailera
Inner Stone Stair=Harrizko barne-eskailera
Outer Stone Stair=Harrizko kanpo-eskailera
Stone Slab=Harrizko lauza
Cobblestone Stair=Galtzada-harrizko eskailera
Inner Cobblestone Stair=Galtzada-harrizko barne-eskailera
Outer Cobblestone Stair=Galtzada-harrizko kanpo-eskailera
Cobblestone Slab=Galtzada-harrizko lauza
Mossy Cobblestone Stair=Goroldiodun galtzada-harrizko eskailera
Inner Mossy Cobblestone Stair=Goroldiodun galtzada-harrizko barne-eskailera
Outer Mossy Cobblestone Stair=Goroldiodun galtzada-harrizko kanpo-eskailera
Mossy Cobblestone Slab=Goroldiodun galtzada-harrizko lauza
Stone Brick Stair=Harri-adreiluzko eskailera
Inner Stone Brick Stair=Harri-adreiluzko barne-eskailera
Outer Stone Brick Stair=Harri-adreiluzko kanpo-eskailera
Stone Brick Slab=Harri-adreiluzko lauza
Stone Block Stair=Harri-blokezko eskailera
Inner Stone Block Stair=Harri-blokezko barne-eskailera
Outer Stone Block Stair=Harri-blokezko kanpo-eskailera
Stone Block Slab=Harri-blokezko lauza
Desert Stone Stair=Basamortuko harrizko eskailera
Inner Desert Stone Stair=Basamortuko harrizko barne-eskailera
Outer Desert Stone Stair=Basamortuko harrizko kanpo-eskailera
Desert Stone Slab=Basamortuko harrizko lauza
Desert Cobblestone Stair=Basamortuko galtzada-harrizko eskailera
Inner Desert Cobblestone Stair=Basamortuko galtzada-harrizko barne-eskailera
Outer Desert Cobblestone Stair=Basamortuko galtzada-harrizko kanpo-eskailera
Desert Cobblestone Slab=Basamortuko galtzada-harrizko lauza
Desert Stone Brick Stair=Basamortuko adreiluzko eskailera
Inner Desert Stone Brick Stair=Basamortuko adreiluzko barne-eskailera
Outer Desert Stone Brick Stair=Basamortuko adreiluzko kanpo-eskailera
Desert Stone Brick Slab=Basamortuko adreiluzko lauza
Desert Stone Block Stair=Basamortuko harrizko bloke-eskailera
Inner Desert Stone Block Stair=Basamortuko harrizko blokezko barne-eskailera
Outer Desert Stone Block Stair=Basamortuko harrizko blokezko kanpo-eskailera
Desert Stone Block Slab=Basamortuko harrizko blokezko lauza
Sandstone Stair=Hareharrizko eskailera
Inner Sandstone Stair=Hareharrizko barne-eskailera
Outer Sandstone Stair=Hareharrizko kanpo-eskailera
Sandstone Slab=Hareharrizko lauza
Sandstone Brick Stair=Hareharri-adreiluzko eskailera
Inner Sandstone Brick Stair=Hareharri-adreiluzko barne-eskailera
Outer Sandstone Brick Stair=Hareharri-adreiluzko kanpo-eskailera
Sandstone Brick Slab=Hareharri-adreiluzko lauza
Sandstone Block Stair=Hareharrizko blokezko eskailera
Inner Sandstone Block Stair=Hareharrizko blokezko barne-eskailera
Outer Sandstone Block Stair=Hareharrizko blokezko kanpo-eskailera
Sandstone Block Slab=Hareharrizko blokezko lauza
Desert Sandstone Stair=Basamortuko hareharrizko eskailera
Inner Desert Sandstone Stair=Basamortuko hareharrizko barne-eskailera
Outer Desert Sandstone Stair=Basamortuko hareharrizko kanpo-eskailera
Desert Sandstone Slab=Basamortuko hareharrizko lauza
Desert Sandstone Brick Stair=Basamortuko hareharrizko adreiluzko eskailera
Inner Desert Sandstone Brick Stair=Basamortuko hareharrizko adreiluzko barne-eskailera
Outer Desert Sandstone Brick Stair=Basamortuko hareharri-adreiluzko kanpo-eskailera
Desert Sandstone Brick Slab=Basamortuko hareharri-adreiluzko lauza
Desert Sandstone Block Stair=Basamortuko hareharrizko bloke-eskailera
Inner Desert Sandstone Block Stair=Basamortuko hareharrizko blokezko barne-eskailera
Outer Desert Sandstone Block Stair=Basamortuko hareharrizko blokezko kanpo-eskailera
Desert Sandstone Block Slab=Basamortuko hareharrizko bloke-lauza
Silver Sandstone Stair=Zilar koloreko hareharrizko eskailera
Inner Silver Sandstone Stair=Zilarrezko hareharrizko barne-eskailera
Outer Silver Sandstone Stair=Hareharri zilarreztatuzko kanpo-eskailera
Silver Sandstone Slab=Zilar koloreko hareharrizko lauza
Silver Sandstone Brick Stair=Zilar koloreko hareharri-adreiluzko eskailera
Inner Silver Sandstone Brick Stair=Zilarrezko hareharri-adreiluzko barne-eskailera
Outer Silver Sandstone Brick Stair=Hareharri zilarreztatuzko adreiluzko kanpo-eskailera
Silver Sandstone Brick Slab=Zilar koloreko hareharri-adreiluzko lauza
Silver Sandstone Block Stair=Zilar koloreko hareharrizko bloke-eskailera
Inner Silver Sandstone Block Stair=Zilar koloreko hareharrizko blokezko barne-eskailera
Outer Silver Sandstone Block Stair=Hareharri zilarreztatuzko blokezko kanpo-eskailera
Silver Sandstone Block Slab=Zilar koloreko hareharrizko bloke-lauza
Obsidian Stair=Obsidiana-eskailera
Inner Obsidian Stair=Obsidianazko barne-eskailera
Outer Obsidian Stair=Obsidianazko kanpo-eskailera
Obsidian Slab=Obsidianazko lauza
Obsidian Brick Stair=Obsidiana-adreiluzko eskailera
Inner Obsidian Brick Stair=Obsidiana-adreiluzko barne-eskailera
Outer Obsidian Brick Stair=Obsidiana-adreiluzko kanpo-eskailera
Obsidian Brick Slab=Obsidiana-adreiluzko lauza
Obsidian Block Stair=Obsidiana-blokezko eskailera
Inner Obsidian Block Stair=Obsidiana-blokezko barne-eskailera
Outer Obsidian Block Stair=Obsidiana-blokezko kanpo-eskailera
Obsidian Block Slab=Obsidianazko bloke-lauza
Brick Stair=Adreiluzko eskailera
Inner Brick Stair=Adreiluzko barne-eskailera
Outer Brick Stair=Adreiluzko kanpo-eskailera
Brick Slab=Adreiluzko lauza
Steel Block Stair=Altzairuzko eskailera
Inner Steel Block Stair=Altzairuzko barne-eskailera
Outer Steel Block Stair=Altzairuzko kanpo-eskailera
Steel Block Slab=Altzairuzko lauza
Tin Block Stair=Eztainuzko eskailera
Inner Tin Block Stair=Eztainuzko barne-eskailera
Outer Tin Block Stair=Eztainuzko kanpo-eskailera
Tin Block Slab=Eztainuzko lauza
Copper Block Stair=Kobrezko eskailera
Inner Copper Block Stair=Kobrezko barne-eskailera
Outer Copper Block Stair=Kobrezko kanpo-eskailera
Copper Block Slab=Kobrezko lauza
Bronze Block Stair=Brontzezko eskailera
Inner Bronze Block Stair=Brontzezko barne-eskailera
Outer Bronze Block Stair=Brontzezko kanpo-eskailera
Bronze Block Slab=Brontzezko lauza
Gold Block Stair=Urrezko eskailera
Inner Gold Block Stair=Urrezko barne-eskailera
Outer Gold Block Stair=Kanpo-eskailera, urrezkoa
Gold Block Slab=Urrezko lauza
Ice Stair=Izotz-eskailera
Inner Ice Stair=Izotzezko barne-eskailera
Outer Ice Stair=Izotzekozko kanpo-eskailera
Ice Slab=Izotz-lauza
Snow Block Stair=Elur-eskailera
Inner Snow Block Stair=Elurrezko barne-eskailera
Outer Snow Block Stair=Elurrezko kanpo-eskailera
Snow Block Slab=Elur-lauza

View File

@ -332,6 +332,9 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne
vm1:set_data(data)
vm1:write_to_map()
if vm1.close ~= nil then
vm1:close()
end
-- recalculate new radius
radius = math.floor(radius * math.pow(count, 1/3))
@ -386,8 +389,10 @@ local function tnt_explode(pos, radius, ignore_protection, ignore_on_blast, owne
vm:set_data(data)
vm:write_to_map()
vm:update_map()
vm:update_liquids()
if vm.close ~= nil then
vm:close()
end
-- call check_single_for_falling for everything within 1.5x blast radius
for y = -radius * 1.5, radius * 1.5 do

View File

@ -0,0 +1,4 @@
# textdomain: tnt
Gun Powder=Bolbora
TNT Stick=TNT kartutxoa
TNT=TNT

View File

@ -0,0 +1,8 @@
# textdomain: vessels
Empty Vessels Shelf=Ontzi-apal hutsa
Vessels Shelf (@1 items)=Ontzi-apala (@1 objektu)
Vessels Shelf=Ontzi-apala
Empty Glass Bottle=Beirazko botila hutsa
Empty Drinking Glass=Edateko edalontzi hutsa
Empty Heavy Steel Bottle=Altzairu astunezko botila hutsa
Glass Fragments=Beira-zatiak

View File

@ -0,0 +1,4 @@
# textdomain: walls
Cobblestone Wall=Galtzada-harrizko pareta
Mossy Cobblestone Wall=Goroldiodun galtzada-harrizko pareta
Desert Cobblestone Wall=Basamortuko galtzada-harrizko pareta

View File

@ -0,0 +1,16 @@
# textdomain: wool
White Wool=Artile zuria
Grey Wool=Artile grisa
Dark Grey Wool=Artile gris iluna
Black Wool=Artile beltza
Violet Wool=Artile morea
Blue Wool=Artile urdina
Cyan Wool=Artile ziana
Dark Green Wool=Artile berde iluna
Green Wool=Artile berdea
Yellow Wool=Artile horia
Brown Wool=Artile marroia
Orange Wool=Artile laranja
Red Wool=Artile gorria
Magenta Wool=Artile magenta
Pink Wool=Artile arrosa

View File

@ -0,0 +1,6 @@
# textdomain: xpanes
Glass Pane=Beirazko panela
Obsidian Glass Pane=Obsidiana-beirazko panela
Steel Bars=Altzairuzko barrak
Steel Bar Door=Altzairu-barrazko atea
Steel Bar Trapdoor=Altzairu-barrazko tranpola

View File

@ -3,6 +3,7 @@ world=$(mktemp -d)
trap 'rm -rf "$world" || :' EXIT
[ -f game.conf ] || { echo "Must be run in game root folder." >&2; exit 1; }
[ -n "$DOCKER_IMAGE" ] || { echo "Specify a docker image." >&2; exit 1; }
chmod -R 777 "$world" # container uses unprivileged user inside
@ -12,7 +13,6 @@ vol=(
-v "$PWD":/var/lib/minetest/.minetest/games/minetest_game
-v "$world":/var/lib/minetest/.minetest/world
)
[ -z "$DOCKER_IMAGE" ] && DOCKER_IMAGE="ghcr.io/minetest/minetest:master"
docker run --rm -i "${vol[@]}" "$DOCKER_IMAGE" --config /etc/minetest/minetest.conf --gameid minetest
test -f "$world/map.sqlite" || exit 1