forked from Mirrorlandia_minetest/minetest
Determine light_propagates from paramtype
This commit is contained in:
parent
e8539d4dae
commit
3e95b8a158
@ -97,7 +97,6 @@ minetest.register_nodedef_defaults({
|
||||
post_effect_color = {a=0, r=0, g=0, b=0},
|
||||
paramtype = "none",
|
||||
is_ground_content = false,
|
||||
light_propagates = false,
|
||||
sunlight_propagates = false,
|
||||
walkable = true,
|
||||
pointable = true,
|
||||
@ -133,7 +132,6 @@ minetest.register_nodedef_defaults({
|
||||
minetest.register_node("air", {
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
@ -145,7 +143,6 @@ minetest.register_node("air", {
|
||||
minetest.register_node("ignore", {
|
||||
drawtype = "airlike",
|
||||
paramtype = "none",
|
||||
light_propagates = false,
|
||||
sunlight_propagates = false,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
|
@ -261,7 +261,6 @@
|
||||
-- post_effect_color = {a=0, r=0, g=0, b=0},
|
||||
-- paramtype = "none",
|
||||
-- is_ground_content = false,
|
||||
-- light_propagates = false,
|
||||
-- sunlight_propagates = false,
|
||||
-- walkable = true,
|
||||
-- pointable = true,
|
||||
@ -889,7 +888,6 @@ minetest.register_node("default:junglegrass", {
|
||||
visual_scale = 1.3,
|
||||
tile_images = {"default_junglegrass.png"},
|
||||
inventory_image = "default_junglegrass.png",
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
material = minetest.digprop_leaveslike(1.0),
|
||||
@ -901,7 +899,6 @@ minetest.register_node("default:leaves", {
|
||||
visual_scale = 1.3,
|
||||
tile_images = {"default_leaves.png"},
|
||||
inventory_image = minetest.inventorycube("default_leaves.png"),
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
material = minetest.digprop_leaveslike(1.0),
|
||||
extra_dug_item = 'node "sapling" 1',
|
||||
@ -921,7 +918,6 @@ minetest.register_node("default:papyrus", {
|
||||
drawtype = "plantlike",
|
||||
tile_images = {"default_papyrus.png"},
|
||||
inventory_image = "default_papyrus.png",
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
walkable = false,
|
||||
@ -941,7 +937,6 @@ minetest.register_node("default:glass", {
|
||||
drawtype = "glasslike",
|
||||
tile_images = {"default_glass.png"},
|
||||
inventory_image = minetest.inventorycube("default_glass.png"),
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
is_ground_content = true,
|
||||
@ -952,7 +947,6 @@ minetest.register_node("default:fence_wood", {
|
||||
drawtype = "fencelike",
|
||||
tile_images = {"default_wood.png"},
|
||||
inventory_image = "default_fence.png",
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
selection_box = {
|
||||
@ -967,7 +961,6 @@ minetest.register_node("default:rail", {
|
||||
drawtype = "raillike",
|
||||
tile_images = {"default_rail.png", "default_rail_curved.png", "default_rail_t_junction.png", "default_rail_crossing.png"},
|
||||
inventory_image = "default_rail.png",
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
walkable = false,
|
||||
@ -982,7 +975,6 @@ minetest.register_node("default:ladder", {
|
||||
drawtype = "signlike",
|
||||
tile_images = {"default_ladder.png"},
|
||||
inventory_image = "default_ladder.png",
|
||||
light_propagates = true,
|
||||
paramtype = "light",
|
||||
is_ground_content = true,
|
||||
wall_mounted = true,
|
||||
@ -1026,7 +1018,6 @@ minetest.register_node("default:water_flowing", {
|
||||
alpha = WATER_ALPHA,
|
||||
inventory_image = minetest.inventorycube("default_water.png"),
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
@ -1048,7 +1039,6 @@ minetest.register_node("default:water_source", {
|
||||
alpha = WATER_ALPHA,
|
||||
inventory_image = minetest.inventorycube("default_water.png"),
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
diggable = false,
|
||||
@ -1069,7 +1059,6 @@ minetest.register_node("default:lava_flowing", {
|
||||
tile_images = {"default_lava.png"},
|
||||
inventory_image = minetest.inventorycube("default_lava.png"),
|
||||
paramtype = "light",
|
||||
light_propagates = false,
|
||||
light_source = LIGHT_MAX - 1,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
@ -1092,7 +1081,6 @@ minetest.register_node("default:lava_source", {
|
||||
tile_images = {"default_lava.png"},
|
||||
inventory_image = minetest.inventorycube("default_lava.png"),
|
||||
paramtype = "light",
|
||||
light_propagates = false,
|
||||
light_source = LIGHT_MAX - 1,
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
@ -1116,7 +1104,6 @@ minetest.register_node("default:torch", {
|
||||
tile_images = {"default_torch_on_floor.png", "default_torch_on_ceiling.png", "default_torch.png"},
|
||||
inventory_image = "default_torch_on_floor.png",
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
wall_mounted = true,
|
||||
@ -1136,7 +1123,6 @@ minetest.register_node("default:sign_wall", {
|
||||
tile_images = {"default_sign_wall.png"},
|
||||
inventory_image = "default_sign_wall.png",
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
wall_mounted = true,
|
||||
@ -1224,7 +1210,6 @@ minetest.register_node("default:sapling", {
|
||||
tile_images = {"default_sapling.png"},
|
||||
inventory_image = "default_sapling.png",
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
walkable = false,
|
||||
material = minetest.digprop_constanttime(0.0),
|
||||
furnace_burntime = 10,
|
||||
@ -1236,7 +1221,6 @@ minetest.register_node("default:apple", {
|
||||
tile_images = {"default_apple.png"},
|
||||
inventory_image = "default_apple.png",
|
||||
paramtype = "light",
|
||||
light_propagates = true,
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
dug_item = 'craft "apple" 1',
|
||||
|
@ -35,13 +35,19 @@ LuaError::LuaError(lua_State *L, const std::string &s)
|
||||
{
|
||||
m_s = "LuaError: ";
|
||||
m_s += s + "\n";
|
||||
m_s += script_get_backtrace(L);
|
||||
}
|
||||
|
||||
std::string script_get_backtrace(lua_State *L)
|
||||
{
|
||||
std::string s;
|
||||
lua_getfield(L, LUA_GLOBALSINDEX, "debug");
|
||||
if(lua_istable(L, -1)){
|
||||
lua_getfield(L, -1, "traceback");
|
||||
if(lua_isfunction(L, -1)){
|
||||
lua_call(L, 0, 1);
|
||||
if(lua_isstring(L, -1)){
|
||||
m_s += lua_tostring(L, -1);
|
||||
s += lua_tostring(L, -1);
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
@ -50,6 +56,7 @@ LuaError::LuaError(lua_State *L, const std::string &s)
|
||||
}
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
return s;
|
||||
}
|
||||
|
||||
void script_error(lua_State *L, const char *fmt, ...)
|
||||
|
@ -41,6 +41,7 @@ public:
|
||||
|
||||
lua_State* script_init();
|
||||
void script_deinit(lua_State *L);
|
||||
std::string script_get_backtrace(lua_State *L);
|
||||
void script_error(lua_State *L, const char *fmt, ...);
|
||||
bool script_load(lua_State *L, const char *path);
|
||||
|
||||
|
@ -455,6 +455,18 @@ static void setfloatfield(lua_State *L, int table,
|
||||
lua_setfield(L, table, fieldname);
|
||||
}
|
||||
|
||||
static void warn_if_field_exists(lua_State *L, int table,
|
||||
const char *fieldname, const std::string &message)
|
||||
{
|
||||
lua_getfield(L, table, fieldname);
|
||||
if(!lua_isnil(L, -1)){
|
||||
infostream<<script_get_backtrace(L)<<std::endl;
|
||||
infostream<<"WARNING: field \""<<fieldname<<"\": "
|
||||
<<message<<std::endl;
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
Inventory stuff
|
||||
*/
|
||||
@ -1019,7 +1031,9 @@ static int l_register_node(lua_State *L)
|
||||
|
||||
// True for all ground-like things like stone and mud, false for eg. trees
|
||||
getboolfield(L, nodedef_table, "is_ground_content", f.is_ground_content);
|
||||
getboolfield(L, nodedef_table, "light_propagates", f.light_propagates);
|
||||
f.light_propagates = (f.param_type == CPT_LIGHT);
|
||||
warn_if_field_exists(L, nodedef_table, "light_propagates",
|
||||
"deprecated: determined from paramtype");
|
||||
getboolfield(L, nodedef_table, "sunlight_propagates", f.sunlight_propagates);
|
||||
// This is used for collision detection.
|
||||
// Also for general solidness queries.
|
||||
|
Loading…
Reference in New Issue
Block a user