Merge branch 'master' into patch-1

This commit is contained in:
IFRFSX 2020-04-07 19:26:21 +08:00 committed by GitHub
commit 38524378b1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
13 changed files with 120 additions and 141 deletions

View file

@ -103,6 +103,13 @@ The contents of `creative.formspec_add` is appended to every creative inventory
page. Mods can use it to add additional formspec elements onto the default page. Mods can use it to add additional formspec elements onto the default
creative inventory formspec to be drawn after each update. creative inventory formspec to be drawn after each update.
Group overrides can be used for any registered item, node or tool. Use one of
the groups stated below to pick which category it will appear in.
node = 1 -- Appears in the Nodes category
tool = 1 -- Appears in the Tools category
craftitem = 1 -- Appears in the Items category
Chests API Chests API
---------- ----------

View file

@ -199,10 +199,29 @@ function creative.register_tab(name, title, items)
}) })
end end
-- Sort registered items
local registered_nodes = {}
local registered_tools = {}
local registered_craftitems = {}
minetest.register_on_mods_loaded(function()
for name, def in pairs(minetest.registered_items) do
local group = def.groups or {}
if group.node or minetest.registered_nodes[name] then
registered_nodes[name] = def
elseif group.tool or minetest.registered_tools[name] then
registered_tools[name] = def
elseif group.craftitem or minetest.registered_craftitems[name] then
registered_craftitems[name] = def
end
end
end)
creative.register_tab("all", S("All"), minetest.registered_items) creative.register_tab("all", S("All"), minetest.registered_items)
creative.register_tab("nodes", S("Nodes"), minetest.registered_nodes) creative.register_tab("nodes", S("Nodes"), registered_nodes)
creative.register_tab("tools", S("Tools"), minetest.registered_tools) creative.register_tab("tools", S("Tools"), registered_tools)
creative.register_tab("craftitems", S("Items"), minetest.registered_craftitems) creative.register_tab("craftitems", S("Items"), registered_craftitems)
local old_homepage_name = sfinv.get_homepage_name local old_homepage_name = sfinv.get_homepage_name
function sfinv.get_homepage_name(player) function sfinv.get_homepage_name(player)

View file

@ -458,7 +458,7 @@ minetest.register_node("default:dirt_with_grass_footsteps", {
}) })
minetest.register_node("default:dirt_with_dry_grass", { 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", tiles = {"default_dry_grass.png",
"default_dirt.png", "default_dirt.png",
{name = "default_dirt.png^default_dry_grass_side.png", {name = "default_dirt.png^default_dry_grass_side.png",
@ -513,14 +513,14 @@ minetest.register_node("default:dirt_with_coniferous_litter", {
}) })
minetest.register_node("default:dry_dirt", { minetest.register_node("default:dry_dirt", {
description = S("Dry Dirt"), description = S("Savanna Dirt"),
tiles = {"default_dry_dirt.png"}, tiles = {"default_dry_dirt.png"},
groups = {crumbly = 3, soil = 1}, groups = {crumbly = 3, soil = 1},
sounds = default.node_sound_dirt_defaults(), sounds = default.node_sound_dirt_defaults(),
}) })
minetest.register_node("default:dry_dirt_with_dry_grass", { 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", tiles = {"default_dry_grass.png", "default_dry_dirt.png",
{name = "default_dry_dirt.png^default_dry_grass_side.png", {name = "default_dry_dirt.png^default_dry_grass_side.png",
tileable_vertical = false}}, tileable_vertical = false}},
@ -1497,7 +1497,7 @@ end
minetest.register_node("default:dry_grass_1", { minetest.register_node("default:dry_grass_1", {
description = S("Dry Grass"), description = S("Savanna Grass"),
drawtype = "plantlike", drawtype = "plantlike",
waving = 1, waving = 1,
tiles = {"default_dry_grass_1.png"}, tiles = {"default_dry_grass_1.png"},
@ -1526,7 +1526,7 @@ minetest.register_node("default:dry_grass_1", {
for i = 2, 5 do for i = 2, 5 do
minetest.register_node("default:dry_grass_" .. i, { minetest.register_node("default:dry_grass_" .. i, {
description = S("Dry Grass"), description = S("Savanna Grass"),
drawtype = "plantlike", drawtype = "plantlike",
waving = 1, waving = 1,
tiles = {"default_dry_grass_" .. i .. ".png"}, tiles = {"default_dry_grass_" .. i .. ".png"},
@ -2816,7 +2816,10 @@ minetest.register_node("default:brick", {
description = S("Brick Block"), description = S("Brick Block"),
paramtype2 = "facedir", paramtype2 = "facedir",
place_param2 = 0, place_param2 = 0,
tiles = {"default_brick.png"}, tiles = {
"default_brick.png^[transformFX",
"default_brick.png",
},
is_ground_content = false, is_ground_content = false,
groups = {cracky = 3}, groups = {cracky = 3},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),

View file

@ -457,7 +457,7 @@ doors.register("door_wood", {
tiles = {{ name = "doors_door_wood.png", backface_culling = true }}, tiles = {{ name = "doors_door_wood.png", backface_culling = true }},
description = S("Wooden Door"), description = S("Wooden Door"),
inventory_image = "doors_item_wood.png", inventory_image = "doors_item_wood.png",
groups = {choppy = 2, oddly_breakable_by_hand = 2, flammable = 2}, groups = {node = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2},
recipe = { recipe = {
{"group:wood", "group:wood"}, {"group:wood", "group:wood"},
{"group:wood", "group:wood"}, {"group:wood", "group:wood"},
@ -470,7 +470,7 @@ doors.register("door_steel", {
description = S("Steel Door"), description = S("Steel Door"),
inventory_image = "doors_item_steel.png", inventory_image = "doors_item_steel.png",
protected = true, protected = true,
groups = {cracky = 1, level = 2}, groups = {node = 1, cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "doors_steel_door_open", sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close", sound_close = "doors_steel_door_close",
@ -485,7 +485,7 @@ doors.register("door_glass", {
tiles = {"doors_door_glass.png"}, tiles = {"doors_door_glass.png"},
description = S("Glass Door"), description = S("Glass Door"),
inventory_image = "doors_item_glass.png", inventory_image = "doors_item_glass.png",
groups = {cracky=3, oddly_breakable_by_hand=3}, groups = {node = 1, cracky=3, oddly_breakable_by_hand=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open", sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close", sound_close = "doors_glass_door_close",
@ -500,7 +500,7 @@ doors.register("door_obsidian_glass", {
tiles = {"doors_door_obsidian_glass.png"}, tiles = {"doors_door_obsidian_glass.png"},
description = S("Obsidian Glass Door"), description = S("Obsidian Glass Door"),
inventory_image = "doors_item_obsidian_glass.png", inventory_image = "doors_item_obsidian_glass.png",
groups = {cracky=3}, groups = {node = 1, cracky=3},
sounds = default.node_sound_glass_defaults(), sounds = default.node_sound_glass_defaults(),
sound_open = "doors_glass_door_open", sound_open = "doors_glass_door_open",
sound_close = "doors_glass_door_close", sound_close = "doors_glass_door_close",

View file

@ -86,7 +86,7 @@ minetest.register_node("farming:soil_wet", {
}) })
minetest.register_node("farming:dry_soil", { minetest.register_node("farming:dry_soil", {
description = S("Dry Soil"), description = S("Savanna Soil"),
tiles = {"default_dry_dirt.png^farming_soil.png", "default_dry_dirt.png"}, tiles = {"default_dry_dirt.png^farming_soil.png", "default_dry_dirt.png"},
drop = "default:dry_dirt", drop = "default:dry_dirt",
groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1}, groups = {crumbly=3, not_in_creative_inventory=1, soil=2, grassland = 1, field = 1},
@ -99,7 +99,7 @@ minetest.register_node("farming:dry_soil", {
}) })
minetest.register_node("farming:dry_soil_wet", { minetest.register_node("farming:dry_soil_wet", {
description = S("Wet Dry Soil"), description = S("Wet Savanna Soil"),
tiles = {"default_dry_dirt.png^farming_soil_wet.png", "default_dry_dirt.png^farming_soil_wet_side.png"}, tiles = {"default_dry_dirt.png^farming_soil_wet.png", "default_dry_dirt.png^farming_soil_wet_side.png"},
drop = "default:dry_dirt", drop = "default:dry_dirt",
groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1}, groups = {crumbly=3, not_in_creative_inventory=1, soil=3, wet = 1, grassland = 1, field = 1},

View file

@ -1,15 +1,12 @@
-- fire/init.lua -- fire/init.lua
-- Global namespace for functions -- Global namespace for functions
fire = {} fire = {}
-- Load support for MT game translation. -- Load support for MT game translation.
local S = minetest.get_translator("fire") local S = minetest.get_translator("fire")
-- 'Enable fire' setting -- 'Enable fire' setting
local fire_enabled = minetest.settings:get_bool("enable_fire") local fire_enabled = minetest.settings:get_bool("enable_fire")
if fire_enabled == nil then if fire_enabled == nil then
-- enable_fire setting not specified, check for disable_fire -- enable_fire setting not specified, check for disable_fire
@ -27,12 +24,9 @@ end
-- --
-- Flood flame function -- Flood flame function
local function flood_flame(pos, _, newnode)
local function flood_flame(pos, oldnode, newnode)
-- Play flame extinguish sound if liquid is not an 'igniter' -- Play flame extinguish sound if liquid is not an 'igniter'
local nodedef = minetest.registered_items[newnode.name] if minetest.get_item_group(newnode.name, "igniter") == 0 then
if not (nodedef and nodedef.groups and
nodedef.groups.igniter and nodedef.groups.igniter > 0) then
minetest.sound_play("fire_extinguish_flame", minetest.sound_play("fire_extinguish_flame",
{pos = pos, max_hear_distance = 16, gain = 0.15}, true) {pos = pos, max_hear_distance = 16, gain = 0.15}, true)
end end
@ -42,19 +36,16 @@ end
-- Flame nodes -- Flame nodes
minetest.register_node("fire:basic_flame", { local fire_node = {
description = S("Fire"),
drawtype = "firelike", drawtype = "firelike",
tiles = { tiles = {{
{ name = "fire_basic_flame_animated.png",
name = "fire_basic_flame_animated.png", animation = {
animation = { type = "vertical_frames",
type = "vertical_frames", aspect_w = 16,
aspect_w = 16, aspect_h = 16,
aspect_h = 16, length = 1
length = 1 }}
},
},
}, },
inventory_image = "fire_basic_flame.png", inventory_image = "fire_basic_flame.png",
paramtype = "light", paramtype = "light",
@ -64,61 +55,35 @@ minetest.register_node("fire:basic_flame", {
sunlight_propagates = true, sunlight_propagates = true,
floodable = true, floodable = true,
damage_per_second = 4, damage_per_second = 4,
groups = {igniter = 2, dig_immediate = 3, not_in_creative_inventory = 1}, groups = {igniter = 2, dig_immediate = 3, fire = 1},
drop = "", drop = "",
on_flood = flood_flame
}
on_timer = function(pos) -- Basic flame node
local f = minetest.find_node_near(pos, 1, {"group:flammable"}) local flame_fire_node = table.copy(fire_node)
if not fire_enabled or not f then flame_fire_node.groups.not_in_creative_inventory = 1
minetest.remove_node(pos) flame_fire_node.on_timer = function(pos)
return if not minetest.find_node_near(pos, 1, {"group:flammable"}) then
end minetest.remove_node(pos)
-- Restart timer return
return true end
end, -- Restart timer
return true
end
flame_fire_node.on_construct = function(pos)
minetest.get_node_timer(pos):start(math.random(30, 60))
end
on_construct = function(pos) minetest.register_node("fire:basic_flame", flame_fire_node)
if not fire_enabled then
minetest.remove_node(pos)
else
minetest.get_node_timer(pos):start(math.random(30, 60))
end
end,
on_flood = flood_flame, -- Permanent flame node
}) local permanent_fire_node = table.copy(fire_node)
permanent_fire_node.description = S("Permanent Flame")
minetest.register_node("fire:permanent_flame", { minetest.register_node("fire:permanent_flame", permanent_fire_node)
description = S("Permanent Flame"),
drawtype = "firelike",
tiles = {
{
name = "fire_basic_flame_animated.png",
animation = {
type = "vertical_frames",
aspect_w = 16,
aspect_h = 16,
length = 1
},
},
},
inventory_image = "fire_basic_flame.png",
paramtype = "light",
light_source = 13,
walkable = false,
buildable_to = true,
sunlight_propagates = true,
floodable = true,
damage_per_second = 4,
groups = {igniter = 2, dig_immediate = 3},
drop = "",
on_flood = flood_flame,
})
-- Flint and steel
-- Flint and Steel
minetest.register_tool("fire:flint_and_steel", { minetest.register_tool("fire:flint_and_steel", {
description = S("Flint and Steel"), description = S("Flint and Steel"),
inventory_image = "fire_flint_steel.png", inventory_image = "fire_flint_steel.png",
@ -126,11 +91,8 @@ minetest.register_tool("fire:flint_and_steel", {
on_use = function(itemstack, user, pointed_thing) on_use = function(itemstack, user, pointed_thing)
local sound_pos = pointed_thing.above or user:get_pos() local sound_pos = pointed_thing.above or user:get_pos()
minetest.sound_play( minetest.sound_play("fire_flint_and_steel",
"fire_flint_and_steel", {pos = sound_pos, gain = 0.5, max_hear_distance = 8}, true)
{pos = sound_pos, gain = 0.5, max_hear_distance = 8},
true
)
local player_name = user:get_player_name() local player_name = user:get_player_name()
if pointed_thing.type == "node" then if pointed_thing.type == "node" then
local node_under = minetest.get_node(pointed_thing.under).name local node_under = minetest.get_node(pointed_thing.under).name
@ -154,10 +116,11 @@ minetest.register_tool("fire:flint_and_steel", {
-- Wear tool -- Wear tool
local wdef = itemstack:get_definition() local wdef = itemstack:get_definition()
itemstack:add_wear(1000) itemstack:add_wear(1000)
-- Tool break sound -- Tool break sound
if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then if itemstack:get_count() == 0 and wdef.sound and wdef.sound.breaks then
minetest.sound_play(wdef.sound.breaks, {pos = sound_pos, minetest.sound_play(wdef.sound.breaks,
gain = 0.5}, true) {pos = sound_pos, gain = 0.5}, true)
end end
return itemstack return itemstack
end end
@ -171,23 +134,21 @@ minetest.register_craft({
} }
}) })
-- Override coalblock to enable permanent flame above -- Override coalblock to enable permanent flame above
-- Coalblock is non-flammable to avoid unwanted basic_flame nodes -- Coalblock is non-flammable to avoid unwanted basic_flame nodes
minetest.override_item("default:coalblock", { minetest.override_item("default:coalblock", {
after_destruct = function(pos, oldnode) after_destruct = function(pos)
pos.y = pos.y + 1 pos.y = pos.y + 1
if minetest.get_node(pos).name == "fire:permanent_flame" then if minetest.get_node(pos).name == "fire:permanent_flame" then
minetest.remove_node(pos) minetest.remove_node(pos)
end end
end, end,
on_ignite = function(pos, igniter) on_ignite = function(pos)
local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z} local flame_pos = {x = pos.x, y = pos.y + 1, z = pos.z}
if minetest.get_node(flame_pos).name == "air" then if minetest.get_node(flame_pos).name == "air" then
minetest.set_node(flame_pos, {name = "fire:permanent_flame"}) minetest.set_node(flame_pos, {name = "fire:permanent_flame"})
end end
end, end
}) })
@ -195,24 +156,18 @@ minetest.override_item("default:coalblock", {
-- Sound -- Sound
-- --
local flame_sound = minetest.settings:get_bool("flame_sound") -- Enable if no setting present
if flame_sound == nil then local flame_sound = minetest.settings:get_bool("flame_sound", true)
-- Enable if no setting present
flame_sound = true
end
if flame_sound then if flame_sound then
local handles = {} local handles = {}
local timer = 0 local timer = 0
-- Parameters -- Parameters
local radius = 8 -- Flame node search radius around player local radius = 8 -- Flame node search radius around player
local cycle = 3 -- Cycle time for sound updates local cycle = 3 -- Cycle time for sound updates
-- Update sound for player -- Update sound for player
function fire.update_player_sound(player) function fire.update_player_sound(player)
local player_name = player:get_player_name() local player_name = player:get_player_name()
-- Search for flame nodes in radius around player -- Search for flame nodes in radius around player
@ -264,16 +219,13 @@ if flame_sound then
fposmid = vector.divide(vector.add(fposmin, fposmax), 2) fposmid = vector.divide(vector.add(fposmin, fposmax), 2)
end end
-- Play sound -- Play sound
local handle = minetest.sound_play( local handle = minetest.sound_play("fire_fire", {
"fire_fire", pos = fposmid,
{ to_player = player_name,
pos = fposmid, gain = math.min(0.06 * (1 + flames * 0.125), 0.18),
to_player = player_name, max_hear_distance = 32,
gain = math.min(0.06 * (1 + flames * 0.125), 0.18), loop = true -- In case of lag
max_hear_distance = 32, })
loop = true, -- In case of lag
}
)
-- Store sound handle for this player -- Store sound handle for this player
if handle then if handle then
handles[player_name] = handle handles[player_name] = handle
@ -282,7 +234,6 @@ if flame_sound then
end end
-- Cycle for updating players sounds -- Cycle for updating players sounds
minetest.register_globalstep(function(dtime) minetest.register_globalstep(function(dtime)
timer = timer + dtime timer = timer + dtime
if timer < cycle then if timer < cycle then
@ -297,7 +248,6 @@ if flame_sound then
end) end)
-- Stop sound and clear handle on player leave -- Stop sound and clear handle on player leave
minetest.register_on_leaveplayer(function(player) minetest.register_on_leaveplayer(function(player)
local player_name = player:get_player_name() local player_name = player:get_player_name()
if handles[player_name] then if handles[player_name] then
@ -309,19 +259,14 @@ end
-- Deprecated function kept temporarily to avoid crashes if mod fire nodes call it -- Deprecated function kept temporarily to avoid crashes if mod fire nodes call it
function fire.update_sounds_around() end
function fire.update_sounds_around(pos)
end
-- --
-- ABMs -- ABMs
-- --
if fire_enabled then if fire_enabled then
-- Ignite neighboring nodes, add basic flames -- Ignite neighboring nodes, add basic flames
minetest.register_abm({ minetest.register_abm({
label = "Ignite flame", label = "Ignite flame",
nodenames = {"group:flammable"}, nodenames = {"group:flammable"},
@ -334,11 +279,10 @@ if fire_enabled then
if p then if p then
minetest.set_node(p, {name = "fire:basic_flame"}) minetest.set_node(p, {name = "fire:basic_flame"})
end end
end, end
}) })
-- Remove flammable nodes around basic flame -- Remove flammable nodes around basic flame
minetest.register_abm({ minetest.register_abm({
label = "Remove flammable nodes", label = "Remove flammable nodes",
nodenames = {"fire:basic_flame"}, nodenames = {"fire:basic_flame"},
@ -359,7 +303,6 @@ if fire_enabled then
minetest.remove_node(p) minetest.remove_node(p)
minetest.check_for_falling(p) minetest.check_for_falling(p)
end end
end, end
}) })
end end

Binary file not shown.

Before

Width:  |  Height:  |  Size: 646 B

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 KiB

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 205 B

View file

@ -106,7 +106,7 @@ function minetest.calculate_knockback(player, ...)
end end
-- Check each player and apply animations -- Check each player and apply animations
minetest.register_globalstep(function(dtime) minetest.register_globalstep(function()
for _, player in pairs(minetest.get_connected_players()) do for _, player in pairs(minetest.get_connected_players()) do
local name = player:get_player_name() local name = player:get_player_name()
local model_name = player_model[name] local model_name = player_model[name]
@ -134,13 +134,13 @@ minetest.register_globalstep(function(dtime)
player_anim[name] = nil player_anim[name] = nil
player_sneak[name] = controls.sneak player_sneak[name] = controls.sneak
end end
if controls.LMB then if controls.LMB or controls.RMB then
player_set_animation(player, "walk_mine", animation_speed_mod) player_set_animation(player, "walk_mine", animation_speed_mod)
else else
player_set_animation(player, "walk", animation_speed_mod) player_set_animation(player, "walk", animation_speed_mod)
end end
elseif controls.LMB then elseif controls.LMB or controls.RMB then
player_set_animation(player, "mine") player_set_animation(player, "mine", animation_speed_mod)
else else
player_set_animation(player, "stand", animation_speed_mod) player_set_animation(player, "stand", animation_speed_mod)
end end

View file

@ -135,6 +135,7 @@ local function on_spawn(player)
if success then if success then
player:set_pos(spawn_pos) player:set_pos(spawn_pos)
end end
return success
end end
minetest.register_on_newplayer(function(player) minetest.register_on_newplayer(function(player)
@ -153,7 +154,5 @@ minetest.register_on_respawnplayer(function(player)
return return
end end
on_spawn(player) return on_spawn(player)
return true
end) end)

View file

@ -82,18 +82,26 @@ local function update_clouds()
nobj_speedx = nobj_speedx or minetest.get_perlin(np_speedx) nobj_speedx = nobj_speedx or minetest.get_perlin(np_speedx)
nobj_speedz = nobj_speedz or minetest.get_perlin(np_speedz) nobj_speedz = nobj_speedz or minetest.get_perlin(np_speedz)
local n_density = nobj_density:get_2d({x = time, y = 0}) local n_density = nobj_density:get_2d({x = time, y = 0}) -- 0 to 1
local n_thickness = nobj_thickness:get_2d({x = time, y = 0}) local n_thickness = nobj_thickness:get_2d({x = time, y = 0}) -- 0 to 1
local n_speedx = nobj_speedx:get_2d({x = time, y = 0}) local n_speedx = nobj_speedx:get_2d({x = time, y = 0}) -- -1 to 1
local n_speedz = nobj_speedz:get_2d({x = time, y = 0}) local n_speedz = nobj_speedz:get_2d({x = time, y = 0}) -- -1 to 1
for _, player in ipairs(minetest.get_connected_players()) do for _, player in ipairs(minetest.get_connected_players()) do
local humid = minetest.get_humidity(player:get_pos()) local humid = minetest.get_humidity(player:get_pos())
-- Default and classic density value is 0.4, make this happen
-- at humidity midvalue 50 when n_density is at midvalue 0.5.
-- density_max = 0.25 at humid = 0.
-- density_max = 0.8 at humid = 50.
-- density_max = 1.35 at humid = 100.
local density_max = 0.8 + ((humid - 50) / 50) * 0.55
player:set_clouds({ player:set_clouds({
density = rangelim(humid / 100, 0.25, 1.0) * n_density, -- Range limit density_max to always have occasional
-- small scattered clouds at extreme low humidity.
density = rangelim(density_max, 0.2, 1.0) * n_density,
thickness = math.max(math.floor( thickness = math.max(math.floor(
rangelim(32 * humid / 100, 8, 32) * n_thickness rangelim(32 * humid / 100, 8, 32) * n_thickness
), 1), ), 2),
speed = {x = n_speedx * 4, z = n_speedz * 4}, speed = {x = n_speedx * 4, z = n_speedz * 4},
}) })
end end

View file

@ -223,7 +223,7 @@ if minetest.get_modpath("doors") then
description = S("Steel Bar Door"), description = S("Steel Bar Door"),
inventory_image = "xpanes_item_steel_bar.png", inventory_image = "xpanes_item_steel_bar.png",
protected = true, protected = true,
groups = {cracky = 1, level = 2}, groups = {node = 1, cracky = 1, level = 2},
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "xpanes_steel_bar_door_open", sound_open = "xpanes_steel_bar_door_open",
sound_close = "xpanes_steel_bar_door_close", sound_close = "xpanes_steel_bar_door_close",
@ -241,7 +241,7 @@ if minetest.get_modpath("doors") then
tile_front = "xpanes_trapdoor_steel_bar.png", tile_front = "xpanes_trapdoor_steel_bar.png",
tile_side = "xpanes_trapdoor_steel_bar_side.png", tile_side = "xpanes_trapdoor_steel_bar_side.png",
protected = true, protected = true,
groups = {cracky = 1, level = 2, door = 1}, groups = {node = 1, cracky = 1, level = 2, door = 1},
sounds = default.node_sound_metal_defaults(), sounds = default.node_sound_metal_defaults(),
sound_open = "xpanes_steel_bar_door_open", sound_open = "xpanes_steel_bar_door_open",
sound_close = "xpanes_steel_bar_door_close", sound_close = "xpanes_steel_bar_door_close",