Use the group "soil" for nodes that saplings grow on
parent
981c6c9bf2
commit
127c488355
|
@ -510,7 +510,7 @@ Usage:
|
||||||
- Groups are stored in a table, having the group names with keys and the
|
- Groups are stored in a table, having the group names with keys and the
|
||||||
group ratings as values. For example:
|
group ratings as values. For example:
|
||||||
groups = {crumbly=3, soil=1}
|
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}
|
groups = {crumbly=2, soil=1, level=2, outerspace=1}
|
||||||
^ A more special dirt-kind of thing
|
^ A more special dirt-kind of thing
|
||||||
- Groups always have a rating associated with them. If there is no
|
- 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
|
- 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
|
dropped as an item. If the node is wallmounted the
|
||||||
wallmounted direction is checked.
|
wallmounted direction is checked.
|
||||||
|
- soil: saplings will grow on nodes in this group
|
||||||
|
|
||||||
Known damage and digging time defining groups
|
Known damage and digging time defining groups
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
|
|
|
@ -741,7 +741,7 @@ minetest.register_node("default:dirt_with_grass", {
|
||||||
description = "Dirt with grass",
|
description = "Dirt with grass",
|
||||||
tiles ={"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
tiles ={"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {crumbly=3},
|
groups = {crumbly=3, soil=1},
|
||||||
drop = 'default:dirt',
|
drop = 'default:dirt',
|
||||||
sounds = default.node_sound_dirt_defaults({
|
sounds = default.node_sound_dirt_defaults({
|
||||||
footstep = {name="default_grass_footstep", gain=0.4},
|
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",
|
description = "Dirt with grass and footsteps",
|
||||||
tiles ={"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
tiles ={"default_grass_footsteps.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {crumbly=3},
|
groups = {crumbly=3, soil=1},
|
||||||
drop = 'default:dirt',
|
drop = 'default:dirt',
|
||||||
sounds = default.node_sound_dirt_defaults({
|
sounds = default.node_sound_dirt_defaults({
|
||||||
footstep = {name="default_grass_footstep", gain=0.4},
|
footstep = {name="default_grass_footstep", gain=0.4},
|
||||||
|
@ -763,7 +763,7 @@ minetest.register_node("default:dirt", {
|
||||||
description = "Dirt",
|
description = "Dirt",
|
||||||
tiles ={"default_dirt.png"},
|
tiles ={"default_dirt.png"},
|
||||||
is_ground_content = true,
|
is_ground_content = true,
|
||||||
groups = {crumbly=3},
|
groups = {crumbly=3, soil=1},
|
||||||
sounds = default.node_sound_dirt_defaults(),
|
sounds = default.node_sound_dirt_defaults(),
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
|
@ -99,14 +99,10 @@ class MakeTreesFromSaplingsABM : public ActiveBlockModifier
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
content_t c_junglesapling;
|
content_t c_junglesapling;
|
||||||
content_t c_dirt;
|
|
||||||
content_t c_dirt_with_grass;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MakeTreesFromSaplingsABM(ServerEnvironment *env, INodeDefManager *nodemgr) {
|
MakeTreesFromSaplingsABM(ServerEnvironment *env, INodeDefManager *nodemgr) {
|
||||||
c_junglesapling = nodemgr->getId("junglesapling");
|
c_junglesapling = nodemgr->getId("junglesapling");
|
||||||
c_dirt = nodemgr->getId("mapgen_dirt");
|
|
||||||
c_dirt_with_grass = nodemgr->getId("mapgen_dirt_with_grass");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual std::set<std::string> getTriggerContents()
|
virtual std::set<std::string> getTriggerContents()
|
||||||
|
@ -127,8 +123,7 @@ public:
|
||||||
ServerMap *map = &env->getServerMap();
|
ServerMap *map = &env->getServerMap();
|
||||||
|
|
||||||
MapNode n_below = map->getNodeNoEx(p - v3s16(0, 1, 0));
|
MapNode n_below = map->getNodeNoEx(p - v3s16(0, 1, 0));
|
||||||
if (n_below.getContent() != c_dirt &&
|
if (!((ItemGroupList) ndef->get(n_below).groups)["soil"])
|
||||||
n_below.getContent() != c_dirt_with_grass)
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
bool is_jungle_tree = n.getContent() == c_junglesapling;
|
bool is_jungle_tree = n.getContent() == c_junglesapling;
|
||||||
|
|
Loading…
Reference in New Issue