diff --git a/src/chess.lua b/src/chess.lua index 64221e2..4b59e4f 100644 --- a/src/chess.lua +++ b/src/chess.lua @@ -2889,6 +2889,7 @@ local chessboarddef = { tiles = {"chessboard_top.png", "chessboard_top.png", "chessboard_sides.png"}, use_texture_alpha = ALPHA_OPAQUE, groups = {choppy=3, oddly_breakable_by_hand=2, flammable=3}, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), node_box = {type = "fixed", fixed = {-.375, -.5, -.375, .375, -.4375, .375}}, sunlight_propagates = true, diff --git a/src/cooking.lua b/src/cooking.lua index 985956c..b6d554a 100644 --- a/src/cooking.lua +++ b/src/cooking.lua @@ -245,6 +245,7 @@ xdecor.register("cauldron_empty", { description = S("Cauldron"), _tt_help = S("For storing water and cooking soup"), groups = {cracky=2, oddly_breakable_by_hand=1,cauldron=1}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, tiles = {"xdecor_cauldron_top_empty.png", "xdecor_cauldron_sides.png"}, sounds = default.node_sound_metal_defaults(), @@ -261,6 +262,7 @@ xdecor.register("cauldron_empty", { xdecor.register("cauldron_idle", { description = S("Cauldron with Water (cold)"), groups = {cracky=2, oddly_breakable_by_hand=1, not_in_creative_inventory=1,cauldron=2}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, tiles = {"xdecor_cauldron_top_idle.png", "xdecor_cauldron_sides.png"}, sounds = default.node_sound_metal_defaults(), @@ -274,6 +276,7 @@ xdecor.register("cauldron_idle", { xdecor.register("cauldron_idle_river_water", { description = S("Cauldron with River Water (cold)"), groups = {cracky=2, oddly_breakable_by_hand=1, not_in_creative_inventory=1,cauldron=2}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, tiles = {"xdecor_cauldron_top_idle_river_water.png", "xdecor_cauldron_sides.png"}, sounds = default.node_sound_metal_defaults(), @@ -287,6 +290,7 @@ xdecor.register("cauldron_idle_river_water", { xdecor.register("cauldron_idle_soup", { description = S("Cauldron with Soup (cold)"), groups = {cracky = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory = 1,cauldron=2}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, drop = "xdecor:cauldron_empty", tiles = {"xdecor_cauldron_top_idle_soup.png", "xdecor_cauldron_sides.png"}, @@ -307,6 +311,7 @@ xdecor.register("cauldron_idle_soup", { xdecor.register("cauldron_boiling", { description = S("Cauldron with Water (boiling)"), groups = {cracky=2, oddly_breakable_by_hand=1, not_in_creative_inventory=1,cauldron=3}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, drop = "xdecor:cauldron_empty", damage_per_second = 2, @@ -330,6 +335,7 @@ xdecor.register("cauldron_boiling", { xdecor.register("cauldron_boiling_river_water", { description = S("Cauldron with River Water (boiling)"), groups = {cracky=2, oddly_breakable_by_hand=1, not_in_creative_inventory=1,cauldron=3}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, drop = "xdecor:cauldron_empty", damage_per_second = 2, @@ -355,6 +361,7 @@ xdecor.register("cauldron_boiling_river_water", { xdecor.register("cauldron_soup", { description = S("Cauldron with Soup (boiling)"), groups = {cracky = 2, oddly_breakable_by_hand = 1, not_in_creative_inventory = 1,cauldron=3}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, drop = "xdecor:cauldron_empty", damage_per_second = 2, diff --git a/src/enchanting.lua b/src/enchanting.lua index 881b654..a22e971 100644 --- a/src/enchanting.lua +++ b/src/enchanting.lua @@ -229,6 +229,7 @@ xdecor.register("enchantment_table", { "xdecor_enchantment_side.png", "xdecor_enchantment_side.png" }, groups = {cracky = 1, level = 1}, + is_ground_content = false, light_source = 6, sounds = default.node_sound_stone_defaults(), on_rotate = screwdriver.rotate_simple, diff --git a/src/hive.lua b/src/hive.lua index 52c5076..72265dc 100644 --- a/src/hive.lua +++ b/src/hive.lua @@ -126,6 +126,7 @@ xdecor.register("hive", { "xdecor_hive_side.png", "xdecor_hive_side.png", "xdecor_hive_side.png", "xdecor_hive_front.png"}, groups = {choppy=3, oddly_breakable_by_hand=2, flammable=1}, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), on_construct = hive.construct, on_timer = hive.timer, diff --git a/src/itemframe.lua b/src/itemframe.lua index 6a68db2..5a501b8 100644 --- a/src/itemframe.lua +++ b/src/itemframe.lua @@ -160,6 +160,7 @@ xdecor.register("itemframe", { description = S("Item Frame"), _tt_help = S("For presenting a single item"), groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 3}, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), on_rotate = screwdriver.disallow, sunlight_propagates = true, diff --git a/src/mailbox.lua b/src/mailbox.lua index 73e8ac0..b9223a3 100644 --- a/src/mailbox.lua +++ b/src/mailbox.lua @@ -185,6 +185,7 @@ xdecor.register("mailbox", { "xdecor_mailbox_side.png", "xdecor_mailbox_side.png", "xdecor_mailbox.png", "xdecor_mailbox.png"}, groups = {cracky = 3, oddly_breakable_by_hand = 1}, + is_ground_content = false, sounds = default.node_sound_metal_defaults(), on_rotate = screwdriver.rotate_simple, can_dig = mailbox.dig, diff --git a/src/mechanisms.lua b/src/mechanisms.lua index 7c7a3b4..2f4094b 100644 --- a/src/mechanisms.lua +++ b/src/mechanisms.lua @@ -63,6 +63,7 @@ function plate.register(material, desc, def) drawtype = "nodebox", node_box = xdecor.pixelbox(16, {{1, 0, 1, 14, 1, 14}}), groups = def.groups, + is_ground_content = false, sounds = def.sounds, sunlight_propagates = true, on_rotate = screwdriver.rotate_simple, @@ -75,6 +76,7 @@ function plate.register(material, desc, def) drawtype = "nodebox", node_box = xdecor.pixelbox(16, {{1, 0, 1, 14, 0.4, 14}}), groups = def.groups, + is_ground_content = false, sounds = def.sounds, drop = "xdecor:pressure_" .. material .. "_off", sunlight_propagates = true, @@ -102,6 +104,7 @@ xdecor.register("lever_off", { drawtype = "nodebox", node_box = xdecor.pixelbox(16, {{2, 1, 15, 12, 14, 1}}), groups = {cracky = 3, oddly_breakable_by_hand = 2}, + is_ground_content = false, sounds = default.node_sound_stone_defaults(), sunlight_propagates = true, on_rotate = screwdriver.rotate_simple, @@ -127,6 +130,7 @@ xdecor.register("lever_on", { drawtype = "nodebox", node_box = xdecor.pixelbox(16, {{2, 1, 15, 12, 14, 1}}), groups = {cracky = 3, oddly_breakable_by_hand = 2, not_in_creative_inventory = 1}, + is_ground_content = false, sounds = default.node_sound_stone_defaults(), sunlight_propagates = true, on_rotate = screwdriver.rotate_simple, diff --git a/src/nodes.lua b/src/nodes.lua index bb218ee..33fb613 100644 --- a/src/nodes.lua +++ b/src/nodes.lua @@ -67,6 +67,7 @@ xdecor.register("baricade", { inventory_image = "xdecor_baricade.png", tiles = {"xdecor_baricade.png"}, groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + is_ground_content = false, damage_per_second = 4, selection_box = xdecor.nodebox.slab_y(0.3), collision_box = xdecor.pixelbox(2, {{0, 0, 1, 2, 2, 0}}) @@ -77,6 +78,7 @@ xdecor.register("barrel", { tiles = {"xdecor_barrel_top.png", "xdecor_barrel_top.png", "xdecor_barrel_sides.png"}, on_place = minetest.rotate_node, groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + is_ground_content = false, sounds = default.node_sound_wood_defaults() }) @@ -99,6 +101,7 @@ local function register_storage(name, desc, def) on_place = def.on_place, on_blast = blast_storage, groups = def.groups or {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + is_ground_content = false, sounds = default.node_sound_wood_defaults() }) end @@ -170,6 +173,7 @@ xdecor.register("candle", { paramtype2 = "wallmounted", walkable = false, groups = {dig_immediate = 3, attached_node = 1}, + is_ground_content = false, tiles = { { name = "xdecor_candle_floor.png", @@ -197,6 +201,7 @@ xdecor.register("chair", { tiles = {"xdecor_wood.png"}, sounds = default.node_sound_wood_defaults(), groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 2}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, node_box = xdecor.pixelbox(16, { {3, 0, 11, 2, 16, 2}, @@ -224,6 +229,7 @@ xdecor.register("cobweb", { walkable = false, selection_box = {type = "regular"}, groups = {snappy = 3, flammable = 3}, + is_ground_content = false, sounds = default.node_sound_leaves_defaults() }) @@ -254,6 +260,7 @@ for c, desc in pairs(curtain_colors) do drawtype = "signlike", paramtype2 = "colorwallmounted", groups = {dig_immediate = 3, flammable = 3}, + is_ground_content = false, selection_box = {type = "wallmounted"}, on_rightclick = function(pos, node, _, itemstack) minetest.set_node(pos, {name = "xdecor:curtain_open_" .. c, param2 = node.param2}) @@ -269,6 +276,7 @@ for c, desc in pairs(curtain_colors) do paramtype2 = "colorwallmounted", walkable = false, groups = {dig_immediate = 3, flammable = 3, not_in_creative_inventory = 1}, + is_ground_content = false, selection_box = {type="wallmounted"}, drop = "xdecor:curtain_" .. c, on_rightclick = function(pos, node, _, itemstack) @@ -291,6 +299,7 @@ xdecor.register("cushion", { description = S("Cushion"), tiles = {"xdecor_cushion.png"}, groups = {snappy = 3, flammable = 3, fall_damage_add_percent = -50}, + is_ground_content = false, on_place = minetest.rotate_node, node_box = xdecor.nodebox.slab_y(0.5), can_dig = xdecor.sit_dig, @@ -305,6 +314,7 @@ xdecor.register("cushion_block", { description = S("Cushion Block"), tiles = {"xdecor_cushion.png"}, groups = {snappy = 3, flammable = 3, fall_damage_add_percent = -75}, + is_ground_content = false, }) local function door_access(name) @@ -421,6 +431,7 @@ xdecor.register("enderchest", { "xdecor_enderchest_side.png", "xdecor_enderchest_front.png" }, groups = {cracky = 1, choppy = 1}, + is_ground_content = false, sounds = default.node_sound_stone_defaults(), on_rotate = screwdriver.rotate_simple, on_construct = function(pos) @@ -461,6 +472,7 @@ xdecor.register("rooster", { inventory_image = "xdecor_rooster.png", walkable = false, groups = {snappy = 3, attached_node = 1}, + is_ground_content = false, tiles = {"xdecor_rooster.png"}, sounds = default.node_sound_metal_defaults(), }) @@ -475,6 +487,7 @@ xdecor.register("lantern", { wield_image = "xdecor_lantern_inv.png", walkable = false, groups = {snappy = 3, attached_node = 3}, + is_ground_content = false, tiles = { { name = "xdecor_lantern.png", @@ -549,6 +562,7 @@ xdecor.register("lantern_hanging", { wield_image = "xdecor_lantern_inv.png", walkable = false, groups = {snappy = 3, attached_node = 4, not_in_creative_inventory = 1}, + is_ground_content = false, tiles = { { name = "xdecor_lantern.png", @@ -595,6 +609,7 @@ for l, desc in pairs(xdecor_lightbox) do description = desc, tiles = {"xdecor_" .. l .. "_lightbox.png"}, groups = {cracky = 3, choppy = 3, oddly_breakable_by_hand = 2}, + is_ground_content = false, light_source = 13, sounds = default.node_sound_glass_defaults() }) @@ -614,6 +629,7 @@ for f, desc in pairs(xdecor_potted) do description = desc, walkable = false, groups = {snappy = 3, flammable = 3, plant = 1, flower = 1}, + is_ground_content = false, tiles = {"xdecor_" .. f .. "_pot.png"}, inventory_image = "xdecor_" .. f .. "_pot.png", drawtype = "plantlike", @@ -649,6 +665,7 @@ xdecor.register("painting_1", { paramtype2 = "wallmounted", sunlight_propagates = true, groups = {choppy = 3, oddly_breakable_by_hand = 2, flammable = 2, attached_node = 1}, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), node_box = painting_box, node_placement_prediction = "", @@ -706,6 +723,7 @@ for i = 2, 4 do attached_node = 1, not_in_creative_inventory = 1 }, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), node_box = painting_box }) @@ -715,6 +733,7 @@ xdecor.register("stonepath", { description = S("Garden Stone Path"), tiles = {"default_stone.png"}, groups = {snappy = 3}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, sounds = default.node_sound_stone_defaults(), sunlight_propagates = true, @@ -731,6 +750,7 @@ local function register_hard_node(name, desc, def) description = desc, tiles = {"xdecor_" .. name .. ".png"}, groups = def.groups or {cracky = 1}, + is_ground_content = false, sounds = def.sounds or default.node_sound_stone_defaults() }) end @@ -757,6 +777,7 @@ xdecor.register("table", { description = S("Table"), tiles = {"xdecor_wood.png"}, groups = {choppy = 2, oddly_breakable_by_hand = 1, flammable = 2}, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), node_box = xdecor.pixelbox(16, { {0, 14, 0, 16, 2, 16}, {5.5, 0, 5.5, 5, 14, 6} @@ -768,6 +789,7 @@ xdecor.register("tatami", { tiles = {"xdecor_tatami.png"}, wield_image = "xdecor_tatami.png", groups = {snappy = 3, flammable = 3}, + is_ground_content = false, sunlight_propagates = true, node_box = xdecor.nodebox.slab_y(0.0625) }) @@ -777,6 +799,7 @@ xdecor.register("trampoline", { tiles = {"xdecor_trampoline.png", "mailbox_blank16.png", "xdecor_trampoline_sides.png"}, use_texture_alpha = ALPHA_CLIP, groups = {cracky = 3, oddly_breakable_by_hand = 1, fall_damage_add_percent = -80, bouncy = 90}, + is_ground_content = false, node_box = xdecor.nodebox.slab_y(0.5), sounds = default.node_sound_defaults({ footstep = { @@ -791,6 +814,7 @@ xdecor.register("tv", { description = S("Television"), light_source = 11, groups = {cracky = 3, oddly_breakable_by_hand = 2}, + is_ground_content = false, on_rotate = screwdriver.rotate_simple, tiles = { "xdecor_television_left.png^[transformR270", @@ -812,6 +836,7 @@ xdecor.register("woodframed_glass", { tiles = {"xdecor_woodframed_glass.png", "xdecor_woodframed_glass_detail.png"}, use_texture_alpha = ALPHA_CLIP, groups = {cracky = 2, oddly_breakable_by_hand = 1}, + is_ground_content = false, sounds = default.node_sound_glass_defaults(), _xdecor_custom_noncube_tiles = { stair = { @@ -881,6 +906,7 @@ for _, v in pairs(devices) do "xdecor_" .. v[1] .. "_front.png", }, groups = {cracky = 2, not_cuttable = 1}, + is_ground_content = false, sounds = v[3], }) end diff --git a/src/rope.lua b/src/rope.lua index a736039..51adffc 100644 --- a/src/rope.lua +++ b/src/rope.lua @@ -86,6 +86,7 @@ xdecor.register("rope", { walkable = false, climbable = true, groups = {dig_immediate = 3, flammable = 3}, + is_ground_content = false, tiles = {"xdecor_rope.png"}, inventory_image = "xdecor_rope_inv.png", wield_image = "xdecor_rope_inv.png", diff --git a/src/workbench.lua b/src/workbench.lua index 6035401..5a226e9 100644 --- a/src/workbench.lua +++ b/src/workbench.lua @@ -256,6 +256,7 @@ xdecor.register("workbench", { description = S("Work Bench"), _tt_help = S("For cutting blocks, repairing tools with a hammer, crafting and storing items"), groups = {cracky = 2, choppy = 2, oddly_breakable_by_hand = 1}, + is_ground_content = false, sounds = default.node_sound_wood_defaults(), tiles = { "xdecor_workbench_top.png","xdecor_workbench_top.png", @@ -369,6 +370,7 @@ for i = 1, #nodes do tiles = tiles_special_cut, use_texture_alpha = def.use_texture_alpha, groups = groups, + is_ground_content = def.is_ground_content, node_box = xdecor.pixelbox(16, d[3]), sunlight_propagates = true, on_place = minetest.rotate_node