From 72471b7c3b8f527fe28b27e9aced349e2182168e Mon Sep 17 00:00:00 2001 From: Wuzzy Date: Sat, 3 Dec 2022 18:30:28 +0100 Subject: [PATCH 1/7] Set more fitting node sounds (#74) --- builder.lua | 3 ++- digicode.lua | 4 ++-- doors.lua | 4 ++++ models.lua | 31 ++++++++++++++++++------- nodeboxes.lua | 45 ++++++++++++++++++++++++------------ nodes.lua | 55 +++++++++++++++++++++++++++----------------- palm_scanner.lua | 6 ++--- plants.lua | 1 + protected_switch.lua | 4 ++-- sounds.lua | 39 +++++++++++++++++++++++-------- switch.lua | 4 ++-- 11 files changed, 133 insertions(+), 63 deletions(-) diff --git a/builder.lua b/builder.lua index 615c84c..cdb67da 100644 --- a/builder.lua +++ b/builder.lua @@ -105,5 +105,6 @@ minetest.register_node("scifi_nodes:builder", { end, paramtype = "light", paramtype2 = "facedir", - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + sounds = scifi_nodes.node_sound_metal_defaults(), }) diff --git a/digicode.lua b/digicode.lua index 0607389..98b5d34 100644 --- a/digicode.lua +++ b/digicode.lua @@ -129,7 +129,7 @@ minetest.register_node("scifi_nodes:digicode_on", { } }, on_timer = toggle_digicode, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:digicode_off", { @@ -152,7 +152,7 @@ minetest.register_node("scifi_nodes:digicode_off", { }, after_place_node = set_owner, on_rightclick = show_digicode_formspec, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_craft({ diff --git a/doors.lua b/doors.lua index ca667a2..d443c69 100644 --- a/doors.lua +++ b/doors.lua @@ -257,6 +257,7 @@ for _, current_door in ipairs(doors) do on_place = onplace, after_destruct = afterdestruct, on_rightclick = doors_rightclick, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node(closed_top, { @@ -285,6 +286,7 @@ for _, current_door in ipairs(doors) do } }, can_dig = nodig, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node(opened, { @@ -316,6 +318,7 @@ for _, current_door in ipairs(doors) do after_place_node = afterplace, after_destruct = afterdestruct, on_timer = ontimer, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node(opened_top, { @@ -344,5 +347,6 @@ for _, current_door in ipairs(doors) do } }, can_dig = nodig, + sounds = scifi_nodes.node_sound_metal_defaults(), }) end -- end of doors table browsing diff --git a/models.lua b/models.lua index 4f4fdf6..23e4b17 100644 --- a/models.lua +++ b/models.lua @@ -2,7 +2,13 @@ --Copyright (c) 2011-2015 Calinou and contributors. --Licensed under the zlib license. -function scifi_nodes.register_slope(name, desc, texture, light) +function scifi_nodes.register_slope(name, desc, texture, light, soundtype) +local sounds +if soundtype == "stone" then + sounds = scifi_nodes.node_sound_stone_defaults() +else + sounds = scifi_nodes.node_sound_metal_defaults() +end minetest.register_node("scifi_nodes:slope_"..name, { description = desc.." Slope", sunlight_propagates = false, @@ -32,14 +38,15 @@ minetest.register_node("scifi_nodes:slope_"..name, { use_texture_alpha = "clip", light_source = light, groups = {cracky=1, dig_generic = 3}, - on_place = minetest.rotate_node + on_place = minetest.rotate_node, + sounds = sounds, }) end -- register some blocks in stairsplus if available (part of moreblocks) -scifi_nodes.register_slope("white2", "Plastic", {"scifi_nodes_white2.png",}, 0) -scifi_nodes.register_slope("super_white", "Super Plastic", {"scifi_nodes_super_white.png",}, 11) -scifi_nodes.register_slope("ultra_white", "Super Plastic", {"scifi_nodes_ultra_white.png",}, minetest.LIGHT_MAX) +scifi_nodes.register_slope("white2", "Plastic", {"scifi_nodes_white2.png",}, 0, "stone") +scifi_nodes.register_slope("super_white", "Super Plastic", {"scifi_nodes_super_white.png",}, 11, "stone") +scifi_nodes.register_slope("ultra_white", "Super Plastic", {"scifi_nodes_ultra_white.png",}, minetest.LIGHT_MAX, "stone") scifi_nodes.register_slope("black", "Black", {"scifi_nodes_black.png",}, 0) scifi_nodes.register_slope("white", "White", {"scifi_nodes_white.png",}, 0) scifi_nodes.register_slope("grey", "Grey", {"scifi_nodes_grey.png",}, 0) @@ -73,7 +80,7 @@ node.types = { {"blue", "blue lines"}, {"holes", "metal with holes"}, {"white2", "plastic",}, - {"super_white", "Super Plastic", 11}, + {"super_white", "Super Plastic", 11, "stone"}, {"ultra_white", "Ultra Plastic", minetest.LIGHT_MAX}, -- {"engine", "engine", "engine"}, {"wall", "metal wall"}, @@ -149,8 +156,8 @@ node.types = { {"pplwll4", "Purple wall4"}, {"pplblk", "Purple tile"}, {"purple", "Purple node"}, - {"rock", "Moonstone"}, - {"rock2", "Moonstone2"}, + {"rock", "Moonstone", nil, "stone"}, + {"rock2", "Moonstone2", nil, "stone"}, {"blackvnt", "Black vent"}, {"blackplate", "Black plate"}, } @@ -158,6 +165,13 @@ node.types = { if minetest.global_exists("stairsplus") then for _, row in ipairs(node.types) do local name = row[1] + local soundtype = row[4] + local sounds + if soundtype == "stone" then + sounds = scifi_nodes.node_sound_stone_defaults() + else + sounds = scifi_nodes.node_sound_metal_defaults() + end -- Node Definition stairsplus:register_all("scifi_nodes", name, "scifi_nodes:"..name, { @@ -168,6 +182,7 @@ if minetest.global_exists("stairsplus") then paramtype = "light", paramtype2 = "facedir", light_source = row[3], + sounds = sounds, }) end end diff --git a/nodeboxes.lua b/nodeboxes.lua index a38b626..9d92bbf 100644 --- a/nodeboxes.lua +++ b/nodeboxes.lua @@ -122,8 +122,8 @@ minetest.register_node("scifi_nodes:egg", { {-0.125, 0.75, -0.125, 0.125, 0.8125, 0.125}, -- NodeBox8 {-0.375, -0.3125, -0.4375, 0.375, 0.3125, 0.4375}, -- NodeBox9 }, - sounds = scifi_nodes.node_sound_wood_defaults() - } + }, + sounds = scifi_nodes.node_sound_wood_defaults(), }) if minetest.get_modpath("scifi_mobs") then @@ -264,8 +264,8 @@ minetest.register_node("scifi_nodes:pad", { {-0.875, -0.5, -0.8125, 0.8125, -0.375, 0.8125}, -- NodeBox3 {-0.8125, -0.5, -0.75, 0.75, -0.3125, 0.75}, -- NodeBox4 }, - sounds = scifi_nodes.node_sound_wood_defaults() - } + }, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:pplwndw", { @@ -320,7 +320,8 @@ minetest.register_node("scifi_nodes:gloshroom", { {-0.1875, 0.125, -0.1875, 0.1875, 0.1875, 0.1875}, -- NodeBox5 {-0.375, -0.0625, -0.4375, 0.375, 0, 0.4375}, -- NodeBox6 } - } + }, + sounds = scifi_nodes.node_sound_plant_defaults(), }) minetest.register_node("scifi_nodes:pot_lid", { @@ -410,7 +411,9 @@ minetest.register_node("scifi_nodes:pot", { }, on_rightclick = toggle_lid, on_destruct = remove_lid, - sounds = scifi_nodes.node_sound_metal_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults({ + footstep = scifi_nodes.node_sound_dirt_defaults().footstep, + }), }) minetest.register_node("scifi_nodes:pot2", { @@ -442,7 +445,9 @@ minetest.register_node("scifi_nodes:pot2", { }, on_rightclick = toggle_lid, on_destruct = remove_lid, - sounds = scifi_nodes.node_sound_metal_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults({ + footstep = scifi_nodes.node_sound_dirt_defaults().footstep, + }), }) minetest.register_node("scifi_nodes:lightbar", { @@ -523,8 +528,8 @@ minetest.register_node("scifi_nodes:ladder", { {0.3125, -0.5, 0.0625, 0.4375, -0.375, 0.1875}, -- NodeBox25 {0.3125, -0.5, -0.1875, 0.4375, -0.375, -0.0625}, -- NodeBox26 }, - sounds = scifi_nodes.node_sound_metal_defaults() }, + sounds = scifi_nodes.node_sound_metal_defaults(), paramtype2 = "wallmounted", walkable = false, climbable = true, @@ -636,6 +641,7 @@ minetest.register_node("scifi_nodes:powered_stand", { return item end end, + sounds = scifi_nodes.node_sound_wood_defaults() }) minetest.register_node("scifi_nodes:cover", { @@ -658,7 +664,7 @@ minetest.register_node("scifi_nodes:cover", { {-0.3125, -0.375, -0.3125, 0.3125, -0.3125, 0.3125}, -- NodeBox6 } }, - sounds = scifi_nodes.node_sound_wood_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), groups = {cracky=1, oddly_breakable_by_hand=1} }) @@ -682,7 +688,8 @@ minetest.register_node("scifi_nodes:computer", { {-0.4375, -0.5, -0.5, 0.0625, 0.5, 0.5}, -- NodeBox1 } }, - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:keysmonitor", { @@ -708,7 +715,8 @@ minetest.register_node("scifi_nodes:keysmonitor", { {-0.5, -0.3125, 0.25, 0.5, 0.5, 0.375}, -- NodeBox4 } }, - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + sounds = scifi_nodes.node_sound_defaults(), }) minetest.register_node("scifi_nodes:microscope", { @@ -735,7 +743,8 @@ minetest.register_node("scifi_nodes:microscope", { {-0.125, -0.25, -0.125, 0.125, -0.1875, 0.1875}, -- NodeBox5 } }, - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + sounds = scifi_nodes.node_sound_defaults(), }) minetest.register_node("scifi_nodes:table", { @@ -792,6 +801,7 @@ minetest.register_node("scifi_nodes:laptop_open", { on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:laptop_closed", param2=node.param2}) end, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:laptop_closed", { @@ -818,6 +828,7 @@ minetest.register_node("scifi_nodes:laptop_closed", { on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:laptop_open", param2=node.param2}) end, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:pipen", { @@ -848,7 +859,8 @@ minetest.register_node("scifi_nodes:pipen", { } }, groups = {cracky=1, dig_generic = 3}, - on_place = minetest.rotate_node + on_place = minetest.rotate_node, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:windowcorner", { @@ -1115,6 +1127,7 @@ minetest.register_node("scifi_nodes:itemholder", { minetest.add_item(pos, meta:get_string("item")) end end, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:glassscreen", { @@ -1172,7 +1185,8 @@ minetest.register_node("scifi_nodes:widescreen", { {-0.5, 0.25, 0.375, 0.5, 0.3125, 0.5}, -- NodeBox7 } }, - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + sounds = scifi_nodes.node_sound_defaults(), }) minetest.register_node("scifi_nodes:tallscreen", { @@ -1202,7 +1216,8 @@ minetest.register_node("scifi_nodes:tallscreen", { {0.25, -0.5, 0.375, 0.3125, 0.5, 0.5}, -- NodeBox7 } }, - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + sounds = scifi_nodes.node_sound_defaults(), }) -- https://forum.minetest.net/viewtopic.php?f=10&t=13125&p=261481#p261481 diff --git a/nodes.lua b/nodes.lua index 371b542..2bfd111 100644 --- a/nodes.lua +++ b/nodes.lua @@ -8,7 +8,10 @@ if minetest.get_modpath("default") then {name = "default_dirt.png^(default_grass_side.png^[colorize:cyan:80)", tileable_vertical = false}}, light_source = 2, - groups = {crumbly=1, oddly_breakable_by_hand=1, soil=1} + groups = {crumbly=1, oddly_breakable_by_hand=1, soil=1}, + sounds = scifi_nodes.node_sound_dirt_defaults({ + footstep = scifi_nodes.node_sound_plant_defaults().footstep, + }), }) end @@ -25,7 +28,8 @@ minetest.register_node("scifi_nodes:light", { }, light_source = 10, paramtype = "light", - groups = {cracky=1, dig_generic = 3} + groups = {cracky=1, dig_generic = 3}, + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:rfloor", { @@ -168,7 +172,7 @@ minetest.register_node("scifi_nodes:discs", { }, paramtype = "light", groups = {cracky=1, dig_generic = 3}, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:disc", { @@ -181,7 +185,8 @@ minetest.register_node("scifi_nodes:disc", { inventory_image = "scifi_nodes_disc.png", wield_image = "scifi_nodes_disc.png", paramtype = "light", - groups = {cracky=1, dig_generic = 3} + groups = {cracky=1, dig_generic = 3}, + sounds = scifi_nodes.node_sound_defaults(), }) minetest.register_node("scifi_nodes:greenbar_animated", { @@ -224,7 +229,7 @@ minetest.register_node("scifi_nodes:black_lights", { }}, paramtype = "light", groups = {cracky=1, dig_generic = 3}, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:black_screen", { @@ -237,7 +242,7 @@ minetest.register_node("scifi_nodes:black_screen", { paramtype = "light", groups = {cracky=1, dig_generic = 3}, light_source = 1, - sounds = scifi_nodes.node_sound_stone_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:screen", { @@ -282,7 +287,7 @@ minetest.register_node("scifi_nodes:white_pad", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:white_base", { @@ -428,7 +433,7 @@ minetest.register_node("scifi_nodes:junk", { tiles = { "scifi_nodes_junk.png" }, - groups = {snappy=1, oddly_breakable_by_hand=1, liquid=3, dig_immediate=1} + groups = {snappy=1, oddly_breakable_by_hand=1, liquid=3, dig_immediate=1}, }) @@ -471,7 +476,7 @@ minetest.register_node("scifi_nodes:blklt2", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:blumetstr", { @@ -483,7 +488,7 @@ minetest.register_node("scifi_nodes:blumetstr", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:glass", { @@ -508,7 +513,7 @@ minetest.register_node("scifi_nodes:whtlightbnd", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) --edited wool code (Copyright (C) 2012 celeron55, Perttu Ahola ) @@ -519,15 +524,15 @@ minetest.register_node("scifi_nodes:whtlightbnd", { -- colors available. When crafting, the last recipes will be checked first. --add new block using texture name(without "scifi_nodes_" prefix) then the description, and then the name of the block local nodetypes = { - -- { name, description, shortname?, light, colorable } + -- { name, description, shortname?, light, colorable, sounds } {"blue", "blue lines", "blue"}, {"holes", "metal with holes","holes"}, - {"white2", "plastic", "white2", 0, true}, - {"super_white", "Super Plastic", "super_white", 11}, - {"ultra_white", "Ultra Plastic", "ultra_white", minetest.LIGHT_MAX}, + {"white2", "plastic", "white2", 0, true, "stone"}, + {"super_white", "Super Plastic", "super_white", 11, nil, "stone"}, + {"ultra_white", "Ultra Plastic", "ultra_white", minetest.LIGHT_MAX, nil, "stone"}, {"engine", "engine", "engine"}, {"wall", "metal wall", "wall"}, - {"white", "plastic wall", "white", 0, true}, + {"white", "plastic wall", "white", 0, true, "stone"}, {"stripes2top", "dirty metal block","metal2"}, {"rough", "rough metal", "rough"}, {"lighttop", "metal block", "metal"}, @@ -572,8 +577,8 @@ local nodetypes = { {"greybars", "grey bars", "grybrs"}, {"greydots", "grey wall dots", "grydts"}, {"greygreenbar", "gray power pipe", "grygrnbr", 10}, - {"octofloor", "Doom floor", "octofloor"}, - {"octofloor2", "Brown Doom floor", "octofloor2"}, + {"octofloor", "Doom floor", "octofloor", nil, nil, "stone"}, + {"octofloor2", "Brown Doom floor", "octofloor2", nil, nil, "stone"}, {"doomwall1", "Doom wall 1", "doomwall1"}, {"doomwall2", "Doom wall 2", "doomwall2"}, {"doomwall3", "Doom wall 3", "doomwall3"}, @@ -599,8 +604,8 @@ local nodetypes = { {"pplwll4", "Purple wall4", "", 0}, {"pplblk", "Purple tile", "", 0}, {"purple", "Purple node", "", 0}, - {"rock", "Moonstone", "", 0}, - {"rock2", "Moonstone2", "", 0}, + {"rock", "Moonstone", "", 0, nil, "stone"}, + {"rock2", "Moonstone2", "", 0, nil, "stone"}, {"blackvnt", "Black vent", "", 0}, {"blackplate", "Black plate", "", 0}, } @@ -612,6 +617,14 @@ for _, row in ipairs(nodetypes) do local desc = row[2] local light = row[4] local is_colorable = row[5] + local soundtype = row[6] + + local sounds + if soundtype == "stone" then + sounds = scifi_nodes.node_sound_stone_defaults() + else + sounds = scifi_nodes.node_sound_metal_defaults() + end -- Node Definition local node_def = { @@ -621,7 +634,7 @@ for _, row in ipairs(nodetypes) do paramtype = "light", paramtype2 = "facedir", light_source = light, - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = sounds, } if is_colorable and has_unifieddyes_mod then diff --git a/palm_scanner.lua b/palm_scanner.lua index e35ad87..61cfd1d 100644 --- a/palm_scanner.lua +++ b/palm_scanner.lua @@ -65,7 +65,7 @@ minetest.register_node("scifi_nodes:palm_scanner_off", { } }, on_rightclick = (has_mesecons and activate_palm_scanner), - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_node("scifi_nodes:palm_scanner_checking", { @@ -83,7 +83,7 @@ minetest.register_node("scifi_nodes:palm_scanner_checking", { paramtype2 = "wallmounted", groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, drop = "scifi_nodes:palm_scanner_off", - sounds = scifi_nodes.node_sound_glass_defaults() + sounds = scifi_nodes.node_sound_metal_defaults() }) minetest.register_node("scifi_nodes:palm_scanner_on", { @@ -106,7 +106,7 @@ minetest.register_node("scifi_nodes:palm_scanner_on", { state = (has_mesecons and mesecon.state.on) } }, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), }) minetest.register_craft({ diff --git a/plants.lua b/plants.lua index f2979cd..85b8f50 100644 --- a/plants.lua +++ b/plants.lua @@ -43,5 +43,6 @@ for _, row in ipairs(plants) do }, is_ground_content = false, light_source = light, + sounds = scifi_nodes.node_sound_plant_defaults(), }) end diff --git a/protected_switch.lua b/protected_switch.lua index 462852e..cc65b04 100644 --- a/protected_switch.lua +++ b/protected_switch.lua @@ -51,7 +51,7 @@ minetest.register_node("scifi_nodes:protected_switch_on", { state = (has_mesecons and mesecon.state.on) } }, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), on_rightclick = (has_mesecons and toggle_switch), on_timer = (has_mesecons and toggle_switch) }) @@ -78,7 +78,7 @@ minetest.register_node("scifi_nodes:protected_switch_off", { state = (has_mesecons and mesecon.state.off) } }, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), on_rightclick = (has_mesecons and toggle_switch) }) diff --git a/sounds.lua b/sounds.lua index 897e3d9..90eb198 100644 --- a/sounds.lua +++ b/sounds.lua @@ -1,29 +1,50 @@ -- sound definitions -function scifi_nodes.node_sound_wood_defaults() +function scifi_nodes.node_sound_defaults(param) if minetest.get_modpath("default") then -- default game - return default.node_sound_wood_defaults() + return default.node_sound_defaults(param) end end -function scifi_nodes.node_sound_glass_defaults() +function scifi_nodes.node_sound_wood_defaults(param) if minetest.get_modpath("default") then -- default game - return default.node_sound_glass_defaults() + return default.node_sound_wood_defaults(param) end end -function scifi_nodes.node_sound_metal_defaults() +function scifi_nodes.node_sound_glass_defaults(param) if minetest.get_modpath("default") then -- default game - return default.node_sound_metal_defaults() + return default.node_sound_glass_defaults(param) end end -function scifi_nodes.node_sound_stone_defaults() +function scifi_nodes.node_sound_metal_defaults(param) if minetest.get_modpath("default") then -- default game - return default.node_sound_stone_defaults() + return default.node_sound_metal_defaults(param) end -end \ No newline at end of file +end + +function scifi_nodes.node_sound_stone_defaults(param) + if minetest.get_modpath("default") then + -- default game + return default.node_sound_stone_defaults(param) + end +end + +function scifi_nodes.node_sound_dirt_defaults(param) + if minetest.get_modpath("default") then + -- default game + return default.node_sound_dirt_defaults(param) + end +end + +function scifi_nodes.node_sound_plant_defaults(param) + if minetest.get_modpath("default") then + -- default game + return default.node_sound_leaves_defaults(param) + end +end diff --git a/switch.lua b/switch.lua index 8a965d4..6c77f66 100644 --- a/switch.lua +++ b/switch.lua @@ -44,7 +44,7 @@ minetest.register_node("scifi_nodes:switch_on", { state = (has_mesecons and mesecon.state.on) } }, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), on_rightclick = (has_mesecons and toggle_switch), on_timer = (has_mesecons and toggle_switch) }) @@ -71,7 +71,7 @@ minetest.register_node("scifi_nodes:switch_off", { state = (has_mesecons and mesecon.state.off) } }, - sounds = scifi_nodes.node_sound_glass_defaults(), + sounds = scifi_nodes.node_sound_metal_defaults(), on_rightclick = (has_mesecons and toggle_switch) }) From ab81d74f3379aeba0f7e258bf9f163e101a7c8a0 Mon Sep 17 00:00:00 2001 From: BuckarooBanzay Date: Sat, 3 Dec 2022 18:34:23 +0100 Subject: [PATCH 2/7] increase line length for luacheck --- .luacheckrc | 1 + 1 file changed, 1 insertion(+) diff --git a/.luacheckrc b/.luacheckrc index 9f4ab49..f392828 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -1,4 +1,5 @@ unused_args = false +max_line_length = 180 globals = { "scifi_nodes" From 10d818b2e1bc61c70c0ae6fb1a3aced69016ef45 Mon Sep 17 00:00:00 2001 From: Buckaroo Banzai <39065740+BuckarooBanzay@users.noreply.github.com> Date: Wed, 7 Dec 2022 08:08:55 +0100 Subject: [PATCH 3/7] add forcefield node (#75) Co-authored-by: BuckarooBanzay --- README.md | 1 + forcefield.lua | 20 ++++++++++++++++++++ init.lua | 1 + textures/scifi_nodes_forcefield.png | Bin 0 -> 2000 bytes 4 files changed, 22 insertions(+) create mode 100644 forcefield.lua create mode 100644 textures/scifi_nodes_forcefield.png diff --git a/README.md b/README.md index a125e97..c44279e 100644 --- a/README.md +++ b/README.md @@ -38,6 +38,7 @@ CC BY 3.0 * scifi_nodes_palm_scanner.ogg https://freesound.org/people/THE_bizniss/sounds/39313/ * scifi_nodes_access_granted https://freesound.org/people/TheBuilder15/sounds/415762/ * scifi_nodes_access_refused https://freesound.org/people/RICHERlandTV/sounds/216090/ +* scifi_nodes_forcefield.png https://github.com/minetest-mods/technic/ CC0 * scifi_nodes_digicode.ogg https://freesound.org/people/benjaminharveydesign/sounds/315921/ diff --git a/forcefield.lua b/forcefield.lua new file mode 100644 index 0000000..7071fce --- /dev/null +++ b/forcefield.lua @@ -0,0 +1,20 @@ +minetest.register_node("scifi_nodes:forcefield", { + description = "Forcefield", + sunlight_propagates = true, + drawtype = "glasslike", + groups = {}, + paramtype = "light", + light_source = minetest.LIGHT_MAX, + diggable = false, + drop = '', + tiles = {{ + name = "scifi_nodes_forcefield.png", + animation = { + type = "vertical_frames", + aspect_w = 16, + aspect_h = 16, + length = 1.0, + } + }}, + on_blast = function() end, +}) \ No newline at end of file diff --git a/init.lua b/init.lua index 25314e4..2d19d68 100644 --- a/init.lua +++ b/init.lua @@ -30,4 +30,5 @@ dofile(MP.."/palm_scanner.lua") dofile(MP.."/digicode.lua") dofile(MP.."/models.lua") dofile(MP.."/octagon_panes.lua") +dofile(MP.."/forcefield.lua") dofile(MP.."/crafts.lua") diff --git a/textures/scifi_nodes_forcefield.png b/textures/scifi_nodes_forcefield.png new file mode 100644 index 0000000000000000000000000000000000000000..26997a60c19b81057a6244314b87529183e5c16f GIT binary patch literal 2000 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 Date: Mon, 12 Dec 2022 10:36:02 +0100 Subject: [PATCH 4/7] register some nodes to the `letters` mod (#76) Co-authored-by: BuckarooBanzay --- .luacheckrc | 4 ++-- init.lua | 5 +++++ letters.lua | 5 +++++ mod.conf | 3 ++- 4 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 letters.lua diff --git a/.luacheckrc b/.luacheckrc index f392828..ce9f8ea 100644 --- a/.luacheckrc +++ b/.luacheckrc @@ -21,6 +21,6 @@ read_globals = { "screwdriver", "minetest", "mesecon", - "unifieddyes" - + "unifieddyes", + "letters" } diff --git a/init.lua b/init.lua index 2d19d68..6e9cb4b 100644 --- a/init.lua +++ b/init.lua @@ -32,3 +32,8 @@ dofile(MP.."/models.lua") dofile(MP.."/octagon_panes.lua") dofile(MP.."/forcefield.lua") dofile(MP.."/crafts.lua") + +if minetest.get_modpath("letters") then + -- register letter nodes + dofile(MP.."/letters.lua") +end \ No newline at end of file diff --git a/letters.lua b/letters.lua new file mode 100644 index 0000000..5314434 --- /dev/null +++ b/letters.lua @@ -0,0 +1,5 @@ +letters.register_letters("scifi_nodes", "black", "scifi_nodes:black", "Black wall", "scifi_nodes_black.png") +letters.register_letters("scifi_nodes", "white2", "scifi_nodes:white2", "Plastic", "scifi_nodes_white2.png") +letters.register_letters("scifi_nodes", "purple", "scifi_nodes:purple", "Purple node", "scifi_nodes_purple.png") +letters.register_letters("scifi_nodes", "bluemetal", "scifi_nodes:bluemetal", "Blue metal", "scifi_nodes_bluemetal.png") +letters.register_letters("scifi_nodes", "greenmetal", "scifi_nodes:greenmetal", "Green metal", "scifi_nodes_greenmetal.png") diff --git a/mod.conf b/mod.conf index e2bd59f..6ace87b 100644 --- a/mod.conf +++ b/mod.conf @@ -11,5 +11,6 @@ mesecons_torch, mesecons_receiver, basic_materials, dye, -unifieddyes +unifieddyes, +letters """ From f94b900fbe874d94d81054b6cfb81b74bb5c9d0a Mon Sep 17 00:00:00 2001 From: Buckaroo Banzai <39065740+BuckarooBanzay@users.noreply.github.com> Date: Mon, 12 Dec 2022 10:36:09 +0100 Subject: [PATCH 5/7] add `facedir` param2type to lightbars and liquidpipes (#77) Co-authored-by: BuckarooBanzay --- nodeboxes.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nodeboxes.lua b/nodeboxes.lua index 9d92bbf..d5f5310 100644 --- a/nodeboxes.lua +++ b/nodeboxes.lua @@ -543,6 +543,7 @@ minetest.register_node("scifi_nodes:lightbars", { }, drawtype = "nodebox", paramtype = "light", + paramtype2 = "facedir", use_texture_alpha = "blend", light_source = minetest.LIGHT_MAX, node_box = { @@ -569,6 +570,7 @@ tiles = {{ drawtype = "nodebox", sunlight_propagates = true, paramtype = "light", + paramtype2 = "facedir", node_box = { type = "fixed", fixed = { @@ -589,6 +591,7 @@ tiles = { drawtype = "nodebox", sunlight_propagates = true, paramtype = "light", + paramtype2 = "facedir", node_box = { type = "fixed", fixed = { From c5c587d01a5036ded6f07434b4e0f66a49158a27 Mon Sep 17 00:00:00 2001 From: BuckarooBanzay Date: Tue, 13 Dec 2022 20:01:23 +0100 Subject: [PATCH 6/7] use `colorwallmounted` with a single letter registration (has 32 colors) --- letters.lua | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/letters.lua b/letters.lua index 5314434..2f15fcd 100644 --- a/letters.lua +++ b/letters.lua @@ -1,5 +1,11 @@ -letters.register_letters("scifi_nodes", "black", "scifi_nodes:black", "Black wall", "scifi_nodes_black.png") -letters.register_letters("scifi_nodes", "white2", "scifi_nodes:white2", "Plastic", "scifi_nodes_white2.png") -letters.register_letters("scifi_nodes", "purple", "scifi_nodes:purple", "Purple node", "scifi_nodes_purple.png") -letters.register_letters("scifi_nodes", "bluemetal", "scifi_nodes:bluemetal", "Blue metal", "scifi_nodes_bluemetal.png") -letters.register_letters("scifi_nodes", "greenmetal", "scifi_nodes:greenmetal", "Green metal", "scifi_nodes_greenmetal.png") +letters.register_letters("scifi_nodes", "white2", "scifi_nodes:white2", "Plastic", "scifi_nodes_white2.png", { + paramtype2 = "colorwallmounted", + palette = "unifieddyes_palette_colorwallmounted.png", + groups = { + ud_param2_colorable = 1, + not_in_creative_inventory = 1, + not_in_craft_guide = 1, + oddly_breakable_by_hand = 1, + attached_node = 1 + } +}) From 89f825d4e63ba28c34f0c39da0d1b6a854bff492 Mon Sep 17 00:00:00 2001 From: BuckarooBanzay Date: Fri, 17 Feb 2023 08:54:52 +0100 Subject: [PATCH 7/7] fix deprecated `minetest.env` calls --- nodeboxes.lua | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/nodeboxes.lua b/nodeboxes.lua index d5f5310..814904a 100644 --- a/nodeboxes.lua +++ b/nodeboxes.lua @@ -131,8 +131,8 @@ minetest.register_abm({ nodenames = {"scifi_nodes:egg"}, interval = 30, chance = 10, action = function(pos, node, _, _) - minetest.env:add_entity(pos, "scifi_mobs:xenomorph") - minetest.env:remove_node(pos) + minetest.add_entity(pos, "scifi_mobs:xenomorph") + minetest.remove_node(pos) end }) end @@ -189,12 +189,12 @@ minetest.register_node("scifi_nodes:pad", { if minetest.get_node({x=ppos.x, y=ppos.y, z=ppos.z}).name == "scifi_nodes:pad" then clicker:setpos(position2) end - local objs = minetest.env:get_objects_inside_radius(pos, 3) + local objs = minetest.get_objects_inside_radius(pos, 3) for _, obj in pairs(objs) do if obj:get_luaentity() and not obj:is_player() then if obj:get_luaentity().name == "__builtin:item" then local item1 = obj:get_luaentity().itemstring - local obj2 = minetest.env:add_entity(position2, "__builtin:item") + local obj2 = minetest.add_entity(position2, "__builtin:item") obj2:get_luaentity():set_item(item1) obj:remove() end @@ -223,12 +223,12 @@ minetest.register_node("scifi_nodes:pad", { if minetest.get_node({x=ppos.x, y=ppos.y, z=ppos.z}).name == "scifi_nodes:pad" then clicker:setpos(position1) end - local objs = minetest.env:get_objects_inside_radius(pos, 3) + local objs = minetest.get_objects_inside_radius(pos, 3) for _, obj in pairs(objs) do if obj:get_luaentity() and not obj:is_player() then if obj:get_luaentity().name == "__builtin:item" then local item1 = obj:get_luaentity().itemstring - local obj2 = minetest.env:add_entity(position1, "__builtin:item") + local obj2 = minetest.add_entity(position1, "__builtin:item") obj2:get_luaentity():set_item(item1) obj:remove() end