groups = {cracky=3},
})
+minetest.register_node("tiled:tiled_rooted", {
+ description = "Tiled 'plantlike_rooted' Node (world-aligned)".."\n"..
+ "Base node texture spans over a space of 8×8 nodes".."\n"..
+ "A plantlike thing grows on top",
+ paramtype = "light",
+ drawtype = "plantlike_rooted",
+ tiles = {{
+ name = "tiled_tiled.png",
+ align_style = "world",
+ scale = 8,
+ }},
+ special_tiles = {"tiled_tiled_node.png"},
+ groups = {cracky=3},
+})
+
minetest.register_node("tiled:tiled_n", {
description = "Tiled Node (node-aligned)".."\n"..align_help_n,
tiles = {{
}
/******************************************************************************/
-TileDef read_tiledef(lua_State *L, int index, u8 drawtype)
+TileDef read_tiledef(lua_State *L, int index, u8 drawtype, bool special)
{
if(index < 0)
index = lua_gettop(L) + 1 + index;
bool default_culling = true;
switch (drawtype) {
case NDT_PLANTLIKE:
- case NDT_PLANTLIKE_ROOTED:
case NDT_FIRELIKE:
default_tiling = false;
// "break" is omitted here intentionaly, as PLANTLIKE
case NDT_LIQUID:
default_culling = false;
break;
+ case NDT_PLANTLIKE_ROOTED:
+ default_tiling = !special;
+ default_culling = !special;
+ break;
default:
break;
}
int i = 0;
while(lua_next(L, table) != 0){
// Read tiledef from value
- f.tiledef[i] = read_tiledef(L, -1, f.drawtype);
+ f.tiledef[i] = read_tiledef(L, -1, f.drawtype, false);
// removes value, keeps key for next iteration
lua_pop(L, 1);
i++;
int i = 0;
while (lua_next(L, table) != 0) {
// Read tiledef from value
- f.tiledef_overlay[i] = read_tiledef(L, -1, f.drawtype);
+ f.tiledef_overlay[i] = read_tiledef(L, -1, f.drawtype, false);
// removes value, keeps key for next iteration
lua_pop(L, 1);
i++;
int i = 0;
while(lua_next(L, table) != 0){
// Read tiledef from value
- f.tiledef_special[i] = read_tiledef(L, -1, f.drawtype);
+ f.tiledef_special[i] = read_tiledef(L, -1, f.drawtype, true);
// removes value, keeps key for next iteration
lua_pop(L, 1);
i++;