Merge pull request 'Dirt types fixes' (#2109) from dirt_type_fixes into master

Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/2109
This commit is contained in:
cora 2022-04-25 21:39:27 +00:00
commit 64ec36fe36
5 changed files with 18 additions and 10 deletions

@ -41,6 +41,7 @@ Please read <http://minecraft.gamepedia.com/Breaking> to learn how digging times
* `flammable=-1` Does not get destroyed by fire
* `fire_encouragement`: How quickly this block catches fire
* `fire_flammability`: How fast the block will burn away
* `path_creation_possible=1`: Node can be turned into grass path by using a shovel on it
* `spreading_dirt_type=1`: A dirt-type block with a cover (e.g. grass) which may spread to neighbor dirt blocks
* `dirtifies_below_solid=1`: This node turns into dirt immediately when a solid or dirtifier node is placed on top
* `dirtifier=1`: This node turns nodes the above group into dirt when placed above

@ -31,6 +31,14 @@ doc.sub.items.register_factoid("nodes", "groups", function(itemstring, def)
return ""
end)
-- usable by shovels
doc.sub.items.register_factoid("nodes", "groups", function(itemstring, def)
if def.groups.path_creation_possible then
return S("This block can be turned into grass path with a shovel.")
end
return ""
end)
-- soil
doc.sub.items.register_factoid("nodes", "groups", function(itemstring, def)
local datastring = ""

@ -372,7 +372,7 @@ minetest.register_node("mcl_core:dirt_with_grass", {
handy = 1, shovely = 1, dirt = 2, grass_block = 1, grass_block_no_snow = 1,
soil = 1, soil_sapling = 2, soil_sugarcane = 1, cultivatable = 2,
spreading_dirt_type = 1, enderman_takable = 1, building_block = 1,
compostability = 30
compostability = 30, path_creation_possible=1
},
drop = "mcl_core:dirt",
sounds = mcl_sounds.node_sound_dirt_defaults({
@ -426,7 +426,7 @@ minetest.register_node("mcl_core:mycelium", {
tiles = {"mcl_core_mycelium_top.png", "default_dirt.png", {name="mcl_core_mycelium_side.png", tileable_vertical=false}},
is_ground_content = true,
stack_max = 64,
groups = {handy=1,shovely=1, dirt=2,spreading_dirt_type=1, enderman_takable=1, building_block=1},
groups = { handy = 1, shovely = 1, dirt = 2, spreading_dirt_type = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2, path_creation_possible=1},
drop = "mcl_core:dirt",
sounds = mcl_sounds.node_sound_dirt_defaults({
footstep = {name="default_grass_footstep", gain=0.1},
@ -446,7 +446,7 @@ minetest.register_node("mcl_core:podzol", {
tiles = {"mcl_core_dirt_podzol_top.png", "default_dirt.png", {name="mcl_core_dirt_podzol_side.png", tileable_vertical=false}},
is_ground_content = true,
stack_max = 64,
groups = {handy=1,shovely=3, dirt=2,soil=1, soil_sapling=2, soil_sugarcane=1, enderman_takable=1, building_block=1},
groups = {handy=1,shovely=3, dirt=2,soil=1, soil_sapling=2, soil_sugarcane=1, enderman_takable=1, building_block=1,path_creation_possible=1},
drop = "mcl_core:dirt",
sounds = mcl_sounds.node_sound_dirt_defaults(),
on_construct = mcl_core.on_snowable_construct,
@ -464,7 +464,7 @@ minetest.register_node("mcl_core:dirt", {
tiles = {"default_dirt.png"},
is_ground_content = true,
stack_max = 64,
groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1},
groups = {handy=1,shovely=1, dirt=1,soil=1, soil_sapling=2, soil_sugarcane=1, cultivatable=2, enderman_takable=1, building_block=1, path_creation_possible=1},
sounds = mcl_sounds.node_sound_dirt_defaults(),
_mcl_blast_resistance = 0.5,
_mcl_hardness = 0.5,
@ -476,7 +476,7 @@ minetest.register_node("mcl_core:coarse_dirt", {
tiles = {"mcl_core_coarse_dirt.png"},
is_ground_content = true,
stack_max = 64,
groups = {handy=1,shovely=1, dirt=3,soil=1, soil_sugarcane=1, cultivatable=1, enderman_takable=1, building_block=1},
groups = { handy = 1,shovely = 1, dirt = 3, soil = 1, soil_sugarcane = 1, cultivatable = 1, enderman_takable = 1, building_block = 1, soil_sapling = 2, path_creation_possible=1},
sounds = mcl_sounds.node_sound_dirt_defaults(),
_mcl_blast_resistance = 0.5,
_mcl_hardness = 0.5,
@ -1073,4 +1073,3 @@ if minetest.get_modpath("doc") then
doc.add_entry_alias("nodes", "mcl_core:water_source", "nodes", "mcl_core:water_flowing")
doc.add_entry_alias("nodes", "mcl_core:lava_source", "nodes", "mcl_core:lava_flowing")
end

@ -201,9 +201,9 @@ local function register_sapling(subname, description, longdesc, tt_help, texture
local node_below = minetest.get_node_or_nil({x=pos.x,y=pos.y-1,z=pos.z})
if not node_below then return false end
local nn = node_below.name
return ((minetest.get_item_group(nn, "grass_block") == 1) or
nn=="mcl_core:podzol" or nn=="mcl_core:podzol_snow" or
nn=="mcl_core:dirt")
return minetest.get_item_group(nn, "grass_block") == 1 or
nn == "mcl_core:podzol" or nn == "mcl_core:podzol_snow" or
nn == "mcl_core:dirt" or nn == "mcl_core:mycelium" or nn == "mcl_core:coarse_dirt"
end),
node_placement_prediction = "",
_mcl_blast_resistance = 0,

@ -191,7 +191,7 @@ local function make_grass_path(itemstack, placer, pointed_thing)
return itemstack
end
if (minetest.get_item_group(node.name, "grass_block") == 1) then
if (minetest.get_item_group(node.name, "path_creation_possible") == 1) then
local above = table.copy(pointed_thing.under)
above.y = above.y + 1
if minetest.get_node(above).name == "air" then