Merge pull request 'Un-hardcode blast resistance and hardness of fences and walls' (#3943) from wood_fence_blast_resistance into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3943 Reviewed-by: the-real-herowl <the-real-herowl@noreply.git.minetest.land>hollow_logs_ref_recovery
commit
f941817c39
|
@ -192,10 +192,23 @@ if minetest.get_modpath("mcl_fences") then
|
||||||
local wood_groups = { handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 }
|
local wood_groups = { handy = 1, axey = 1, flammable = 2, fence_wood = 1, fire_encouragement = 5, fire_flammability = 20 }
|
||||||
local wood_connect = { "group:fence_wood" }
|
local wood_connect = { "group:fence_wood" }
|
||||||
|
|
||||||
local fence_id = mcl_fences.register_fence(id, S("Bamboo Fence"), "mcl_bamboo_fence_bamboo.png", wood_groups,
|
local fence_id = mcl_fences.register_fence(
|
||||||
2, 15, wood_connect, node_sound)
|
id,
|
||||||
local gate_id = mcl_fences.register_fence_gate(id, S("Bamboo Fence Gate"), "mcl_bamboo_fence_gate_bamboo.png",
|
S("Bamboo Fence"),
|
||||||
wood_groups, 2, 15, node_sound) -- note: about missing params.. will use defaults.
|
"mcl_bamboo_fence_bamboo.png",
|
||||||
|
wood_groups,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||||
|
wood_connect, node_sound)
|
||||||
|
|
||||||
|
local gate_id = mcl_fences.register_fence_gate(
|
||||||
|
id,
|
||||||
|
S("Bamboo Fence Gate"),
|
||||||
|
"mcl_bamboo_fence_gate_bamboo.png",
|
||||||
|
wood_groups,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||||
|
node_sound) -- note: about missing params.. will use defaults.
|
||||||
|
|
||||||
mcl_bamboo.mcl_log(dump(fence_id))
|
mcl_bamboo.mcl_log(dump(fence_id))
|
||||||
mcl_bamboo.mcl_log(dump(gate_id))
|
mcl_bamboo.mcl_log(dump(gate_id))
|
||||||
|
|
|
@ -199,7 +199,11 @@ mcl_stairs.register_stair_and_slab_simple("blackstone_chiseled_polished", "mcl_b
|
||||||
mcl_stairs.register_stair_and_slab_simple("blackstone_brick_polished", "mcl_blackstone:blackstone_brick_polished", S("Polished Blackstone Brick Stair"), S("Polished Blackstone Brick Slab"), S("Double Polished Blackstone Brick Slab"))
|
mcl_stairs.register_stair_and_slab_simple("blackstone_brick_polished", "mcl_blackstone:blackstone_brick_polished", S("Polished Blackstone Brick Stair"), S("Polished Blackstone Brick Slab"), S("Double Polished Blackstone Brick Slab"))
|
||||||
|
|
||||||
--Wall
|
--Wall
|
||||||
mcl_walls.register_wall("mcl_blackstone:wall", S("Blackstone Wall"), "mcl_blackstone:blackstone")
|
mcl_walls.register_wall(
|
||||||
|
"mcl_blackstone:wall",
|
||||||
|
S("Blackstone Wall"),
|
||||||
|
"mcl_blackstone:blackstone"
|
||||||
|
)
|
||||||
|
|
||||||
--lavacooling
|
--lavacooling
|
||||||
|
|
||||||
|
|
|
@ -66,9 +66,16 @@ mcl_signs.register_sign_custom("mcl_cherry_blossom", "_cherrywood",
|
||||||
"mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", S("Cherry Sign"))
|
"mcl_cherry_blossom_sign_inv.png", "mcl_cherry_blossom_sign_inv.png", S("Cherry Sign"))
|
||||||
|
|
||||||
-- Fences & Gates
|
-- Fences & Gates
|
||||||
mcl_fences.register_fence_and_fence_gate("cherry_fence", S("Cherry Fence"), S("Cherry Gate"),
|
mcl_fences.register_fence_and_fence_gate(
|
||||||
"mcl_cherry_blossom_planks.png", {handy=1, axey=1, flammable=2, fence_wood=1, fire_encouragement=5, fire_flammability=20}, 2, 15,
|
"cherry_fence",
|
||||||
{"group:fence_wood"}, mcl_sounds.node_sound_wood_defaults())
|
S("Cherry Fence"),
|
||||||
|
S("Cherry Gate"),
|
||||||
|
"mcl_cherry_blossom_planks.png",
|
||||||
|
{handy=1, axey=1, flammable=2, fence_wood=1, fire_encouragement=5, fire_flammability=20},
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||||
|
{"group:fence_wood"},
|
||||||
|
mcl_sounds.node_sound_wood_defaults())
|
||||||
|
|
||||||
-- Redstone
|
-- Redstone
|
||||||
mesecon.register_pressure_plate(
|
mesecon.register_pressure_plate(
|
||||||
|
|
|
@ -218,7 +218,10 @@ local function register_deepslate_variant(item, desc, longdesc)
|
||||||
end
|
end
|
||||||
if item ~= "chiseled" then
|
if item ~= "chiseled" then
|
||||||
mcl_stairs.register_stair_and_slab_simple("deepslate_"..item, "mcl_deepslate:deepslate_"..item, S(desc.." Stairs"), S(desc.." Slab"), S("Double "..desc.." Slab"))
|
mcl_stairs.register_stair_and_slab_simple("deepslate_"..item, "mcl_deepslate:deepslate_"..item, S(desc.." Stairs"), S(desc.." Slab"), S("Double "..desc.." Slab"))
|
||||||
mcl_walls.register_wall("mcl_deepslate:deepslate"..item.."wall", S(desc.." Wall"), "mcl_deepslate:deepslate_"..item)
|
mcl_walls.register_wall(
|
||||||
|
"mcl_deepslate:deepslate"..item.."wall",
|
||||||
|
S(desc.." Wall"),
|
||||||
|
"mcl_deepslate:deepslate_"..item)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -269,7 +269,16 @@ for w=1, #woods do
|
||||||
id = wood[1].."_fence"
|
id = wood[1].."_fence"
|
||||||
id_gate = wood[1].."_fence_gate"
|
id_gate = wood[1].."_fence_gate"
|
||||||
end
|
end
|
||||||
mcl_fences.register_fence_and_fence_gate(id, wood[2], wood[3], wood[4], wood_groups, 2, 15, wood_connect, wood_sounds)
|
mcl_fences.register_fence_and_fence_gate(
|
||||||
|
id,
|
||||||
|
wood[2],
|
||||||
|
wood[3],
|
||||||
|
wood[4],
|
||||||
|
wood_groups,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_hardness,
|
||||||
|
minetest.registered_nodes["mcl_core:wood"]._mcl_blast_resistance,
|
||||||
|
wood_connect,
|
||||||
|
wood_sounds)
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mcl_fences:"..id.." 3",
|
output = "mcl_fences:"..id.." 3",
|
||||||
|
@ -289,7 +298,15 @@ end
|
||||||
|
|
||||||
|
|
||||||
-- Nether Brick Fence (without fence gate!)
|
-- Nether Brick Fence (without fence gate!)
|
||||||
mcl_fences.register_fence("nether_brick_fence", S("Nether Brick Fence"), "mcl_fences_fence_nether_brick.png", {pickaxey=1, deco_block=1, fence_nether_brick=1}, 2, 30, {"group:fence_nether_brick"}, mcl_sounds.node_sound_stone_defaults())
|
mcl_fences.register_fence(
|
||||||
|
"nether_brick_fence",
|
||||||
|
S("Nether Brick Fence"),
|
||||||
|
"mcl_fences_fence_nether_brick.png",
|
||||||
|
{pickaxey=1, deco_block=1, fence_nether_brick=1},
|
||||||
|
minetest.registered_nodes["mcl_nether:nether_brick"]._mcl_hardness,
|
||||||
|
minetest.registered_nodes["mcl_nether:nether_brick"]._mcl_blast_resistance,
|
||||||
|
{"group:fence_nether_brick"},
|
||||||
|
mcl_sounds.node_sound_stone_defaults())
|
||||||
|
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
output = "mcl_fences:nether_brick_fence 6",
|
output = "mcl_fences:nether_brick_fence 6",
|
||||||
|
|
|
@ -52,7 +52,7 @@ minetest.register_node("mcl_ocean:prismarine_brick", {
|
||||||
tiles = {"mcl_ocean_prismarine_bricks.png"},
|
tiles = {"mcl_ocean_prismarine_bricks.png"},
|
||||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||||
_mcl_blast_resistance = 1.5,
|
_mcl_blast_resistance = 6,
|
||||||
_mcl_hardness = 1.5,
|
_mcl_hardness = 1.5,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -64,7 +64,7 @@ minetest.register_node("mcl_ocean:prismarine_dark", {
|
||||||
tiles = {"mcl_ocean_prismarine_dark.png"},
|
tiles = {"mcl_ocean_prismarine_dark.png"},
|
||||||
groups = {pickaxey=1, building_block=1, material_stone=1},
|
groups = {pickaxey=1, building_block=1, material_stone=1},
|
||||||
sounds = mcl_sounds.node_sound_stone_defaults(),
|
sounds = mcl_sounds.node_sound_stone_defaults(),
|
||||||
_mcl_blast_resistance = 1.5,
|
_mcl_blast_resistance = 6,
|
||||||
_mcl_hardness = 1.5,
|
_mcl_hardness = 1.5,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
This API allows you to add more walls (like the cobblestone wall) to MineClone 2.
|
This API allows you to add more walls (like the cobblestone wall) to MineClone 2.
|
||||||
|
|
||||||
## `mcl_walls.register_wall(nodename, description, craft_material, tiles, invtex, groups, sounds)`
|
## `mcl_walls.register_wall(nodename, description, craft_material, tiles, invtex, groups, sounds, hardness, blast_resistance)`
|
||||||
|
|
||||||
Adds a new wall type. This is optimized for stone-based walls, but other materials are theoretically possible, too.
|
Adds a new wall type. This is optimized for stone-based walls, but other materials are theoretically possible, too.
|
||||||
|
|
||||||
|
@ -25,6 +25,8 @@ If `craft_material` is not `nil` it also adds a crafting recipe of the following
|
||||||
* `inventory_image`: Inventory image (optional if `source` is set)
|
* `inventory_image`: Inventory image (optional if `source` is set)
|
||||||
* `groups`: Base group memberships (optional, default is `{pickaxey=1}`)
|
* `groups`: Base group memberships (optional, default is `{pickaxey=1}`)
|
||||||
* `sounds`: Sound table (optional, by default default uses stone sounds)
|
* `sounds`: Sound table (optional, by default default uses stone sounds)
|
||||||
|
* `hardness`: Hardness of node (optional, default matches `source` node or fallback value 2)
|
||||||
|
* `blast_resistance`: Blast resistance of node (optional, default matches `source` node or fallback value 6)
|
||||||
|
|
||||||
The following groups will automatically be added to the nodes (where applicable), you do not need to add them
|
The following groups will automatically be added to the nodes (where applicable), you do not need to add them
|
||||||
to the `groups` table:
|
to the `groups` table:
|
||||||
|
|
|
@ -97,8 +97,10 @@ local full_blocks = {
|
||||||
* inventory_image: Inventory image (optional)
|
* inventory_image: Inventory image (optional)
|
||||||
* groups: Base group memberships (optional, default is {pickaxey=1})
|
* groups: Base group memberships (optional, default is {pickaxey=1})
|
||||||
* sounds: Sound table (optional, default is stone)
|
* sounds: Sound table (optional, default is stone)
|
||||||
|
* hardness: Hardness of node (optional, default matches `source` node or fallback value 2)
|
||||||
|
* blast_resistance: Blast resistance of node (optional, default matches `source` node or fallback value 6)
|
||||||
]]
|
]]
|
||||||
function mcl_walls.register_wall(nodename, description, source, tiles, inventory_image, groups, sounds)
|
function mcl_walls.register_wall(nodename, description, source, tiles, inventory_image, groups, sounds, hardness, blast_resistance)
|
||||||
|
|
||||||
local base_groups = groups
|
local base_groups = groups
|
||||||
if not base_groups then
|
if not base_groups then
|
||||||
|
@ -112,17 +114,31 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||||
local main_node_groups = table.copy(base_groups)
|
local main_node_groups = table.copy(base_groups)
|
||||||
main_node_groups.deco_block = 1
|
main_node_groups.deco_block = 1
|
||||||
|
|
||||||
-- TODO: Stop hardcoding blast resistance
|
if source then
|
||||||
|
-- Default values from `source` node
|
||||||
if not sounds then
|
if not hardness then
|
||||||
sounds = mcl_sounds.node_sound_stone_defaults()
|
hardness = minetest.registered_nodes[source]._mcl_hardness
|
||||||
end
|
end
|
||||||
|
if not blast_resistance then
|
||||||
if (not tiles) and source then
|
blast_resistance = minetest.registered_nodes[source]._mcl_blast_resistance
|
||||||
|
end
|
||||||
|
if not sounds then
|
||||||
|
sounds = minetest.registered_nodes[source].sounds
|
||||||
|
end
|
||||||
|
if not tiles then
|
||||||
if minetest.registered_nodes[source] then
|
if minetest.registered_nodes[source] then
|
||||||
tiles = minetest.registered_nodes[source].tiles
|
tiles = minetest.registered_nodes[source].tiles
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
else
|
||||||
|
-- Fallback in case no `source` given
|
||||||
|
if not hardness then
|
||||||
|
hardness = 2
|
||||||
|
end
|
||||||
|
if not blast_resistance then
|
||||||
|
blast_resistance = 6
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
for i = 0, 15 do
|
for i = 0, 15 do
|
||||||
local need = {}
|
local need = {}
|
||||||
|
@ -169,8 +185,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||||
fixed = take
|
fixed = take
|
||||||
},
|
},
|
||||||
sounds = sounds,
|
sounds = sounds,
|
||||||
_mcl_blast_resistance = 6,
|
_mcl_blast_resistance = blast_resistance,
|
||||||
_mcl_hardness = 2,
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
|
|
||||||
-- Add entry alias for the Help
|
-- Add entry alias for the Help
|
||||||
|
@ -197,8 +213,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||||
fixed = {pillar, full_blocks[1]}
|
fixed = {pillar, full_blocks[1]}
|
||||||
},
|
},
|
||||||
sounds = sounds,
|
sounds = sounds,
|
||||||
_mcl_blast_resistance = 6,
|
_mcl_blast_resistance = blast_resistance,
|
||||||
_mcl_hardness = 2,
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
-- Add entry alias for the Help
|
-- Add entry alias for the Help
|
||||||
if minetest.get_modpath("doc") then
|
if minetest.get_modpath("doc") then
|
||||||
|
@ -223,8 +239,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||||
fixed = {pillar, full_blocks[2]}
|
fixed = {pillar, full_blocks[2]}
|
||||||
},
|
},
|
||||||
sounds = sounds,
|
sounds = sounds,
|
||||||
_mcl_blast_resistance = 6,
|
_mcl_blast_resistance = blast_resistance,
|
||||||
_mcl_hardness = 2,
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
-- Add entry alias for the Help
|
-- Add entry alias for the Help
|
||||||
if minetest.get_modpath("doc") then
|
if minetest.get_modpath("doc") then
|
||||||
|
@ -255,8 +271,8 @@ function mcl_walls.register_wall(nodename, description, source, tiles, inventory
|
||||||
collisionbox = {-0.2, 0, -0.2, 0.2, 1.4, 0.2},
|
collisionbox = {-0.2, 0, -0.2, 0.2, 1.4, 0.2},
|
||||||
on_construct = update_wall,
|
on_construct = update_wall,
|
||||||
sounds = sounds,
|
sounds = sounds,
|
||||||
_mcl_blast_resistance = 6,
|
_mcl_blast_resistance = blast_resistance,
|
||||||
_mcl_hardness = 2,
|
_mcl_hardness = hardness,
|
||||||
})
|
})
|
||||||
if source then
|
if source then
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
|
Loading…
Reference in New Issue