Merge tag '5.3.0' into nalc-dev

5.3.0
This commit is contained in:
2020-07-12 13:11:07 +02:00
81 changed files with 1181 additions and 366 deletions

View File

@ -151,7 +151,6 @@ BlockMen (CC BY-SA 3.0):
default_chest_top.png
default_mineral_mese.png
default_meselamp.png
bubble.png
gui_formbg.png
gui_furnace_arrow_bg.png
gui_furnace_arrow_fg.png
@ -196,9 +195,6 @@ Gambit (CC BY-SA 3.0):
asl97 (CC BY-SA 3.0):
default_ice.png
KevDoy (CC BY-SA 3.0):
heart.png
Pithydon (CC BY-SA 3.0)
default_coral_brown.png
default_coral_orange.png
@ -253,6 +249,11 @@ Topywo (CC BY-SA 3.0)
Extex101 (CC BY-SA 3.0)
default_large_cactus_seedling.png
default_dry_shrub.png -- Derived from the original texture by celeron55
An0n3m0us (CC BY-SA 3.0):
heart.png -- Derived from a texture by KevDoy (CC BY-SA 3.0)
bubble.png -- Derived from a texture by BlockMen (CC BY-SA 3.0)
Sounds

View File

@ -44,7 +44,7 @@ function default.chest.chest_lid_close(pn)
end
local node = minetest.get_node(pos)
minetest.after(0.2, minetest.swap_node, pos, { name = "default:" .. swap,
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)
@ -76,7 +76,8 @@ minetest.register_on_leaveplayer(function(player)
end
end)
function default.chest.register_chest(name, d)
function default.chest.register_chest(prefixed_name, d)
local name = prefixed_name:sub(1,1) == ':' and prefixed_name:sub(2,-1) or prefixed_name
local def = table.copy(d)
def.drawtype = "mesh"
def.visual = "mesh"
@ -132,7 +133,7 @@ function default.chest.register_chest(name, d)
pos = pos, max_hear_distance = 10}, true)
if not default.chest.chest_lid_obstructed(pos) then
minetest.swap_node(pos,
{ name = "default:" .. name .. "_open",
{ name = name .. "_open",
param2 = node.param2 })
end
minetest.after(0.2, minetest.show_formspec,
@ -203,7 +204,7 @@ function default.chest.register_chest(name, d)
max_hear_distance = 10}, true)
if not default.chest.chest_lid_obstructed(pos) then
minetest.swap_node(pos, {
name = "default:" .. name .. "_open",
name = name .. "_open",
param2 = node.param2 })
end
minetest.after(0.2, minetest.show_formspec,
@ -215,7 +216,7 @@ function default.chest.register_chest(name, d)
def.on_blast = function(pos)
local drops = {}
default.get_inventory_drops(pos, "main", drops)
drops[#drops+1] = "default:" .. name
drops[#drops+1] = name
minetest.remove_node(pos)
return drops
end
@ -248,7 +249,7 @@ function default.chest.register_chest(name, d)
def_opened.tiles[i].backface_culling = true
end
end
def_opened.drop = "default:" .. name
def_opened.drop = name
def_opened.groups.not_in_creative_inventory = 1
def_opened.selection_box = {
type = "fixed",
@ -265,29 +266,31 @@ function default.chest.register_chest(name, d)
def_closed.tiles[5] = def.tiles[3] -- drawtype to make them match the mesh
def_closed.tiles[3] = def.tiles[3].."^[transformFX"
minetest.register_node("default:" .. name, def_closed)
minetest.register_node("default:" .. name .. "_open", def_opened)
minetest.register_node(prefixed_name, def_closed)
minetest.register_node(prefixed_name .. "_open", def_opened)
-- convert old chests to this new variant
minetest.register_lbm({
label = "update chests to opening chests",
name = "default:upgrade_" .. name .. "_v2",
nodenames = {"default:" .. name},
action = function(pos, node)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", nil)
local inv = meta:get_inventory()
local list = inv:get_list("default:chest")
if list then
inv:set_size("main", 8*4)
inv:set_list("main", list)
inv:set_list("default:chest", nil)
if name == "default:chest" or name == "default:chest_locked" then
minetest.register_lbm({
label = "update chests to opening chests",
name = "default:upgrade_" .. name:sub(9,-1) .. "_v2",
nodenames = {name},
action = function(pos, node)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", nil)
local inv = meta:get_inventory()
local list = inv:get_list("default:chest")
if list then
inv:set_size("main", 8*4)
inv:set_list("main", list)
inv:set_list("default:chest", nil)
end
end
end
})
})
end
end
default.chest.register_chest("chest", {
default.chest.register_chest("default:chest", {
description = S("Chest"),
tiles = {
"default_chest_top.png",
@ -303,7 +306,7 @@ default.chest.register_chest("chest", {
groups = {choppy = 2, oddly_breakable_by_hand = 2},
})
default.chest.register_chest("chest_locked", {
default.chest.register_chest("default:chest_locked", {
description = S("Locked Chest"),
tiles = {
"default_chest_top.png",

View File

@ -210,7 +210,12 @@ end
function default.grow_papyrus(pos, node)
pos.y = pos.y - 1
local name = minetest.get_node(pos).name
if name ~= "default:dirt_with_grass" and name ~= "default:dirt" then
if name ~= "default:dirt" and
name ~= "default:dirt_with_grass" and
name ~= "default:dirt_with_dry_grass" and
name ~= "default:dirt_with_rainforest_litter" and
name ~= "default:dry_dirt" and
name ~= "default:dry_dirt_with_dry_grass" then
return
end
if not minetest.find_node_near(pos, 3, {"group:water"}) then
@ -247,7 +252,17 @@ minetest.register_abm({
minetest.register_abm({
label = "Grow papyrus",
nodenames = {"default:papyrus"},
neighbors = {"default:dirt", "default:dirt_with_grass"},
-- Grows on the dirt and surface dirt nodes of the biomes papyrus appears in,
-- including the old savanna nodes.
-- 'default:dirt_with_grass' is here only because it was allowed before.
neighbors = {
"default:dirt",
"default:dirt_with_grass",
"default:dirt_with_dry_grass",
"default:dirt_with_rainforest_litter",
"default:dry_dirt",
"default:dry_dirt_with_dry_grass",
},
interval = 14,
chance = 71,
action = function(...)
@ -433,6 +448,9 @@ local function leafdecay_after_destruct(pos, oldnode, def)
end
end
local movement_gravity = tonumber(
minetest.settings:get("movement_gravity")) or 9.81
local function leafdecay_on_timer(pos, def)
if minetest.find_node_near(pos, def.radius, def.trunks) then
return false
@ -459,6 +477,21 @@ local function leafdecay_on_timer(pos, def)
minetest.remove_node(pos)
minetest.check_for_falling(pos)
-- spawn a few particles for the removed node
minetest.add_particlespawner({
amount = 8,
time = 0.001,
minpos = vector.subtract(pos, {x=0.5, y=0.5, z=0.5}),
maxpos = vector.add(pos, {x=0.5, y=0.5, z=0.5}),
minvel = vector.new(-0.5, -1, -0.5),
maxvel = vector.new(0.5, 0, 0.5),
minacc = vector.new(0, -movement_gravity, 0),
maxacc = vector.new(0, -movement_gravity, 0),
minsize = 0,
maxsize = 0,
node = node,
})
end
function default.register_leafdecay(def)
@ -483,7 +516,7 @@ end
--
-- Convert dirt to something that fits the environment
-- Convert default:dirt to something that fits the environment
--
minetest.register_abm({
@ -492,6 +525,7 @@ minetest.register_abm({
neighbors = {
"air",
"group:grass",
"group:dry_grass",
"default:snow",
},
interval = 6,
@ -520,6 +554,8 @@ minetest.register_abm({
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"})
elseif minetest.get_item_group(name, "dry_grass") ~= 0 then
minetest.set_node(pos, {name = "default:dirt_with_dry_grass"})
end
end
})

View File

@ -15,8 +15,8 @@ local item = {
burn_up = function(self)
-- disappear in a smoke puff
self.object:remove()
local p = self.object:get_pos()
self.object:remove()
minetest.sound_play("default_item_smoke", {
pos = p,
max_hear_distance = 8,
@ -39,16 +39,20 @@ local item = {
})
end,
on_step = function(self, dtime)
builtin_item.on_step(self, dtime)
on_step = function(self, dtime, ...)
builtin_item.on_step(self, dtime, ...)
if self.flammable then
-- flammable, check for igniters
-- flammable, check for igniters every 10 s
self.ignite_timer = (self.ignite_timer or 0) + dtime
if self.ignite_timer > 10 then
self.ignite_timer = 0
local node = minetest.get_node_or_nil(self.object:get_pos())
local pos = self.object:get_pos()
if pos == nil then
return -- object already deleted
end
local node = minetest.get_node_or_nil(pos)
if not node then
return
end

View File

@ -51,6 +51,7 @@ Copyright (C) 2010-2018:
Mossmanikin
random-geek
Extex101
An0n3m0us
You are free to:
Share — copy and redistribute the material in any medium or format.

View File

@ -62,12 +62,12 @@ Obsidian Block=Obsidianblock
Dirt=Erde
Dirt with Grass=Erde mit Gras
Dirt with Grass and Footsteps=Erde mit Gras und Fußstapfen
Dirt with Dry Grass=Erde mit trockenem Gras
Dirt with Savanna Grass=Erde mit Savannengras
Dirt with Snow=Erde mit Schnee
Dirt with Rainforest Litter=Erde mit Regenwaldboden
Dirt with Coniferous Litter=Erde mit Nadelwaldboden
Dry Dirt=Trockene Erde
Dry Dirt with Dry Grass=Trockene Erde mit trockenem Gras
Savanna Dirt=Savannenerde
Savanna Dirt with Savanna Grass=Savannenerde mit Savannengras
Permafrost=Permafrost
Permafrost with Stones=Permafrost mit Steinen
Permafrost with Moss=Permafrost mit Moos
@ -124,7 +124,7 @@ Papyrus=Papyrus
Dry Shrub=Trockener Busch
Jungle Grass=Dschungelgras
Grass=Gras
Dry Grass=Trockenes Gras
Savanna Grass=Savannengras
Fern=Farn
Marram Grass=Dünengras
Bush Stem=Buschstamm

View File

@ -0,0 +1,211 @@
# textdomain: default
Stone=Batu
Cobblestone=Bongkahan Batu
Stone Brick=Tembok Batu
Stone Block=Balok Batu
Mossy Cobblestone=Bongkahan Batu Berlumut
Desert Stone=Batu Gurun
Desert Cobblestone=Bongkahan Batu Gurun
Desert Stone Brick=Tembok Batu Gurun
Desert Stone Block=Balok Batu Gurun
Sandstone=Batu Pasir
Sandstone Brick=Tembok Batu Pasir
Sandstone Block=Balok Batu Pasir
Desert Sandstone=Batu Pasir Gurun
Desert Sandstone Brick=Tembok Batu Pasir Gurun
Desert Sandstone Block=Balok Batu Pasir Gurun
Silver Sandstone=Batu Pasir Perak
Silver Sandstone Brick=Tembok Batu Pasir Perak
Silver Sandstone Block=Balok Batu Pasir Perak
Obsidian=Obsidian
Obsidian Brick=Tembok Obsidian
Obsidian Block=Balok Obsidian
Dirt=Tanah
Dirt with Grass=Tanah Berumput
Dirt with Grass and Footsteps=Tanah Berumput dan Tapak Kaki
Dirt with Savanna Grass=Tanah Berumput Sabana
Dirt with Snow=Tanah Bersalju
Dirt with Rainforest Litter=Tanah Berserasah Hutan Hujan
Dirt with Coniferous Litter=Tanah Berserasah Hutan Konifer
Savanna Dirt=Tanah Sabana
Savanna Dirt with Savanna Grass=Tanah Sabana Berumput Sabana
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=Kerikil
Clay=Semen
Snow=Salju
Snow Block=Balok Salju
Ice=Es
Cave Ice=Es Gua
Apple Tree=Pohon Apel
Apple Wood Planks=Papan Kayu Pohon Apel
Apple Tree Sapling=Bibit Apel
Apple Tree Leaves=Daun Pohon Apel
Apple=Apel
Apple Marker=Penanda Apel
Jungle Tree=Pohon Hutan Rimba
Jungle Wood Planks=Papan Kayu Pohon Rimba
Jungle Tree Leaves=Daun Pohon Rimba
Jungle Tree Sapling=Bibit Pohon Rimba
Emergent Jungle Tree Sapling=Bibit Bertumbuh Pohon Rimba
Pine Tree=Pohon Pinus
Pine Wood Planks=Papan Kayu Pinus
Pine Needles=Daun Pinus
Pine Tree Sapling=Bibit Pinus
Acacia Tree=Pohon Akasia
Acacia Wood Planks=Papan Kayu Akasia
Acacia Tree Leaves=Daun Akasia
Acacia Tree Sapling=Bibit Akasia
Aspen Tree=Pohon Aspen
Aspen Wood Planks=Papan Kayu Aspen
Aspen Tree Leaves=Daun Aspen
Aspen Tree Sapling=Bibit Aspen
Coal Ore=Bijih Batu Bara
Coal Block=Balok Batu Bara
Iron Ore=Biji Besi
Steel Block=Balok Baja
Copper Ore=Bijih Tembaga
Copper Block=Balok Tembaga
Tin Ore=Bijih Timah
Tin Block=Balok Timah
Bronze Block=Balok Perunggu
Mese Ore=Bijih Mese
Mese Block=Balok Mese
Gold Ore=Bijih Emas
Gold Block=Balok Emas
Diamond Ore=Bijih Berlian
Diamond Block=Balok Berlian
Cactus=Kaktus
Large Cactus Seedling=Bibit Kaktus Besar
Papyrus=Papirus
Dry Shrub=Semak Kering
Jungle Grass=Rumput Rimba
Grass=Rumput
Savanna Grass=Rumput Sabana
Fern=Pakis
Marram Grass=Rumput Pantai
Bush Stem=Batang Semak
Bush Leaves=Daun Semak
Bush Sapling=Bibit Semak
Blueberry Bush Leaves with Berries=Daun Bluberi Berbuah
Blueberry Bush Leaves=Daun Bluberi
Blueberry Bush Sapling=Bibit Bluberi
Acacia Bush Stem=Batang Semak Akasia
Acacia Bush Leaves=Daun Semak Akasia
Acacia Bush Sapling=Bibit Semak Akasia
Pine Bush Stem=Batang Semak Pinus
Pine Bush Needles=Daun Semak Pinus
Pine Bush Sapling=Bibit Semak Pinus
Kelp=Kelp
Green Coral=Koral Hijau
Pink Coral=Koral Jambon
Cyan Coral=Koral Sian
Brown Coral=Koral Cokelat
Orange Coral=Koral Oranye
Coral Skeleton=Kerangka Koral
Water Source=Mata Air
Flowing Water=Aliran Air
River Water Source=Mata Air Sungai
Flowing River Water=Aliran Air Sungai
Lava Source=Sumber Lava
Flowing Lava=Aliran Lava
Empty Bookshelf=Rak Buku Kosong
Bookshelf (@1 written, @2 empty books)=Rak Buku (@1 buku tertulis, @2 buku kosong)
Bookshelf=Rak Buku
Text too long=Teks terlalu panjang
Wooden Sign=Penanda Kayu
Steel Sign=Penanda Baja
Wooden Ladder=Tangga Kayu
Steel Ladder=Tangga Baja
Apple Wood Fence=Pagar Kayu Apel
Acacia Wood Fence=Pagar Akasia
Jungle Wood Fence=Pagar Kayu Rimba
Pine Wood Fence=Pagar Pinus
Aspen Wood Fence=Pagar Aspen
Apple Wood Fence Rail=Rel Pagar Kayu Apel
Acacia Wood Fence Rail=Rel Pagar Akasia
Jungle Wood Fence Rail=Rel Pagar Kayu Rimba
Pine Wood Fence Rail=Rel Pagar Pinus
Aspen Wood Fence Rail=Rel Pagar Aspen
Glass=Kaca
Obsidian Glass=Kaca Obsidian
Brick Block=Balok Bata
Mese Lamp=Lampu Mese
Mese Post Light=Lampu Taman Mese
Cloud=Awan
@1 will intersect protection on growth.=@1 akan memotong perlindungan ketika tumbuh.
Torch=Obor
Wooden Pickaxe=Beliung Kayu
Stone Pickaxe=Beliung Batu
Bronze Pickaxe=Beliung Perunggu
Steel Pickaxe=Beliung Baja
Mese Pickaxe=Beliung Mese
Diamond Pickaxe=Beliung Berlian
Wooden Shovel=Sekop Kayu
Stone Shovel=Sekop Batu
Bronze Shovel=Sekop Perunggu
Steel Shovel=Sekop Baja
Mese Shovel=Sekop Mese
Diamond Shovel=Sekop Berlian
Wooden Axe=Kapak Kayu
Stone Axe=Kapak Batu
Bronze Axe=Kapak Perunggu
Steel Axe=Kapak Baja
Mese Axe=Kapak Mese
Diamond Axe=Kapak Berlian
Wooden Sword=Pedang Kayu
Stone Sword=Pedang Batu
Bronze Sword=Pedang Perunggu
Steel Sword=Pedang Baja
Mese Sword=Pedang Mese
Diamond Sword=Pedang Berlian
Key=Kunci
Furnace is empty=Tungku kosong
100% (output full)=100% (keluaran penuh)
@1%=@1%
Not cookable=Tidak bisa dimasak
Empty=Kosong
Furnace active=Tungku nyala
Furnace inactive=Tungku mati
(Item: @1; Fuel: @2)=(Barang: @1; Bahan Bakar: @2)
Furnace=Tungku
Title:=Judul:
Contents:=Isi:
Save=Simpan
by @1=oleh @1
Page @1 of @2=Halaman @1 dari @2
"@1"="@1"
"@1" by @2="@1" oleh @2
Skeleton Key=Kunci Induk
Key to @1's @2=Kunci @2 milik @1
Blueberries=Bluberi
Book=Buku
Book with Text=Buku Tertulis
Bronze Ingot=Perunggu Batangan
Clay Brick=Bata
Clay Lump=Bongkahan Semen
Coal Lump=Bongkahan Batu Bara
Copper Ingot=Tembaga Batangan
Copper Lump=Bongkahan Tembaga
Diamond=Berlian
Flint=Batu Api
Gold Ingot=Emas Batangan
Gold Lump=Bongkahan Emas
Iron Lump=Bongkahan Besi
Mese Crystal=Kristal Mese
Mese Crystal Fragment=Pecahan Kristal Mese
Obsidian Shard=Pecahan Obsidian
Paper=Kertas
Steel Ingot=Baja Batangan
Stick=Tongkat
Tin Ingot=Timah Batangan
Tin Lump=Bongkahan Timah
Locked Chest=Peti Terkunci
Locked Chest (owned by @1)=Peti Terkunci (milik @1)
You do not own this chest.=Anda bukan pemilik peti ini.
a locked chest=suatu peti terkunci
Chest=Peti

View File

@ -1,43 +1,4 @@
# textdomain: default
Locked Chest=
Locked Chest (owned by @1)=
You do not own this chest.=
a locked chest=
Chest=
Stick=
Paper=
"@1" by @2=
Book=
Book with Text=
Skeleton Key=
Key to @1's @2=
Coal Lump=
Iron Lump=
Copper Lump=
Tin Lump=
Mese Crystal=
Gold Lump=
Diamond=
Clay Lump=
Steel Ingot=
Copper Ingot=
Tin Ingot=
Bronze Ingot=
Gold Ingot=
Mese Crystal Fragment=
Clay Brick=
Obsidian Shard=
Flint=
Blueberries=
Furnace is empty=
100% (output full)=
@1%=
Empty=
Not cookable=
Furnace active=
Furnace inactive=
(Item: @1; Fuel: @2)=
Furnace=
Stone=
Cobblestone=
Stone Brick=
@ -62,12 +23,12 @@ Obsidian Block=
Dirt=
Dirt with Grass=
Dirt with Grass and Footsteps=
Dirt with Dry Grass=
Dirt with Savanna Grass=
Dirt with Snow=
Dirt with Rainforest Litter=
Dirt with Coniferous Litter=
Dry Dirt=
Dry Dirt with Dry Grass=
Savanna Dirt=
Savanna Dirt with Savanna Grass=
Permafrost=
Permafrost with Stones=
Permafrost with Moss=
@ -124,7 +85,7 @@ Papyrus=
Dry Shrub=
Jungle Grass=
Grass=
Dry Grass=
Savanna Grass=
Fern=
Marram Grass=
Bush Stem=
@ -176,6 +137,8 @@ Brick Block=
Mese Lamp=
Mese Post Light=
Cloud=
@1 will intersect protection on growth.=
Torch=
Wooden Pickaxe=
Stone Pickaxe=
Bronze Pickaxe=
@ -201,11 +164,48 @@ Steel Sword=
Mese Sword=
Diamond Sword=
Key=
Torch=
@1 will intersect protection on growth.=
Furnace is empty=
100% (output full)=
@1%=
Not cookable=
Empty=
Furnace active=
Furnace inactive=
(Item: @1; Fuel: @2)=
Furnace=
Title:=
Contents:=
Save=
by @1=
Page @1 of @2=
"@1"=
"@1" by @2=
Skeleton Key=
Key to @1's @2=
Blueberries=
Book=
Book with Text=
Bronze Ingot=
Clay Brick=
Clay Lump=
Coal Lump=
Copper Ingot=
Copper Lump=
Diamond=
Flint=
Gold Ingot=
Gold Lump=
Iron Lump=
Mese Crystal=
Mese Crystal Fragment=
Obsidian Shard=
Paper=
Steel Ingot=
Stick=
Tin Ingot=
Tin Lump=
Locked Chest=
Locked Chest (owned by @1)=
You do not own this chest.=
a locked chest=
Chest=

View File

@ -458,12 +458,12 @@ minetest.register_node("default:dirt_with_grass_footsteps", {
})
minetest.register_node("default:dirt_with_dry_grass", {
description = S("Dirt with Dry Grass"),
description = S("Dirt with Savanna Grass"),
tiles = {"default_dry_grass.png",
"default_dirt.png",
{name = "default_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
groups = {crumbly = 3, soil = 1},
groups = {crumbly = 3, soil = 1, spreading_dirt_type = 1},
drop = "default:dirt",
sounds = default.node_sound_dirt_defaults({
footstep = {name = "default_grass_footstep", gain = 0.4},
@ -513,14 +513,14 @@ minetest.register_node("default:dirt_with_coniferous_litter", {
})
minetest.register_node("default:dry_dirt", {
description = S("Dry Dirt"),
description = S("Savanna Dirt"),
tiles = {"default_dry_dirt.png"},
groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_node("default:dry_dirt_with_dry_grass", {
description = S("Dry Dirt with Dry Grass"),
description = S("Savanna Dirt with Savanna Grass"),
tiles = {"default_dry_grass.png", "default_dry_dirt.png",
{name = "default_dry_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}},
@ -621,7 +621,7 @@ minetest.register_node("default:snow", {
collision_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, -7 / 16, 0.5},
{-0.5, -0.5, -0.5, 0.5, -6 / 16, 0.5},
},
},
groups = {crumbly = 3, falling_node = 1, snowy = 1},
@ -1497,7 +1497,7 @@ end
minetest.register_node("default:dry_grass_1", {
description = S("Dry Grass"),
description = S("Savanna Grass"),
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_grass_1.png"},
@ -1526,7 +1526,7 @@ minetest.register_node("default:dry_grass_1", {
for i = 2, 5 do
minetest.register_node("default:dry_grass_" .. i, {
description = S("Dry Grass"),
description = S("Savanna Grass"),
drawtype = "plantlike",
waving = 1,
tiles = {"default_dry_grass_" .. i .. ".png"},
@ -2579,12 +2579,10 @@ local function register_sign(material, desc, def)
sounds = def.sounds,
on_construct = function(pos)
--local n = minetest.get_node(pos)
local meta = minetest.get_meta(pos)
meta:set_string("formspec", "field[text;;${text}]")
end,
on_receive_fields = function(pos, formname, fields, sender)
--print("Sign at "..minetest.pos_to_string(pos).." got "..dump(fields))
local player_name = sender:get_player_name()
if minetest.is_protected(pos, player_name) then
minetest.record_protection_violation(pos, player_name)
@ -2598,8 +2596,8 @@ local function register_sign(material, desc, def)
minetest.chat_send_player(player_name, S("Text too long"))
return
end
minetest.log("action", (player_name or "") .. " wrote \"" ..
text .. "\" to sign at " .. minetest.pos_to_string(pos))
minetest.log("action", player_name .. " wrote \"" .. text ..
"\" to the sign at " .. minetest.pos_to_string(pos))
local meta = minetest.get_meta(pos)
meta:set_string("text", text)
@ -2816,7 +2814,10 @@ minetest.register_node("default:brick", {
description = S("Brick Block"),
paramtype2 = "facedir",
place_param2 = 0,
tiles = {"default_brick.png"},
tiles = {
"default_brick.png^[transformFX",
"default_brick.png",
},
is_ground_content = false,
groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(),

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 148 B

After

Width:  |  Height:  |  Size: 154 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 279 B

View File

@ -16,9 +16,7 @@ function default.can_grow(pos)
if not node_under then
return false
end
local name_under = node_under.name
local is_soil = minetest.get_item_group(name_under, "soil")
if is_soil == 0 then
if minetest.get_item_group(node_under.name, "soil") == 0 then
return false
end
local light_level = minetest.get_node_light(pos)