mirror of
https://github.com/luanti-org/luanti.git
synced 2025-06-27 16:36:03 +00:00
Split liquid_viscosity to liquid_viscosity and move_resistance (#10810)
This commit is contained in:
parent
f5040707fe
commit
21113ad410
15 changed files with 288 additions and 44 deletions
|
@ -719,6 +719,9 @@ void read_content_features(lua_State *L, ContentFeatures &f, int index)
|
|||
// the slowest possible
|
||||
f.liquid_viscosity = getintfield_default(L, index,
|
||||
"liquid_viscosity", f.liquid_viscosity);
|
||||
// If move_resistance is not set explicitly,
|
||||
// move_resistance is equal to liquid_viscosity
|
||||
f.move_resistance = f.liquid_viscosity;
|
||||
f.liquid_range = getintfield_default(L, index,
|
||||
"liquid_range", f.liquid_range);
|
||||
f.leveled = getintfield_default(L, index, "leveled", f.leveled);
|
||||
|
@ -822,6 +825,21 @@ void read_content_features(lua_State *L, ContentFeatures &f, int index)
|
|||
getstringfield(L, index, "node_dig_prediction",
|
||||
f.node_dig_prediction);
|
||||
|
||||
// How much the node slows down players, ranging from 1 to 7,
|
||||
// the higher, the slower.
|
||||
f.move_resistance = getintfield_default(L, index,
|
||||
"move_resistance", f.move_resistance);
|
||||
|
||||
// Whether e.g. players in this node will have liquid movement physics
|
||||
lua_getfield(L, index, "liquid_move_physics");
|
||||
if(lua_isboolean(L, -1)) {
|
||||
f.liquid_move_physics = lua_toboolean(L, -1);
|
||||
} else if(lua_isnil(L, -1)) {
|
||||
f.liquid_move_physics = f.liquid_type != LIQUID_NONE;
|
||||
} else {
|
||||
errorstream << "Field \"liquid_move_physics\": Invalid type!" << std::endl;
|
||||
}
|
||||
lua_pop(L, 1);
|
||||
}
|
||||
|
||||
void push_content_features(lua_State *L, const ContentFeatures &c)
|
||||
|
@ -949,6 +967,10 @@ void push_content_features(lua_State *L, const ContentFeatures &c)
|
|||
lua_setfield(L, -2, "legacy_wallmounted");
|
||||
lua_pushstring(L, c.node_dig_prediction.c_str());
|
||||
lua_setfield(L, -2, "node_dig_prediction");
|
||||
lua_pushnumber(L, c.move_resistance);
|
||||
lua_setfield(L, -2, "move_resistance");
|
||||
lua_pushboolean(L, c.liquid_move_physics);
|
||||
lua_setfield(L, -2, "liquid_move_physics");
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue