From 49703e73861907d57d4f788297c460cb4e3e785c Mon Sep 17 00:00:00 2001 From: Luke aka SwissalpS Date: Fri, 1 Mar 2024 07:00:13 +0100 Subject: [PATCH] is ground content revision (#81) also cleaned up some of the whitespace indentation and one occurance where ';' was being used instead of ',' --- builder.lua | 31 +++---- digicode.lua | 4 +- doors.lua | 6 +- forcefield.lua | 3 +- models.lua | 37 ++++---- nodeboxes.lua | 208 +++++++++++++++++++++++++------------------ nodes.lua | 39 +++++++- palm_scanner.lua | 3 + protected_switch.lua | 2 + switch.lua | 2 + 10 files changed, 213 insertions(+), 122 deletions(-) diff --git a/builder.lua b/builder.lua index cdb67da..4a031f1 100644 --- a/builder.lua +++ b/builder.lua @@ -86,25 +86,26 @@ minetest.register_node("scifi_nodes:builder", { on_metadata_inventory_take = function(pos, listname, index, stack, player) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() - local istack = inv:get_stack("input", 1) - local stack_name = istack:get_name() - inv:remove_item("input", stack_name.." 1") + local istack = inv:get_stack("input", 1) + local stack_name = istack:get_name() + inv:remove_item("input", stack_name.." 1") - inv:set_stack("output", 1, "") - inv:set_stack("output", 2, "") - inv:set_stack("output", 3, "") - inv:set_stack("output", 4, "") - inv:set_stack("output", 5, "") - inv:set_stack("output", 6, "") - inv:set_stack("output", 7, "") - inv:set_stack("output", 8, "") - inv:set_stack("output", 9, "") - inv:set_stack("output", 10, "") - inv:set_stack("output", 11, "") - inv:set_stack("output", 12, "") + inv:set_stack("output", 1, "") + inv:set_stack("output", 2, "") + inv:set_stack("output", 3, "") + inv:set_stack("output", 4, "") + inv:set_stack("output", 5, "") + inv:set_stack("output", 6, "") + inv:set_stack("output", 7, "") + inv:set_stack("output", 8, "") + inv:set_stack("output", 9, "") + inv:set_stack("output", 10, "") + inv:set_stack("output", 11, "") + inv:set_stack("output", 12, "") end, paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults(), }) diff --git a/digicode.lua b/digicode.lua index 98b5d34..1a5fdcf 100644 --- a/digicode.lua +++ b/digicode.lua @@ -102,7 +102,7 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end -- play sound at context position minetest.sound_play(sounds[sound_index], { - pos = context.pos, + pos = context.pos, max_hear_distance = 10 }) context[player:get_player_name()] = nil -- we don't need it anymore @@ -122,6 +122,7 @@ minetest.register_node("scifi_nodes:digicode_on", { paramtype2 = "wallmounted", light_source = 5, groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, + is_ground_content = false, drop = "scifi_nodes:digicode_off", mesecons = { receptor = { @@ -145,6 +146,7 @@ minetest.register_node("scifi_nodes:digicode_off", { paramtype = "light", paramtype2 = "wallmounted", groups = {cracky=1, oddly_breakable_by_hand=1, mesecon_needs_receiver = 1}, + is_ground_content = false, mesecons = { receptor = { state = (has_mesecons and mesecon.state.off) diff --git a/doors.lua b/doors.lua index b44fc96..35ba558 100644 --- a/doors.lua +++ b/doors.lua @@ -246,6 +246,7 @@ for _, current_door in ipairs(doors) do scifi_nodes_door = 1, door = 1 }, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -279,6 +280,7 @@ for _, current_door in ipairs(doors) do paramtype = "light", paramtype2 = "facedir", groups = {cracky = 1, dig_generic = 3, door = 1}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -309,6 +311,7 @@ for _, current_door in ipairs(doors) do paramtype2 = "facedir", drop = closed, groups = {cracky = 1, dig_generic = 3, door = 2}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -340,6 +343,7 @@ for _, current_door in ipairs(doors) do paramtype = "light", paramtype2 = "facedir", groups = {cracky = 1, dig_generic = 3, door = 2}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -379,4 +383,4 @@ function scifi_nodes.open_door(pos) -- call open function def._open(pos, node) return true -end \ No newline at end of file +end diff --git a/forcefield.lua b/forcefield.lua index 939aabb..53bf9a5 100644 --- a/forcefield.lua +++ b/forcefield.lua @@ -6,6 +6,7 @@ minetest.register_node("scifi_nodes:forcefield", { cracky = 1, level = 3 }, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), paramtype = "light", light_source = minetest.LIGHT_MAX, @@ -18,4 +19,4 @@ minetest.register_node("scifi_nodes:forcefield", { length = 1.0, } }} -}) \ No newline at end of file +}) diff --git a/models.lua b/models.lua index 5704faa..dc54c82 100644 --- a/models.lua +++ b/models.lua @@ -16,29 +16,30 @@ function scifi_nodes.register_slope(name, desc, texture, light, soundtype) drawtype = "mesh", mesh = "scifi_nodes_slope.obj", tiles = texture, - selection_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} - } - }, - collision_box = { - type = "fixed", - fixed = { - {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, - {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, - {-0.5, 0, 0, 0.5, 0.25, 0.5}, - {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} - } - }, + selection_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } + }, + collision_box = { + type = "fixed", + fixed = { + {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, + {-0.5, -0.25, -0.25, 0.5, 0, 0.5}, + {-0.5, 0, 0, 0.5, 0.25, 0.5}, + {-0.5, 0.25, 0.25, 0.5, 0.5, 0.5} + } + }, paramtype = "light", paramtype2 = "facedir", use_texture_alpha = "clip", light_source = light, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = sounds, }) diff --git a/nodeboxes.lua b/nodeboxes.lua index caddcbb..6253af3 100644 --- a/nodeboxes.lua +++ b/nodeboxes.lua @@ -19,6 +19,7 @@ minetest.register_node("scifi_nodes:alienslope", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -50,6 +51,7 @@ minetest.register_node("scifi_nodes:wallpipe", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -82,6 +84,7 @@ minetest.register_node("scifi_nodes:plant_trap", { walkable = false, sunlight_propagates = false, groups = {snappy=1, oddly_breakable_by_hand=1}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -108,6 +111,7 @@ minetest.register_node("scifi_nodes:egg", { drawtype = "nodebox", paramtype = "light", groups = {cracky=1, oddly_breakable_by_hand=1, dig_immediate=2, falling_node=1, dig_generic = 3}, + is_ground_content = false, light_source = 5, node_box = { type = "fixed", @@ -127,14 +131,14 @@ minetest.register_node("scifi_nodes:egg", { }) if minetest.get_modpath("scifi_mobs") then -minetest.register_abm({ - nodenames = {"scifi_nodes:egg"}, - interval = 30, chance = 10, - action = function(pos, node, _, _) - minetest.add_entity(pos, "scifi_mobs:xenomorph") - minetest.remove_node(pos) - end -}) + minetest.register_abm({ + nodenames = {"scifi_nodes:egg"}, + interval = 30, chance = 10, + action = function(pos, node, _, _) + minetest.add_entity(pos, "scifi_mobs:xenomorph") + minetest.remove_node(pos) + end + }) end minetest.register_node("scifi_nodes:pad", { @@ -150,6 +154,7 @@ minetest.register_node("scifi_nodes:pad", { drawtype = "nodebox", paramtype = "light", groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, light_source = 5, after_place_node = function(pos, placer, itemstack, pointed_thing) local placer_name = placer:get_player_name() @@ -168,92 +173,93 @@ minetest.register_node("scifi_nodes:pad", { local clicker_name = clicker:get_player_name() local meta = minetest.get_meta(pos) if meta:get_int("type") == 1 and position2 ~= nil and position1 ~= nil then - minetest.add_particlespawner( - 25, --amount - 1.5, --time - {x=pos.x-0.9, y=pos.y-0.3, z=pos.z-0.9}, --minpos - {x=pos.x+0.9, y=pos.y-0.3, z=pos.z+0.9}, --maxpos - {x=0, y=0, z=0}, --minvel - {x=0, y=0, z=0}, --maxvel - {x=-0,y=1,z=-0}, --minacc - {x=0,y=2,z=0}, --maxacc - 0.5, --minexptime - 1, --maxexptime - 2, --minsize - 5, --maxsize - false, --collisiondetection - "scifi_nodes_tp_part.png" --texture - ) - minetest.after(1, function() - local ppos = clicker:getpos() - 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.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.add_entity(position2, "__builtin:item") - obj2:get_luaentity():set_item(item1) - obj:remove() + minetest.add_particlespawner( + 25, --amount + 1.5, --time + {x=pos.x-0.9, y=pos.y-0.3, z=pos.z-0.9}, --minpos + {x=pos.x+0.9, y=pos.y-0.3, z=pos.z+0.9}, --maxpos + {x=0, y=0, z=0}, --minvel + {x=0, y=0, z=0}, --maxvel + {x=-0,y=1,z=-0}, --minacc + {x=0,y=2,z=0}, --maxacc + 0.5, --minexptime + 1, --maxexptime + 2, --minsize + 5, --maxsize + false, --collisiondetection + "scifi_nodes_tp_part.png" --texture + ) + minetest.after(1, function() + local ppos = clicker:getpos() + 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.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.add_entity(position2, "__builtin:item") + obj2:get_luaentity():set_item(item1) + obj:remove() + end + end end - end - end) + end) elseif meta:get_int("type") == 2 and position1 ~= nil and position2 ~= nil then - minetest.add_particlespawner( - 25, --amount - 1.5, --time - {x=pos.x-0.9, y=pos.y-0.3, z=pos.z-0.9}, --minpos - {x=pos.x+0.9, y=pos.y-0.3, z=pos.z+0.9}, --maxpos - {x=0, y=0, z=0}, --minvel - {x=0, y=0, z=0}, --maxvel - {x=-0,y=1,z=-0}, --minacc - {x=0,y=2,z=0}, --maxacc - 0.5, --minexptime - 1, --maxexptime - 2, --minsize - 5, --maxsize - false, --collisiondetection - "scifi_nodes_tp_part.png" --texture - ) - minetest.after(1, function() - local ppos = clicker:getpos() - 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.get_objects_inside_radius(pos, 3) + minetest.add_particlespawner( + 25, --amount + 1.5, --time + {x=pos.x-0.9, y=pos.y-0.3, z=pos.z-0.9}, --minpos + {x=pos.x+0.9, y=pos.y-0.3, z=pos.z+0.9}, --maxpos + {x=0, y=0, z=0}, --minvel + {x=0, y=0, z=0}, --maxvel + {x=-0,y=1,z=-0}, --minacc + {x=0,y=2,z=0}, --maxacc + 0.5, --minexptime + 1, --maxexptime + 2, --minsize + 5, --maxsize + false, --collisiondetection + "scifi_nodes_tp_part.png" --texture + ) + minetest.after(1, function() + local ppos = clicker:getpos() + 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.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.add_entity(position1, "__builtin:item") - obj2:get_luaentity():set_item(item1) - obj:remove() + 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.add_entity(position1, "__builtin:item") + obj2:get_luaentity():set_item(item1) + obj:remove() + end + end end - end - end - end) + end) elseif position1 == nil and meta:get_int("type") ~= 2 then - position1 = pos - meta:set_int("type", 1) - minetest.chat_send_player(clicker_name, "Teleporter 1 connected at "..minetest.pos_to_string(pos)) + position1 = pos + meta:set_int("type", 1) + minetest.chat_send_player(clicker_name, "Teleporter 1 connected at "..minetest.pos_to_string(pos)) elseif position2 == nil and meta:get_int("type") ~= 1 then - position2 = pos - meta:set_int("type", 2) - minetest.chat_send_player(clicker_name, "Teleporter 2 connected at "..minetest.pos_to_string(pos)) - else minetest.chat_send_player(clicker_name, "Teleporter error!") + position2 = pos + meta:set_int("type", 2) + minetest.chat_send_player(clicker_name, "Teleporter 2 connected at "..minetest.pos_to_string(pos)) + else + minetest.chat_send_player(clicker_name, "Teleporter error!") end end, on_destruct = function(pos, oldnode, placer) local meta = minetest.get_meta(pos) if meta:get_int("type") == 1 then - position1 = nil - meta:set_int("type", 0) + position1 = nil + meta:set_int("type", 0) elseif meta:get_int("type") == 2 then - position2 = nil - meta:set_int("type", 0) + position2 = nil + meta:set_int("type", 0) end end, node_box = { @@ -284,6 +290,7 @@ minetest.register_node("scifi_nodes:pplwndw", { use_texture_alpha = "blend", groups = {cracky=3, dig_generic = 4}, sounds = scifi_nodes.node_sound_glass_defaults(), + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -310,6 +317,7 @@ minetest.register_node("scifi_nodes:gloshroom", { sunlight_propagates = false, use_texture_alpha = "blend", groups = {fleshy=1, oddly_breakable_by_hand=1, dig_immediate=3}, + is_ground_content = false, node_box = { type = "fixed", fixed = { @@ -335,6 +343,7 @@ minetest.register_node("scifi_nodes:pot_lid", { drawtype = "nodebox", paramtype = "light", groups = {not_in_creative_inventory = 1}, + is_ground_content = false, sunlight_propagates = true, diggable = false, drop = "", @@ -392,6 +401,7 @@ minetest.register_node("scifi_nodes:pot", { drawtype = "nodebox", paramtype = "light", groups = {cracky = 1, soil = 1, sand = 1, dig_generic = 3}, + is_ground_content = false, selection_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} @@ -426,6 +436,7 @@ minetest.register_node("scifi_nodes:pot2", { drawtype = "nodebox", paramtype = "light", groups = {cracky = 1, soil = 3, wet = 1, dig_generic = 3}, + is_ground_content = false, selection_box = { type = "fixed", fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} @@ -470,6 +481,7 @@ minetest.register_node("scifi_nodes:lightbar", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -495,6 +507,7 @@ minetest.register_node("scifi_nodes:light_dynamic", { paramtype2 = "wallmounted", light_source = minetest.LIGHT_MAX, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -531,6 +544,7 @@ minetest.register_node("scifi_nodes:ladder", { walkable = false, climbable = true, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, }) minetest.register_node("scifi_nodes:lightbars", { @@ -553,12 +567,13 @@ minetest.register_node("scifi_nodes:lightbars", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) minetest.register_node("scifi_nodes:liquid_pipe", { description = "Liquid pipe", -tiles = {{ + tiles = {{ name = "scifi_nodes_liquid.png", animation = {type = "vertical_frames", aspect_w = 16, aspect_h = 16, length = 1.00}, }}, @@ -575,12 +590,13 @@ tiles = {{ } }, groups = {cracky=1, oddly_breakable_by_hand=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) minetest.register_node("scifi_nodes:liquid_pipe2", { description = "Liquid pipe 2", -tiles = { + tiles = { "scifi_nodes_orange.png", }, use_texture_alpha = "blend", @@ -596,6 +612,7 @@ tiles = { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -626,6 +643,7 @@ minetest.register_node("scifi_nodes:powered_stand", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, on_rightclick = function(pos, node, clicker, item, _) local wield_item_stack = clicker:get_wielded_item() local wield_item = wield_item_stack:get_name() @@ -667,7 +685,8 @@ minetest.register_node("scifi_nodes:cover", { } }, sounds = scifi_nodes.node_sound_metal_defaults(), - groups = {cracky=1, oddly_breakable_by_hand=1} + groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, }) minetest.register_node("scifi_nodes:computer", { @@ -691,6 +710,7 @@ minetest.register_node("scifi_nodes:computer", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults(), }) @@ -718,6 +738,7 @@ minetest.register_node("scifi_nodes:keysmonitor", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_defaults(), }) @@ -746,6 +767,7 @@ minetest.register_node("scifi_nodes:microscope", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_defaults(), }) @@ -775,7 +797,8 @@ minetest.register_node("scifi_nodes:table", { } }, sounds = scifi_nodes.node_sound_metal_defaults(), - groups = {cracky=1, dig_generic = 3} + groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, }) minetest.register_node("scifi_nodes:laptop_open", { @@ -800,6 +823,7 @@ minetest.register_node("scifi_nodes:laptop_open", { } }, groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, + is_ground_content = false, on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:laptop_closed", param2=node.param2}) end, @@ -827,6 +851,7 @@ minetest.register_node("scifi_nodes:laptop_closed", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:laptop_open", param2=node.param2}) end, @@ -861,6 +886,7 @@ minetest.register_node("scifi_nodes:pipen", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = scifi_nodes.node_sound_metal_defaults(), }) @@ -892,6 +918,7 @@ minetest.register_node("scifi_nodes:windowcorner", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -919,6 +946,7 @@ minetest.register_node("scifi_nodes:windowstraight", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -950,6 +978,7 @@ minetest.register_node("scifi_nodes:windowcorner2", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -977,6 +1006,7 @@ minetest.register_node("scifi_nodes:windowstraight2", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -1007,6 +1037,7 @@ minetest.register_node("scifi_nodes:capsule", { } }, groups = {cracky=1, oddly_breakable_by_hand=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:capsule2", param2=node.param2}) @@ -1037,6 +1068,7 @@ minetest.register_node("scifi_nodes:capsule3", { } }, groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:capsule", param2=node.param2}) @@ -1067,6 +1099,7 @@ minetest.register_node("scifi_nodes:capsule2", { } }, groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), on_rightclick = function(pos, node, clicker, item, _) minetest.set_node(pos, {name="scifi_nodes:capsule3", param2=node.param2}) @@ -1097,6 +1130,7 @@ minetest.register_node("scifi_nodes:itemholder", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_rotate = minetest.get_modpath("screwdriver") and screwdriver.disallow, after_place_node = function(pos, placer, itemstack) local meta = minetest.get_meta(pos) @@ -1156,6 +1190,7 @@ minetest.register_node("scifi_nodes:glassscreen", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -1188,6 +1223,7 @@ minetest.register_node("scifi_nodes:widescreen", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_defaults(), }) @@ -1219,6 +1255,7 @@ minetest.register_node("scifi_nodes:tallscreen", { } }, groups = {cracky=1, oddly_breakable_by_hand=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_defaults(), }) @@ -1240,6 +1277,7 @@ minetest.register_node("scifi_nodes:windowpanel", { } }, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, on_place = minetest.rotate_node, sounds = scifi_nodes.node_sound_glass_defaults(), }) diff --git a/nodes.lua b/nodes.lua index 61962f5..128c3d3 100644 --- a/nodes.lua +++ b/nodes.lua @@ -11,6 +11,7 @@ minetest.register_node("scifi_nodes:grassblk", { tileable_vertical = false}}, light_source = 2, groups = {crumbly=1, oddly_breakable_by_hand=1, soil=1}, + is_ground_content = false, sounds = scifi_nodes.node_sound_dirt_defaults({ footstep = scifi_nodes.node_sound_plant_defaults().footstep, }) @@ -30,6 +31,7 @@ minetest.register_node("scifi_nodes:light", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults(), }) @@ -42,6 +44,7 @@ minetest.register_node("scifi_nodes:rfloor", { paramtype2 = "facedir", light_source = 10, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -54,6 +57,7 @@ minetest.register_node("scifi_nodes:bfloor", { paramtype2 = "facedir", light_source = 10, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -71,6 +75,7 @@ minetest.register_node("scifi_nodes:stripes2", { }, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -86,7 +91,8 @@ minetest.register_node("scifi_nodes:gblock", { "scifi_nodes_gblock.png" }, paramtype = "light", - groups = {cracky=1, dig_generic = 3}; + groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -104,6 +110,7 @@ minetest.register_node("scifi_nodes:gblock2", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -121,6 +128,7 @@ minetest.register_node("scifi_nodes:gblock3", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -140,6 +148,7 @@ minetest.register_node("scifi_nodes:green_light", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -157,6 +166,7 @@ minetest.register_node("scifi_nodes:red_light", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -173,6 +183,7 @@ minetest.register_node("scifi_nodes:discs", { }, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -187,6 +198,7 @@ minetest.register_node("scifi_nodes:disc", { wield_image = "scifi_nodes_disc.png", paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_defaults(), }) @@ -203,6 +215,7 @@ minetest.register_node("scifi_nodes:greenbar_animated", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, light_source = 10, sounds = scifi_nodes.node_sound_glass_defaults(), on_place = minetest.rotate_node @@ -217,6 +230,7 @@ minetest.register_node("scifi_nodes:blink", { }}, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, light_source = 5, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -230,6 +244,7 @@ minetest.register_node("scifi_nodes:black_lights", { }}, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -242,6 +257,7 @@ minetest.register_node("scifi_nodes:black_screen", { }}, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, light_source = 1, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -255,6 +271,7 @@ minetest.register_node("scifi_nodes:screen", { }}, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, light_source = 5, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -268,6 +285,7 @@ minetest.register_node("scifi_nodes:screen2", { }}, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, light_source = 5, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -288,6 +306,7 @@ minetest.register_node("scifi_nodes:white_pad", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -305,6 +324,7 @@ minetest.register_node("scifi_nodes:white_base", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -322,6 +342,7 @@ minetest.register_node("scifi_nodes:grnpipe", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults(), on_place = minetest.rotate_node }) @@ -341,6 +362,7 @@ minetest.register_node("scifi_nodes:grnpipe2", { paramtype = "light", paramtype2 = "facedir", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults(), on_place = minetest.rotate_node }) @@ -357,6 +379,7 @@ minetest.register_node("scifi_nodes:octrng", { use_texture_alpha = "blend", light_source = 10, groups = {cracky=2, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -372,6 +395,7 @@ minetest.register_node("scifi_nodes:octgrn", { use_texture_alpha = "blend", light_source = 10, groups = {cracky=2, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -387,6 +411,7 @@ minetest.register_node("scifi_nodes:octbl", { use_texture_alpha = "blend", light_source = 10, groups = {cracky=2, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -402,6 +427,7 @@ minetest.register_node("scifi_nodes:octppl", { use_texture_alpha = "blend", light_source = 10, groups = {cracky=2, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), }) @@ -423,6 +449,7 @@ if has_unifieddyes_mod then dig_generic = 3, ud_param2_colorable = 1 }, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults(), on_construct = unifieddyes.on_construct, on_dig = unifieddyes.on_dig @@ -441,6 +468,7 @@ minetest.register_node("scifi_nodes:tower", { inventory_image = "scifi_nodes_tower.png", paramtype = "light", groups = {cracky=2, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -459,6 +487,7 @@ minetest.register_node("scifi_nodes:junk", { "scifi_nodes_junk.png" }, groups = {snappy=1, oddly_breakable_by_hand=1, liquid=3, dig_immediate=1}, + is_ground_content = false, }) @@ -476,6 +505,7 @@ minetest.register_node("scifi_nodes:blumetlight", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -489,6 +519,7 @@ minetest.register_node("scifi_nodes:lightstp", { light_source = minetest.LIGHT_MAX, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -501,6 +532,7 @@ minetest.register_node("scifi_nodes:blklt2", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -513,6 +545,7 @@ minetest.register_node("scifi_nodes:blumetstr", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -526,6 +559,7 @@ minetest.register_node("scifi_nodes:glass", { use_texture_alpha = "blend", paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_glass_defaults() }) @@ -538,6 +572,7 @@ minetest.register_node("scifi_nodes:whtlightbnd", { light_source = 10, paramtype = "light", groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -568,6 +603,7 @@ for name, def in pairs(nodes) do description = def.description, tiles = tiles, groups = {cracky=1, dig_generic = 3}, + is_ground_content = false, paramtype = "light", paramtype2 = def.paramtype2 or "facedir", light_source = def.light, @@ -594,6 +630,7 @@ for name, def in pairs(nodes) do ud_param2_colorable = 1, not_in_creative_inventory = 1 }, + is_ground_content = false, palette = "unifieddyes_palette_extended.png", paramtype = "light", paramtype2 = "color", diff --git a/palm_scanner.lua b/palm_scanner.lua index 61cfd1d..68bff7d 100644 --- a/palm_scanner.lua +++ b/palm_scanner.lua @@ -59,6 +59,7 @@ minetest.register_node("scifi_nodes:palm_scanner_off", { paramtype = "light", paramtype2 = "wallmounted", groups = {cracky=1, oddly_breakable_by_hand=1, mesecon_needs_receiver = 1}, + is_ground_content = false, mesecons = { receptor = { state = (has_mesecons and mesecon.state.off) @@ -82,6 +83,7 @@ minetest.register_node("scifi_nodes:palm_scanner_checking", { paramtype = "light", paramtype2 = "wallmounted", groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, + is_ground_content = false, drop = "scifi_nodes:palm_scanner_off", sounds = scifi_nodes.node_sound_metal_defaults() }) @@ -100,6 +102,7 @@ minetest.register_node("scifi_nodes:palm_scanner_on", { paramtype2 = "wallmounted", light_source = 5, groups = {cracky=1, oddly_breakable_by_hand=1, not_in_creative_inventory=1, mesecon_needs_receiver = 1}, + is_ground_content = false, drop = "scifi_nodes:palm_scanner_off", mesecons = { receptor = { diff --git a/protected_switch.lua b/protected_switch.lua index cc65b04..14b8fe6 100644 --- a/protected_switch.lua +++ b/protected_switch.lua @@ -46,6 +46,7 @@ minetest.register_node("scifi_nodes:protected_switch_on", { not_in_creative_inventory = 1, mesecon_needs_receiver = 1 }, + is_ground_content = false, mesecons = { receptor = { state = (has_mesecons and mesecon.state.on) @@ -73,6 +74,7 @@ minetest.register_node("scifi_nodes:protected_switch_off", { oddly_breakable_by_hand = 1, mesecon_needs_receiver = 1 }, + is_ground_content = false, mesecons = { receptor = { state = (has_mesecons and mesecon.state.off) diff --git a/switch.lua b/switch.lua index 6c77f66..939088c 100644 --- a/switch.lua +++ b/switch.lua @@ -39,6 +39,7 @@ minetest.register_node("scifi_nodes:switch_on", { not_in_creative_inventory = 1, mesecon_needs_receiver = 1 }, + is_ground_content = false, mesecons = { receptor = { state = (has_mesecons and mesecon.state.on) @@ -66,6 +67,7 @@ minetest.register_node("scifi_nodes:switch_off", { oddly_breakable_by_hand = 1, mesecon_needs_receiver = 1 }, + is_ground_content = false, mesecons = { receptor = { state = (has_mesecons and mesecon.state.off)