diff options
author | ShadowNinja <noreply@gmail.com> | 2013-04-14 03:01:27 -0400 |
---|---|---|
committer | PilzAdam <pilzadam@minetest.net> | 2013-05-20 13:43:13 +0200 |
commit | 127c48835573f9e7bd89137ecb2176c2a8e5f783 (patch) | |
tree | 8964b12dfd2079d2525e6860e4c659dc3fd592e1 | |
parent | 981c6c9bf249f15945ca63c34d78d8c5a81ce469 (diff) | |
download | minetest-127c48835573f9e7bd89137ecb2176c2a8e5f783.tar.gz minetest-127c48835573f9e7bd89137ecb2176c2a8e5f783.tar.bz2 minetest-127c48835573f9e7bd89137ecb2176c2a8e5f783.zip |
Use the group "soil" for nodes that saplings grow on
-rw-r--r-- | doc/lua_api.txt | 3 | ||||
-rw-r--r-- | games/minimal/mods/default/init.lua | 6 | ||||
-rw-r--r-- | src/content_abm.cpp | 9 |
3 files changed, 7 insertions, 11 deletions
diff --git a/doc/lua_api.txt b/doc/lua_api.txt index b7be50206..e2abcbfe7 100644 --- a/doc/lua_api.txt +++ b/doc/lua_api.txt @@ -510,7 +510,7 @@ Usage: - Groups are stored in a table, having the group names with keys and the group ratings as values. For example: groups = {crumbly=3, soil=1} - ^ Default dirt (soil group actually currently not defined; TODO) + ^ Default dirt groups = {crumbly=2, soil=1, level=2, outerspace=1} ^ A more special dirt-kind of thing - Groups always have a rating associated with them. If there is no @@ -583,6 +583,7 @@ Special groups - attached_node: if the node under it is not a walkable block the node will be dropped as an item. If the node is wallmounted the wallmounted direction is checked. +- soil: saplings will grow on nodes in this group Known damage and digging time defining groups ---------------------------------------------- diff --git a/games/minimal/mods/default/init.lua b/games/minimal/mods/default/init.lua index d8067d211..b375cda1e 100644 --- a/games/minimal/mods/default/init.lua +++ b/games/minimal/mods/default/init.lua @@ -741,7 +741,7 @@ minetest.register_node("default:dirt_with_grass", { description = "Dirt with grass", tiles ={"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, is_ground_content = true, - groups = {crumbly=3}, + groups = {crumbly=3, soil=1}, drop = 'default:dirt', sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, @@ -752,7 +752,7 @@ minetest.register_node("default:dirt_with_grass_footsteps", { description = "Dirt with grass and footsteps", tiles ={"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, is_ground_content = true, - groups = {crumbly=3}, + groups = {crumbly=3, soil=1}, drop = 'default:dirt', sounds = default.node_sound_dirt_defaults({ footstep = {name="default_grass_footstep", gain=0.4}, @@ -763,7 +763,7 @@ minetest.register_node("default:dirt", { description = "Dirt", tiles ={"default_dirt.png"}, is_ground_content = true, - groups = {crumbly=3}, + groups = {crumbly=3, soil=1}, sounds = default.node_sound_dirt_defaults(), }) diff --git a/src/content_abm.cpp b/src/content_abm.cpp index e20201dcf..f19caf74e 100644 --- a/src/content_abm.cpp +++ b/src/content_abm.cpp @@ -99,14 +99,10 @@ class MakeTreesFromSaplingsABM : public ActiveBlockModifier { private: content_t c_junglesapling; - content_t c_dirt; - content_t c_dirt_with_grass; public: MakeTreesFromSaplingsABM(ServerEnvironment *env, INodeDefManager *nodemgr) { - c_junglesapling = nodemgr->getId("junglesapling"); - c_dirt = nodemgr->getId("mapgen_dirt"); - c_dirt_with_grass = nodemgr->getId("mapgen_dirt_with_grass"); + c_junglesapling = nodemgr->getId("junglesapling"); } virtual std::set<std::string> getTriggerContents() @@ -127,8 +123,7 @@ public: ServerMap *map = &env->getServerMap(); MapNode n_below = map->getNodeNoEx(p - v3s16(0, 1, 0)); - if (n_below.getContent() != c_dirt && - n_below.getContent() != c_dirt_with_grass) + if (!((ItemGroupList) ndef->get(n_below).groups)["soil"]) return; bool is_jungle_tree = n.getContent() == c_junglesapling; |