aboutsummaryrefslogtreecommitdiff
path: root/src/script/lua_api/l_mapgen.cpp
diff options
context:
space:
mode:
authorAuke Kok <sofar@foo-projects.org>2016-12-06 16:39:33 -0800
committerparamat <mat.gregory@virginmedia.com>2016-12-07 04:17:17 +0000
commit2e69711613c18e1075f245d196823ea23675f027 (patch)
tree9f77dc11cae07da7bb6348c253ebbe5fd4f6d629 /src/script/lua_api/l_mapgen.cpp
parent075833e39368e63e06889f21140f816420e83541 (diff)
downloadminetest-2e69711613c18e1075f245d196823ea23675f027.tar.gz
minetest-2e69711613c18e1075f245d196823ea23675f027.tar.bz2
minetest-2e69711613c18e1075f245d196823ea23675f027.zip
Simple deco: Allow setting param2 value on placement
Schematics can already be placed with a param2 value, but not simple 1-node plant decorations of the simple type. This adds a `param2` field to the simple deco type that is checked to be between 0 and 255, and put to the placed node at mapgen. This can be used to put a degrotate value in, or e.g. a fill value for leveltype nodes, or a place_param2 value at mapgen placement, or vary the shape of meshoptions plantlike drawtype.
Diffstat (limited to 'src/script/lua_api/l_mapgen.cpp')
-rw-r--r--src/script/lua_api/l_mapgen.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/script/lua_api/l_mapgen.cpp b/src/script/lua_api/l_mapgen.cpp
index da8e71cdc..cefea3da9 100644
--- a/src/script/lua_api/l_mapgen.cpp
+++ b/src/script/lua_api/l_mapgen.cpp
@@ -975,6 +975,7 @@ bool read_deco_simple(lua_State *L, DecoSimple *deco)
deco->deco_height = getintfield_default(L, index, "height", 1);
deco->deco_height_max = getintfield_default(L, index, "height_max", 0);
+ deco->deco_param2 = getintfield_default(L, index, "param2", 0);
if (deco->deco_height <= 0) {
errorstream << "register_decoration: simple decoration height"
@@ -990,6 +991,12 @@ bool read_deco_simple(lua_State *L, DecoSimple *deco)
return false;
}
+ if ((deco->deco_param2 < 0) || (deco->deco_param2 > 255)) {
+ errorstream << "register_decoration: param2 out of bounds (0-255)"
+ << std::endl;
+ return false;
+ }
+
return true;
}