diff --git a/mods/ENTITIES/mcl_item_entity/init.lua b/mods/ENTITIES/mcl_item_entity/init.lua index c5d12d4e1..8ee1c955b 100644 --- a/mods/ENTITIES/mcl_item_entity/init.lua +++ b/mods/ENTITIES/mcl_item_entity/init.lua @@ -254,7 +254,13 @@ function minetest.handle_node_drops(pos, drops, digger) local drop_item = ItemStack(item) drop_item:set_count(1) for i=1,count do - local obj = core.add_item(pos, drop_item) + local dpos = table.copy(pos) + -- Apply offset for plantlike_rooted nodes because of their special shape + if nodedef and nodedef.drawtype == "plantlike_rooted" and nodedef.walkable then + dpos.y = dpos.y + 1 + end + -- Spawn item and apply random speed + local obj = core.add_item(dpos, drop_item) if obj ~= nil then local x = math.random(1, 5) if math.random(1,2) == 1 then diff --git a/mods/ITEMS/mcl_ocean/kelp.lua b/mods/ITEMS/mcl_ocean/kelp.lua index 4404d907a..50be1aba5 100644 --- a/mods/ITEMS/mcl_ocean/kelp.lua +++ b/mods/ITEMS/mcl_ocean/kelp.lua @@ -80,6 +80,7 @@ minetest.register_craftitem("mcl_ocean:kelp", { inventory_image = "mcl_ocean_kelp_item.png", wield_image = "mcl_ocean_kelp_item.png", on_place = kelp_on_place, + groups = { deco_block = 1 }, }) -- Kelp nodes: kelp on a surface node diff --git a/mods/ITEMS/mcl_ocean/seagrass.lua b/mods/ITEMS/mcl_ocean/seagrass.lua index 74546be2b..e02bd098a 100644 --- a/mods/ITEMS/mcl_ocean/seagrass.lua +++ b/mods/ITEMS/mcl_ocean/seagrass.lua @@ -84,6 +84,7 @@ minetest.register_craftitem("mcl_ocean:seagrass", { inventory_image = "mcl_ocean_seagrass.png^[verticalframe:12:0", wield_image = "mcl_ocean_seagrass.png^[verticalframe:12:0", on_place = seagrass_on_place, + groups = { deco_block = 1 }, }) -- Seagrass nodes: seagrass on a surface node @@ -120,7 +121,7 @@ for s=1, #surfaces do { -0.5, 0.5, -0.5, 0.5, 1.3, 0.5 }, }, }, - groups = { dig_immediate = 3, deco_block = 1, plant = 1, seagrass = 1, falling_node = surfaces[s][3] }, + groups = { handy = 1, shearsy = 1, deco_block = 1, plant = 1, seagrass = 1, falling_node = surfaces[s][3] }, sounds = sounds, node_dig_prediction = surfaces[s][2], after_dig_node = function(pos) @@ -128,7 +129,7 @@ for s=1, #surfaces do end, drop = "", _mcl_falling_node_alternative = alt, - _mcl_shears_drop = true, + _mcl_shears_drop = { "mcl_ocean:seagrass" }, _mcl_hardness = 0, _mcl_blast_resistance = 0, })